mirror of
https://github.com/immich-app/immich.git
synced 2025-07-09 03:04:16 -04:00
feat(mobile): drift partner detail page (#19815)
* feat(mobile): drift partner detail page * fix: lint
This commit is contained in:
parent
172388c455
commit
e703685d8d
@ -0,0 +1,29 @@
|
||||
import 'package:auto_route/auto_route.dart';
|
||||
import 'package:flutter/widgets.dart';
|
||||
import 'package:hooks_riverpod/hooks_riverpod.dart';
|
||||
import 'package:immich_mobile/presentation/widgets/timeline/timeline.widget.dart';
|
||||
import 'package:immich_mobile/providers/infrastructure/timeline.provider.dart';
|
||||
|
||||
@RoutePage()
|
||||
class DriftPartnerDetailPage extends StatelessWidget {
|
||||
final String partnerId;
|
||||
|
||||
const DriftPartnerDetailPage({super.key, required this.partnerId});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return ProviderScope(
|
||||
overrides: [
|
||||
timelineServiceProvider.overrideWith(
|
||||
(ref) {
|
||||
final timelineService =
|
||||
ref.watch(timelineFactoryProvider).remoteAssets(partnerId);
|
||||
ref.onDispose(timelineService.dispose);
|
||||
return timelineService;
|
||||
},
|
||||
),
|
||||
],
|
||||
child: const Timeline(),
|
||||
);
|
||||
}
|
||||
}
|
@ -493,7 +493,8 @@ class _PartnerList extends StatelessWidget {
|
||||
fontWeight: FontWeight.w500,
|
||||
),
|
||||
).t(context: context, args: {'user': partner.name}),
|
||||
onTap: () => context.pushRoute(PartnerDetailRoute(partner: partner)),
|
||||
onTap: () =>
|
||||
context.pushRoute(DriftPartnerDetailRoute(partnerId: partner.id)),
|
||||
);
|
||||
},
|
||||
);
|
||||
|
@ -68,6 +68,7 @@ import 'package:immich_mobile/pages/search/recently_taken.page.dart';
|
||||
import 'package:immich_mobile/pages/search/search.page.dart';
|
||||
import 'package:immich_mobile/pages/share_intent/share_intent.page.dart';
|
||||
import 'package:immich_mobile/presentation/pages/dev/drift_favorite.page.dart';
|
||||
import 'package:immich_mobile/presentation/pages/dev/drift_partner_detail.page.dart';
|
||||
import 'package:immich_mobile/presentation/pages/dev/drift_recently_taken.page.dart';
|
||||
import 'package:immich_mobile/presentation/pages/dev/drift_video.page.dart';
|
||||
import 'package:immich_mobile/presentation/pages/dev/drift_trash.page.dart';
|
||||
@ -429,6 +430,10 @@ class AppRouter extends RootStackRouter {
|
||||
page: DriftAssetSelectionTimelineRoute.page,
|
||||
guards: [_authGuard, _duplicateGuard],
|
||||
),
|
||||
AutoRoute(
|
||||
page: DriftPartnerDetailRoute.page,
|
||||
guards: [_authGuard, _duplicateGuard],
|
||||
),
|
||||
AutoRoute(
|
||||
page: DriftRecentlyTakenRoute.page,
|
||||
guards: [_authGuard, _duplicateGuard],
|
||||
|
@ -783,6 +783,44 @@ class DriftMemoryRouteArgs {
|
||||
}
|
||||
}
|
||||
|
||||
/// generated route for
|
||||
/// [DriftPartnerDetailPage]
|
||||
class DriftPartnerDetailRoute
|
||||
extends PageRouteInfo<DriftPartnerDetailRouteArgs> {
|
||||
DriftPartnerDetailRoute({
|
||||
Key? key,
|
||||
required String partnerId,
|
||||
List<PageRouteInfo>? children,
|
||||
}) : super(
|
||||
DriftPartnerDetailRoute.name,
|
||||
args: DriftPartnerDetailRouteArgs(key: key, partnerId: partnerId),
|
||||
initialChildren: children,
|
||||
);
|
||||
|
||||
static const String name = 'DriftPartnerDetailRoute';
|
||||
|
||||
static PageInfo page = PageInfo(
|
||||
name,
|
||||
builder: (data) {
|
||||
final args = data.argsAs<DriftPartnerDetailRouteArgs>();
|
||||
return DriftPartnerDetailPage(key: args.key, partnerId: args.partnerId);
|
||||
},
|
||||
);
|
||||
}
|
||||
|
||||
class DriftPartnerDetailRouteArgs {
|
||||
const DriftPartnerDetailRouteArgs({this.key, required this.partnerId});
|
||||
|
||||
final Key? key;
|
||||
|
||||
final String partnerId;
|
||||
|
||||
@override
|
||||
String toString() {
|
||||
return 'DriftPartnerDetailRouteArgs{key: $key, partnerId: $partnerId}';
|
||||
}
|
||||
}
|
||||
|
||||
/// generated route for
|
||||
/// [DriftRecentlyTakenPage]
|
||||
class DriftRecentlyTakenRoute extends PageRouteInfo<void> {
|
||||
|
Loading…
x
Reference in New Issue
Block a user