fromis_9/app/lib/core/router.dart

51 lines
1.4 KiB
Dart

/// 앱 라우터 설정
library;
import 'package:flutter/material.dart';
import 'package:go_router/go_router.dart';
import '../views/main_shell.dart';
import '../views/home/home_view.dart';
import '../views/members/members_view.dart';
import '../views/album/album_view.dart';
import '../views/schedule/schedule_view.dart';
/// 네비게이션 키
final GlobalKey<NavigatorState> rootNavigatorKey = GlobalKey<NavigatorState>();
/// 앱 라우터 설정
final GoRouter appRouter = GoRouter(
navigatorKey: rootNavigatorKey,
initialLocation: '/',
routes: [
// 메인 셸 (바텀 네비게이션)
ShellRoute(
builder: (context, state, child) => MainShell(child: child),
routes: [
GoRoute(
path: '/',
pageBuilder: (context, state) => const NoTransitionPage(
child: HomeView(),
),
),
GoRoute(
path: '/members',
pageBuilder: (context, state) => const NoTransitionPage(
child: MembersView(),
),
),
GoRoute(
path: '/album',
pageBuilder: (context, state) => const NoTransitionPage(
child: AlbumView(),
),
),
GoRoute(
path: '/schedule',
pageBuilder: (context, state) => const NoTransitionPage(
child: ScheduleView(),
),
),
],
),
],
);