mirror of
https://github.com/gabehf/Fladder.git
synced 2026-03-07 21:48:14 -08:00
feature: Rework responsive layout (#217)
Co-authored-by: PartyDonut <PartyDonut@users.noreply.github.com>
This commit is contained in:
parent
e07f280124
commit
8012fdcea8
48 changed files with 1468 additions and 1040 deletions
|
|
@ -6,17 +6,16 @@ import 'package:flutter_riverpod/flutter_riverpod.dart';
|
|||
import 'package:fladder/providers/user_provider.dart';
|
||||
import 'package:fladder/routes/auto_router.gr.dart';
|
||||
import 'package:fladder/screens/login/lock_screen.dart';
|
||||
import 'package:fladder/util/adaptive_layout.dart';
|
||||
|
||||
const settingsPageRoute = "settings";
|
||||
|
||||
@AutoRouterConfig(replaceInRouteName: 'Screen|Page,Route')
|
||||
class AutoRouter extends RootStackRouter {
|
||||
AutoRouter({
|
||||
required this.layout,
|
||||
required this.ref,
|
||||
});
|
||||
|
||||
final WidgetRef ref;
|
||||
final ScreenLayout layout;
|
||||
|
||||
@override
|
||||
List<AutoRouteGuard> get guards => [...super.guards, AuthGuard(ref: ref)];
|
||||
|
|
@ -27,44 +26,33 @@ class AutoRouter extends RootStackRouter {
|
|||
@override
|
||||
List<AutoRoute> get routes => [
|
||||
..._defaultRoutes,
|
||||
...(layout == ScreenLayout.dual ? desktopRoutes : mobileRoutes),
|
||||
...otherRoutes,
|
||||
];
|
||||
|
||||
final List<AutoRoute> mobileRoutes = [
|
||||
final List<AutoRoute> otherRoutes = [
|
||||
_homeRoute.copyWith(
|
||||
children: [
|
||||
_dashboardRoute,
|
||||
_favouritesRoute,
|
||||
_syncedRoute,
|
||||
],
|
||||
),
|
||||
AutoRoute(page: DetailsRoute.page, path: '/details', usesPathAsKey: true),
|
||||
AutoRoute(page: LibrarySearchRoute.page, path: '/library', usesPathAsKey: true),
|
||||
AutoRoute(page: SettingsRoute.page, path: '/settings'),
|
||||
..._settingsChildren.map(
|
||||
(e) => e.copyWith(path: "/$e", initial: false),
|
||||
),
|
||||
AutoRoute(page: LockRoute.page, path: '/locked'),
|
||||
];
|
||||
final List<AutoRoute> desktopRoutes = [
|
||||
_homeRoute.copyWith(
|
||||
children: [
|
||||
_dashboardRoute,
|
||||
_favouritesRoute,
|
||||
_syncedRoute,
|
||||
...homeRoutes,
|
||||
AutoRoute(page: DetailsRoute.page, path: 'details', usesPathAsKey: true),
|
||||
AutoRoute(page: LibrarySearchRoute.page, path: 'library', usesPathAsKey: true),
|
||||
AutoRoute(
|
||||
CustomRoute(
|
||||
page: SettingsRoute.page,
|
||||
path: 'settings',
|
||||
path: settingsPageRoute,
|
||||
children: _settingsChildren,
|
||||
)
|
||||
transitionsBuilder: TransitionsBuilders.fadeIn,
|
||||
),
|
||||
],
|
||||
),
|
||||
AutoRoute(page: LockRoute.page, path: '/locked'),
|
||||
];
|
||||
}
|
||||
|
||||
final List<AutoRoute> homeRoutes = [
|
||||
_dashboardRoute,
|
||||
_favouritesRoute,
|
||||
_syncedRoute,
|
||||
];
|
||||
|
||||
final List<AutoRoute> _defaultRoutes = [
|
||||
AutoRoute(page: SplashRoute.page, path: '/splash'),
|
||||
AutoRoute(page: LoginRoute.page, path: '/login'),
|
||||
|
|
@ -75,25 +63,25 @@ final AutoRoute _dashboardRoute = CustomRoute(
|
|||
page: DashboardRoute.page,
|
||||
transitionsBuilder: TransitionsBuilders.fadeIn,
|
||||
initial: true,
|
||||
path: 'dashboard',
|
||||
maintainState: false,
|
||||
path: 'dashboard',
|
||||
);
|
||||
final AutoRoute _favouritesRoute = CustomRoute(
|
||||
page: FavouritesRoute.page,
|
||||
transitionsBuilder: TransitionsBuilders.fadeIn,
|
||||
path: 'favourites',
|
||||
maintainState: false,
|
||||
path: 'favourites',
|
||||
);
|
||||
final AutoRoute _syncedRoute = CustomRoute(
|
||||
page: SyncedRoute.page,
|
||||
transitionsBuilder: TransitionsBuilders.fadeIn,
|
||||
path: 'synced',
|
||||
maintainState: false,
|
||||
path: 'synced',
|
||||
);
|
||||
|
||||
final List<AutoRoute> _settingsChildren = [
|
||||
CustomRoute(
|
||||
page: ClientSettingsRoute.page, initial: true, transitionsBuilder: TransitionsBuilders.fadeIn, path: 'client'),
|
||||
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'),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue