feat(#146–#149): sélection enfant/AM, capacité max et case libre.

Modales de rattachement partagées, filtre Libre/Sans garde, recalcul des places à l'attach, désactivation si capacité pleine, clic sur case libre.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-07-17 16:25:42 +02:00
co-authored by Cursor
parent fde63f8e72
commit dcd407a3da
11 changed files with 862 additions and 120 deletions
@@ -34,6 +34,8 @@ class AdminEnfantUserCard extends StatelessWidget {
final List<String> subtitleLines;
final List<Widget> actions;
final VoidCallback? onCardTap;
final EdgeInsetsGeometry? margin;
final EdgeInsetsGeometry? contentPadding;
const AdminEnfantUserCard({
super.key,
@@ -42,6 +44,8 @@ class AdminEnfantUserCard extends StatelessWidget {
required this.subtitleLines,
this.actions = const [],
this.onCardTap,
this.margin,
this.contentPadding,
});
factory AdminEnfantUserCard.fromEnfant(
@@ -49,6 +53,8 @@ class AdminEnfantUserCard extends StatelessWidget {
List<String> extraSubtitleLines = const [],
List<Widget> actions = const [],
VoidCallback? onCardTap,
EdgeInsetsGeometry? margin,
EdgeInsetsGeometry? contentPadding,
}) {
final parents = enfant.parentLinks
.map((l) => l.parentName ?? 'Parent')
@@ -68,6 +74,8 @@ class AdminEnfantUserCard extends StatelessWidget {
),
actions: actions,
onCardTap: onCardTap,
margin: margin,
contentPadding: contentPadding,
);
}
@@ -76,6 +84,8 @@ class AdminEnfantUserCard extends StatelessWidget {
List<String> extraSubtitleLines = const [],
List<Widget> actions = const [],
VoidCallback? onCardTap,
EdgeInsetsGeometry? margin,
EdgeInsetsGeometry? contentPadding,
}) {
return AdminEnfantUserCard(
title: child.fullName,
@@ -88,6 +98,8 @@ class AdminEnfantUserCard extends StatelessWidget {
),
actions: actions,
onCardTap: onCardTap,
margin: margin,
contentPadding: contentPadding,
);
}
@@ -100,6 +112,8 @@ class AdminEnfantUserCard extends StatelessWidget {
subtitleLines: subtitleLines,
actions: actions,
onCardTap: onCardTap,
margin: margin,
contentPadding: contentPadding,
);
}
}