fixed bookmarks routing issue

This commit is contained in:
Fabian Freund
2026-02-07 07:56:56 +01:00
parent 6afbe32753
commit 42a10fc9c9
2 changed files with 91 additions and 59 deletions
+32 -19
View File
@@ -19,10 +19,39 @@
*/ */
part of 'routes.dart'; part of 'routes.dart';
@TypedGoRoute<BookmarkListRoute>( @TypedGoRoute<BookmarksRoute>(
name: 'BookmarkListRoute', name: 'BookmarksRoute',
path: '/bookmarks/:entryGuid', path: '/bookmarks',
routes: [
TypedGoRoute<BookmarkListRoute>(
name: 'BookmarkListRoute',
path: 'list/:entryGuid',
),
TypedGoRoute<BookmarkFolderAddRoute>(
name: 'BookmarkFolderAddRoute',
path: 'createFolder',
),
TypedGoRoute<BookmarkFolderEditRoute>(
name: 'BookmarkFolderEditRoute',
path: 'editFolder',
),
TypedGoRoute<BookmarkEntryAddRoute>(
name: 'BookmarkEntryAddRoute',
path: 'createEntry',
),
TypedGoRoute<BookmarkEntryEditRoute>(
name: 'BookmarkEntryEditRoute',
path: 'editEntry',
),
],
) )
class BookmarksRoute extends GoRouteData with $BookmarksRoute {
@override
Widget build(BuildContext context, GoRouterState state) {
return const SizedBox.shrink();
}
}
class BookmarkListRoute extends GoRouteData with $BookmarkListRoute { class BookmarkListRoute extends GoRouteData with $BookmarkListRoute {
final String entryGuid; final String entryGuid;
@@ -34,10 +63,6 @@ class BookmarkListRoute extends GoRouteData with $BookmarkListRoute {
} }
} }
@TypedGoRoute<BookmarkFolderAddRoute>(
name: 'BookmarkFolderAddRoute',
path: '/bookmarks/createFolder',
)
class BookmarkFolderAddRoute extends GoRouteData with $BookmarkFolderAddRoute { class BookmarkFolderAddRoute extends GoRouteData with $BookmarkFolderAddRoute {
final String? parentGuid; final String? parentGuid;
@@ -49,10 +74,6 @@ class BookmarkFolderAddRoute extends GoRouteData with $BookmarkFolderAddRoute {
} }
} }
@TypedGoRoute<BookmarkFolderEditRoute>(
name: 'BookmarkFolderEditRoute',
path: '/bookmarks/editFolder',
)
class BookmarkFolderEditRoute extends GoRouteData class BookmarkFolderEditRoute extends GoRouteData
with $BookmarkFolderEditRoute { with $BookmarkFolderEditRoute {
final String folder; final String folder;
@@ -69,10 +90,6 @@ class BookmarkFolderEditRoute extends GoRouteData
} }
} }
@TypedGoRoute<BookmarkEntryAddRoute>(
name: 'BookmarkEntryAddRoute',
path: '/bookmarks/createEntry',
)
class BookmarkEntryAddRoute extends GoRouteData with $BookmarkEntryAddRoute { class BookmarkEntryAddRoute extends GoRouteData with $BookmarkEntryAddRoute {
final String bookmarkInfo; final String bookmarkInfo;
@@ -87,10 +104,6 @@ class BookmarkEntryAddRoute extends GoRouteData with $BookmarkEntryAddRoute {
} }
} }
@TypedGoRoute<BookmarkEntryEditRoute>(
name: 'BookmarkEntryEditRoute',
path: '/bookmarks/editEntry',
)
class BookmarkEntryEditRoute extends GoRouteData with $BookmarkEntryEditRoute { class BookmarkEntryEditRoute extends GoRouteData with $BookmarkEntryEditRoute {
final String bookmarkEntry; final String bookmarkEntry;
+59 -40
View File
@@ -10,11 +10,7 @@ List<RouteBase> get $appRoutes => [
$aboutRoute, $aboutRoute,
$onboardingRoute, $onboardingRoute,
$bangMenuRoute, $bangMenuRoute,
$bookmarkListRoute, $bookmarksRoute,
$bookmarkFolderAddRoute,
$bookmarkFolderEditRoute,
$bookmarkEntryAddRoute,
$bookmarkEntryEditRoute,
$browserRoute, $browserRoute,
$feedListRoute, $feedListRoute,
$historyRoute, $historyRoute,
@@ -321,22 +317,44 @@ mixin $BangSubCategoryRoute on GoRouteData {
void replace(BuildContext context) => context.replace(location); void replace(BuildContext context) => context.replace(location);
} }
RouteBase get $bookmarkListRoute => GoRouteData.$route( RouteBase get $bookmarksRoute => GoRouteData.$route(
path: '/bookmarks/:entryGuid', path: '/bookmarks',
name: 'BookmarkListRoute', name: 'BookmarksRoute',
factory: $BookmarkListRoute._fromState, factory: $BookmarksRoute._fromState,
routes: [
GoRouteData.$route(
path: 'list/:entryGuid',
name: 'BookmarkListRoute',
factory: $BookmarkListRoute._fromState,
),
GoRouteData.$route(
path: 'createFolder',
name: 'BookmarkFolderAddRoute',
factory: $BookmarkFolderAddRoute._fromState,
),
GoRouteData.$route(
path: 'editFolder',
name: 'BookmarkFolderEditRoute',
factory: $BookmarkFolderEditRoute._fromState,
),
GoRouteData.$route(
path: 'createEntry',
name: 'BookmarkEntryAddRoute',
factory: $BookmarkEntryAddRoute._fromState,
),
GoRouteData.$route(
path: 'editEntry',
name: 'BookmarkEntryEditRoute',
factory: $BookmarkEntryEditRoute._fromState,
),
],
); );
mixin $BookmarkListRoute on GoRouteData { mixin $BookmarksRoute on GoRouteData {
static BookmarkListRoute _fromState(GoRouterState state) => static BookmarksRoute _fromState(GoRouterState state) => BookmarksRoute();
BookmarkListRoute(entryGuid: state.pathParameters['entryGuid']!);
BookmarkListRoute get _self => this as BookmarkListRoute;
@override @override
String get location => GoRouteData.$location( String get location => GoRouteData.$location('/bookmarks');
'/bookmarks/${Uri.encodeComponent(_self.entryGuid)}',
);
@override @override
void go(BuildContext context) => context.go(location); void go(BuildContext context) => context.go(location);
@@ -352,11 +370,30 @@ mixin $BookmarkListRoute on GoRouteData {
void replace(BuildContext context) => context.replace(location); void replace(BuildContext context) => context.replace(location);
} }
RouteBase get $bookmarkFolderAddRoute => GoRouteData.$route( mixin $BookmarkListRoute on GoRouteData {
path: '/bookmarks/createFolder', static BookmarkListRoute _fromState(GoRouterState state) =>
name: 'BookmarkFolderAddRoute', BookmarkListRoute(entryGuid: state.pathParameters['entryGuid']!);
factory: $BookmarkFolderAddRoute._fromState,
); BookmarkListRoute get _self => this as BookmarkListRoute;
@override
String get location => GoRouteData.$location(
'/bookmarks/list/${Uri.encodeComponent(_self.entryGuid)}',
);
@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 $BookmarkFolderAddRoute on GoRouteData { mixin $BookmarkFolderAddRoute on GoRouteData {
static BookmarkFolderAddRoute _fromState(GoRouterState state) => static BookmarkFolderAddRoute _fromState(GoRouterState state) =>
@@ -388,12 +425,6 @@ mixin $BookmarkFolderAddRoute on GoRouteData {
void replace(BuildContext context) => context.replace(location); void replace(BuildContext context) => context.replace(location);
} }
RouteBase get $bookmarkFolderEditRoute => GoRouteData.$route(
path: '/bookmarks/editFolder',
name: 'BookmarkFolderEditRoute',
factory: $BookmarkFolderEditRoute._fromState,
);
mixin $BookmarkFolderEditRoute on GoRouteData { mixin $BookmarkFolderEditRoute on GoRouteData {
static BookmarkFolderEditRoute _fromState(GoRouterState state) => static BookmarkFolderEditRoute _fromState(GoRouterState state) =>
BookmarkFolderEditRoute(folder: state.uri.queryParameters['folder']!); BookmarkFolderEditRoute(folder: state.uri.queryParameters['folder']!);
@@ -420,12 +451,6 @@ mixin $BookmarkFolderEditRoute on GoRouteData {
void replace(BuildContext context) => context.replace(location); void replace(BuildContext context) => context.replace(location);
} }
RouteBase get $bookmarkEntryAddRoute => GoRouteData.$route(
path: '/bookmarks/createEntry',
name: 'BookmarkEntryAddRoute',
factory: $BookmarkEntryAddRoute._fromState,
);
mixin $BookmarkEntryAddRoute on GoRouteData { mixin $BookmarkEntryAddRoute on GoRouteData {
static BookmarkEntryAddRoute _fromState(GoRouterState state) => static BookmarkEntryAddRoute _fromState(GoRouterState state) =>
BookmarkEntryAddRoute( BookmarkEntryAddRoute(
@@ -454,12 +479,6 @@ mixin $BookmarkEntryAddRoute on GoRouteData {
void replace(BuildContext context) => context.replace(location); void replace(BuildContext context) => context.replace(location);
} }
RouteBase get $bookmarkEntryEditRoute => GoRouteData.$route(
path: '/bookmarks/editEntry',
name: 'BookmarkEntryEditRoute',
factory: $BookmarkEntryEditRoute._fromState,
);
mixin $BookmarkEntryEditRoute on GoRouteData { mixin $BookmarkEntryEditRoute on GoRouteData {
static BookmarkEntryEditRoute _fromState(GoRouterState state) => static BookmarkEntryEditRoute _fromState(GoRouterState state) =>
BookmarkEntryEditRoute( BookmarkEntryEditRoute(