aps_navigator 0.0.5-dev.1 copy "aps_navigator: ^0.0.5-dev.1" to clipboard
aps_navigator: ^0.0.5-dev.1 copied to clipboard

A wrapper around Navigator 2.0 and Router/Pages API to make their use a little easier. It offers Web support and complete control of the Route Stack.

example/lib/main.dart

import 'package:aps_navigator/aps_navigator.dart';
import 'package:flutter/material.dart';

import 'pages/examples/dynamic_url_page.dart';
import 'pages/examples/internal_navigator/internal_navigators_page.dart';
import 'pages/examples/multi/multi_push_page.dart';
import 'pages/examples/multi/multi_remove_page.dart';
import 'pages/examples/posts/post_details_page.dart';
import 'pages/examples/posts/post_list_page.dart';
import 'pages/examples/return_data_page.dart';
import 'pages/examples/static_url_page.dart';
import 'pages/home_page.dart';

void main() => runApp(const MyApp());

// Creates a Main ApsNavigator
final navigator = APSNavigator.from(
  routes: {
    // Persists state on Browser's history without including it in URL Address (Query params)
    '/static_url_example': StaticURLPage.route,
    // Persists state on Browser's history including/updating URL Address (Query params)
    '/dynamic_url_example{?tab}': DynamicURLPage.route,
    // Creates a page that returns data
    '/return_data_example': ReturnDataPage.route,
    // Shows how to include values on URL address path
    '/posts': PostListPage.route,
    '/posts/{post_id}': PostDetailsPage.route,
    // Shows how to use Internal Navigation
    '/internal_navs': InternalNavigatorsPage.route,
    // Shows how to Push multiples Pages at a specific location
    '/multi_push': MultiPushPage.route,
    // Shows how to Remove multiples Page at a specific location
    '/multi_remove': MultiRemovePage.route,
    // Initial page
    '/': HomePage.route,
  },
);

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    // Configures the Main ApsNavigator instance to be used
    return MaterialApp.router(
      routerDelegate: navigator,
      routeInformationParser: navigator.parser,
    );
  }
}
13
likes
130
points
34
downloads

Publisher

unverified uploader

Weekly Downloads

A wrapper around Navigator 2.0 and Router/Pages API to make their use a little easier. It offers Web support and complete control of the Route Stack.

Repository (GitHub)

Documentation

API reference

License

MIT (license)

Dependencies

collection, flutter, lint, uri

More

Packages that depend on aps_navigator