flutter_navigation_manager 1.1.2
flutter_navigation_manager: ^1.1.2 copied to clipboard
A comprehensive Flutter navigation management package with route management, navigation services, and shell navigation support.
example/lib/main.dart
import 'package:flutter/material.dart';
import 'package:flutter_navigation_manager/flutter_navigation_manager.dart';
import 'package:go_router/go_router.dart';
import 'my_app.dart';
import 'navigation_manager_provider.dart';
void main() {
final GoRouter router = GoRouter(
initialLocation: '/',
routes: <RouteBase>[
// Splash Screen
GoRoute(
path: '/',
name: 'splash',
builder: (BuildContext context, GoRouterState state) =>
const SplashScreen(),
),
// Authentication Screen
GoRoute(
path: '/auth',
name: 'auth',
builder: (BuildContext context, GoRouterState state) =>
const AuthScreen(),
),
// Main Dashboard
GoRoute(
path: '/dashboard',
name: 'dashboard',
builder: (BuildContext context, GoRouterState state) =>
const DashboardScreen(),
),
// Task Management Routes
GoRoute(
path: '/tasks',
name: 'tasks',
builder: (BuildContext context, GoRouterState state) =>
const TaskListScreen(),
),
GoRoute(
path: '/task/:id',
name: 'task-details',
builder: (BuildContext context, GoRouterState state) =>
TaskDetailsScreen(
taskId: state.pathParameters['id'] ?? '',
),
),
GoRoute(
path: '/create-task',
name: 'create-task',
builder: (BuildContext context, GoRouterState state) =>
const CreateEditTaskScreen(),
),
GoRoute(
path: '/edit-task/:id',
name: 'edit-task',
builder: (BuildContext context, GoRouterState state) =>
CreateEditTaskScreen(
taskId: state.pathParameters['id'],
),
),
// Profile & Settings Routes
GoRoute(
path: '/profile',
name: 'profile',
builder: (BuildContext context, GoRouterState state) =>
const ProfileScreen(),
),
GoRoute(
path: '/settings',
name: 'settings',
builder: (BuildContext context, GoRouterState state) =>
const SettingsScreen(),
),
// Projects Route
GoRoute(
path: '/projects',
name: 'projects',
builder: (BuildContext context, GoRouterState state) =>
const ProjectsScreen(),
),
],
);
final GoNavigationManager navigationManager = GoNavigationManager(router);
runApp(
NavigationManagerProvider(
navigationManager: navigationManager,
child: MyApp(router: router),
),
);
}