route_manager 2.0.1+1 copy "route_manager: ^2.0.1+1" to clipboard
route_manager: ^2.0.1+1 copied to clipboard

A package to manage and simplify routing with Navigator 2.0.

example/lib/main.dart

import 'package:flutter/material.dart';
import 'package:route_manager/route_manager.dart';
import 'package:route_manager_example/details_screen.dart';
import 'detail_screen.dart';
import 'home_screen.dart';
import 'number_screen.dart';

final routeManager = RouteManager(
  routesInfo: [
    RouteInfo(name: "/", routeWidget: (args) => const HomeScreen()),
    RouteInfo(name: "/detail", routeWidget: (args) => const DetailScreen()),
    RouteInfo(
        name: "/number-page",
        routeWidget: (args) {
          var number = int.tryParse(args?.getValueForKey("number") ?? "0") ?? 0;
          return NumberScreen(number: number);
        }),
    TypedRouteInfo(
        name: "/details",
        type: DetailsScreen,
        routeWidget: (args) {
          var struct = SimpleStruct.fromJson(args?["struct"] ?? "");

          return DetailsScreen(
            struct: struct,
          );
        }),
  ],
  initialRouteInfo: InitialRouteInfo(initialRouteName: "/"),
);

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp.router(
      routeInformationParser: routeManager.informationParser,
      routerDelegate: routeManager.routerDelegate,
    );
  }
}
0
likes
150
pub points
62%
popularity

Publisher

verified publishermobilesoft.it

A package to manage and simplify routing with Navigator 2.0.

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (license)

Dependencies

collection, flutter

More

Packages that depend on route_manager