mirror of
https://github.com/immich-app/immich.git
synced 2025-12-12 07:41:02 -08:00
refactor: remove user prop from provider
This commit is contained in:
@@ -236,7 +236,7 @@ class _AssetDetailBottomSheet extends ConsumerWidget {
|
|||||||
final lensTitle = exifInfo?.lens != null && exifInfo!.lens!.isNotEmpty ? exifInfo.lens : null;
|
final lensTitle = exifInfo?.lens != null && exifInfo!.lens!.isNotEmpty ? exifInfo.lens : null;
|
||||||
final isOwner = ref.watch(currentUserProvider)?.id == (asset is RemoteAsset ? asset.ownerId : null);
|
final isOwner = ref.watch(currentUserProvider)?.id == (asset is RemoteAsset ? asset.ownerId : null);
|
||||||
final isRatingEnabled = ref
|
final isRatingEnabled = ref
|
||||||
.watch(userMetadataPreferencesProvider(ref.watch(currentUserProvider)?.id ?? ''))
|
.watch(userMetadataPreferencesProvider)
|
||||||
.maybeWhen(data: (prefs) => prefs?.ratingsEnabled ?? false, orElse: () => false);
|
.maybeWhen(data: (prefs) => prefs?.ratingsEnabled ?? false, orElse: () => false);
|
||||||
|
|
||||||
// Build file info tile based on asset type
|
// Build file info tile based on asset type
|
||||||
|
|||||||
@@ -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/domain/models/user_metadata.model.dart';
|
||||||
import 'package:immich_mobile/infrastructure/repositories/user_metadata.repository.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/infrastructure/db.provider.dart';
|
||||||
|
import 'package:immich_mobile/providers/user.provider.dart';
|
||||||
|
|
||||||
final userMetadataRepository = Provider<DriftUserMetadataRepository>(
|
final userMetadataRepository = Provider<DriftUserMetadataRepository>(
|
||||||
(ref) => DriftUserMetadataRepository(ref.watch(driftProvider)),
|
(ref) => DriftUserMetadataRepository(ref.watch(driftProvider)),
|
||||||
);
|
);
|
||||||
|
|
||||||
final userMetadataProvider = FutureProvider.family<List<UserMetadata>, String>((ref, String userId) async {
|
final userMetadataProvider = FutureProvider<List<UserMetadata>>((ref) async {
|
||||||
final repository = ref.watch(userMetadataRepository);
|
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<Preferences?, String>((ref, String userId) async {
|
final userMetadataPreferencesProvider = FutureProvider<Preferences?>((ref) async {
|
||||||
final metadataList = await ref.watch(userMetadataProvider(userId).future);
|
final metadataList = await ref.watch(userMetadataProvider.future);
|
||||||
final metadataWithPrefs = metadataList.firstWhere((meta) => meta.preferences != null);
|
final metadataWithPrefs = metadataList.firstWhere((meta) => meta.preferences != null);
|
||||||
return metadataWithPrefs.preferences;
|
return metadataWithPrefs.preferences;
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user