Adds todayProvider to memory lane
This commit is contained in:
@@ -2,9 +2,26 @@ import 'package:hooks_riverpod/hooks_riverpod.dart';
|
||||
import 'package:immich_mobile/modules/memories/models/memory.dart';
|
||||
import 'package:immich_mobile/modules/memories/services/memory.service.dart';
|
||||
|
||||
/// A notifier to be used with the Memory Lane service. Sets the date, and
|
||||
/// will update the date to now on app resume so that the memory provider
|
||||
/// can update accordingly
|
||||
class TodayNotifier extends StateNotifier<DateTime> {
|
||||
TodayNotifier() : super(DateTime.now());
|
||||
|
||||
/// Sets the time to now to refresh today
|
||||
void update() {
|
||||
state = DateTime.now();
|
||||
}
|
||||
}
|
||||
|
||||
final todayProvider = StateNotifierProvider<TodayNotifier, DateTime>((ref) {
|
||||
return TodayNotifier();
|
||||
});
|
||||
|
||||
final memoryFutureProvider =
|
||||
FutureProvider.autoDispose<List<Memory>?>((ref) async {
|
||||
final service = ref.watch(memoryServiceProvider);
|
||||
final today = ref.watch(todayProvider);
|
||||
|
||||
return await service.getMemoryLane();
|
||||
return await service.getMemoryLane(now: today);
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user