import 'package:flutter/material.dart'; class AssistanteMaternelleManagementWidget extends StatelessWidget { const AssistanteMaternelleManagementWidget({super.key}); @override Widget build(BuildContext context) { final assistantes = [ { "nom": "Marie Dupont", "numeroAgrement": "AG123456", "zone": "Paris 14", "capacite": 3, }, { "nom": "Claire Martin", "numeroAgrement": "AG654321", "zone": "Lyon 7", "capacite": 2, }, ]; return Padding( padding: const EdgeInsets.all(16), child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ // 🔎 Zone de filtre _buildFilterSection(), const SizedBox(height: 16), // 📋 Liste des assistantes ListView.builder( shrinkWrap: true, physics: const NeverScrollableScrollPhysics(), itemCount: assistantes.length, itemBuilder: (context, index) { final assistante = assistantes[index]; return Card( margin: const EdgeInsets.symmetric(vertical: 8), child: ListTile( leading: const Icon(Icons.face), title: Text(assistante['nom'].toString()), subtitle: Text( "N° Agrément : ${assistante['numeroAgrement']}\nZone : ${assistante['zone']} | Capacité : ${assistante['capacite']}"), trailing: Row( mainAxisSize: MainAxisSize.min, children: [ IconButton( icon: const Icon(Icons.edit), onPressed: () { // TODO: Ajouter modification }, ), IconButton( icon: const Icon(Icons.delete), onPressed: () { // TODO: Ajouter suppression }, ), ], ), ), ); }, ), ], ), ); } Widget _buildFilterSection() { return Wrap( spacing: 16, runSpacing: 8, children: [ SizedBox( width: 200, child: TextField( decoration: const InputDecoration( labelText: "Zone géographique", border: OutlineInputBorder(), ), onChanged: (value) { // TODO: Ajouter logique de filtrage par zone }, ), ), SizedBox( width: 200, child: TextField( decoration: const InputDecoration( labelText: "Capacité minimum", border: OutlineInputBorder(), ), keyboardType: TextInputType.number, onChanged: (value) { // TODO: Ajouter logique de filtrage par capacité }, ), ), ], ); } }