Files
BudgetApp/lib/services/settings_service.dart
T
2025-06-27 18:42:02 +03:00

35 lines
1.0 KiB
Dart

import 'package:flutter/material.dart';
import 'package:hive_ce/hive.dart';
class SettingsService extends ChangeNotifier {
static const String _darkModeKey = 'darkMode';
static const String _languageCodeKey = 'languageCode'; // Новый ключ для языка
late final Box _settingsBox;
SettingsService() {
_settingsBox = Hive.box('settings');
}
bool get isDarkMode => _settingsBox.get(_darkModeKey, defaultValue: false);
Future<void> setDarkMode(bool value) async {
await _settingsBox.put(_darkModeKey, value);
notifyListeners();
}
Future<void> toggleTheme() async {
await setDarkMode(!isDarkMode);
}
// Новый геттер для получения кода языка
String get languageCode => _settingsBox.get(_languageCodeKey, defaultValue: 'ru');
// Новый метод для установки кода языка
Future<void> setLanguageCode(String code) async {
await _settingsBox.put(_languageCodeKey, code);
notifyListeners();
}
}