Make ChessAppRouter a class.

This commit is contained in:
Marco 2022-12-25 20:30:42 +01:00
parent d1ba004ebb
commit 330aeed476
2 changed files with 26 additions and 14 deletions

View File

@ -14,8 +14,10 @@ class ChessApp extends StatelessWidget {
child: BlocProvider(
create: (_) => ChessBloc.getInstance(),
child: MaterialApp.router(
theme: ThemeData.dark(useMaterial3: true),
routerConfig: router,
theme: ThemeData.dark(
useMaterial3: true,
),
routerConfig: ChessAppRouter.getInstance().router,
title: 'mChess v0.1.1337',
),
),

View File

@ -2,15 +2,25 @@ import 'package:go_router/go_router.dart';
import 'package:mchess/pages/chess_game.dart';
import 'package:mchess/pages/lobby_selector.dart';
final router = GoRouter(
routes: [
GoRoute(
path: '/',
builder: (context, state) => const LobbySelector(),
),
GoRoute(
path: '/play',
builder: (context, state) => const ChessGame(),
)
],
);
class ChessAppRouter {
static final ChessAppRouter _instance = ChessAppRouter._internal();
ChessAppRouter._internal();
static ChessAppRouter getInstance() {
return _instance;
}
final router = GoRouter(
routes: [
GoRoute(
path: '/',
builder: (context, state) => const LobbySelector(),
),
GoRoute(
path: '/play',
builder: (context, state) => const ChessGame(),
)
],
);
}