1
0
mirror of https://github.com/immich-app/immich.git synced 2025-06-30 05:29:30 +02:00

feat(mobile): Adds onboarding for permissions (#1865)

* adds onboarding

* fixed error where login was taking you to permission page

* fixed a bad rebase and added more checks to not start backup service on login if no gallery permission

* forgot the permission handler import in AppDelegate

* reverts album selection page

* change to ref watch

* added device_info_plus to podspec

* removed unused import

---------

Co-authored-by: Marty Fuhry <marty@fuhry.farm>
This commit is contained in:
martyfuhry
2023-02-28 11:22:18 -05:00
committed by GitHub
parent df1710f4cc
commit 12217bde8a
21 changed files with 510 additions and 55 deletions

View File

@ -15,13 +15,16 @@ part of 'router.dart';
class _$AppRouter extends RootStackRouter {
_$AppRouter({
GlobalKey<NavigatorState>? navigatorKey,
required this.duplicateGuard,
required this.authGuard,
required this.duplicateGuard,
required this.galleryPermissionGuard,
}) : super(navigatorKey);
final AuthGuard authGuard;
final DuplicateGuard duplicateGuard;
final AuthGuard authGuard;
final GalleryPermissionGuard galleryPermissionGuard;
@override
final Map<String, PageFactory> pagesMap = {
@ -31,6 +34,12 @@ class _$AppRouter extends RootStackRouter {
child: const SplashScreenPage(),
);
},
PermissionOnboardingRoute.name: (routeData) {
return MaterialPageX<dynamic>(
routeData: routeData,
child: const PermissionOnboardingPage(),
);
},
LoginRoute.name: (routeData) {
return MaterialPageX<dynamic>(
routeData: routeData,
@ -225,6 +234,14 @@ class _$AppRouter extends RootStackRouter {
SplashScreenRoute.name,
path: '/',
),
RouteConfig(
PermissionOnboardingRoute.name,
path: '/permission-onboarding-page',
guards: [
authGuard,
duplicateGuard,
],
),
RouteConfig(
LoginRoute.name,
path: '/login-page',
@ -240,6 +257,7 @@ class _$AppRouter extends RootStackRouter {
guards: [
authGuard,
duplicateGuard,
galleryPermissionGuard,
],
children: [
RouteConfig(
@ -286,6 +304,7 @@ class _$AppRouter extends RootStackRouter {
guards: [
authGuard,
duplicateGuard,
galleryPermissionGuard,
],
),
RouteConfig(
@ -411,6 +430,18 @@ class SplashScreenRoute extends PageRouteInfo<void> {
static const String name = 'SplashScreenRoute';
}
/// generated route for
/// [PermissionOnboardingPage]
class PermissionOnboardingRoute extends PageRouteInfo<void> {
const PermissionOnboardingRoute()
: super(
PermissionOnboardingRoute.name,
path: '/permission-onboarding-page',
);
static const String name = 'PermissionOnboardingRoute';
}
/// generated route for
/// [LoginPage]
class LoginRoute extends PageRouteInfo<void> {