feat(mobile): drift person detail page

This commit is contained in:
wuzihao051119
2025-07-22 18:07:07 +08:00
parent ac44f6d1e0
commit f58db3be88
5 changed files with 154 additions and 1 deletions
+6 -1
View File
@@ -6,6 +6,7 @@ import 'package:immich_mobile/domain/models/album/local_album.model.dart';
import 'package:immich_mobile/domain/models/asset/base_asset.model.dart';
import 'package:immich_mobile/domain/models/log.model.dart';
import 'package:immich_mobile/domain/models/memory.model.dart';
import 'package:immich_mobile/domain/models/person.model.dart';
import 'package:immich_mobile/domain/models/user.model.dart';
import 'package:immich_mobile/domain/services/timeline.service.dart';
import 'package:immich_mobile/entities/album.entity.dart';
@@ -95,6 +96,7 @@ import 'package:immich_mobile/presentation/pages/drift_user_selection.page.dart'
import 'package:immich_mobile/presentation/pages/drift_remote_album.page.dart';
import 'package:immich_mobile/presentation/pages/drift_trash.page.dart';
import 'package:immich_mobile/presentation/pages/drift_video.page.dart';
import 'package:immich_mobile/presentation/pages/drift_person_detail.dart';
import 'package:immich_mobile/presentation/pages/local_timeline.page.dart';
import 'package:immich_mobile/presentation/pages/search/drift_search.page.dart';
import 'package:immich_mobile/presentation/widgets/asset_viewer/asset_viewer.page.dart';
@@ -486,7 +488,6 @@ class AppRouter extends RootStackRouter {
page: ChangeExperienceRoute.page,
guards: [_authGuard, _duplicateGuard],
),
AutoRoute(
page: DriftPartnerRoute.page,
guards: [_authGuard, _duplicateGuard],
@@ -499,6 +500,10 @@ class AppRouter extends RootStackRouter {
page: BetaSyncSettingsRoute.page,
guards: [_authGuard, _duplicateGuard],
),
AutoRoute(
page: DriftPersonDetailRoute.page,
guards: [_authGuard, _duplicateGuard],
),
// required to handle all deeplinks in deep_link.service.dart
// auto_route_library#1722
RedirectRoute(path: '*', redirectTo: '/'),
+37
View File
@@ -960,6 +960,43 @@ class DriftPartnerRoute extends PageRouteInfo<void> {
);
}
/// generated route for
/// [DriftPersonDetailPage]
class DriftPersonDetailRoute extends PageRouteInfo<DriftPersonDetailRouteArgs> {
DriftPersonDetailRoute({
Key? key,
required Person person,
List<PageRouteInfo>? children,
}) : super(
DriftPersonDetailRoute.name,
args: DriftPersonDetailRouteArgs(key: key, person: person),
initialChildren: children,
);
static const String name = 'DriftPersonDetailRoute';
static PageInfo page = PageInfo(
name,
builder: (data) {
final args = data.argsAs<DriftPersonDetailRouteArgs>();
return DriftPersonDetailPage(key: args.key, person: args.person);
},
);
}
class DriftPersonDetailRouteArgs {
const DriftPersonDetailRouteArgs({this.key, required this.person});
final Key? key;
final Person person;
@override
String toString() {
return 'DriftPersonDetailRouteArgs{key: $key, person: $person}';
}
}
/// generated route for
/// [DriftPlaceDetailPage]
class DriftPlaceDetailRoute extends PageRouteInfo<DriftPlaceDetailRouteArgs> {