File tree Expand file tree Collapse file tree 2 files changed +16
-10
lines changed Expand file tree Collapse file tree 2 files changed +16
-10
lines changed Original file line number Diff line number Diff line change @@ -24,6 +24,16 @@ class DriftMemoryPage extends HookConsumerWidget {
2424
2525 const DriftMemoryPage ({required this .memories, required this .memoryIndex, super .key});
2626
27+ static void setMemory (WidgetRef ref, DriftMemory memory) {
28+ if (memory.assets.isNotEmpty) {
29+ ref.read (currentAssetNotifier.notifier).setAsset (memory.assets.first);
30+
31+ if (memory.assets.first.isVideo) {
32+ ref.read (videoPlaybackValueProvider.notifier).reset ();
33+ }
34+ }
35+ }
36+
2737 @override
2838 Widget build (BuildContext context, WidgetRef ref) {
2939 final currentMemory = useState (memories[memoryIndex]);
@@ -202,6 +212,10 @@ class DriftMemoryPage extends HookConsumerWidget {
202212 if (pageNumber < memories.length) {
203213 currentMemoryIndex.value = pageNumber;
204214 currentMemory.value = memories[pageNumber];
215+
216+ WidgetsBinding .instance.addPostFrameCallback ((_) {
217+ DriftMemoryPage .setMemory (ref, memories[pageNumber]);
218+ });
205219 }
206220
207221 currentAssetPage.value = 0 ;
Original file line number Diff line number Diff line change @@ -3,10 +3,9 @@ import 'package:flutter/material.dart';
33import 'package:hooks_riverpod/hooks_riverpod.dart' ;
44import 'package:immich_mobile/domain/models/memory.model.dart' ;
55import 'package:immich_mobile/extensions/translate_extensions.dart' ;
6+ import 'package:immich_mobile/presentation/pages/drift_memory.page.dart' ;
67import 'package:immich_mobile/presentation/widgets/images/thumbnail.widget.dart' ;
7- import 'package:immich_mobile/providers/asset_viewer/video_player_value_provider.dart' ;
88import 'package:immich_mobile/providers/haptic_feedback.provider.dart' ;
9- import 'package:immich_mobile/providers/infrastructure/asset_viewer/current_asset.provider.dart' ;
109import 'package:immich_mobile/providers/infrastructure/memory.provider.dart' ;
1110import 'package:immich_mobile/routing/router.dart' ;
1211
@@ -31,16 +30,9 @@ class DriftMemoryLane extends ConsumerWidget {
3130 overlayColor: WidgetStateProperty .all (Colors .white.withValues (alpha: 0.1 )),
3231 onTap: (index) {
3332 ref.read (hapticFeedbackProvider.notifier).heavyImpact ();
34-
3533 if (memories[index].assets.isNotEmpty) {
36- final asset = memories[index].assets[0 ];
37- ref.read (currentAssetNotifier.notifier).setAsset (asset);
38-
39- if (asset.isVideo) {
40- ref.read (videoPlaybackValueProvider.notifier).reset ();
41- }
34+ DriftMemoryPage .setMemory (ref, memories[index]);
4235 }
43-
4436 context.pushRoute (DriftMemoryRoute (memories: memories, memoryIndex: index));
4537 },
4638 children: memories
You can’t perform that action at this time.
0 commit comments