This commit is contained in:
toly
2023-12-10 15:25:12 +08:00
parent 2ceed8b9b5
commit 7b16b52761
86 changed files with 3635 additions and 930 deletions

View File

@@ -1,42 +1,53 @@
import 'package:flutter/material.dart';
import 'navigation/router/app_router_parser.dart';
import 'navigation/router/app_router_delegate.dart';
import 'package:go_router/go_router.dart';
import '../pages/empty/empty_page.dart';
import 'navigation/router/root.dart';
import '../pages/sort/provider/state.dart';
import 'navigation/helper/router_history.dart';
import 'navigation/transition/fade_page_transitions_builder.dart';
class UnitApp extends StatelessWidget {
const UnitApp({super.key});
UnitApp({super.key});
final GoRouter _router = GoRouter(
routes: <RouteBase>[rootRoute],
onException: (BuildContext ctx,GoRouterState state, GoRouter router){
router.go('/404', extra: state.uri.toString());
},
// errorBuilder: (_,state) {
// return EmptyPage(msg: '无法访问: ${state.matchedLocation}',);
// }
);
@override
Widget build(BuildContext context) {
return SortStateScope(
notifier: SortState(),
child: MaterialApp.router(
routerDelegate: router,
routeInformationParser: AppRouterParser(),
routeInformationProvider: PlatformRouteInformationProvider(
initialRouteInformation: RouteInformation(uri: Uri.parse('/app/color')),
child: RouterHistoryScope(
notifier: RouterHistory(_router.routerDelegate, exclusives: ['/login']),
child: MaterialApp.router(
routerConfig: _router,
theme: ThemeData(
fontFamily: "宋体",
scaffoldBackgroundColor: Colors.white,
pageTransitionsTheme: const PageTransitionsTheme(builders: {
TargetPlatform.android: ZoomPageTransitionsBuilder(),
TargetPlatform.iOS: CupertinoPageTransitionsBuilder(),
TargetPlatform.macOS: FadePageTransitionsBuilder(),
TargetPlatform.windows: FadePageTransitionsBuilder(),
TargetPlatform.linux: FadePageTransitionsBuilder(),
}),
appBarTheme: const AppBarTheme(
elevation: 0,
iconTheme: IconThemeData(color: Colors.black),
titleTextStyle: TextStyle(
color: Colors.black,
fontSize: 18,
fontWeight: FontWeight.bold,
))),
debugShowCheckedModeBanner: false,
// home: AppNavigation()
),
theme: ThemeData(
fontFamily: "宋体",
scaffoldBackgroundColor: Colors.white,
pageTransitionsTheme: const PageTransitionsTheme(builders: {
TargetPlatform.android: ZoomPageTransitionsBuilder(),
TargetPlatform.iOS: CupertinoPageTransitionsBuilder(),
TargetPlatform.macOS: FadePageTransitionsBuilder(),
TargetPlatform.windows: FadePageTransitionsBuilder(),
TargetPlatform.linux: FadePageTransitionsBuilder(),
}),
appBarTheme: const AppBarTheme(
elevation: 0,
iconTheme: IconThemeData(color: Colors.black),
titleTextStyle: TextStyle(
color: Colors.black,
fontSize: 18,
fontWeight: FontWeight.bold,
))),
debugShowCheckedModeBanner: false,
// home: AppNavigation()
),
);
}