From eb3d7cd44642e84a45a0a23de190df056a41050d Mon Sep 17 00:00:00 2001 From: zsolt Date: Thu, 13 Aug 2026 02:00:05 +0200 Subject: [PATCH] Show Google sign-in diagnostics --- lib/google_calendar_page.dart | 33 +++++++++++++++++++++++++++++---- 1 file changed, 29 insertions(+), 4 deletions(-) diff --git a/lib/google_calendar_page.dart b/lib/google_calendar_page.dart index b45b401..7c7eb5a 100644 --- a/lib/google_calendar_page.dart +++ b/lib/google_calendar_page.dart @@ -147,6 +147,8 @@ class _AccountsPageState extends State { try { if (!initialized) { + final configuredClientId = await _loadGoogleServerClientId(); + runtimeServerClientId = configuredClientId?.trim(); await _ensureGoogleInitialized(); initialized = true; } @@ -155,13 +157,15 @@ class _AccountsPageState extends State { await _loadGoogleCalendars(promptIfNecessary: true); } catch (error) { if (!mounted) return; + final friendlyMessage = _friendlyGoogleError( + 'Google bejelentkez\u00e9s nem siker\u00fclt', + error, + ); setState(() { loadingCalendars = false; - statusMessage = _friendlyGoogleError( - 'Google bejelentkez\u00e9s nem siker\u00fclt', - error, - ); + statusMessage = friendlyMessage; }); + await _showGoogleErrorDialog(friendlyMessage); } } @@ -176,6 +180,27 @@ class _AccountsPageState extends State { return '$prefix: $raw'; } + Future _showGoogleErrorDialog(String message) async { + if (!mounted) return; + await showDialog( + context: context, + builder: (context) => AlertDialog( + title: const Text('Google bel\u00e9p\u00e9s nem indult el'), + content: Text( + '$message\n\n' + 'A v\u00e1rt m\u0171k\u00f6d\u00e9s az, hogy a Google saj\u00e1t bel\u00e9p\u00e9si/enged\u00e9lyez\u00e9si ablaka ny\u00edlik meg. ' + 'Ehhez az appnak el\u0151re regisztr\u00e1lt Google konfigur\u00e1ci\u00f3 kell, \u00e9s az eszk\u00f6z\u00f6n Google Play Services / Google fi\u00f3k is sz\u00fcks\u00e9ges.', + ), + actions: [ + TextButton( + onPressed: () => Navigator.pop(context), + child: const Text('Rendben'), + ), + ], + ), + ); + } + Future _ensureGoogleInitialized() async { final clientId = runtimeServerClientId; if (clientId == null || clientId.isEmpty) {