mirror of
https://github.com/immich-app/immich.git
synced 2026-06-12 19:11:52 -07:00
chore: use totalAssets from service
This commit is contained in:
@@ -1,5 +1,9 @@
|
||||
import 'dart:async';
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:hooks_riverpod/hooks_riverpod.dart';
|
||||
import 'package:immich_mobile/domain/models/events.model.dart';
|
||||
import 'package:immich_mobile/domain/utils/event_stream.dart';
|
||||
import 'package:immich_mobile/extensions/build_context_extensions.dart';
|
||||
import 'package:immich_mobile/generated/translations.g.dart';
|
||||
import 'package:immich_mobile/presentation/widgets/bottom_sheet/base_bottom_sheet.widget.dart';
|
||||
@@ -29,11 +33,6 @@ class MapBottomSheet extends StatelessWidget {
|
||||
}
|
||||
}
|
||||
|
||||
final _mapAssetCountProvider = StreamProvider.autoDispose<int>((ref) {
|
||||
final service = ref.watch(timelineServiceProvider);
|
||||
return service.watchBuckets().map((buckets) => buckets.fold(0, (acc, b) => acc + b.assetCount));
|
||||
}, dependencies: [timelineServiceProvider]);
|
||||
|
||||
class _ScopedMapTimeline extends StatelessWidget {
|
||||
const _ScopedMapTimeline();
|
||||
|
||||
@@ -64,12 +63,31 @@ class _ScopedMapTimeline extends StatelessWidget {
|
||||
}
|
||||
}
|
||||
|
||||
class _MapTimelineContent extends ConsumerWidget {
|
||||
class _MapTimelineContent extends ConsumerStatefulWidget {
|
||||
const _MapTimelineContent();
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context, WidgetRef ref) {
|
||||
final count = ref.watch(_mapAssetCountProvider).valueOrNull ?? 0;
|
||||
ConsumerState<_MapTimelineContent> createState() => _MapTimelineContentState();
|
||||
}
|
||||
|
||||
class _MapTimelineContentState extends ConsumerState<_MapTimelineContent> {
|
||||
StreamSubscription? _reloadSubscription;
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
_reloadSubscription = EventStream.shared.listen<TimelineReloadEvent>((_) => setState(() {}));
|
||||
}
|
||||
|
||||
@override
|
||||
void dispose() {
|
||||
_reloadSubscription?.cancel();
|
||||
super.dispose();
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final count = ref.watch(timelineServiceProvider.select((s) => s.totalAssets));
|
||||
return Column(
|
||||
children: [
|
||||
Text(context.t.map_assets_in_bounds(count: count), style: context.themeData.textTheme.headlineSmall),
|
||||
|
||||
Reference in New Issue
Block a user