feat: Allow empty document titles, fix saved view routes not being accessible

This commit is contained in:
Anton Stubenbord
2023-10-10 16:28:10 +02:00
parent 2e32f0c015
commit 7b9c31a010
19 changed files with 278 additions and 300 deletions

View File

@@ -3,34 +3,28 @@ import 'package:go_router/go_router.dart';
import 'package:paperless_api/paperless_api.dart';
import 'package:paperless_mobile/features/saved_view/view/add_saved_view_page.dart';
import 'package:paperless_mobile/features/saved_view/view/edit_saved_view_page.dart';
import 'package:paperless_mobile/routes/routes.dart';
part 'saved_views_route.g.dart';
@TypedGoRoute<SavedViewsRoute>(
path: "/saved-views",
routes: [
TypedGoRoute<CreateSavedViewRoute>(
path: "create",
name: R.createSavedView,
),
TypedGoRoute<EditSavedViewRoute>(
path: "edit",
name: R.editSavedView,
),
],
)
class SavedViewsRoute extends GoRouteData {
const SavedViewsRoute();
}
class CreateSavedViewRoute extends GoRouteData {
final DocumentFilter? $extra;
const CreateSavedViewRoute(this.$extra);
final bool? showOnDashboard;
final bool? showInSidebar;
const CreateSavedViewRoute({
this.$extra = const DocumentFilter(),
this.showOnDashboard,
this.showInSidebar,
});
@override
Widget build(BuildContext context, GoRouterState state) {
return AddSavedViewPage(initialFilter: $extra);
return AddSavedViewPage(
initialFilter: $extra,
showInSidebar: showInSidebar,
showOnDashboard: showOnDashboard,
);
}
}

View File

@@ -19,6 +19,7 @@ import 'package:paperless_mobile/routes/typed/branches/documents_route.dart';
import 'package:paperless_mobile/routes/typed/branches/inbox_route.dart';
import 'package:paperless_mobile/routes/typed/branches/labels_route.dart';
import 'package:paperless_mobile/routes/typed/branches/landing_route.dart';
import 'package:paperless_mobile/routes/typed/branches/saved_views_route.dart';
import 'package:paperless_mobile/routes/typed/branches/scanner_route.dart';
import 'package:paperless_mobile/routes/typed/branches/upload_queue_route.dart';
import 'package:paperless_mobile/routes/typed/shells/scaffold_shell_route.dart';
@@ -29,7 +30,7 @@ import 'package:provider/provider.dart';
part 'authenticated_route.g.dart';
@TypedShellRoute<ProviderShellRoute>(
@TypedShellRoute<AuthenticatedRoute>(
routes: [
TypedGoRoute<SettingsRoute>(
path: "/settings",
@@ -39,6 +40,19 @@ part 'authenticated_route.g.dart';
path: "/upload-queue",
name: R.uploadQueue,
),
TypedGoRoute<SavedViewsRoute>(
path: "/saved-views",
routes: [
TypedGoRoute<CreateSavedViewRoute>(
path: "create",
name: R.createSavedView,
),
TypedGoRoute<EditSavedViewRoute>(
path: "edit",
name: R.editSavedView,
),
],
),
TypedStatefulShellRoute<ScaffoldShellRoute>(
branches: [
TypedStatefulShellBranch<LandingBranch>(
@@ -122,10 +136,10 @@ part 'authenticated_route.g.dart';
),
],
)
class ProviderShellRoute extends ShellRouteData {
class AuthenticatedRoute extends ShellRouteData {
static final GlobalKey<NavigatorState> $navigatorKey = outerShellNavigatorKey;
const ProviderShellRoute();
const AuthenticatedRoute();
@override
Widget builder(