refactor: app metadata

This commit is contained in:
shenlong-tanwen
2026-04-24 19:23:21 +05:30
parent 8cff5883b5
commit cc56f86333
33 changed files with 14221 additions and 85 deletions
@@ -0,0 +1,32 @@
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:immich_mobile/domain/models/config/app_config.dart';
import 'package:immich_mobile/domain/models/config/system_config.dart';
import 'package:immich_mobile/domain/models/metadata/system_metadata.dart';
import 'package:immich_mobile/domain/models/metadata_kind.dart';
import 'package:immich_mobile/infrastructure/repositories/cached_metadata.repository.dart';
final metadataProvider = Provider.autoDispose<CachedMetadataRepository>((_) => CachedMetadataRepository.instance);
final appConfigProvider = Provider.autoDispose<AppConfig>((ref) {
final subscription = ref.watch(metadataProvider).watch(MetadataKind.appConfig).listen((event) {
ref.state = event;
});
ref.onDispose(subscription.cancel);
return ref.watch(metadataProvider).read(MetadataKind.appConfig);
});
final systemConfigProvider = Provider.autoDispose<SystemConfig>((ref) {
final subscription = ref.watch(metadataProvider).watch(MetadataKind.systemConfig).listen((event) {
ref.state = event;
});
ref.onDispose(subscription.cancel);
return ref.watch(metadataProvider).read(MetadataKind.systemConfig);
});
final systemMetadataProvider = Provider.autoDispose<SystemMetadata>((ref) {
final subscription = ref.watch(metadataProvider).watch(MetadataKind.systemMetadata).listen((event) {
ref.state = event;
});
ref.onDispose(subscription.cancel);
return ref.watch(metadataProvider).read(MetadataKind.systemMetadata);
});