etm-powersync-app/lib/providers/navigation_provider.dart
pakutz79 c19c9d1a98 feat: navigation drawer, EMS setup, scheduler, tarifs, paramètres app
- Drawer custom (overlay Stack) avec mode installateur PIN SHA-256
- GoRouter + ShellRoute : navigation préservée entre onglets
- 6 providers : NavigationProvider, InstallerModeProvider, AppSettingsProvider,
  EnergySetupProvider, SchedulerProvider, TariffProvider
- Écrans Energy Manager : RoleConfigFlow (3 étapes), Scheduler, Tarifs, Timeline
- Écrans Paramètres : Apparence, Écrans actifs, AppSettingsScreen
- DrawerMenuButton présent dans les 5 AppBars principaux
- Simulation : _thingClasses générées avec interfaces EMS pour filtrage des rôles
- Compteur solaire : ajout smartmeter aux interfaces compatibles
- Thème ETM (etm_theme.dart), ProLockBadge, widgets PowerBar/RoleCard/TimelineSlotCard
- Dépendances : go_router, shared_preferences, crypto, url_launcher

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-24 14:52:32 +01:00

24 lines
532 B
Dart

import 'package:flutter/foundation.dart';
/// Gère uniquement l'état ouvert/fermé du drawer.
/// La navigation entre onglets est gérée directement par GoRouter dans MainShell.
class NavigationProvider extends ChangeNotifier {
bool _isDrawerOpen = false;
bool get isDrawerOpen => _isDrawerOpen;
void openDrawer() {
if (!_isDrawerOpen) {
_isDrawerOpen = true;
notifyListeners();
}
}
void closeDrawer() {
if (_isDrawerOpen) {
_isDrawerOpen = false;
notifyListeners();
}
}
}