Compare commits
2 Commits
f74b14c203
...
b936d27445
| Author | SHA1 | Date | |
|---|---|---|---|
| b936d27445 | |||
| 18c1d1eba7 |
@ -238,6 +238,13 @@ class _AdminAmEditModalState extends State<AdminAmEditModal>
|
||||
|
||||
int? _capaciteMax() => _parseIntField(_capaciteCtrl);
|
||||
|
||||
/// True si plus aucune place d'accueil (enfants ≥ capacité max).
|
||||
bool get _capacityFull {
|
||||
final max = _capaciteMax();
|
||||
if (max == null) return false;
|
||||
return _children.length >= max;
|
||||
}
|
||||
|
||||
int? _computedPlacesAvailable() => amExpectedPlacesAvailable(
|
||||
maxChildren: _capaciteMax(),
|
||||
childrenCount: _children.length,
|
||||
@ -466,7 +473,7 @@ class _AdminAmEditModalState extends State<AdminAmEditModal>
|
||||
}
|
||||
|
||||
Future<void> _attachChild() async {
|
||||
if (!mounted) return;
|
||||
if (_capacityFull || !mounted) return;
|
||||
final selected = await AdminSelectEnfantModal.show(
|
||||
context,
|
||||
excludeIds: _children.map((c) => c.id).toSet(),
|
||||
@ -745,6 +752,7 @@ class _AdminAmEditModalState extends State<AdminAmEditModal>
|
||||
|
||||
Widget _buildFooter() {
|
||||
final isChildrenTab = _tabCtrl.index == 2;
|
||||
final canAttachChild = !_saving && !_capacityFull;
|
||||
return Row(
|
||||
children: [
|
||||
TextButton(
|
||||
@ -753,10 +761,15 @@ class _AdminAmEditModalState extends State<AdminAmEditModal>
|
||||
),
|
||||
const Spacer(),
|
||||
if (isChildrenTab)
|
||||
TextButton.icon(
|
||||
onPressed: _attachChild,
|
||||
icon: const Icon(Icons.link, size: 18),
|
||||
label: const Text('Rattacher un enfant'),
|
||||
Tooltip(
|
||||
message: _capacityFull
|
||||
? 'Capacité maximale atteinte'
|
||||
: 'Rattacher un enfant',
|
||||
child: TextButton.icon(
|
||||
onPressed: canAttachChild ? _attachChild : null,
|
||||
icon: const Icon(Icons.link, size: 18),
|
||||
label: const Text('Rattacher un enfant'),
|
||||
),
|
||||
),
|
||||
if (isChildrenTab) const SizedBox(width: 12),
|
||||
ElevatedButton(
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user