Files
umbrix/lib/core/theme/theme_preferences.dart
Umbrix Developer 76a374950f feat: mobile-like window size and always-visible stats
- Changed window size to mobile phone format (400x800)
- Removed width condition for ActiveProxyFooter - now always visible
- Added run-umbrix.sh launch script with icon copying
- Stats cards now display on all screen sizes
2026-01-17 13:09:20 +03:00

22 lines
784 B
Dart

import 'package:umbrix/core/preferences/preferences_provider.dart';
import 'package:umbrix/core/theme/app_theme_mode.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';
part 'theme_preferences.g.dart';
@Riverpod(keepAlive: true)
class ThemePreferences extends _$ThemePreferences {
@override
AppThemeMode build() {
final persisted = ref.watch(sharedPreferencesProvider).requireValue.getString("theme_mode");
// UMBRIX: Темная тема по умолчанию
if (persisted == null) return AppThemeMode.dark;
return AppThemeMode.values.byName(persisted);
}
Future<void> changeThemeMode(AppThemeMode value) async {
state = value;
await ref.read(sharedPreferencesProvider).requireValue.setString("theme_mode", value.name);
}
}