added go_router for deeplinking
This commit is contained in:
parent
0b117abd88
commit
bde05197ae
@ -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(),
|
||||
// },
|
||||
);
|
||||
}
|
||||
}
|
||||
|
@ -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:
|
||||
|
Loading…
Reference in New Issue
Block a user