Clean project: remove test files, debug logs, and add documentation
This commit is contained in:
@@ -1,13 +1,13 @@
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
import '../../../../core/models/membre_search_result.dart' as search_model;
|
||||
import '../../data/models/membre_model.dart' as member_model;
|
||||
import '../../data/models/membre_complete_model.dart';
|
||||
|
||||
/// Widget d'affichage des résultats de recherche de membres
|
||||
/// Gère la pagination, le tri et l'affichage des membres trouvés
|
||||
class MembreSearchResults extends StatefulWidget {
|
||||
final search_model.MembreSearchResult result;
|
||||
final Function(member_model.MembreModel)? onMembreSelected;
|
||||
final Function(MembreCompletModel)? onMembreSelected;
|
||||
final bool showPagination;
|
||||
|
||||
const MembreSearchResults({
|
||||
@@ -151,12 +151,12 @@ class _MembreSearchResultsState extends State<MembreSearchResults> {
|
||||
}
|
||||
|
||||
/// Carte d'affichage d'un membre
|
||||
Widget _buildMembreCard(member_model.MembreModel membre, int index) {
|
||||
Widget _buildMembreCard(MembreCompletModel membre, int index) {
|
||||
return Card(
|
||||
margin: const EdgeInsets.symmetric(horizontal: 16, vertical: 4),
|
||||
child: ListTile(
|
||||
leading: CircleAvatar(
|
||||
backgroundColor: _getStatusColor(membre.statut ?? 'ACTIF'),
|
||||
backgroundColor: _getStatusColor(membre.statut),
|
||||
child: Text(
|
||||
_getInitials(membre.nom, membre.prenom),
|
||||
style: const TextStyle(
|
||||
@@ -197,14 +197,14 @@ class _MembreSearchResultsState extends State<MembreSearchResults> {
|
||||
),
|
||||
],
|
||||
),
|
||||
if (membre.organisation?.nom?.isNotEmpty == true)
|
||||
if (membre.organisationNom?.isNotEmpty == true)
|
||||
Row(
|
||||
children: [
|
||||
const Icon(Icons.business, size: 14, color: Colors.grey),
|
||||
const SizedBox(width: 4),
|
||||
Expanded(
|
||||
child: Text(
|
||||
membre.organisation!.nom!,
|
||||
membre.organisationNom!,
|
||||
style: const TextStyle(fontSize: 12),
|
||||
overflow: TextOverflow.ellipsis,
|
||||
),
|
||||
@@ -216,7 +216,7 @@ class _MembreSearchResultsState extends State<MembreSearchResults> {
|
||||
trailing: Column(
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
children: [
|
||||
_buildStatusChip(membre.statut ?? 'ACTIF'),
|
||||
_buildStatusChip(membre.statut),
|
||||
if (membre.role?.isNotEmpty == true) ...[
|
||||
const SizedBox(height: 4),
|
||||
Text(
|
||||
@@ -296,7 +296,7 @@ class _MembreSearchResultsState extends State<MembreSearchResults> {
|
||||
}
|
||||
|
||||
/// Chip de statut
|
||||
Widget _buildStatusChip(String statut) {
|
||||
Widget _buildStatusChip(StatutMembre statut) {
|
||||
final color = _getStatusColor(statut);
|
||||
return Container(
|
||||
padding: const EdgeInsets.symmetric(horizontal: 8, vertical: 2),
|
||||
@@ -317,15 +317,15 @@ class _MembreSearchResultsState extends State<MembreSearchResults> {
|
||||
}
|
||||
|
||||
/// Obtient la couleur du statut
|
||||
Color _getStatusColor(String statut) {
|
||||
switch (statut.toUpperCase()) {
|
||||
case 'ACTIF':
|
||||
Color _getStatusColor(StatutMembre statut) {
|
||||
switch (statut) {
|
||||
case StatutMembre.actif:
|
||||
return Colors.green;
|
||||
case 'INACTIF':
|
||||
case StatutMembre.inactif:
|
||||
return Colors.orange;
|
||||
case 'SUSPENDU':
|
||||
case StatutMembre.suspendu:
|
||||
return Colors.red;
|
||||
case 'RADIE':
|
||||
case StatutMembre.enAttente:
|
||||
return Colors.grey;
|
||||
default:
|
||||
return Colors.grey;
|
||||
@@ -333,18 +333,16 @@ class _MembreSearchResultsState extends State<MembreSearchResults> {
|
||||
}
|
||||
|
||||
/// Obtient le libellé du statut
|
||||
String _getStatusLabel(String statut) {
|
||||
switch (statut.toUpperCase()) {
|
||||
case 'ACTIF':
|
||||
String _getStatusLabel(StatutMembre statut) {
|
||||
switch (statut) {
|
||||
case StatutMembre.actif:
|
||||
return 'Actif';
|
||||
case 'INACTIF':
|
||||
case StatutMembre.inactif:
|
||||
return 'Inactif';
|
||||
case 'SUSPENDU':
|
||||
case StatutMembre.suspendu:
|
||||
return 'Suspendu';
|
||||
case 'RADIE':
|
||||
return 'Radié';
|
||||
default:
|
||||
return statut;
|
||||
case StatutMembre.enAttente:
|
||||
return 'En attente';
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user