1- import 'package:app/main/init.dart' ;
21import 'package:app/presentation/ui/pages/home/home_page.dart' ;
32import 'package:app/presentation/ui/pages/login/login_page.dart' ;
43import 'package:app/presentation/ui/pages/sign_up/sign_up_page.dart' ;
@@ -37,6 +36,7 @@ class Routers {
3736 path: '/' ,
3837 builder: (context, state) {
3938 return BlocListener <AuthCubit , Resource >(
39+ listenWhen: (previous, current) => current is RSuccess ,
4040 listener: (_, state) {
4141 if (state is RSuccess ) {
4242 switch (state.data) {
@@ -58,11 +58,17 @@ class Routers {
5858 name: Routes .auth.name,
5959 path: Routes .auth.path,
6060 redirect: (context, state) {
61- if (getIt <AuthCubit >().isLoggedIn ()) {
61+ if (context. read <AuthCubit >().isLoggedIn ()) {
6262 return '${Routes .app .path }${Routes .home .path }' ;
6363 }
6464
65- return '${Routes .auth .path }${Routes .login .path }' ;
65+ // Only redirect to /auth/login if currently at /auth
66+ if (state.path == Routes .auth.path) {
67+ return '${Routes .auth .path }${Routes .login .path }' ;
68+ }
69+
70+ /// Continue to auth routes
71+ return null ;
6672 },
6773 routes: [
6874 GoRoute (
@@ -80,13 +86,18 @@ class Routers {
8086 GoRoute (
8187 name: Routes .app.name,
8288 path: Routes .app.path,
83- builder: (context, state) => const SplashPage (),
8489 redirect: (context, state) {
85- if (! getIt <AuthCubit >().isLoggedIn ()) {
90+ if (! context. read <AuthCubit >().isLoggedIn ()) {
8691 return '${Routes .auth .path }${Routes .login .path }' ;
8792 }
8893
89- return '${Routes .app .path }${Routes .home .path }' ;
94+ // Only redirect to /app/home if currently at /app
95+ if (state.path == Routes .app.path) {
96+ return '${Routes .app .path }${Routes .home .path }' ;
97+ }
98+
99+ /// Continue to app routes
100+ return null ;
90101 },
91102 routes: [
92103 GoRoute (
0 commit comments