first commit

This commit is contained in:
2025-03-03 20:59:42 +03:00
commit 273e68557a
1099 changed files with 17880 additions and 0 deletions

View File

@@ -0,0 +1,48 @@
// Flutter imports:
import 'package:flutter/material.dart' show ThemeMode;
import 'package:remever/common/resources.dart';
import 'package:remever/common/storage.dart';
import 'package:remever/components/extensions/theme_mode.dart';
import 'package:remever/interfaces/warmup_service.dart';
import 'core_service.dart';
///
/// Сервис для работы с темой приложения
///
class ThemeService extends CoreService implements IWarmupService {
@override
Future<void> init() async {
final ThemeMode? theme = hiveTheme.get(StorageKeys.themeKey);
if (theme == null) {
await hiveTheme.put(StorageKeys.themeKey, ThemeMode.light);
}
}
///
/// Получение текущего значения для темы
///
/// По-умолчанию - светлый
///
ThemeMode get themeMode {
return hiveTheme.get(StorageKeys.themeKey, defaultValue: ThemeMode.light)!;
}
///
/// Обновление темы приложения
///
/// [oldThemeMode] должно быть текущее значение темы. Автоматически будет
/// вызван метод {inversed}
///
Future<void> update(ThemeMode oldThemeMode) async {
return updateInversed(oldThemeMode.inversed);
}
///
/// Обновление темы приложения
///
Future<void> updateInversed(ThemeMode themeMode) async {
return hiveTheme.put(StorageKeys.themeKey, themeMode);
}
}