chore: Lots of bug fixes and navigation improvements

This commit is contained in:
PartyDonut 2025-09-01 20:21:36 +02:00
parent 9bb5e81812
commit 92d5391b93
35 changed files with 513 additions and 455 deletions

View file

@ -1,5 +1,3 @@
import 'package:flutter/foundation.dart';
import 'package:auto_route/auto_route.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
@ -21,14 +19,7 @@ class AutoRouter extends RootStackRouter {
List<AutoRouteGuard> get guards => [...super.guards, AuthGuard(ref: ref)];
@override
RouteType get defaultRouteType => kIsWeb ||
{
TargetPlatform.windows,
TargetPlatform.linux,
TargetPlatform.macOS,
}.contains(defaultTargetPlatform)
? const RouteType.cupertino()
: const RouteType.adaptive();
RouteType get defaultRouteType => const RouteType.adaptive();
@override
List<AutoRoute> get routes => [
@ -40,26 +31,43 @@ class AutoRouter extends RootStackRouter {
_homeRoute.copyWith(
children: [
...homeRoutes,
AutoRoute(page: DetailsRoute.page, path: 'details', usesPathAsKey: true),
AutoRoute(page: LibrarySearchRoute.page, path: 'library', usesPathAsKey: true),
CustomRoute(
...detailsRoutes,
AutoRoute(
page: SettingsRoute.page,
path: settingsPageRoute,
children: _settingsChildren,
transitionsBuilder: TransitionsBuilders.fadeIn,
),
],
),
AutoRoute(page: LockRoute.page, path: '/locked'),
AutoRoute(page: PhotoViewerRoute.page, path: "/album"),
];
}
final AutoRoute _homeRoute = AutoRoute(page: HomeRoute.page, path: '/');
final List<AutoRoute> homeRoutes = [
_dashboardRoute,
_favouritesRoute,
_syncedRoute,
_librariesRoute,
AutoRoute(
page: DashboardRoute.page,
initial: true,
path: 'dashboard',
),
AutoRoute(
page: FavouritesRoute.page,
path: 'favourites',
),
AutoRoute(
page: SyncedRoute.page,
path: 'synced',
),
AutoRoute(
page: LibraryRoute.page,
path: 'libraries',
),
];
final List<AutoRoute> detailsRoutes = [
AutoRoute(page: DetailsRoute.page, path: 'details'),
AutoRoute(page: PhotoViewerRoute.page, path: "album"),
AutoRoute(page: LibrarySearchRoute.page, path: 'library'),
];
final List<AutoRoute> _defaultRoutes = [
@ -67,40 +75,12 @@ final List<AutoRoute> _defaultRoutes = [
AutoRoute(page: LoginRoute.page, path: '/login'),
];
final AutoRoute _homeRoute = AutoRoute(page: HomeRoute.page, path: '/');
final AutoRoute _dashboardRoute = CustomRoute(
page: DashboardRoute.page,
transitionsBuilder: TransitionsBuilders.fadeIn,
initial: true,
maintainState: false,
path: 'dashboard',
);
final AutoRoute _favouritesRoute = CustomRoute(
page: FavouritesRoute.page,
transitionsBuilder: TransitionsBuilders.fadeIn,
maintainState: false,
path: 'favourites',
);
final AutoRoute _syncedRoute = CustomRoute(
page: SyncedRoute.page,
transitionsBuilder: TransitionsBuilders.fadeIn,
maintainState: false,
path: 'synced',
);
final AutoRoute _librariesRoute = CustomRoute(
page: LibraryRoute.page,
transitionsBuilder: TransitionsBuilders.fadeIn,
maintainState: false,
path: 'libraries',
);
final List<AutoRoute> _settingsChildren = [
CustomRoute(page: SettingsSelectionRoute.page, transitionsBuilder: TransitionsBuilders.fadeIn, path: 'list'),
CustomRoute(page: ClientSettingsRoute.page, transitionsBuilder: TransitionsBuilders.fadeIn, path: 'client'),
CustomRoute(page: SecuritySettingsRoute.page, transitionsBuilder: TransitionsBuilders.fadeIn, path: 'security'),
CustomRoute(page: PlayerSettingsRoute.page, transitionsBuilder: TransitionsBuilders.fadeIn, path: 'player'),
CustomRoute(page: AboutSettingsRoute.page, transitionsBuilder: TransitionsBuilders.fadeIn, path: 'about'),
AutoRoute(page: SettingsSelectionRoute.page, path: 'list'),
AutoRoute(page: ClientSettingsRoute.page, path: 'client'),
AutoRoute(page: SecuritySettingsRoute.page, path: 'security'),
AutoRoute(page: PlayerSettingsRoute.page, path: 'player'),
AutoRoute(page: AboutSettingsRoute.page, path: 'about'),
];
class LockScreenGuard extends AutoRouteGuard {