go_router_tree 0.1.0 copy "go_router_tree: ^0.1.0" to clipboard
go_router_tree: ^0.1.0 copied to clipboard

Code generator that builds route trees for package:go_router.

example/lib/example.dart

// ignore_for_file: unused_element

import 'package:go_router_tree_annotation/go_router_tree_annotation.dart';

@RouterTreeConfig(className: 'ExampleRoutes')
const _routes = [
  RouteNode(
    name: 'root',
    path: '/',
  ),
  RouteNode(
    name: 'onboarding',
    path: '/onboarding',
  ),
  RouteNode(
    name: 'auth',
    path: '/auth',
    routes: [
      RouteNode(
        name: 'signIn',
        path: 'sign-in',
      ),
      RouteNode(
        name: 'signUp',
        path: 'sign-up',
      ),
      RouteNode(
        name: 'recoverPassword',
        path: 'recover',
      ),
    ],
  ),
  RouteNode(
    name: 'dashboard',
    path: '/dashboard',
    routes: [
      RouteNode(
        name: 'stats',
        path: 'stats',
      ),
      RouteNode(
        name: 'catalog',
        path: 'catalog',
        routes: [
          RouteNode(
            name: 'categories',
            path: 'categories',
          ),
          RouteNode(
            name: 'categoryDetails',
            path: ':categoryId',
            routes: [
              RouteNode(
                name: 'categoryFilter',
                path: 'filter',
              ),
              RouteNode(
                name: 'productDetails',
                path: 'product/:productId',
                routes: [
                  RouteNode(
                    name: 'productReviews',
                    path: 'reviews',
                  ),
                  RouteNode(
                    name: 'productEdit',
                    path: 'edit',
                  ),
                ],
              ),
            ],
          ),
        ],
      ),
      RouteNode(
        name: 'orders',
        path: 'orders',
        routes: [
          RouteNode(
            name: 'orderHistory',
            path: 'history',
          ),
          RouteNode(
            name: 'orderDetails',
            path: ':orderId',
            routes: [
              RouteNode(
                name: 'trackOrder',
                path: 'track',
              ),
              RouteNode(
                name: 'cancelOrder',
                path: 'cancel',
              ),
            ],
          ),
        ],
      ),
      RouteNode(
        name: 'settings',
        path: 'settings',
        routes: [
          RouteNode(
            name: 'profile',
            path: 'profile',
          ),
          RouteNode(
            name: 'security',
            path: 'security',
            routes: [
              RouteNode(
                name: 'twoFactor',
                path: '2fa',
              ),
            ],
          ),
        ],
      ),
    ],
  ),
];
1
likes
160
points
257
downloads

Publisher

unverified uploader

Weekly Downloads

Code generator that builds route trees for package:go_router.

Repository (GitHub)
View/report issues

Documentation

API reference

License

BSD-3-Clause (license)

Dependencies

analyzer, build, build_config, code_builder, dart_style, go_router_tree_annotation, path, source_gen, source_span

More

Packages that depend on go_router_tree