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

View File

@@ -0,0 +1,36 @@
import 'package:auto_route/auto_route.dart';
import 'package:flutter/material.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:immich_mobile/domain/models/person.model.dart';
import 'package:immich_mobile/presentation/widgets/timeline/timeline.widget.dart';
import 'package:immich_mobile/providers/infrastructure/timeline.provider.dart';
import 'package:immich_mobile/widgets/common/mesmerizing_sliver_app_bar.dart';
@RoutePage()
class DriftPersonDetailPage extends StatelessWidget {
final Person person;
const DriftPersonDetailPage({super.key, required this.person});
@override
Widget build(BuildContext context) {
return ProviderScope(
overrides: [
timelineServiceProvider.overrideWith(
(ref) {
final timelineService =
ref.watch(timelineFactoryProvider).person(person.id);
ref.onDispose(timelineService.dispose);
return timelineService;
},
),
],
child: Timeline(
appBar: MesmerizingSliverAppBar(
title: person.name,
icon: Icons.person_outline,
),
),
);
}
}