feat(frontend): dashboard KPI complet avec navigation drawer

- DashboardProvider + DashboardService (GET /api/dashboard)
- Modèle DashboardKpi (Ventes, Achats, Production, Stock)
- DashboardScreen : grilles KpiCard, alertes stock, pull-to-refresh
- KpiCard widget réutilisable (icône, couleur, valeur, sous-titre)
- AppDrawer : navigation complète avec surbrillance route active
- Placeholders pour modules Article/Ventes/Achats/Production/Stock
- Rapport PFE : section 5.5 Dashboard (architecture, KPIs, UI)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-20 20:20:15 +01:00
co-authored by Claude Sonnet 4.6
parent c1dabb486d
commit 601a7d0373
8 changed files with 709 additions and 12 deletions
@@ -0,0 +1,27 @@
import 'package:flutter/material.dart';
import '../models/dashboard_kpi.dart';
import '../services/dashboard_service.dart';
class DashboardProvider extends ChangeNotifier {
DashboardKpi? _kpi;
bool _isLoading = false;
String? _error;
DashboardKpi? get kpi => _kpi;
bool get isLoading => _isLoading;
String? get error => _error;
Future<void> load() async {
_isLoading = true;
_error = null;
notifyListeners();
try {
_kpi = await DashboardService.fetchKpis();
} catch (_) {
_error = 'Impossible de charger les données. Vérifiez la connexion.';
} finally {
_isLoading = false;
notifyListeners();
}
}
}