1
0
mirror of https://github.com/immich-app/immich.git synced 2025-08-07 23:03:36 +02:00

feat(mobile): drift place page (#19914)

* feat(mobile): drift place page

* merge main

* feat(mobile): drift place detail page (#19915)

---------

Co-authored-by: Alex <alex.tran1502@gmail.com>
This commit is contained in:
Daimolean
2025-07-15 23:10:12 +08:00
committed by GitHub
parent 59e7754bdc
commit ba262fbaa8
13 changed files with 453 additions and 15 deletions

View File

@ -72,6 +72,8 @@ import 'package:immich_mobile/pages/share_intent/share_intent.page.dart';
import 'package:immich_mobile/presentation/pages/drift_favorite.page.dart';
import 'package:immich_mobile/presentation/pages/drift_partner_detail.page.dart';
import 'package:immich_mobile/presentation/pages/drift_local_album.page.dart';
import 'package:immich_mobile/presentation/pages/drift_place.page.dart';
import 'package:immich_mobile/presentation/pages/drift_place_detail.page.dart';
import 'package:immich_mobile/presentation/pages/drift_recently_taken.page.dart';
import 'package:immich_mobile/presentation/pages/drift_video.page.dart';
import 'package:immich_mobile/presentation/pages/drift_trash.page.dart';
@ -453,7 +455,14 @@ class AppRouter extends RootStackRouter {
page: DriftCreateAlbumRoute.page,
guards: [_authGuard, _duplicateGuard],
),
AutoRoute(
page: DriftPlaceRoute.page,
guards: [_authGuard, _duplicateGuard],
),
AutoRoute(
page: DriftPlaceDetailRoute.page,
guards: [_authGuard, _duplicateGuard],
),
// required to handle all deeplinks in deep_link.service.dart
// auto_route_library#1722
RedirectRoute(path: '*', redirectTo: '/'),

View File

@ -853,6 +853,85 @@ class DriftPartnerDetailRouteArgs {
}
}
/// generated route for
/// [DriftPlaceDetailPage]
class DriftPlaceDetailRoute extends PageRouteInfo<DriftPlaceDetailRouteArgs> {
DriftPlaceDetailRoute({
Key? key,
required String place,
List<PageRouteInfo>? children,
}) : super(
DriftPlaceDetailRoute.name,
args: DriftPlaceDetailRouteArgs(key: key, place: place),
initialChildren: children,
);
static const String name = 'DriftPlaceDetailRoute';
static PageInfo page = PageInfo(
name,
builder: (data) {
final args = data.argsAs<DriftPlaceDetailRouteArgs>();
return DriftPlaceDetailPage(key: args.key, place: args.place);
},
);
}
class DriftPlaceDetailRouteArgs {
const DriftPlaceDetailRouteArgs({this.key, required this.place});
final Key? key;
final String place;
@override
String toString() {
return 'DriftPlaceDetailRouteArgs{key: $key, place: $place}';
}
}
/// generated route for
/// [DriftPlacePage]
class DriftPlaceRoute extends PageRouteInfo<DriftPlaceRouteArgs> {
DriftPlaceRoute({
Key? key,
LatLng? currentLocation,
List<PageRouteInfo>? children,
}) : super(
DriftPlaceRoute.name,
args: DriftPlaceRouteArgs(key: key, currentLocation: currentLocation),
initialChildren: children,
);
static const String name = 'DriftPlaceRoute';
static PageInfo page = PageInfo(
name,
builder: (data) {
final args = data.argsAs<DriftPlaceRouteArgs>(
orElse: () => const DriftPlaceRouteArgs(),
);
return DriftPlacePage(
key: args.key,
currentLocation: args.currentLocation,
);
},
);
}
class DriftPlaceRouteArgs {
const DriftPlaceRouteArgs({this.key, this.currentLocation});
final Key? key;
final LatLng? currentLocation;
@override
String toString() {
return 'DriftPlaceRouteArgs{key: $key, currentLocation: $currentLocation}';
}
}
/// generated route for
/// [DriftRecentlyTakenPage]
class DriftRecentlyTakenRoute extends PageRouteInfo<void> {