refactor(mobile): app settings (#7749)

* refactor(mobile): app settings

* Font size

* refactor(mobile): backup settings ui (#7771)

* refactor: SettingsButtonListTile

* refactor: Backup settings to App settings

---------

Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>

* fix: invalidate appsettingsprovider on timeline setting change

* styling

---------

Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
This commit is contained in:
shenlong
2024-03-12 14:56:08 +00:00
committed by GitHub
parent 4733de25af
commit 7489db9481
38 changed files with 1389 additions and 1265 deletions

View File

@@ -31,6 +31,7 @@ import 'package:immich_mobile/modules/login/views/change_password_page.dart';
import 'package:immich_mobile/modules/login/views/login_page.dart';
import 'package:immich_mobile/modules/onboarding/providers/gallery_permission.provider.dart';
import 'package:immich_mobile/modules/onboarding/views/permission_onboarding_page.dart';
import 'package:immich_mobile/modules/settings/views/settings_sub_page.dart';
import 'package:immich_mobile/modules/shared_link/models/shared_link.dart';
import 'package:immich_mobile/modules/shared_link/views/shared_link_edit_page.dart';
import 'package:immich_mobile/modules/shared_link/views/shared_link_page.dart';
@@ -179,6 +180,7 @@ class AppRouter extends _$AppRouter {
transitionsBuilder: TransitionsBuilders.slideBottom,
),
AutoRoute(page: SettingsRoute.page, guards: [_duplicateGuard]),
AutoRoute(page: SettingsSubRoute.page, guards: [_duplicateGuard]),
AutoRoute(page: AppLogRoute.page, guards: [_duplicateGuard]),
AutoRoute(page: AppLogDetailRoute.page, guards: [_duplicateGuard]),
AutoRoute(page: ArchiveRoute.page, guards: [_authGuard, _duplicateGuard]),

View File

@@ -299,6 +299,16 @@ abstract class _$AppRouter extends RootStackRouter {
child: const SettingsPage(),
);
},
SettingsSubRoute.name: (routeData) {
final args = routeData.argsAs<SettingsSubRouteArgs>();
return AutoRoutePage<dynamic>(
routeData: routeData,
child: SettingsSubPage(
args.section,
key: args.key,
),
);
},
SharedLinkEditRoute.name: (routeData) {
final args = routeData.argsAs<SharedLinkEditRouteArgs>(
orElse: () => const SharedLinkEditRouteArgs());
@@ -1260,6 +1270,44 @@ class SettingsRoute extends PageRouteInfo<void> {
static const PageInfo<void> page = PageInfo<void>(name);
}
/// generated route for
/// [SettingsSubPage]
class SettingsSubRoute extends PageRouteInfo<SettingsSubRouteArgs> {
SettingsSubRoute({
required SettingSection section,
Key? key,
List<PageRouteInfo>? children,
}) : super(
SettingsSubRoute.name,
args: SettingsSubRouteArgs(
section: section,
key: key,
),
initialChildren: children,
);
static const String name = 'SettingsSubRoute';
static const PageInfo<SettingsSubRouteArgs> page =
PageInfo<SettingsSubRouteArgs>(name);
}
class SettingsSubRouteArgs {
const SettingsSubRouteArgs({
required this.section,
this.key,
});
final SettingSection section;
final Key? key;
@override
String toString() {
return 'SettingsSubRouteArgs{section: $section, key: $key}';
}
}
/// generated route for
/// [SharedLinkEditPage]
class SharedLinkEditRoute extends PageRouteInfo<SharedLinkEditRouteArgs> {