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; final int baseTime; final int lowerTime; final int upperTime; GameRouter({ required this.cardName, required this.assetPath, required this.answer, required this.baseTime, required this.lowerTime, required this.upperTime, }); @override Widget build(BuildContext context, GoRouterState state) { return GamePage( card: CardItem( cardName: cardName, assetPath: assetPath, answer: answer, baseTime: baseTime, lowerTime: lowerTime, upperTime: upperTime, ), ); } } @TypedGoRoute(path: '/about') class AboutRouter extends GoRouteData { @override Widget build(BuildContext context, GoRouterState state) { return const AboutPage(); } }