diff --git a/lib/main.dart b/lib/main.dart index 31ae414b..d78e7907 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -7,6 +7,7 @@ import 'package:go_router/go_router.dart'; import 'package:syncrow_web/firebase_options_prod.dart'; import 'package:syncrow_web/pages/auth/bloc/auth_bloc.dart'; import 'package:syncrow_web/pages/home/bloc/home_bloc.dart'; +import 'package:syncrow_web/pages/home/bloc/home_event.dart'; import 'package:syncrow_web/pages/routines/bloc/create_routine_bloc/create_routine_bloc.dart'; import 'package:syncrow_web/pages/routines/bloc/routine_bloc/routine_bloc.dart'; import 'package:syncrow_web/pages/space_tree/bloc/space_tree_bloc.dart'; @@ -59,7 +60,7 @@ class MyApp extends StatelessWidget { BlocProvider( create: (context) => CreateRoutineBloc(), ), - BlocProvider(create: (context) => HomeBloc()), + BlocProvider(create: (context) => HomeBloc()..add(FetchUserInfo())), BlocProvider( create: (context) => VisitorPasswordBloc(), ), diff --git a/lib/main_dev.dart b/lib/main_dev.dart index 8813f6ec..2983b94c 100644 --- a/lib/main_dev.dart +++ b/lib/main_dev.dart @@ -7,6 +7,7 @@ import 'package:go_router/go_router.dart'; import 'package:syncrow_web/firebase_options_dev.dart'; import 'package:syncrow_web/pages/auth/bloc/auth_bloc.dart'; import 'package:syncrow_web/pages/home/bloc/home_bloc.dart'; +import 'package:syncrow_web/pages/home/bloc/home_event.dart'; import 'package:syncrow_web/pages/routines/bloc/create_routine_bloc/create_routine_bloc.dart'; import 'package:syncrow_web/pages/routines/bloc/routine_bloc/routine_bloc.dart'; import 'package:syncrow_web/pages/space_tree/bloc/space_tree_bloc.dart'; @@ -59,7 +60,7 @@ class MyApp extends StatelessWidget { BlocProvider( create: (context) => CreateRoutineBloc(), ), - BlocProvider(create: (context) => HomeBloc()), + BlocProvider(create: (context) => HomeBloc()..add(FetchUserInfo())), BlocProvider( create: (context) => VisitorPasswordBloc(), ), diff --git a/lib/main_staging.dart b/lib/main_staging.dart index d393eb7b..e943d6ce 100644 --- a/lib/main_staging.dart +++ b/lib/main_staging.dart @@ -7,6 +7,7 @@ import 'package:go_router/go_router.dart'; import 'package:syncrow_web/firebase_options_prod.dart'; import 'package:syncrow_web/pages/auth/bloc/auth_bloc.dart'; import 'package:syncrow_web/pages/home/bloc/home_bloc.dart'; +import 'package:syncrow_web/pages/home/bloc/home_event.dart'; import 'package:syncrow_web/pages/routines/bloc/create_routine_bloc/create_routine_bloc.dart'; import 'package:syncrow_web/pages/routines/bloc/routine_bloc/routine_bloc.dart'; import 'package:syncrow_web/pages/space_tree/bloc/space_tree_bloc.dart'; @@ -56,7 +57,7 @@ class MyApp extends StatelessWidget { BlocProvider( create: (context) => CreateRoutineBloc(), ), - BlocProvider(create: (context) => HomeBloc()), + BlocProvider(create: (context) => HomeBloc()..add(FetchUserInfo())), BlocProvider( create: (context) => VisitorPasswordBloc(), ), diff --git a/lib/pages/home/view/home_page.dart b/lib/pages/home/view/home_page.dart index 9661cfd9..00380145 100644 --- a/lib/pages/home/view/home_page.dart +++ b/lib/pages/home/view/home_page.dart @@ -13,19 +13,25 @@ class HomePage extends StatefulWidget { State createState() => _HomePageState(); } -class _HomePageState extends State with HelperResponsiveLayout{ - +class _HomePageState extends State with HelperResponsiveLayout { @override void initState() { - context.read().add(const FetchUserInfo()); + _fetchUserInfo(); + super.initState(); } + @override Widget build(BuildContext context) { - final isSmallScreen = isSmallScreenSize(context); - final isMediumScreen = isMediumScreenSize(context); - return isSmallScreen || isMediumScreen - ? HomeMobilePage() - : const HomeWebPage(); + if (isSmallScreenSize(context) || isMediumScreenSize(context)) { + return HomeMobilePage(); + } + + return const HomeWebPage(); + } + + void _fetchUserInfo() { + final bloc = context.read(); + if (bloc.user == null) bloc.add(const FetchUserInfo()); } }