push feature stable

This commit is contained in:
Fabian Freund
2026-07-19 14:25:48 +02:00
parent dc5e9bbd86
commit 36d85f9373
49 changed files with 5473 additions and 673 deletions
@@ -111,6 +111,7 @@ import 'package:weblibre/features/web_feed/presentation/screens/feed_article_lis
import 'package:weblibre/features/web_feed/presentation/screens/feed_edit.dart';
import 'package:weblibre/features/web_feed/presentation/screens/feed_list.dart';
import 'package:weblibre/features/web_feed/presentation/select_feed_dialog.dart';
import 'package:weblibre/features/web_push/presentation/screens/web_push_settings.dart';
part 'routes.bangs.dart';
part 'routes.bookmarks.dart';
@@ -1592,6 +1592,11 @@ RouteBase get $settingsRoute => GoRouteData.$route(
name: 'ExperimentalSettingsRoute',
factory: $ExperimentalSettingsRoute._fromState,
),
GoRouteData.$route(
path: 'push',
name: 'WebPushSettingsRoute',
factory: $WebPushSettingsRoute._fromState,
),
GoRouteData.$route(
path: 'bang',
name: 'BangSettingsRoute',
@@ -1949,6 +1954,27 @@ mixin $ExperimentalSettingsRoute on GoRouteData {
void replace(BuildContext context) => context.replace(location);
}
mixin $WebPushSettingsRoute on GoRouteData {
static WebPushSettingsRoute _fromState(GoRouterState state) =>
WebPushSettingsRoute();
@override
String get location => GoRouteData.$location('/settings/push');
@override
void go(BuildContext context) => context.go(location);
@override
Future<T?> push<T>(BuildContext context) => context.push<T>(location);
@override
void pushReplacement(BuildContext context) =>
context.pushReplacement(location);
@override
void replace(BuildContext context) => context.replace(location);
}
mixin $BangSettingsRoute on GoRouteData {
static BangSettingsRoute _fromState(GoRouterState state) =>
BangSettingsRoute();
@@ -63,6 +63,10 @@ part of 'routes.dart';
name: 'ExperimentalSettingsRoute',
path: 'experimental',
),
TypedGoRoute<WebPushSettingsRoute>(
name: 'WebPushSettingsRoute',
path: 'push',
),
TypedGoRoute<BangSettingsRoute>(name: 'BangSettingsRoute', path: 'bang'),
TypedGoRoute<WebEngineHardeningRoute>(
name: 'WebEngineHardeningRoute',
@@ -232,6 +236,13 @@ class ExperimentalSettingsRoute extends GoRouteData
}
}
class WebPushSettingsRoute extends GoRouteData with $WebPushSettingsRoute {
@override
Widget build(BuildContext context, GoRouterState state) {
return const WebPushSettingsScreen();
}
}
class BangSettingsRoute extends GoRouteData with $BangSettingsRoute {
@override
Widget build(BuildContext context, GoRouterState state) {