Add main color
This commit is contained in:
31
lib/providers/color_provider.dart
Normal file
31
lib/providers/color_provider.dart
Normal file
@ -0,0 +1,31 @@
|
||||
// providers/color_provider.dart
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:shared_preferences/shared_preferences.dart';
|
||||
|
||||
class ColorProvider extends ChangeNotifier {
|
||||
Color _accentColor = Colors.blue.shade600;
|
||||
|
||||
Color get accentColor => _accentColor;
|
||||
|
||||
ColorProvider() {
|
||||
_loadAccentColor();
|
||||
}
|
||||
|
||||
void _loadAccentColor() async {
|
||||
final prefs = await SharedPreferences.getInstance();
|
||||
final int? colorValue = prefs.getInt('customAccentColor');
|
||||
if (colorValue != null) {
|
||||
_accentColor = Color(colorValue);
|
||||
}
|
||||
notifyListeners();
|
||||
}
|
||||
|
||||
void setAccentColor(Color color) async {
|
||||
if (_accentColor != color) {
|
||||
_accentColor = color;
|
||||
notifyListeners();
|
||||
final prefs = await SharedPreferences.getInstance();
|
||||
await prefs.setInt('customAccentColor', color.value);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1,3 +1,4 @@
|
||||
// providers/local_provider.dart
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:shared_preferences/shared_preferences.dart';
|
||||
|
||||
@ -6,12 +7,10 @@ class LocaleProvider extends ChangeNotifier {
|
||||
|
||||
Locale? get locale => _locale;
|
||||
|
||||
|
||||
LocaleProvider() {
|
||||
_loadLocale();
|
||||
}
|
||||
|
||||
|
||||
void _loadLocale() async {
|
||||
final prefs = await SharedPreferences.getInstance();
|
||||
final languageCode = prefs.getString('languageCode');
|
||||
@ -25,14 +24,12 @@ class LocaleProvider extends ChangeNotifier {
|
||||
notifyListeners();
|
||||
}
|
||||
|
||||
|
||||
void setLocale(Locale newLocale) async {
|
||||
if (_locale == newLocale) return;
|
||||
|
||||
_locale = newLocale;
|
||||
notifyListeners();
|
||||
|
||||
|
||||
final prefs = await SharedPreferences.getInstance();
|
||||
await prefs.setString('languageCode', newLocale.languageCode);
|
||||
if (newLocale.countryCode != null) {
|
||||
@ -42,7 +39,6 @@ class LocaleProvider extends ChangeNotifier {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void clearLocale() async {
|
||||
_locale = null;
|
||||
notifyListeners();
|
||||
|
||||
@ -1,3 +1,4 @@
|
||||
// providers/theme_provider.dart
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:shared_preferences/shared_preferences.dart';
|
||||
|
||||
|
||||
Reference in New Issue
Block a user