intermediate prefs
This commit is contained in:
@@ -13,6 +13,8 @@ import 'package:lensai/features/geckoview/features/browser/presentation/dialogs/
|
||||
import 'package:lensai/features/geckoview/features/browser/presentation/screens/browser.dart';
|
||||
import 'package:lensai/features/geckoview/features/tabs/presentation/screens/container_list.dart';
|
||||
import 'package:lensai/features/search/presentation/screens/search.dart';
|
||||
import 'package:lensai/features/settings/presentation/screens/browser_hardening.dart';
|
||||
import 'package:lensai/features/settings/presentation/screens/browser_hardening_group.dart';
|
||||
import 'package:lensai/features/settings/presentation/screens/settings.dart';
|
||||
import 'package:lensai/features/user/presentation/screens/auth.dart';
|
||||
|
||||
@@ -180,6 +182,18 @@ class ContainerListRoute extends GoRouteData {
|
||||
@TypedGoRoute<SettingsRoute>(
|
||||
name: 'SettingsRoute',
|
||||
path: '/settings',
|
||||
routes: [
|
||||
TypedGoRoute<BrowserHardeningRoute>(
|
||||
name: 'BrowserHardeningRoute',
|
||||
path: 'hardening',
|
||||
routes: [
|
||||
TypedGoRoute<BrowserHardeningGroupRoute>(
|
||||
name: 'BrowserHardeningGroupRoute',
|
||||
path: 'group/:group',
|
||||
),
|
||||
],
|
||||
),
|
||||
],
|
||||
)
|
||||
class SettingsRoute extends GoRouteData {
|
||||
@override
|
||||
@@ -188,6 +202,24 @@ class SettingsRoute extends GoRouteData {
|
||||
}
|
||||
}
|
||||
|
||||
class BrowserHardeningRoute extends GoRouteData {
|
||||
@override
|
||||
Widget build(BuildContext context, GoRouterState state) {
|
||||
return const BrowserHardeningScreen();
|
||||
}
|
||||
}
|
||||
|
||||
class BrowserHardeningGroupRoute extends GoRouteData {
|
||||
final String group;
|
||||
|
||||
const BrowserHardeningGroupRoute({required this.group});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context, GoRouterState state) {
|
||||
return BrowserHardeningGroupScreen(groupName: group);
|
||||
}
|
||||
}
|
||||
|
||||
@TypedGoRoute<ChatArchiveListRoute>(
|
||||
name: 'ChatArchiveListRoute',
|
||||
path: '/chat_archive',
|
||||
|
||||
@@ -259,6 +259,20 @@ RouteBase get $settingsRoute => GoRouteData.$route(
|
||||
path: '/settings',
|
||||
name: 'SettingsRoute',
|
||||
factory: $SettingsRouteExtension._fromState,
|
||||
routes: [
|
||||
GoRouteData.$route(
|
||||
path: 'hardening',
|
||||
name: 'BrowserHardeningRoute',
|
||||
factory: $BrowserHardeningRouteExtension._fromState,
|
||||
routes: [
|
||||
GoRouteData.$route(
|
||||
path: 'group/:group',
|
||||
name: 'BrowserHardeningGroupRoute',
|
||||
factory: $BrowserHardeningGroupRouteExtension._fromState,
|
||||
),
|
||||
],
|
||||
),
|
||||
],
|
||||
);
|
||||
|
||||
extension $SettingsRouteExtension on SettingsRoute {
|
||||
@@ -278,6 +292,44 @@ extension $SettingsRouteExtension on SettingsRoute {
|
||||
void replace(BuildContext context) => context.replace(location);
|
||||
}
|
||||
|
||||
extension $BrowserHardeningRouteExtension on BrowserHardeningRoute {
|
||||
static BrowserHardeningRoute _fromState(GoRouterState state) =>
|
||||
BrowserHardeningRoute();
|
||||
|
||||
String get location => GoRouteData.$location(
|
||||
'/settings/hardening',
|
||||
);
|
||||
|
||||
void go(BuildContext context) => context.go(location);
|
||||
|
||||
Future<T?> push<T>(BuildContext context) => context.push<T>(location);
|
||||
|
||||
void pushReplacement(BuildContext context) =>
|
||||
context.pushReplacement(location);
|
||||
|
||||
void replace(BuildContext context) => context.replace(location);
|
||||
}
|
||||
|
||||
extension $BrowserHardeningGroupRouteExtension on BrowserHardeningGroupRoute {
|
||||
static BrowserHardeningGroupRoute _fromState(GoRouterState state) =>
|
||||
BrowserHardeningGroupRoute(
|
||||
group: state.pathParameters['group']!,
|
||||
);
|
||||
|
||||
String get location => GoRouteData.$location(
|
||||
'/settings/hardening/group/${Uri.encodeComponent(group)}',
|
||||
);
|
||||
|
||||
void go(BuildContext context) => context.go(location);
|
||||
|
||||
Future<T?> push<T>(BuildContext context) => context.push<T>(location);
|
||||
|
||||
void pushReplacement(BuildContext context) =>
|
||||
context.pushReplacement(location);
|
||||
|
||||
void replace(BuildContext context) => context.replace(location);
|
||||
}
|
||||
|
||||
RouteBase get $chatArchiveListRoute => GoRouteData.$route(
|
||||
path: '/chat_archive',
|
||||
name: 'ChatArchiveListRoute',
|
||||
|
||||
Reference in New Issue
Block a user