From b8c20bb7021f9e19893bd442cee7ec945586e5fa Mon Sep 17 00:00:00 2001 From: Fabian Freund Date: Mon, 9 Jun 2025 21:23:23 +0200 Subject: [PATCH] update deps --- app/lib/core/routing/routes.bangs.dart | 8 +- app/lib/core/routing/routes.browser.dart | 16 +- app/lib/core/routing/routes.dart | 2 +- app/lib/core/routing/routes.feeds.dart | 14 +- app/lib/core/routing/routes.g.dart | 337 ++++++++++++++++------ app/lib/core/routing/routes.settings.dart | 14 +- app/pubspec.yaml | 4 +- 7 files changed, 280 insertions(+), 115 deletions(-) diff --git a/app/lib/core/routing/routes.bangs.dart b/app/lib/core/routing/routes.bangs.dart index 5656a02e..ca299a72 100644 --- a/app/lib/core/routing/routes.bangs.dart +++ b/app/lib/core/routing/routes.bangs.dart @@ -20,14 +20,14 @@ part of 'routes.dart'; ), ], ) -class BangCategoriesRoute extends GoRouteData { +class BangCategoriesRoute extends GoRouteData with _$BangCategoriesRoute { @override Widget build(BuildContext context, GoRouterState state) { return const BangCategoriesScreen(); } } -class BangCategoryRoute extends GoRouteData { +class BangCategoryRoute extends GoRouteData with _$BangCategoryRoute { final String category; const BangCategoryRoute({required this.category}); @@ -38,7 +38,7 @@ class BangCategoryRoute extends GoRouteData { } } -class BangSubCategoryRoute extends GoRouteData { +class BangSubCategoryRoute extends GoRouteData with _$BangSubCategoryRoute { final String category; final String subCategory; @@ -53,7 +53,7 @@ class BangSubCategoryRoute extends GoRouteData { } } -class BangSearchRoute extends GoRouteData { +class BangSearchRoute extends GoRouteData with _$BangSearchRoute { static const String emptySearchText = ' '; //This should be nullable but isnt allowed by go_router diff --git a/app/lib/core/routing/routes.browser.dart b/app/lib/core/routing/routes.browser.dart index b5f12206..acdb54b8 100644 --- a/app/lib/core/routing/routes.browser.dart +++ b/app/lib/core/routing/routes.browser.dart @@ -30,7 +30,7 @@ part of 'routes.dart'; ), ], ) -class BrowserRoute extends GoRouteData { +class BrowserRoute extends GoRouteData with _$BrowserRoute { static const name = 'BrowserRoute'; @override @@ -39,7 +39,7 @@ class BrowserRoute extends GoRouteData { } } -class WebPageRoute extends GoRouteData { +class WebPageRoute extends GoRouteData with _$WebPageRoute { final String url; final WebPageInfo? $extra; @@ -55,7 +55,7 @@ class WebPageRoute extends GoRouteData { enum TabType { regular, private } -class SearchRoute extends GoRouteData { +class SearchRoute extends GoRouteData with _$SearchRoute { static const String emptySearchText = ' '; final TabType tabType; @@ -79,21 +79,21 @@ class SearchRoute extends GoRouteData { } } -class TorProxyRoute extends GoRouteData { +class TorProxyRoute extends GoRouteData with _$TorProxyRoute { @override Widget build(BuildContext context, GoRouterState state) { return const TorProxyScreen(); } } -class ContainerListRoute extends GoRouteData { +class ContainerListRoute extends GoRouteData with _$ContainerListRoute { @override Widget build(BuildContext context, GoRouterState state) { return const ContainerListScreen(); } } -class ContainerEditRoute extends GoRouteData { +class ContainerEditRoute extends GoRouteData with _$ContainerEditRoute { final ContainerData $extra; ContainerEditRoute(this.$extra); @@ -104,7 +104,7 @@ class ContainerEditRoute extends GoRouteData { } } -class ContainerCreateRoute extends GoRouteData { +class ContainerCreateRoute extends GoRouteData with _$ContainerCreateRoute { final ContainerData $extra; ContainerCreateRoute(this.$extra); @@ -115,7 +115,7 @@ class ContainerCreateRoute extends GoRouteData { } } -class ContextMenuRoute extends GoRouteData { +class ContextMenuRoute extends GoRouteData with _$ContextMenuRoute { final String $extra; const ContextMenuRoute(this.$extra); diff --git a/app/lib/core/routing/routes.dart b/app/lib/core/routing/routes.dart index d6f70063..90b12a45 100644 --- a/app/lib/core/routing/routes.dart +++ b/app/lib/core/routing/routes.dart @@ -37,7 +37,7 @@ part 'routes.bangs.dart'; part 'routes.feeds.dart'; @TypedGoRoute(name: 'AboutRoute', path: '/about') -class AboutRoute extends GoRouteData { +class AboutRoute extends GoRouteData with _$AboutRoute { @override Page buildPage(BuildContext context, GoRouterState state) { return DialogPage(builder: (_) => const AboutDialogScreen()); diff --git a/app/lib/core/routing/routes.feeds.dart b/app/lib/core/routing/routes.feeds.dart index f7b4e330..264da9c0 100644 --- a/app/lib/core/routing/routes.feeds.dart +++ b/app/lib/core/routing/routes.feeds.dart @@ -24,14 +24,14 @@ part of 'routes.dart'; TypedGoRoute(name: 'FeedEditRoute', path: 'edit/:feedId'), ], ) -class FeedListRoute extends GoRouteData { +class FeedListRoute extends GoRouteData with _$FeedListRoute { @override Widget build(BuildContext context, GoRouterState state) { return const FeedListScreen(); } } -class FeedCreateRoute extends GoRouteData { +class FeedCreateRoute extends GoRouteData with _$FeedCreateRoute { final Uri feedId; FeedCreateRoute({required this.feedId}); @@ -42,7 +42,7 @@ class FeedCreateRoute extends GoRouteData { } } -class SelectFeedDialogRoute extends GoRouteData { +class SelectFeedDialogRoute extends GoRouteData with _$SelectFeedDialogRoute { final String feedsJson; const SelectFeedDialogRoute({required this.feedsJson}); @@ -59,7 +59,7 @@ class SelectFeedDialogRoute extends GoRouteData { } } -class FeedEditRoute extends GoRouteData { +class FeedEditRoute extends GoRouteData with _$FeedEditRoute { final Uri feedId; const FeedEditRoute({required this.feedId}); @@ -70,7 +70,7 @@ class FeedEditRoute extends GoRouteData { } } -class FeedAddRoute extends GoRouteData { +class FeedAddRoute extends GoRouteData with _$FeedAddRoute { final Uri? $extra; static const name = 'FeedAddRoute'; @@ -83,7 +83,7 @@ class FeedAddRoute extends GoRouteData { } } -class FeedArticleListRoute extends GoRouteData { +class FeedArticleListRoute extends GoRouteData with _$FeedArticleListRoute { final Uri feedId; FeedArticleListRoute({required this.feedId}); @@ -94,7 +94,7 @@ class FeedArticleListRoute extends GoRouteData { } } -class FeedArticleRoute extends GoRouteData { +class FeedArticleRoute extends GoRouteData with _$FeedArticleRoute { final String articleId; FeedArticleRoute({required this.articleId}); diff --git a/app/lib/core/routing/routes.g.dart b/app/lib/core/routing/routes.g.dart index fb5cf2a4..8e195e8c 100644 --- a/app/lib/core/routing/routes.g.dart +++ b/app/lib/core/routing/routes.g.dart @@ -18,21 +18,26 @@ RouteBase get $aboutRoute => GoRouteData.$route( path: '/about', name: 'AboutRoute', - factory: $AboutRouteExtension._fromState, + factory: _$AboutRoute._fromState, ); -extension $AboutRouteExtension on AboutRoute { +mixin _$AboutRoute on GoRouteData { static AboutRoute _fromState(GoRouterState state) => AboutRoute(); + @override String get location => GoRouteData.$location('/about'); + @override void go(BuildContext context) => context.go(location); + @override Future push(BuildContext context) => context.push(location); + @override void pushReplacement(BuildContext context) => context.pushReplacement(location); + @override void replace(BuildContext context) => context.replace(location); } @@ -40,37 +45,37 @@ RouteBase get $settingsRoute => GoRouteData.$route( path: '/settings', name: 'SettingsRoute', - factory: $SettingsRouteExtension._fromState, + factory: _$SettingsRoute._fromState, routes: [ GoRouteData.$route( path: 'general', name: 'GeneralSettingsRoute', - factory: $GeneralSettingsRouteExtension._fromState, + factory: _$GeneralSettingsRoute._fromState, ), GoRouteData.$route( path: 'bang', name: 'BangSettingsRoute', - factory: $BangSettingsRouteExtension._fromState, + factory: _$BangSettingsRoute._fromState, ), GoRouteData.$route( path: 'web_engine', name: 'WebEngineSettingsRoute', - factory: $WebEngineSettingsRouteExtension._fromState, + factory: _$WebEngineSettingsRoute._fromState, routes: [ GoRouteData.$route( path: 'hardening', name: 'WebEngineHardeningRoute', - factory: $WebEngineHardeningRouteExtension._fromState, + factory: _$WebEngineHardeningRoute._fromState, routes: [ GoRouteData.$route( path: 'group/:group', name: 'WebEngineHardeningGroupRoute', - factory: $WebEngineHardeningGroupRouteExtension._fromState, + factory: _$WebEngineHardeningGroupRoute._fromState, ), ], ), @@ -79,102 +84,134 @@ RouteBase get $settingsRoute => GoRouteData.$route( ], ); -extension $SettingsRouteExtension on SettingsRoute { +mixin _$SettingsRoute on GoRouteData { static SettingsRoute _fromState(GoRouterState state) => SettingsRoute(); + @override String get location => GoRouteData.$location('/settings'); + @override void go(BuildContext context) => context.go(location); + @override Future push(BuildContext context) => context.push(location); + @override void pushReplacement(BuildContext context) => context.pushReplacement(location); + @override void replace(BuildContext context) => context.replace(location); } -extension $GeneralSettingsRouteExtension on GeneralSettingsRoute { +mixin _$GeneralSettingsRoute on GoRouteData { static GeneralSettingsRoute _fromState(GoRouterState state) => GeneralSettingsRoute(); + @override String get location => GoRouteData.$location('/settings/general'); + @override void go(BuildContext context) => context.go(location); + @override Future push(BuildContext context) => context.push(location); + @override void pushReplacement(BuildContext context) => context.pushReplacement(location); + @override void replace(BuildContext context) => context.replace(location); } -extension $BangSettingsRouteExtension on BangSettingsRoute { +mixin _$BangSettingsRoute on GoRouteData { static BangSettingsRoute _fromState(GoRouterState state) => BangSettingsRoute(); + @override String get location => GoRouteData.$location('/settings/bang'); + @override void go(BuildContext context) => context.go(location); + @override Future push(BuildContext context) => context.push(location); + @override void pushReplacement(BuildContext context) => context.pushReplacement(location); + @override void replace(BuildContext context) => context.replace(location); } -extension $WebEngineSettingsRouteExtension on WebEngineSettingsRoute { +mixin _$WebEngineSettingsRoute on GoRouteData { static WebEngineSettingsRoute _fromState(GoRouterState state) => WebEngineSettingsRoute(); + @override String get location => GoRouteData.$location('/settings/web_engine'); + @override void go(BuildContext context) => context.go(location); + @override Future push(BuildContext context) => context.push(location); + @override void pushReplacement(BuildContext context) => context.pushReplacement(location); + @override void replace(BuildContext context) => context.replace(location); } -extension $WebEngineHardeningRouteExtension on WebEngineHardeningRoute { +mixin _$WebEngineHardeningRoute on GoRouteData { static WebEngineHardeningRoute _fromState(GoRouterState state) => WebEngineHardeningRoute(); + @override String get location => GoRouteData.$location('/settings/web_engine/hardening'); + @override void go(BuildContext context) => context.go(location); + @override Future push(BuildContext context) => context.push(location); + @override void pushReplacement(BuildContext context) => context.pushReplacement(location); + @override void replace(BuildContext context) => context.replace(location); } -extension $WebEngineHardeningGroupRouteExtension - on WebEngineHardeningGroupRoute { +mixin _$WebEngineHardeningGroupRoute on GoRouteData { static WebEngineHardeningGroupRoute _fromState(GoRouterState state) => WebEngineHardeningGroupRoute(group: state.pathParameters['group']!); + WebEngineHardeningGroupRoute get _self => + this as WebEngineHardeningGroupRoute; + + @override String get location => GoRouteData.$location( - '/settings/web_engine/hardening/group/${Uri.encodeComponent(group)}', + '/settings/web_engine/hardening/group/${Uri.encodeComponent(_self.group)}', ); + @override void go(BuildContext context) => context.go(location); + @override Future push(BuildContext context) => context.push(location); + @override void pushReplacement(BuildContext context) => context.pushReplacement(location); + @override void replace(BuildContext context) => context.replace(location); } @@ -182,109 +219,128 @@ RouteBase get $browserRoute => GoRouteData.$route( path: '/', name: 'BrowserRoute', - factory: $BrowserRouteExtension._fromState, + factory: _$BrowserRoute._fromState, routes: [ GoRouteData.$route( path: 'page/:url', name: 'WebPageRoute', - factory: $WebPageRouteExtension._fromState, + factory: _$WebPageRoute._fromState, ), GoRouteData.$route( path: 'search/:tabType/:searchText', name: 'SearchRoute', - factory: $SearchRouteExtension._fromState, + factory: _$SearchRoute._fromState, ), GoRouteData.$route( path: 'tor_proxy', name: 'TorProxyRoute', - factory: $TorProxyRouteExtension._fromState, + factory: _$TorProxyRoute._fromState, ), GoRouteData.$route( path: 'context_menu', name: 'ContextMenuRoute', - factory: $ContextMenuRouteExtension._fromState, + factory: _$ContextMenuRoute._fromState, ), GoRouteData.$route( path: 'containers', name: 'ContainerListRoute', - factory: $ContainerListRouteExtension._fromState, + factory: _$ContainerListRoute._fromState, routes: [ GoRouteData.$route( path: 'create', name: 'ContainerCreateRoute', - factory: $ContainerCreateRouteExtension._fromState, + factory: _$ContainerCreateRoute._fromState, ), GoRouteData.$route( path: 'edit', name: 'ContainerEditRoute', - factory: $ContainerEditRouteExtension._fromState, + factory: _$ContainerEditRoute._fromState, ), ], ), ], ); -extension $BrowserRouteExtension on BrowserRoute { +mixin _$BrowserRoute on GoRouteData { static BrowserRoute _fromState(GoRouterState state) => BrowserRoute(); + @override String get location => GoRouteData.$location('/'); + @override void go(BuildContext context) => context.go(location); + @override Future push(BuildContext context) => context.push(location); + @override void pushReplacement(BuildContext context) => context.pushReplacement(location); + @override void replace(BuildContext context) => context.replace(location); } -extension $WebPageRouteExtension on WebPageRoute { +mixin _$WebPageRoute on GoRouteData { static WebPageRoute _fromState(GoRouterState state) => WebPageRoute( url: state.pathParameters['url']!, $extra: state.extra as WebPageInfo?, ); + WebPageRoute get _self => this as WebPageRoute; + + @override String get location => - GoRouteData.$location('/page/${Uri.encodeComponent(url)}'); + GoRouteData.$location('/page/${Uri.encodeComponent(_self.url)}'); - void go(BuildContext context) => context.go(location, extra: $extra); + @override + void go(BuildContext context) => context.go(location, extra: _self.$extra); + @override Future push(BuildContext context) => - context.push(location, extra: $extra); + context.push(location, extra: _self.$extra); + @override void pushReplacement(BuildContext context) => - context.pushReplacement(location, extra: $extra); + context.pushReplacement(location, extra: _self.$extra); + @override void replace(BuildContext context) => - context.replace(location, extra: $extra); + context.replace(location, extra: _self.$extra); } -extension $SearchRouteExtension on SearchRoute { +mixin _$SearchRoute on GoRouteData { static SearchRoute _fromState(GoRouterState state) => SearchRoute( tabType: _$TabTypeEnumMap._$fromName(state.pathParameters['tabType']!)!, searchText: state.pathParameters['searchText'] ?? SearchRoute.emptySearchText, ); + SearchRoute get _self => this as SearchRoute; + + @override String get location => GoRouteData.$location( - '/search/${Uri.encodeComponent(_$TabTypeEnumMap[tabType]!)}/${Uri.encodeComponent(searchText)}', + '/search/${Uri.encodeComponent(_$TabTypeEnumMap[_self.tabType]!)}/${Uri.encodeComponent(_self.searchText)}', ); + @override void go(BuildContext context) => context.go(location); + @override Future push(BuildContext context) => context.push(location); + @override void pushReplacement(BuildContext context) => context.pushReplacement(location); + @override void replace(BuildContext context) => context.replace(location); } @@ -293,89 +349,120 @@ const _$TabTypeEnumMap = { TabType.private: 'private', }; -extension $TorProxyRouteExtension on TorProxyRoute { +mixin _$TorProxyRoute on GoRouteData { static TorProxyRoute _fromState(GoRouterState state) => TorProxyRoute(); + @override String get location => GoRouteData.$location('/tor_proxy'); + @override void go(BuildContext context) => context.go(location); + @override Future push(BuildContext context) => context.push(location); + @override void pushReplacement(BuildContext context) => context.pushReplacement(location); + @override void replace(BuildContext context) => context.replace(location); } -extension $ContextMenuRouteExtension on ContextMenuRoute { +mixin _$ContextMenuRoute on GoRouteData { static ContextMenuRoute _fromState(GoRouterState state) => ContextMenuRoute(state.extra as String); + ContextMenuRoute get _self => this as ContextMenuRoute; + + @override String get location => GoRouteData.$location('/context_menu'); - void go(BuildContext context) => context.go(location, extra: $extra); + @override + void go(BuildContext context) => context.go(location, extra: _self.$extra); + @override Future push(BuildContext context) => - context.push(location, extra: $extra); + context.push(location, extra: _self.$extra); + @override void pushReplacement(BuildContext context) => - context.pushReplacement(location, extra: $extra); + context.pushReplacement(location, extra: _self.$extra); + @override void replace(BuildContext context) => - context.replace(location, extra: $extra); + context.replace(location, extra: _self.$extra); } -extension $ContainerListRouteExtension on ContainerListRoute { +mixin _$ContainerListRoute on GoRouteData { static ContainerListRoute _fromState(GoRouterState state) => ContainerListRoute(); + @override String get location => GoRouteData.$location('/containers'); + @override void go(BuildContext context) => context.go(location); + @override Future push(BuildContext context) => context.push(location); + @override void pushReplacement(BuildContext context) => context.pushReplacement(location); + @override void replace(BuildContext context) => context.replace(location); } -extension $ContainerCreateRouteExtension on ContainerCreateRoute { +mixin _$ContainerCreateRoute on GoRouteData { static ContainerCreateRoute _fromState(GoRouterState state) => ContainerCreateRoute(state.extra as ContainerData); + ContainerCreateRoute get _self => this as ContainerCreateRoute; + + @override String get location => GoRouteData.$location('/containers/create'); - void go(BuildContext context) => context.go(location, extra: $extra); + @override + void go(BuildContext context) => context.go(location, extra: _self.$extra); + @override Future push(BuildContext context) => - context.push(location, extra: $extra); + context.push(location, extra: _self.$extra); + @override void pushReplacement(BuildContext context) => - context.pushReplacement(location, extra: $extra); + context.pushReplacement(location, extra: _self.$extra); + @override void replace(BuildContext context) => - context.replace(location, extra: $extra); + context.replace(location, extra: _self.$extra); } -extension $ContainerEditRouteExtension on ContainerEditRoute { +mixin _$ContainerEditRoute on GoRouteData { static ContainerEditRoute _fromState(GoRouterState state) => ContainerEditRoute(state.extra as ContainerData); + ContainerEditRoute get _self => this as ContainerEditRoute; + + @override String get location => GoRouteData.$location('/containers/edit'); - void go(BuildContext context) => context.go(location, extra: $extra); + @override + void go(BuildContext context) => context.go(location, extra: _self.$extra); + @override Future push(BuildContext context) => - context.push(location, extra: $extra); + context.push(location, extra: _self.$extra); + @override void pushReplacement(BuildContext context) => - context.pushReplacement(location, extra: $extra); + context.pushReplacement(location, extra: _self.$extra); + @override void replace(BuildContext context) => - context.replace(location, extra: $extra); + context.replace(location, extra: _self.$extra); } extension on Map { @@ -387,101 +474,129 @@ RouteBase get $bangCategoriesRoute => GoRouteData.$route( path: '/bangs', name: 'BangRoute', - factory: $BangCategoriesRouteExtension._fromState, + factory: _$BangCategoriesRoute._fromState, routes: [ GoRouteData.$route( path: 'search/:searchText', name: 'BangSearchRoute', - factory: $BangSearchRouteExtension._fromState, + factory: _$BangSearchRoute._fromState, ), GoRouteData.$route( path: 'category/:category', name: 'BangCategoryRoute', - factory: $BangCategoryRouteExtension._fromState, + factory: _$BangCategoryRoute._fromState, routes: [ GoRouteData.$route( path: ':subCategory', name: 'BangSubCategoryRoute', - factory: $BangSubCategoryRouteExtension._fromState, + factory: _$BangSubCategoryRoute._fromState, ), ], ), ], ); -extension $BangCategoriesRouteExtension on BangCategoriesRoute { +mixin _$BangCategoriesRoute on GoRouteData { static BangCategoriesRoute _fromState(GoRouterState state) => BangCategoriesRoute(); + @override String get location => GoRouteData.$location('/bangs'); + @override void go(BuildContext context) => context.go(location); + @override Future push(BuildContext context) => context.push(location); + @override void pushReplacement(BuildContext context) => context.pushReplacement(location); + @override void replace(BuildContext context) => context.replace(location); } -extension $BangSearchRouteExtension on BangSearchRoute { +mixin _$BangSearchRoute on GoRouteData { static BangSearchRoute _fromState(GoRouterState state) => BangSearchRoute( searchText: state.pathParameters['searchText'] ?? BangSearchRoute.emptySearchText, ); - String get location => - GoRouteData.$location('/bangs/search/${Uri.encodeComponent(searchText)}'); + BangSearchRoute get _self => this as BangSearchRoute; + @override + String get location => GoRouteData.$location( + '/bangs/search/${Uri.encodeComponent(_self.searchText)}', + ); + + @override void go(BuildContext context) => context.go(location); + @override Future push(BuildContext context) => context.push(location); + @override void pushReplacement(BuildContext context) => context.pushReplacement(location); + @override void replace(BuildContext context) => context.replace(location); } -extension $BangCategoryRouteExtension on BangCategoryRoute { +mixin _$BangCategoryRoute on GoRouteData { static BangCategoryRoute _fromState(GoRouterState state) => BangCategoryRoute(category: state.pathParameters['category']!); - String get location => - GoRouteData.$location('/bangs/category/${Uri.encodeComponent(category)}'); + BangCategoryRoute get _self => this as BangCategoryRoute; + @override + String get location => GoRouteData.$location( + '/bangs/category/${Uri.encodeComponent(_self.category)}', + ); + + @override void go(BuildContext context) => context.go(location); + @override Future push(BuildContext context) => context.push(location); + @override void pushReplacement(BuildContext context) => context.pushReplacement(location); + @override void replace(BuildContext context) => context.replace(location); } -extension $BangSubCategoryRouteExtension on BangSubCategoryRoute { +mixin _$BangSubCategoryRoute on GoRouteData { static BangSubCategoryRoute _fromState(GoRouterState state) => BangSubCategoryRoute( category: state.pathParameters['category']!, subCategory: state.pathParameters['subCategory']!, ); + BangSubCategoryRoute get _self => this as BangSubCategoryRoute; + + @override String get location => GoRouteData.$location( - '/bangs/category/${Uri.encodeComponent(category)}/${Uri.encodeComponent(subCategory)}', + '/bangs/category/${Uri.encodeComponent(_self.category)}/${Uri.encodeComponent(_self.subCategory)}', ); + @override void go(BuildContext context) => context.go(location); + @override Future push(BuildContext context) => context.push(location); + @override void pushReplacement(BuildContext context) => context.pushReplacement(location); + @override void replace(BuildContext context) => context.replace(location); } @@ -489,165 +604,213 @@ RouteBase get $feedListRoute => GoRouteData.$route( path: '/feeds', name: 'FeedListRoute', - factory: $FeedListRouteExtension._fromState, + factory: _$FeedListRoute._fromState, routes: [ GoRouteData.$route( path: 'add', name: 'FeedAddRoute', - factory: $FeedAddRouteExtension._fromState, + factory: _$FeedAddRoute._fromState, ), GoRouteData.$route( path: 'articles/:feedId', name: 'FeedArticleListRoute', - factory: $FeedArticleListRouteExtension._fromState, + factory: _$FeedArticleListRoute._fromState, ), GoRouteData.$route( path: 'article/:articleId', name: 'FeedArticleRoute', - factory: $FeedArticleRouteExtension._fromState, + factory: _$FeedArticleRoute._fromState, ), GoRouteData.$route( path: 'create/:feedId', name: 'FeedCreateRoute', - factory: $FeedCreateRouteExtension._fromState, + factory: _$FeedCreateRoute._fromState, ), GoRouteData.$route( path: 'available/:feedsJson', name: 'SelectFeedDialogRoute', - factory: $SelectFeedDialogRouteExtension._fromState, + factory: _$SelectFeedDialogRoute._fromState, ), GoRouteData.$route( path: 'edit/:feedId', name: 'FeedEditRoute', - factory: $FeedEditRouteExtension._fromState, + factory: _$FeedEditRoute._fromState, ), ], ); -extension $FeedListRouteExtension on FeedListRoute { +mixin _$FeedListRoute on GoRouteData { static FeedListRoute _fromState(GoRouterState state) => FeedListRoute(); + @override String get location => GoRouteData.$location('/feeds'); + @override void go(BuildContext context) => context.go(location); + @override Future push(BuildContext context) => context.push(location); + @override void pushReplacement(BuildContext context) => context.pushReplacement(location); + @override void replace(BuildContext context) => context.replace(location); } -extension $FeedAddRouteExtension on FeedAddRoute { +mixin _$FeedAddRoute on GoRouteData { static FeedAddRoute _fromState(GoRouterState state) => FeedAddRoute($extra: state.extra as Uri?); + FeedAddRoute get _self => this as FeedAddRoute; + + @override String get location => GoRouteData.$location('/feeds/add'); - void go(BuildContext context) => context.go(location, extra: $extra); + @override + void go(BuildContext context) => context.go(location, extra: _self.$extra); + @override Future push(BuildContext context) => - context.push(location, extra: $extra); + context.push(location, extra: _self.$extra); + @override void pushReplacement(BuildContext context) => - context.pushReplacement(location, extra: $extra); + context.pushReplacement(location, extra: _self.$extra); + @override void replace(BuildContext context) => - context.replace(location, extra: $extra); + context.replace(location, extra: _self.$extra); } -extension $FeedArticleListRouteExtension on FeedArticleListRoute { +mixin _$FeedArticleListRoute on GoRouteData { static FeedArticleListRoute _fromState(GoRouterState state) => FeedArticleListRoute(feedId: Uri.parse(state.pathParameters['feedId']!)!); + FeedArticleListRoute get _self => this as FeedArticleListRoute; + + @override String get location => GoRouteData.$location( - '/feeds/articles/${Uri.encodeComponent(feedId.toString())}', + '/feeds/articles/${Uri.encodeComponent(_self.feedId.toString())}', ); + @override void go(BuildContext context) => context.go(location); + @override Future push(BuildContext context) => context.push(location); + @override void pushReplacement(BuildContext context) => context.pushReplacement(location); + @override void replace(BuildContext context) => context.replace(location); } -extension $FeedArticleRouteExtension on FeedArticleRoute { +mixin _$FeedArticleRoute on GoRouteData { static FeedArticleRoute _fromState(GoRouterState state) => FeedArticleRoute(articleId: state.pathParameters['articleId']!); - String get location => - GoRouteData.$location('/feeds/article/${Uri.encodeComponent(articleId)}'); + FeedArticleRoute get _self => this as FeedArticleRoute; + @override + String get location => GoRouteData.$location( + '/feeds/article/${Uri.encodeComponent(_self.articleId)}', + ); + + @override void go(BuildContext context) => context.go(location); + @override Future push(BuildContext context) => context.push(location); + @override void pushReplacement(BuildContext context) => context.pushReplacement(location); + @override void replace(BuildContext context) => context.replace(location); } -extension $FeedCreateRouteExtension on FeedCreateRoute { +mixin _$FeedCreateRoute on GoRouteData { static FeedCreateRoute _fromState(GoRouterState state) => FeedCreateRoute(feedId: Uri.parse(state.pathParameters['feedId']!)!); + FeedCreateRoute get _self => this as FeedCreateRoute; + + @override String get location => GoRouteData.$location( - '/feeds/create/${Uri.encodeComponent(feedId.toString())}', + '/feeds/create/${Uri.encodeComponent(_self.feedId.toString())}', ); + @override void go(BuildContext context) => context.go(location); + @override Future push(BuildContext context) => context.push(location); + @override void pushReplacement(BuildContext context) => context.pushReplacement(location); + @override void replace(BuildContext context) => context.replace(location); } -extension $SelectFeedDialogRouteExtension on SelectFeedDialogRoute { +mixin _$SelectFeedDialogRoute on GoRouteData { static SelectFeedDialogRoute _fromState(GoRouterState state) => SelectFeedDialogRoute(feedsJson: state.pathParameters['feedsJson']!); + SelectFeedDialogRoute get _self => this as SelectFeedDialogRoute; + + @override String get location => GoRouteData.$location( - '/feeds/available/${Uri.encodeComponent(feedsJson)}', + '/feeds/available/${Uri.encodeComponent(_self.feedsJson)}', ); + @override void go(BuildContext context) => context.go(location); + @override Future push(BuildContext context) => context.push(location); + @override void pushReplacement(BuildContext context) => context.pushReplacement(location); + @override void replace(BuildContext context) => context.replace(location); } -extension $FeedEditRouteExtension on FeedEditRoute { +mixin _$FeedEditRoute on GoRouteData { static FeedEditRoute _fromState(GoRouterState state) => FeedEditRoute(feedId: Uri.parse(state.pathParameters['feedId']!)!); + FeedEditRoute get _self => this as FeedEditRoute; + + @override String get location => GoRouteData.$location( - '/feeds/edit/${Uri.encodeComponent(feedId.toString())}', + '/feeds/edit/${Uri.encodeComponent(_self.feedId.toString())}', ); + @override void go(BuildContext context) => context.go(location); + @override Future push(BuildContext context) => context.push(location); + @override void pushReplacement(BuildContext context) => context.pushReplacement(location); + @override void replace(BuildContext context) => context.replace(location); } diff --git a/app/lib/core/routing/routes.settings.dart b/app/lib/core/routing/routes.settings.dart index f910db79..db98116f 100644 --- a/app/lib/core/routing/routes.settings.dart +++ b/app/lib/core/routing/routes.settings.dart @@ -27,42 +27,44 @@ part of 'routes.dart'; ), ], ) -class SettingsRoute extends GoRouteData { +class SettingsRoute extends GoRouteData with _$SettingsRoute { @override Widget build(BuildContext context, GoRouterState state) { return const SettingsScreen(); } } -class GeneralSettingsRoute extends GoRouteData { +class GeneralSettingsRoute extends GoRouteData with _$GeneralSettingsRoute { @override Widget build(BuildContext context, GoRouterState state) { return const GeneralSettingsScreen(); } } -class BangSettingsRoute extends GoRouteData { +class BangSettingsRoute extends GoRouteData with _$BangSettingsRoute { @override Widget build(BuildContext context, GoRouterState state) { return const BangSettingsScreen(); } } -class WebEngineSettingsRoute extends GoRouteData { +class WebEngineSettingsRoute extends GoRouteData with _$WebEngineSettingsRoute { @override Widget build(BuildContext context, GoRouterState state) { return const WebEngineSettingsScreen(); } } -class WebEngineHardeningRoute extends GoRouteData { +class WebEngineHardeningRoute extends GoRouteData + with _$WebEngineHardeningRoute { @override Widget build(BuildContext context, GoRouterState state) { return const WebEngineHardeningScreen(); } } -class WebEngineHardeningGroupRoute extends GoRouteData { +class WebEngineHardeningGroupRoute extends GoRouteData + with _$WebEngineHardeningGroupRoute { final String group; const WebEngineHardeningGroupRoute({required this.group}); diff --git a/app/pubspec.yaml b/app/pubspec.yaml index 6d80a3ab..18e5b4e8 100644 --- a/app/pubspec.yaml +++ b/app/pubspec.yaml @@ -28,7 +28,7 @@ dependencies: flutter_secure_storage: ^10.0.0-beta.4 flutter_slidable: ^4.0.0 flutter_svg: ^2.1.0 - go_router: ^15.1.2 + go_router: ^15.1.3 google_fonts: ^6.2.1 home_widget: ^0.8.0 hooks_riverpod: ^2.6.1 @@ -92,7 +92,7 @@ dev_dependencies: drift_dev: ^2.26.1 fast_equatable_lint: ^0.3.2 flutter_launcher_icons: ^0.14.3 - go_router_builder: ^2.9.0 + go_router_builder: ^3.0.0 json_serializable: ^6.9.5 lint: ^2.8.0 riverpod_generator: ^2.6.5