refactor to per row store

This commit is contained in:
shenlong-tanwen
2026-04-29 00:43:52 +07:00
parent cc56f86333
commit 5933664862
22 changed files with 338 additions and 266 deletions
@@ -1,10 +1,9 @@
import 'package:flutter/material.dart';
import 'package:flutter_hooks/flutter_hooks.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:immich_mobile/domain/models/metadata_kind.dart';
import 'package:immich_mobile/domain/models/metadata_key.dart';
import 'package:immich_mobile/extensions/build_context_extensions.dart';
import 'package:immich_mobile/extensions/translate_extensions.dart';
import 'package:immich_mobile/infrastructure/repositories/cached_metadata.repository.dart';
import 'package:immich_mobile/providers/infrastructure/metadata.provider.dart';
import 'package:immich_mobile/providers/theme.provider.dart';
import 'package:immich_mobile/services/app_settings.service.dart';
@@ -38,7 +37,7 @@ class ThemeSetting extends HookConsumerWidget {
ref.watch(immichThemeModeProvider.notifier).state = ThemeMode.light;
currentTheme.value = ThemeMode.light;
}
ref.read(metadataProvider).setAppConfig((config) => config.copyWith(themeMode: currentTheme.value));
ref.read(metadataProvider).write(MetadataKey.themeMode, currentTheme.value);
}
void onSystemThemeChange(bool isSystem) {
@@ -58,9 +57,7 @@ class ThemeSetting extends HookConsumerWidget {
ref.watch(immichThemeModeProvider.notifier).state = ThemeMode.dark;
}
}
ref
.read(metadataProvider)
.update(MetadataKind.appConfig, (appConfig) => appConfig.copyWith(themeMode: currentTheme.value));
ref.read(metadataProvider).write(MetadataKey.themeMode, currentTheme.value);
}
void onSurfaceColorSettingChange(bool useColorfulInterface) {