feat(#153): onglet permanent Dossiers (pending + liste unifiée).
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:p_tits_pas/widgets/admin/common/admin_user_card.dart';
|
||||
|
||||
/// Carte dossier unifiée (#153) — pending et liste complète.
|
||||
class DossierListCard extends StatelessWidget {
|
||||
final String numeroDossier;
|
||||
final String namesLine;
|
||||
final bool isFamille;
|
||||
final VoidCallback onOpen;
|
||||
|
||||
static const Color familleBg = Color(0xFFF3EEF8);
|
||||
static const Color familleBorder = Color(0xFFB39DDB);
|
||||
static const Color familleAccent = Color(0xFF7E57C2);
|
||||
static const Color amBg = Color(0xFFE8F5F3);
|
||||
static const Color amBorder = Color(0xFF80CBC4);
|
||||
static const Color amAccent = Color(0xFF00897B);
|
||||
|
||||
const DossierListCard({
|
||||
super.key,
|
||||
required this.numeroDossier,
|
||||
required this.namesLine,
|
||||
required this.isFamille,
|
||||
required this.onOpen,
|
||||
});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final bg = isFamille ? familleBg : amBg;
|
||||
final border = isFamille ? familleBorder : amBorder;
|
||||
final accent = isFamille ? familleAccent : amAccent;
|
||||
final num = numeroDossier.trim().isEmpty ? '–' : numeroDossier.trim();
|
||||
final names = namesLine.trim();
|
||||
|
||||
return AdminUserCard(
|
||||
title: num,
|
||||
subtitleLines: names.isEmpty ? const [] : [names],
|
||||
fallbackIcon:
|
||||
isFamille ? Icons.family_restroom_outlined : Icons.person_outline,
|
||||
backgroundColor: bg,
|
||||
borderColor: border,
|
||||
titleColor: accent,
|
||||
infoColor: Colors.black87,
|
||||
onCardTap: onOpen,
|
||||
actions: [
|
||||
IconButton(
|
||||
tooltip: 'Ouvrir',
|
||||
icon: Icon(Icons.open_in_new, size: 20, color: accent),
|
||||
onPressed: onOpen,
|
||||
),
|
||||
],
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user