feat(mobile): init of add quick action configurator and settings for viewer actions

This commit is contained in:
idubnori
2025-11-05 21:34:40 +09:00
parent 79d0e3e1ed
commit eb7813047b
12 changed files with 674 additions and 21 deletions

View File

@@ -1,6 +1,7 @@
import 'package:immich_mobile/constants/colors.dart';
import 'package:immich_mobile/domain/models/store.model.dart';
import 'package:immich_mobile/entities/store.entity.dart';
import 'package:immich_mobile/utils/action_button.utils.dart';
enum AppSettingsEnum<T> {
loadPreview<bool>(StoreKey.loadPreview, "loadPreview", true),
@@ -71,4 +72,20 @@ class AppSettingsService {
Future<void> setSetting<T>(AppSettingsEnum<T> setting, T value) {
return Store.put(setting.storeKey, value);
}
List<ActionButtonType> getViewerQuickActionOrder() {
final stored = Store.get(StoreKey.viewerQuickActionOrder, ActionButtonBuilder.defaultQuickActionOrderStorageValue);
return ActionButtonBuilder.parseQuickActionOrder(stored);
}
Stream<List<ActionButtonType>> watchViewerQuickActionOrder() {
return Store.watch(StoreKey.viewerQuickActionOrder).map(
(value) =>
ActionButtonBuilder.parseQuickActionOrder(value ?? ActionButtonBuilder.defaultQuickActionOrderStorageValue),
);
}
Future<void> setViewerQuickActionOrder(List<ActionButtonType> order) {
return Store.put(StoreKey.viewerQuickActionOrder, ActionButtonBuilder.encodeQuickActionOrder(order));
}
}