Refresh Google calendars after OAuth return

This commit is contained in:
zsolt
2026-08-13 13:37:38 +02:00
parent 7e433ead88
commit 1b0734cf7b
+33 -2
View File
@@ -24,18 +24,48 @@ class AccountsPage extends StatefulWidget {
State<AccountsPage> createState() => _AccountsPageState();
}
class _AccountsPageState extends State<AccountsPage> {
class _AccountsPageState extends State<AccountsPage> with WidgetsBindingObserver {
List<GoogleCalendarInfo> googleCalendars = [];
bool loadingCalendars = false;
bool syncing = false;
bool waitingForGoogleAuthReturn = false;
String? statusMessage;
@override
void initState() {
super.initState();
WidgetsBinding.instance.addObserver(this);
_loadGoogleConnectionStatus();
}
@override
void dispose() {
WidgetsBinding.instance.removeObserver(this);
super.dispose();
}
@override
void didUpdateWidget(covariant AccountsPage oldWidget) {
super.didUpdateWidget(oldWidget);
final settingsChanged =
oldWidget.jarvisSettings.apiUrl != widget.jarvisSettings.apiUrl ||
oldWidget.jarvisSettings.apiToken != widget.jarvisSettings.apiToken ||
oldWidget.jarvisSettings.workspaceToken !=
widget.jarvisSettings.workspaceToken;
if (settingsChanged) {
_loadGoogleConnectionStatus();
}
}
@override
void didChangeAppLifecycleState(AppLifecycleState state) {
super.didChangeAppLifecycleState(state);
if (state == AppLifecycleState.resumed && waitingForGoogleAuthReturn) {
waitingForGoogleAuthReturn = false;
_loadGoogleConnectionStatus();
}
}
GoogleCalendarConnection? get connection =>
widget.connections.isEmpty ? null : widget.connections.first;
@@ -157,9 +187,10 @@ class _AccountsPageState extends State<AccountsPage> {
if (!launched) throw Exception('Nem siker\u00fclt megnyitni a b\u00f6ng\u00e9sz\u0151t.');
if (!mounted) return;
setState(() {
waitingForGoogleAuthReturn = true;
loadingCalendars = false;
statusMessage =
'A Google enged\u00e9lyez\u00e9s b\u00f6ng\u00e9sz\u0151ben megny\u00edlt. Ha k\u00e9sz, t\u00e9rj vissza ide \u00e9s friss\u00edtsd a napt\u00e1rlist\u00e1t.';
'A Google enged\u00e9lyez\u00e9s b\u00f6ng\u00e9sz\u0151ben megny\u00edlt. Ha k\u00e9sz, t\u00e9rj vissza ide, \u00e9s automatikusan bet\u00f6lt\u00f6m a napt\u00e1rlist\u00e1t.';
});
} catch (error) {
if (!mounted) return;