import 'package:flutter/material.dart'; import 'package:go_router/go_router.dart'; import 'data/card.dart'; import 'page/about_page.dart'; import 'page/game_page.dart'; import 'page/home_page.dart'; import 'page/setting_page.dart'; part 'route.g.dart'; @TypedGoRoute(path: '/') class HomeRoute extends GoRouteData { @override Widget build(BuildContext context, GoRouterState state) { return const HomePage(); } } @TypedGoRoute(path: '/setting') class SettingRoute extends GoRouteData { @override Widget build(BuildContext context, GoRouterState state) { return const SettingPage(); } } @TypedGoRoute(path: '/game') class GameRouter extends GoRouteData { final String cardName; final String assetPath; final List answer; GameRouter({ required this.cardName, required this.assetPath, required this.answer, }); @override Widget build(BuildContext context, GoRouterState state) { return GamePage( card: CardItem( cardName: cardName, assetPath: assetPath, answer: answer, ), ); } } @TypedGoRoute(path: '/about') class AboutRouter extends GoRouteData { @override Widget build(BuildContext context, GoRouterState state) { return const AboutPage(); } }