Class in which there are screens with BottomBar.
class _MainAppState extends State<MainApp> {
@override
Widget build(BuildContext context) {
return const ScaffoldBottomBar(
children: [
HomePage(),
SettingsPage(),
],
);
}
}
This is my AppRouter
@AutoRouterConfig()
class AppRouter extends RootStackRouter {
@override
List<AutoRoute> get routes => [
AutoRoute(page: LoginRoute.page, path: "/login"),
AutoRoute(page: CheckUserRoute.page, path: "/check-user"),
AutoRoute(
page: MainApp.page,
initial: true,
path: "/main-app",
children: [
AutoRoute(page: SettingsRoute.page, path: "settings"),
AutoRoute(page: HomeRoute.page, path: "home"),
],
),
];
}
I wanna have the initial route as /main-app/home
if the user is authenticated else initial route will be /check-user
. Please tell me how can I do so?
class MyApp extends StatelessWidget {
final bool isAuthenticated;
const MyApp({super.key, required this.isAuthenticated});
@override
Widget build(BuildContext context) {
AppRouter appRouter = AppRouter();
return MultiBlocProvider(
providers: [
BlocProvider(
create: (context) => AuthBloc(),
),
BlocProvider(
create: (context) => HomeBloc(),
),
],
child: MaterialApp.router(
title: 'MelonFeed',
debugShowCheckedModeBanner: false,
theme: lightTheme(),
darkTheme: darkTheme(),
themeMode: ThemeMode.system,
routerConfig: appRouter.config(),
),
);
}
}
Please help me that how can I set initial route based on isAuthenticated.