added go_router for deeplinking

This commit is contained in:
Juan Marulanda De Los Rios 2025-07-15 12:26:32 -04:00
parent 0b117abd88
commit bde05197ae
2 changed files with 51 additions and 10 deletions

View File

@ -1,12 +1,18 @@
import 'package:crab_ui/contact.dart';
import 'package:crab_ui/email.dart';
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import 'home_page.dart';
import 'login.dart';
import 'package:go_router/go_router.dart';
import 'routingHandler.dart';
void main() {
WidgetsFlutterBinding.ensureInitialized();
runApp(HyM());
runApp(ChangeNotifierProvider(
create: (context) => AuthService(),
child: HyM(),
));
}
class HyM extends StatelessWidget {
@ -15,22 +21,56 @@ class HyM extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
final GoRouter _router = GoRouter(
// refreshListenable: ,
initialLocation: '/',
routes: [
GoRoute(
path: "/",
builder: (context, state) => SplashScreen(),
),
GoRoute(
path: "/login",
builder: (context, state) => const LoginPage(),
),
GoRoute(
path: "/home",
builder: (context, state) => HomeScreen(),
),
GoRoute(
path: "/contacts",
builder: (context, state) => ContactsPage(),
),
GoRoute(
path: "/email/:subject/:target/:viewspecs/:emailID",
builder: (context, state) {
final subject = state.pathParameters['subject']!;
final target = state.pathParameters['target']!;
final viewspecs = state.pathParameters['viewspecs']!;
final emailId = state.pathParameters['emailID']!;
return Routinghandler.fromParameters("main anchor", subject, target, viewspecs, emailId);
}),
]);
return MaterialApp.router(
debugShowCheckedModeBanner: false,
theme: ThemeData(
colorScheme: ColorScheme.light(),
useMaterial3: true,
),
title: 'HyM',
routerConfig: _router,
// home: HomeScreen(),
initialRoute: "/",
routes: {
"/": (context) => SplashScreen(),
"/login": (context) => const LoginPage(),
"/home": (context) => HomeScreen(),
"/contacts": (context) => ContactsPage(),
},
// routes: {
// "/": (context) => SplashScreen(),
// "/login": (context) => const LoginPage(),
// "/home": (context) => HomeScreen(),
// "/contacts": (context) => ContactsPage(),
// GoRoute(
// path:
// )
// "/email": (context) => EmailListScreen(),
// },
);
}
}

View File

@ -30,6 +30,7 @@ dependencies:
html2md: ^1.3.2
markdown_widget: ^2.3.2+8
markdown: ^7.3.0
go_router: ^16.0.0
dev_dependencies:
flutter_test: