route.dart 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. import 'package:flutter/material.dart';
  2. import 'package:go_router/go_router.dart';
  3. import 'data/card.dart';
  4. import 'page/about_page.dart';
  5. import 'page/game_page.dart';
  6. import 'page/home_page.dart';
  7. import 'page/setting_page.dart';
  8. part 'route.g.dart';
  9. @TypedGoRoute<HomeRoute>(path: '/')
  10. class HomeRoute extends GoRouteData {
  11. @override
  12. Widget build(BuildContext context, GoRouterState state) {
  13. return const HomePage();
  14. }
  15. }
  16. @TypedGoRoute<SettingRoute>(path: '/setting')
  17. class SettingRoute extends GoRouteData {
  18. @override
  19. Widget build(BuildContext context, GoRouterState state) {
  20. return const SettingPage();
  21. }
  22. }
  23. @TypedGoRoute<GameRouter>(path: '/game')
  24. class GameRouter extends GoRouteData {
  25. final String cardName;
  26. final String assetPath;
  27. final List<int> answer;
  28. GameRouter({
  29. required this.cardName,
  30. required this.assetPath,
  31. required this.answer,
  32. });
  33. @override
  34. Widget build(BuildContext context, GoRouterState state) {
  35. return GamePage(
  36. card: CardItem(
  37. cardName: cardName,
  38. assetPath: assetPath,
  39. answer: answer,
  40. ),
  41. );
  42. }
  43. }
  44. @TypedGoRoute<AboutRouter>(path: '/about')
  45. class AboutRouter extends GoRouteData {
  46. @override
  47. Widget build(BuildContext context, GoRouterState state) {
  48. return const AboutPage();
  49. }
  50. }