39 lines
1.2 KiB
Dart
39 lines
1.2 KiB
Dart
import 'package:shared_preferences/shared_preferences.dart';
|
|
|
|
import '../models/produit.dart';
|
|
|
|
/// Petits réglages persistés (préférences utilisateur) pour accélérer la saisie.
|
|
class Reglages {
|
|
Reglages._();
|
|
static final Reglages instance = Reglages._();
|
|
|
|
static const _cleDerniereUnite = 'derniere_unite';
|
|
static const _cleServeur = 'serveur_url';
|
|
|
|
/// Adresse par défaut du serveur PocketBase (le Raspberry Pi du magasin).
|
|
static const serveurParDefaut = 'http://192.168.1.32:8090';
|
|
|
|
SharedPreferences? _prefs;
|
|
|
|
Future<SharedPreferences> get _p async =>
|
|
_prefs ??= await SharedPreferences.getInstance();
|
|
|
|
/// Adresse du serveur PocketBase (modifiable dans les réglages).
|
|
Future<String> serveurUrl() async =>
|
|
(await _p).getString(_cleServeur) ?? serveurParDefaut;
|
|
|
|
Future<void> setServeurUrl(String url) async =>
|
|
(await _p).setString(_cleServeur, url.trim());
|
|
|
|
/// Dernière unité choisie lors d'un ajout (pour la re-proposer par défaut).
|
|
Future<String> derniereUnite() async {
|
|
final p = await _p;
|
|
return p.getString(_cleDerniereUnite) ?? Unites.g;
|
|
}
|
|
|
|
Future<void> memoriserUnite(String unite) async {
|
|
final p = await _p;
|
|
await p.setString(_cleDerniereUnite, unite);
|
|
}
|
|
}
|