import 'package:go_router/go_router.dart'; import 'package:pweb/app/router/pages.dart'; import 'package:pweb/app/router/page_params.dart'; import 'package:pweb/pages/2fa/page.dart'; import 'package:pweb/pages/signup/page.dart'; import 'package:pweb/pages/verification/page.dart'; import 'package:pweb/widgets/sidebar/page.dart'; import 'package:pweb/pages/login/page.dart'; import 'package:pweb/pages/errors/not_found.dart'; GoRouter createRouter() => GoRouter( debugLogDiagnostics: true, routes: [ GoRoute( name: Pages.root.name, path: routerPage(Pages.root), builder: (_, _) => const LoginPage(), routes: [ GoRoute( name: Pages.login.name, path: routerPage(Pages.login), builder: (_, _) => const LoginPage(), ), GoRoute( name: Pages.dashboard.name, path: routerPage(Pages.dashboard), builder: (_, _) => const PageSelector(), ), GoRoute( name: Pages.sfactor.name, path: routerPage(Pages.sfactor), builder: (context, _) => TwoFactorCodePage( onVerificationSuccess: () => context.goNamed(Pages.dashboard.name), ), ), GoRoute( name: Pages.signup.name, path: routerPage(Pages.signup), builder: (_, _) => const SignUpPage(), ), GoRoute( name: Pages.verify.name, path: '${routerPage(Pages.verify)}${routerAddParam(PageParams.token)}', builder: (_, state) => AccountVerificationPage(token: state.pathParameters[PageParams.token.name]!), ), ], ), ], errorBuilder: (_, _) => const NotFoundPage(), );