todo_app/lib/core/routing/app_router.dart

32 lines
876 B
Dart
Raw Permalink Normal View History

import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:go_router/go_router.dart';
import '../../features/todo/presentation/screens/todo_detail_screen.dart';
import '../../features/todo/presentation/screens/todo_list_screen.dart';
final appRouterProvider = Provider<GoRouter>((ref) {
return GoRouter(
initialLocation: '/',
routes: [
GoRoute(
path: '/',
name: 'todo-list',
builder: (context, state) => const TodoListScreen(),
),
GoRoute(
path: '/todo/new',
name: 'todo-create',
builder: (context, state) => const TodoDetailScreen(),
),
GoRoute(
path: '/todo/:id',
name: 'todo-detail',
builder: (context, state) {
final id = state.pathParameters['id']!;
return TodoDetailScreen(todoId: id);
},
),
],
);
});