intermediate prefs

This commit is contained in:
Fabian Freund
2025-01-30 10:46:38 +01:00
parent 78c17a70c5
commit 36acd46318
51 changed files with 3744 additions and 1719 deletions
+32
View File
@@ -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',
+52
View File
@@ -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',