import 'package:flutter/material.dart'; class DashboardSidebarAdmin extends StatelessWidget { final int selectedIndex; final ValueChanged onTabChange; const DashboardSidebarAdmin({ Key? key, required this.selectedIndex, required this.onTabChange, }) : super(key: key); @override Widget build(BuildContext context) { final items = [ {'title': 'Gestionnaires', 'icon': Icons.admin_panel_settings}, {'title': 'Parents', 'icon': Icons.family_restroom}, {'title': 'Assistantes maternelles', 'icon': Icons.woman}, {'title': 'Administrateurs', 'icon': Icons.supervisor_account}, {'title': 'Statistiques', 'icon': Icons.bar_chart}, ]; return Container( width: 250, color: const Color(0xFFF7F7F7), padding: const EdgeInsets.symmetric(vertical: 24, horizontal: 16), child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ // Avatar en haut Center( child: Column( children: const [ CircleAvatar(radius: 32, child: Icon(Icons.person, size: 32)), SizedBox(height: 8), Text("Admin", style: TextStyle(fontWeight: FontWeight.bold)), ], ), ), const SizedBox(height: 32), const Text("Navigation", style: TextStyle(fontSize: 16, fontWeight: FontWeight.bold)), const SizedBox(height: 16), // Navigation ...List.generate(items.length, (index) { final item = items[index]; final isActive = index == selectedIndex; return Padding( padding: const EdgeInsets.only(bottom: 8.0), child: ListTile( tileColor: isActive ? const Color(0xFF9CC5C0) : null, leading: Icon(item['icon'] as IconData, color: isActive ? Color(0xFF9CC5C0) : Colors.black54), title: Text( item['title'] as String, style: TextStyle( color: isActive ? Color(0xFF9CC5C0) : Colors.black, fontWeight: isActive ? FontWeight.bold : FontWeight.normal, ), ), shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(10)), onTap: () => onTabChange(index), ), ); }), ], ), ); } }