checkpoint

This commit is contained in:
2025-11-26 17:41:37 -05:00
parent ef5c0c1a95
commit 2ecd1c5b4e
15 changed files with 794 additions and 152 deletions
+16 -6
View File
@@ -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();
});