diff --git a/unit2/lib/bloc/bloc/user_bloc.dart b/unit2/lib/bloc/bloc/user_bloc.dart index 2a8c144..d6e8c26 100644 --- a/unit2/lib/bloc/bloc/user_bloc.dart +++ b/unit2/lib/bloc/bloc/user_bloc.dart @@ -33,17 +33,17 @@ class UserBloc extends Bloc { UserData? userData = await AuthService.instance .webLogin(username: event.username, password: event.password); _userData = userData; - emit(UserLoggedIn(userData: userData)); + emit(UserLoggedIn(userData: _userData)); } catch (e) { emit(UserError(message: e.toString())); } }); on((event, emit) { - emit(UserLoggedIn(userData: event.userData)); + emit(UserLoggedIn(userData: _userData)); }); on((event, emit) async { ScanResult result = await QRCodeBarCodeScanner.instance.scanner(); - if(result.rawContent.toString().isNotEmpty){ + if (result.rawContent.toString().isNotEmpty) { emit(UuidLoaded(uuid: result.rawContent.toString())); } }); diff --git a/unit2/lib/bloc/bloc/user_event.dart b/unit2/lib/bloc/bloc/user_event.dart index 019edbc..16c0a2f 100644 --- a/unit2/lib/bloc/bloc/user_event.dart +++ b/unit2/lib/bloc/bloc/user_event.dart @@ -5,24 +5,23 @@ abstract class UserEvent extends Equatable { List get props => []; } -class GetApkVersion extends UserEvent{ +class GetApkVersion extends UserEvent { GetApkVersion(); @override List get props => []; } -class UserLogin extends UserEvent{ +class UserLogin extends UserEvent { final String? username; final String? password; - UserLogin({this.username,this.password}); + UserLogin({this.username, this.password}); } -class LoadLoggedInUser extends UserEvent{ - final UserData? userData; - LoadLoggedInUser({this.userData}); +class LoadLoggedInUser extends UserEvent { + // final UserData? userData; + LoadLoggedInUser(); } -class GetUuid extends UserEvent{ - +class GetUuid extends UserEvent { GetUuid(); } diff --git a/unit2/lib/main.dart b/unit2/lib/main.dart index 9ff8fb7..be88b93 100644 --- a/unit2/lib/main.dart +++ b/unit2/lib/main.dart @@ -4,13 +4,14 @@ import 'package:device_preview/device_preview.dart'; import 'package:flutter/services.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:unit2/bloc/bloc/user_bloc.dart'; +import 'package:unit2/utils/app_router.dart'; import 'package:unit2/utils/global_context.dart'; import 'package:unit2/utils/global_context.dart'; import './utils/router.dart'; import './utils/global.dart'; void main() { - runApp(const MyApp()); + runApp(MyApp()); } // void main() => runApp( @@ -21,12 +22,12 @@ void main() { // ); class MyApp extends StatelessWidget { - const MyApp({super.key}); + AppRouter? _appRouter; // This widget is the root of your application. @override Widget build(BuildContext context) { - BuildContext? parentContext = NavigationService.navigatorKey.currentContext; + _appRouter = AppRouter(); final mediaQueryData = MediaQueryData.fromWindow(WidgetsBinding.instance.window); screenWidth = mediaQueryData.size.width; @@ -39,20 +40,20 @@ class MyApp extends StatelessWidget { mediaQueryData.padding.top + mediaQueryData.padding.bottom; safeBlockHorizontal = (screenWidth - safeAreaHorizontal) / 100; safeBlockVertical = (screenHeight - safeAreaVertical) / 100; - + return MultiBlocProvider( providers: [ BlocProvider( - create: (parentContext) => UserBloc(), + create: (_) => UserBloc(), ), ], - child: MaterialApp.router( - key: NavigationService.navigatorKey, + child: MaterialApp( + navigatorKey: NavigationService.navigatorKey, // useInheritedMediaQuery: true, // locale: DevicePreview.locale(context), // builder: DevicePreview.appBuilder, - routeInformationParser: goRouter.routeInformationParser, - routerDelegate: goRouter.routerDelegate, + // routeInformationParser: goRouter.routeInformationParser, + // routerDelegate: goRouter.routerDelegate, // routeInformationProvider: goRouter.routeInformationProvider, title: 'uniT2 - Universal Tracker and Tracer', theme: ThemeData( @@ -64,6 +65,7 @@ class MyApp extends StatelessWidget { fontFamily: 'LexendDeca', ), debugShowCheckedModeBanner: false, + onGenerateRoute: _appRouter!.onGenerateRoute, ), ); } diff --git a/unit2/lib/screens/unit2/homepage.dart/components/drawer-screen.dart b/unit2/lib/screens/unit2/homepage.dart/components/drawer-screen.dart index 78d1014..54a4405 100644 --- a/unit2/lib/screens/unit2/homepage.dart/components/drawer-screen.dart +++ b/unit2/lib/screens/unit2/homepage.dart/components/drawer-screen.dart @@ -20,26 +20,27 @@ class _DrawerScreenState extends State { Widget build(BuildContext context) { return BlocBuilder( builder: (context, state) { - print("drawer screen"+state.toString()); - if(state is UserLoggedIn){ - return ZoomDrawer( - controller: zoomDrawerController, - menuScreen: MenuScreen(userData: state.userData,), - mainScreen: SizedBox( - height: MediaQuery.of(context).size.height, - child: const MainScreen()), - style: DrawerStyle.defaultStyle, - borderRadius: 24.0, - showShadow: false, - angle: -0.0, - slideWidth: MediaQuery.of(context).size.width * .90, - openCurve: Curves.fastOutSlowIn, - closeCurve: Curves.easeOut, - menuBackgroundColor: Colors.grey, - ); + print("drawer screen" + state.toString()); + if (state is UserLoggedIn) { + return ZoomDrawer( + controller: zoomDrawerController, + menuScreen: MenuScreen( + userData: state.userData, + ), + mainScreen: SizedBox( + height: MediaQuery.of(context).size.height, + child: const MainScreen()), + style: DrawerStyle.defaultStyle, + borderRadius: 24.0, + showShadow: false, + angle: -0.0, + slideWidth: MediaQuery.of(context).size.width * .90, + openCurve: Curves.fastOutSlowIn, + closeCurve: Curves.easeOut, + menuBackgroundColor: Colors.grey, + ); } - return const UniTSplashScreen(); - + return const UniTSplashScreen(); }, ); } diff --git a/unit2/lib/screens/unit2/login/login.dart b/unit2/lib/screens/unit2/login/login.dart index b1ff3ec..ba6faa3 100644 --- a/unit2/lib/screens/unit2/login/login.dart +++ b/unit2/lib/screens/unit2/login/login.dart @@ -47,7 +47,7 @@ class _UniT2LoginState extends State { print("login" + state.toString()); final progress = ProgressHUD.of(context); progress!.dismiss(); - context.goNamed('home', extra: state.userData); + Navigator.pushReplacementNamed(context, '/module-screen'); } if (state is UuidLoaded) { Navigator.push(context, MaterialPageRoute(builder: (context) { diff --git a/unit2/lib/utils/app_router.dart b/unit2/lib/utils/app_router.dart index cb7304f..bfe2ba0 100644 --- a/unit2/lib/utils/app_router.dart +++ b/unit2/lib/utils/app_router.dart @@ -1,14 +1,32 @@ -// import 'package:flutter/cupertino.dart'; -// import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:flutter/cupertino.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:unit2/bloc/bloc/user_bloc.dart'; +import 'package:unit2/screens/unit2/login/login.dart'; +import 'package:unit2/utils/global_context.dart'; -// class AppRouter{ -// Route onGenerateRoute(RouteSettings routeSettings){ -// switch(routeSettings.name){ -// case '/': -// return BlocProvider( -// create: (context) => UserBloc()..add(GetApkVersion()), -// child: const UniT2Login(), -// ); -// } -// } -// } \ No newline at end of file +import '../screens/unit2/homepage.dart/components/drawer-screen.dart'; + +class AppRouter { + Route onGenerateRoute(RouteSettings routeSettings) { + switch (routeSettings.name) { + case '/': + BlocProvider.of( + NavigationService.navigatorKey.currentContext!) + .add(GetApkVersion()); + return MaterialPageRoute(builder: (_) { + return const UniT2Login(); + }); + case '/module-screen': + BlocProvider.of( NavigationService.navigatorKey.currentContext!).add(LoadLoggedInUser()); + return MaterialPageRoute(builder: (_) { + return const DrawerScreen(); + }); + + default: + return MaterialPageRoute(builder: (context) { + return Container(); + }); + } + } +} diff --git a/unit2/lib/utils/router.dart b/unit2/lib/utils/router.dart index d47138d..0f7fa3a 100644 --- a/unit2/lib/utils/router.dart +++ b/unit2/lib/utils/router.dart @@ -1,78 +1,78 @@ -import 'package:flutter/cupertino.dart'; -import 'package:flutter_bloc/flutter_bloc.dart'; -import 'package:go_router/go_router.dart'; -import 'package:unit2/bloc/bloc/user_bloc.dart'; -import 'package:unit2/model/login_data/user_info/user_data.dart'; -import 'package:unit2/screens/unit2/login/qr_login.dart'; -import 'package:unit2/screens/unit2/roles/qr_code_scanner.dart/scan.dart'; -import 'package:unit2/screens/unit2/roles/qr_code_scanner.dart/settings_screen.dart'; -import 'package:unit2/screens/unit2/signature/signature_pad.dart'; -import 'package:unit2/utils/global_context.dart'; -import 'package:unit2/utils/scanner.dart'; -import '../screens/docsms/components/doc_info_tile.dart'; -import '../screens/docsms/request_receipt.dart'; -import '../screens/sos/add_mobile.dart'; -import '../screens/sos/request_sos.dart'; -import '../screens/unit2/login/login.dart'; -import '../screens/unit2/homepage.dart/components/drawer-screen.dart'; -import '../screens/unit2/profile/profile.dart'; -import '../screens/unit2/roles/registration_in_charge/home.dart'; +// import 'package:flutter/cupertino.dart'; +// import 'package:flutter_bloc/flutter_bloc.dart'; +// import 'package:go_router/go_router.dart'; +// import 'package:unit2/bloc/bloc/user_bloc.dart'; +// import 'package:unit2/model/login_data/user_info/user_data.dart'; +// import 'package:unit2/screens/unit2/login/qr_login.dart'; +// import 'package:unit2/screens/unit2/roles/qr_code_scanner.dart/scan.dart'; +// import 'package:unit2/screens/unit2/roles/qr_code_scanner.dart/settings_screen.dart'; +// import 'package:unit2/screens/unit2/signature/signature_pad.dart'; +// import 'package:unit2/utils/global_context.dart'; +// import 'package:unit2/utils/scanner.dart'; +// import '../screens/docsms/components/doc_info_tile.dart'; +// import '../screens/docsms/request_receipt.dart'; +// import '../screens/sos/add_mobile.dart'; +// import '../screens/sos/request_sos.dart'; +// import '../screens/unit2/login/login.dart'; +// import '../screens/unit2/homepage.dart/components/drawer-screen.dart'; +// import '../screens/unit2/profile/profile.dart'; +// import '../screens/unit2/roles/registration_in_charge/home.dart'; -final GoRouter goRouter = GoRouter(routes: [ - GoRoute( - path: '/', - name: 'login', - builder: (context, state) { - return BlocProvider( - create: (context) => UserBloc()..add(GetApkVersion()), - child: const UniT2Login(), - ); - }, - routes: [ - // GoRoute( - // name: 'qr-login', - // path: 'qr-login', - // builder: ((context, state) => const QRLogin())), - GoRoute( - name: 'home', - path: 'home', - builder: (context, state) { - UserData userData = state.extra as UserData; - return BlocProvider.value( - value: UserBloc()..add((LoadLoggedInUser(userData: userData))), - child: const DrawerScreen(), - ); - }, - routes: [ - GoRoute( - name: 'profile', - path: 'profile', - builder: (context, state) { - UserData userData = state.extra as UserData; - return BlocProvider.value( - value: UserBloc() - ..add((LoadLoggedInUser(userData: userData))), - child: const Profile(), - ); - }, - routes: [ - GoRoute( - name: 'signature', - path: 'signature', - builder: (context, state) => const SignaturePad(), - ) - ]) - ]), - GoRoute( - name: 'add-mobile', - path: 'add-moble', - builder: (context, state) => AddMobile(), - routes: [ - GoRoute( - name: 'request-sos', - path: 'request-sos', - builder: (context, state) => const RequestSOS(), - ) - ]), - ]), -]); +// final GoRouter goRouter = GoRouter(routes: [ +// GoRoute( +// path: '/', +// name: 'login', +// builder: (context, state) { +// return BlocProvider( +// create: (context) => UserBloc()..add(GetApkVersion()), +// child: const UniT2Login(), +// ); +// }, +// routes: [ +// // GoRoute( +// // name: 'qr-login', +// // path: 'qr-login', +// // builder: ((context, state) => const QRLogin())), +// GoRoute( +// name: 'home', +// path: 'home', +// builder: (context, state) { +// UserData userData = state.extra as UserData; +// return BlocProvider.value( +// value: UserBloc()..add((LoadLoggedInUser(userData: userData))), +// child: const DrawerScreen(), +// ); +// }, +// routes: [ +// GoRoute( +// name: 'profile', +// path: 'profile', +// builder: (context, state) { +// UserData userData = state.extra as UserData; +// return BlocProvider.value( +// value: UserBloc() +// ..add((LoadLoggedInUser(userData: userData))), +// child: const Profile(), +// ); +// }, +// routes: [ +// GoRoute( +// name: 'signature', +// path: 'signature', +// builder: (context, state) => const SignaturePad(), +// ) +// ]) +// ]), +// GoRoute( +// name: 'add-mobile', +// path: 'add-moble', +// builder: (context, state) => AddMobile(), +// routes: [ +// GoRoute( +// name: 'request-sos', +// path: 'request-sos', +// builder: (context, state) => const RequestSOS(), +// ) +// ]), +// ]), +// ]);