fixed logout at refresh failed
This commit is contained in:
+24
-1
@@ -10,6 +10,7 @@ import 'package:provider/single_child_widget.dart';
|
||||
import 'package:shared_preferences/shared_preferences.dart';
|
||||
import 'package:tm_app/core/config/dependencies.dart';
|
||||
import 'package:tm_app/core/config/web_url_strategy.dart';
|
||||
import 'package:tm_app/core/network/network_manager.dart';
|
||||
import 'package:tm_app/core/services/cache_init.dart';
|
||||
import 'package:tm_app/core/services/firebase_service.dart';
|
||||
import 'package:tm_app/core/theme/theme_provider.dart';
|
||||
@@ -45,6 +46,8 @@ void main() async {
|
||||
|
||||
await FirebaseService().initializeApp();
|
||||
|
||||
|
||||
|
||||
runApp(MultiProvider(providers: providers, child: const MyApp()));
|
||||
}
|
||||
|
||||
@@ -57,6 +60,24 @@ class MyApp extends StatefulWidget {
|
||||
|
||||
class _MyAppState extends State<MyApp> {
|
||||
Future<void> setupInteractedMessage() async {
|
||||
final overlayCtx = rootNavigatorKey.currentContext;
|
||||
|
||||
final networkManager = overlayCtx?.read<NetworkManager>();
|
||||
networkManager?.setAuthFailed(() async {
|
||||
debugPrint('🔄 Refresh token failed - navigating to auth screen');
|
||||
// Use appRouter to navigate to auth screen
|
||||
final SharedPreferences prefs = await SharedPreferences.getInstance();
|
||||
await prefs.clear();
|
||||
appRouter.go('/login');
|
||||
});
|
||||
// networkManager.onAuthFailure(() async {
|
||||
// debugPrint('🔄 Refresh token failed - navigating to auth screen');
|
||||
// // Use appRouter to navigate to auth screen
|
||||
// final SharedPreferences _prefs = await SharedPreferences.getInstance();
|
||||
// await _prefs.clear();
|
||||
// appRouter.go(AppRoutes.auth);
|
||||
// });
|
||||
|
||||
final initialMessage = await FirebaseMessaging.instance.getInitialMessage();
|
||||
|
||||
if (initialMessage != null) {
|
||||
@@ -65,7 +86,7 @@ class _MyAppState extends State<MyApp> {
|
||||
|
||||
// if (kIsWeb) {
|
||||
FirebaseMessaging.onMessage.listen((event) {
|
||||
final overlayCtx = rootNavigatorKey.currentContext;
|
||||
|
||||
|
||||
if (overlayCtx != null) {
|
||||
if (overlayCtx.mounted) {
|
||||
@@ -88,6 +109,8 @@ class _MyAppState extends State<MyApp> {
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
|
||||
Reference in New Issue
Block a user