From 732da2e475e25b00a84bc1b470b7fc0a2dca3b38 Mon Sep 17 00:00:00 2001 From: Lizandro Guarnizo <77708265+lizandrogd@users.noreply.github.com> Date: Thu, 2 Jul 2026 15:05:24 -0500 Subject: [PATCH] fix(auth): always redirect to phone login when unauthenticated After logout or on app start with no/invalid token, the browser URL might be #/dashboard or #/auth/login. Using addPostFrameCallback to navigate to phoneLoginRoute once the navigator is ready ensures the user always lands on the phone login screen. Co-Authored-By: Claude Sonnet 4.6 --- lib/providers/auth_provider.dart | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/lib/providers/auth_provider.dart b/lib/providers/auth_provider.dart index 9449347..6d5953d 100644 --- a/lib/providers/auth_provider.dart +++ b/lib/providers/auth_provider.dart @@ -1,4 +1,5 @@ import 'package:flutter/material.dart'; +import 'package:flutter/scheduler.dart'; import 'package:prosapp_web_app/models/usuario.dart'; import 'package:prosapp_web_app/providers/professional_provider.dart'; import 'package:prosapp_web_app/providers/services_provider.dart'; @@ -170,6 +171,7 @@ class AuthProvider extends ChangeNotifier { if (token == null) { authStatus = AuthStatus.notAuthenticated; notifyListeners(); + _redirectToPhoneLogin(); return false; } try { @@ -183,10 +185,17 @@ class AuthProvider extends ChangeNotifier { await _api.deleteToken(); authStatus = AuthStatus.notAuthenticated; notifyListeners(); + _redirectToPhoneLogin(); return false; } } + void _redirectToPhoneLogin() { + SchedulerBinding.instance.addPostFrameCallback((_) { + NavigationService.replaceTo(Flurorouter.phoneLoginRoute); + }); + } + Future logout() async { await _api.deleteToken(); authStatus = AuthStatus.notAuthenticated;