Skip to content

Commit 107b2a9

Browse files
committed
implemented container site assignements & improved routing
1 parent da232bf commit 107b2a9

File tree

45 files changed

+1104
-264
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+1104
-264
lines changed

app/lib/core/providers/router.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,6 @@ Future<GoRouter> router(Ref ref) async {
4949
return GoRouter(
5050
debugLogDiagnostics: true,
5151
routes: $appRoutes,
52-
initialLocation: initialLocation,
52+
initialLocation: initialLocation ?? BrowserRoute().location,
5353
);
5454
}

app/lib/core/providers/router.g.dart

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

app/lib/core/routing/routes.browser.dart

Lines changed: 20 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ part of 'routes.dart';
2121

2222
@TypedGoRoute<BrowserRoute>(
2323
name: BrowserRoute.name,
24-
path: '/',
24+
path: '/browser',
2525
routes: [
2626
TypedGoRoute<SearchRoute>(
2727
name: 'SearchRoute',
@@ -44,11 +44,11 @@ part of 'routes.dart';
4444
routes: [
4545
TypedGoRoute<ContainerCreateRoute>(
4646
name: 'ContainerCreateRoute',
47-
path: 'create',
47+
path: 'create/:containerData',
4848
),
4949
TypedGoRoute<ContainerEditRoute>(
5050
name: 'ContainerEditRoute',
51-
path: 'edit',
51+
path: 'edit/:containerData',
5252
),
5353
],
5454
),
@@ -135,37 +135,45 @@ class ContainerSelectionRoute extends GoRouteData
135135
}
136136

137137
class ContainerEditRoute extends GoRouteData with $ContainerEditRoute {
138-
final ContainerDataWithCount $extra;
138+
final String containerData;
139139

140-
ContainerEditRoute(this.$extra);
140+
ContainerEditRoute({required this.containerData});
141141

142142
@override
143143
Widget build(BuildContext context, GoRouterState state) {
144-
return ContainerEditScreen.edit(initialContainer: $extra);
144+
return ContainerEditScreen.edit(
145+
initialContainer: ContainerData.fromJson(
146+
jsonDecode(containerData) as Map<String, dynamic>,
147+
),
148+
);
145149
}
146150
}
147151

148152
class ContainerCreateRoute extends GoRouteData with $ContainerCreateRoute {
149-
final ContainerData $extra;
153+
final String containerData;
150154

151-
ContainerCreateRoute(this.$extra);
155+
ContainerCreateRoute({required this.containerData});
152156

153157
@override
154158
Widget build(BuildContext context, GoRouterState state) {
155-
return ContainerEditScreen.create(initialContainer: $extra);
159+
return ContainerEditScreen.create(
160+
initialContainer: ContainerData.fromJson(
161+
jsonDecode(containerData) as Map<String, dynamic>,
162+
),
163+
);
156164
}
157165
}
158166

159167
class ContextMenuRoute extends GoRouteData with $ContextMenuRoute {
160-
final String $extra;
168+
final String hitResult;
161169

162-
const ContextMenuRoute(this.$extra);
170+
const ContextMenuRoute({required this.hitResult});
163171

164172
@override
165173
Page<void> buildPage(BuildContext context, GoRouterState state) {
166174
return DialogPage(
167175
builder: (_) =>
168-
ContextMenuDialog(hitResult: HitResultJson.fromJson($extra)),
176+
ContextMenuDialog(hitResult: HitResultJson.fromJson(hitResult)),
169177
);
170178
}
171179
}

app/lib/core/routing/routes.dart

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import 'dart:convert';
2121

2222
import 'package:flutter/material.dart';
2323
import 'package:go_router/go_router.dart';
24+
import 'package:nullability/nullability.dart';
2425
import 'package:weblibre/core/routing/widgets/dialog_page.dart';
2526
import 'package:weblibre/features/about/presentation/screens/about.dart';
2627
import 'package:weblibre/features/bangs/presentation/screens/categories.dart';
@@ -39,6 +40,7 @@ import 'package:weblibre/features/geckoview/features/tabs/presentation/screens/c
3940
import 'package:weblibre/features/geckoview/features/tabs/presentation/screens/container_edit.dart';
4041
import 'package:weblibre/features/geckoview/features/tabs/presentation/screens/container_list.dart';
4142
import 'package:weblibre/features/geckoview/features/tabs/presentation/screens/container_selection.dart';
43+
import 'package:weblibre/features/geckoview/features/tabs/presentation/screens/container_sites.dart';
4244
import 'package:weblibre/features/onboarding/presentation/onboarding.dart';
4345
import 'package:weblibre/features/settings/presentation/screens/addon_collection.dart';
4446
import 'package:weblibre/features/settings/presentation/screens/bang_settings.dart';

app/lib/core/routing/routes.feeds.dart

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -90,15 +90,18 @@ class FeedEditRoute extends GoRouteData with $FeedEditRoute {
9090
}
9191

9292
class FeedAddRoute extends GoRouteData with $FeedAddRoute {
93-
final Uri? $extra;
93+
final String? uri;
9494

9595
static const name = 'FeedAddRoute';
9696

97-
const FeedAddRoute({this.$extra});
97+
const FeedAddRoute({required this.uri});
9898

9999
@override
100100
Page<void> buildPage(BuildContext context, GoRouterState state) {
101-
return DialogPage(builder: (_) => AddFeedDialog(initialUri: $extra));
101+
return DialogPage(
102+
builder: (_) =>
103+
AddFeedDialog(initialUri: uri.mapNotNull((uri) => Uri.tryParse(uri))),
104+
);
102105
}
103106
}
104107

app/lib/core/routing/routes.g.dart

Lines changed: 49 additions & 45 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)