flutter_navigation_manager 1.0.1 copy "flutter_navigation_manager: ^1.0.1" to clipboard
flutter_navigation_manager: ^1.0.1 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';

final GlobalKey<NavigatorState> shellNavigatorKey = GlobalKey<NavigatorState>();

void main() {
  final GoRouter router = GoRouter(
    initialLocation: '/shell-home',
    routes: <RouteBase>[
      GoRoute(
        path: '/',
        name: 'home',
        builder: (BuildContext context, GoRouterState state) =>
            const HomeScreen(),
      ),
      GoRoute(
        path: '/details',
        name: 'details',
        builder: (BuildContext context, GoRouterState state) =>
            const DetailsScreen(),
      ),
      ShellRoute(
        navigatorKey: shellNavigatorKey,
        builder: (context, state, child) => ShellScaffold(child: child),
        routes: [
          GoRoute(
            path: '/shell-home',
            name: 'shell-home',
            builder: (BuildContext context, GoRouterState state) =>
                const ShellHomeScreen(),
            routes: [
              GoRoute(
                path: 'details',
                name: 'shell-home-details',
                builder: (BuildContext context, GoRouterState state) =>
                    const ShellHomeDetailsScreen(),
              ),
            ],
          ),
          GoRoute(
            path: '/shell-details/:id',
            name: 'shell-details',
            builder: (BuildContext context, GoRouterState state) =>
                ShellDetailsScreen(id: state.pathParameters['id'] ?? ''),
            routes: [
              GoRoute(
                path: 'details',
                name: 'shell-details-details',
                builder: (BuildContext context, GoRouterState state) =>
                    ShellDetailsDetailsScreen(
                        id: state.pathParameters['id'] ?? ''),
              ),
            ],
          ),
        ],
      ),
    ],
  );

  final GoNavigationManager navigationManager = GoNavigationManager(router);

  runApp(
    NavigationManagerProvider(
      navigationManager: navigationManager,
      child: MyApp(router: router),
    ),
  );
}
1
likes
0
points
68
downloads

Publisher

unverified uploader

Weekly Downloads

A comprehensive Flutter navigation management package with route management, navigation services, and shell navigation support.

Repository (GitHub)
View/report issues

Topics

#navigation #routing #flutter #go-router #shell-navigation

License

unknown (license)

Dependencies

equatable, flutter, flutter_shared_utilities, go_router

More

Packages that depend on flutter_navigation_manager