checkpoint
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
import 'package:shared_preferences/shared_preferences.dart';
|
||||
import '../api/types.dart';
|
||||
import '../api/client.dart';
|
||||
import '../api/openapi_config.dart';
|
||||
@@ -125,15 +126,24 @@ final allDeliveriesProvider = FutureProvider<List<Delivery>>((ref) async {
|
||||
return allDeliveries;
|
||||
});
|
||||
|
||||
// Language notifier for state management
|
||||
class LanguageNotifier extends Notifier<String> {
|
||||
@override
|
||||
String build() => 'system';
|
||||
// Language notifier for state management with SharedPreferences persistence
|
||||
class LanguageNotifier extends AsyncNotifier<String> {
|
||||
static const String _languageKey = 'app_language';
|
||||
|
||||
void setLanguage(String lang) => state = lang;
|
||||
@override
|
||||
Future<String> build() async {
|
||||
final prefs = await SharedPreferences.getInstance();
|
||||
return prefs.getString(_languageKey) ?? 'system';
|
||||
}
|
||||
|
||||
Future<void> setLanguage(String lang) async {
|
||||
final prefs = await SharedPreferences.getInstance();
|
||||
await prefs.setString(_languageKey, lang);
|
||||
state = AsyncValue.data(lang);
|
||||
}
|
||||
}
|
||||
|
||||
final languageProvider = NotifierProvider<LanguageNotifier, String>(() {
|
||||
final languageProvider = AsyncNotifierProvider<LanguageNotifier, String>(() {
|
||||
return LanguageNotifier();
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user