import 'package:flutter/material.dart'; import '../../../../shared/theme/app_theme.dart'; import '../../../../core/animations/page_transitions.dart'; import '../../../demo/presentation/pages/animations_demo_page.dart'; import '../../../debug/debug_api_test_page.dart'; import '../../../performance/presentation/pages/performance_demo_page.dart'; // Imports des nouveaux widgets refactorisés import '../widgets/welcome/welcome_section_widget.dart'; import '../widgets/kpi/kpi_cards_widget.dart'; import '../widgets/actions/quick_actions_widget.dart'; import '../widgets/activities/recent_activities_widget.dart'; import '../widgets/charts/charts_analytics_widget.dart'; // Import de l'architecture unifiée pour amélioration progressive import '../../../../shared/widgets/common/unified_page_layout.dart'; /// Page principale du tableau de bord UnionFlow /// /// Affiche une vue d'ensemble complète de l'association avec : /// - Section d'accueil personnalisée /// - Indicateurs clés de performance (KPI) /// - Actions rapides et gestion /// - Flux d'activités en temps réel /// - Analyses et tendances graphiques /// /// Architecture modulaire avec widgets réutilisables pour une /// maintenabilité optimale et une évolutivité facilitée. class DashboardPage extends StatelessWidget { const DashboardPage({super.key}); @override Widget build(BuildContext context) { // Utilisation de UnifiedPageLayout pour améliorer la cohérence // tout en conservant tous les widgets spécialisés existants return UnifiedPageLayout( title: 'Tableau de bord', icon: Icons.dashboard, actions: [ IconButton( icon: const Icon(Icons.animation), onPressed: () { Navigator.of(context).push( PageTransitions.morphWithBlur(const AnimationsDemoPage()), ); }, tooltip: 'Démonstration des animations', ), IconButton( icon: const Icon(Icons.notifications_outlined), onPressed: () { // TODO: Implémenter la navigation vers les notifications }, ), IconButton( icon: const Icon(Icons.bug_report), onPressed: () { Navigator.of(context).push( PageTransitions.slideFromRight(const DebugApiTestPage()), ); }, tooltip: 'Debug API', ), IconButton( icon: const Icon(Icons.speed), onPressed: () { Navigator.of(context).push( PageTransitions.slideFromRight(const PerformanceDemoPage()), ); }, tooltip: 'Performance', ), IconButton( icon: const Icon(Icons.settings_outlined), onPressed: () { // TODO: Implémenter la navigation vers les paramètres }, ), ], body: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ // 1. ACCUEIL & CONTEXTE - Message de bienvenue personnalisé // CONSERVÉ: Widget spécialisé avec toutes ses fonctionnalités const WelcomeSectionWidget(), const SizedBox(height: 24), // 2. VISION GLOBALE - Indicateurs clés de performance (KPI) // CONSERVÉ: KPI enrichis avec détails, cibles, périodes const KPICardsWidget(), const SizedBox(height: 24), // 3. ACTIONS PRIORITAIRES - Actions rapides et gestion // CONSERVÉ: Grille d'actions organisées par catégories const QuickActionsWidget(), const SizedBox(height: 24), // 4. SUIVI TEMPS RÉEL - Flux d'activités en direct // CONSERVÉ: Activités avec indicateur "Live" et horodatage const RecentActivitiesWidget(), const SizedBox(height: 24), // 5. ANALYSES APPROFONDIES - Graphiques et tendances // CONSERVÉ: 1617 lignes de graphiques sophistiqués avec fl_chart const ChartsAnalyticsWidget(), ], ), ); } }