hym_ui/lib/main.dart

77 lines
2.3 KiB
Dart

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(ChangeNotifierProvider(
create: (context) => AuthService(),
child: HyM(),
));
}
class HyM extends StatelessWidget {
final AuthService _authService = AuthService();
HyM({super.key});
@override
Widget build(BuildContext context) {
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(),
// routes: {
// "/": (context) => SplashScreen(),
// "/login": (context) => const LoginPage(),
// "/home": (context) => HomeScreen(),
// "/contacts": (context) => ContactsPage(),
// GoRoute(
// path:
// )
// "/email": (context) => EmailListScreen(),
// },
);
}
}