Fix Exit: restart to fresh AuthScreen (re-evaluates registered+session); import AuthScreen

This commit is contained in:
cania
2026-08-13 12:09:51 +02:00
parent 536bda3827
commit 92a3ca4d82

View File

@@ -1,7 +1,7 @@
import 'dart:io';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter/services.dart'; import 'package:flutter/services.dart';
import 'package:login_vault_app/auth_service.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'; import 'package:login_vault_app/theme_provider.dart';
/// Settings: change app password, switch theme (dark/system), session timeout, /// Settings: change app password, switch theme (dark/system), session timeout,
@@ -214,12 +214,15 @@ class _SettingsScreenState extends State<SettingsScreen> {
title: const Text('Keluar (Exit)'), title: const Text('Keluar (Exit)'),
onTap: () async { onTap: () async {
await widget.auth.closeSession(); await widget.auth.closeSession();
Navigator.of(context).popUntil((r) => r.isFirst); // restart to a fresh AuthScreen (re-evaluates registered +
if (Platform.isAndroid) { // session state) instead of just popping back to Dashboard.
SystemNavigator.pop(); if (!mounted) return;
} else { Navigator.of(context).pushAndRemoveUntil(
exit(0); MaterialPageRoute(
} builder: (_) => AuthScreen(auth: widget.auth),
),
(r) => false,
);
}, },
), ),
], ],