From 92a3ca4d82a7a2cc9dd1b0fc3a5ae002c1971a85 Mon Sep 17 00:00:00 2001 From: cania Date: Thu, 13 Aug 2026 12:09:51 +0200 Subject: [PATCH] Fix Exit: restart to fresh AuthScreen (re-evaluates registered+session); import AuthScreen --- lib/settings_screen.dart | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/lib/settings_screen.dart b/lib/settings_screen.dart index 2f200e2..95e5ee1 100644 --- a/lib/settings_screen.dart +++ b/lib/settings_screen.dart @@ -1,7 +1,7 @@ -import 'dart:io'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:login_vault_app/auth_service.dart'; +import 'package:login_vault_app/auth_screen.dart'; import 'package:login_vault_app/theme_provider.dart'; /// Settings: change app password, switch theme (dark/system), session timeout, @@ -214,12 +214,15 @@ class _SettingsScreenState extends State { title: const Text('Keluar (Exit)'), onTap: () async { await widget.auth.closeSession(); - Navigator.of(context).popUntil((r) => r.isFirst); - if (Platform.isAndroid) { - SystemNavigator.pop(); - } else { - exit(0); - } + // restart to a fresh AuthScreen (re-evaluates registered + + // session state) instead of just popping back to Dashboard. + if (!mounted) return; + Navigator.of(context).pushAndRemoveUntil( + MaterialPageRoute( + builder: (_) => AuthScreen(auth: widget.auth), + ), + (r) => false, + ); }, ), ],