From d2cb376f77001689c5c3973d51e3f44bae993814 Mon Sep 17 00:00:00 2001 From: Yaros Date: Thu, 11 Dec 2025 20:40:23 +0100 Subject: [PATCH] refactor: remove user prop from provider --- .../widgets/asset_viewer/bottom_sheet.widget.dart | 2 +- .../infrastructure/user_metadata.provider.dart | 11 +++++++---- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/mobile/lib/presentation/widgets/asset_viewer/bottom_sheet.widget.dart b/mobile/lib/presentation/widgets/asset_viewer/bottom_sheet.widget.dart index 8baadb4498..967496c530 100644 --- a/mobile/lib/presentation/widgets/asset_viewer/bottom_sheet.widget.dart +++ b/mobile/lib/presentation/widgets/asset_viewer/bottom_sheet.widget.dart @@ -236,7 +236,7 @@ class _AssetDetailBottomSheet extends ConsumerWidget { final lensTitle = exifInfo?.lens != null && exifInfo!.lens!.isNotEmpty ? exifInfo.lens : null; final isOwner = ref.watch(currentUserProvider)?.id == (asset is RemoteAsset ? asset.ownerId : null); final isRatingEnabled = ref - .watch(userMetadataPreferencesProvider(ref.watch(currentUserProvider)?.id ?? '')) + .watch(userMetadataPreferencesProvider) .maybeWhen(data: (prefs) => prefs?.ratingsEnabled ?? false, orElse: () => false); // Build file info tile based on asset type diff --git a/mobile/lib/providers/infrastructure/user_metadata.provider.dart b/mobile/lib/providers/infrastructure/user_metadata.provider.dart index 87f82baac5..9a463463f5 100644 --- a/mobile/lib/providers/infrastructure/user_metadata.provider.dart +++ b/mobile/lib/providers/infrastructure/user_metadata.provider.dart @@ -2,18 +2,21 @@ import 'package:hooks_riverpod/hooks_riverpod.dart'; import 'package:immich_mobile/domain/models/user_metadata.model.dart'; import 'package:immich_mobile/infrastructure/repositories/user_metadata.repository.dart'; import 'package:immich_mobile/providers/infrastructure/db.provider.dart'; +import 'package:immich_mobile/providers/user.provider.dart'; final userMetadataRepository = Provider( (ref) => DriftUserMetadataRepository(ref.watch(driftProvider)), ); -final userMetadataProvider = FutureProvider.family, String>((ref, String userId) async { +final userMetadataProvider = FutureProvider>((ref) async { final repository = ref.watch(userMetadataRepository); - return repository.getUserMetadata(userId); + final user = ref.watch(currentUserProvider); + if (user == null) return []; + return repository.getUserMetadata(user.id); }); -final userMetadataPreferencesProvider = FutureProvider.family((ref, String userId) async { - final metadataList = await ref.watch(userMetadataProvider(userId).future); +final userMetadataPreferencesProvider = FutureProvider((ref) async { + final metadataList = await ref.watch(userMetadataProvider.future); final metadataWithPrefs = metadataList.firstWhere((meta) => meta.preferences != null); return metadataWithPrefs.preferences; });