Layout aqua (valise, période une ligne, pilules peintes, lien agenda), encre pétrole, et docs/32 pour palette sémantique + demandes API couleur. Co-authored-by: Cursor <cursoragent@cursor.com>
7.1 KiB
Mini-spec · Bulles / file d’attention (#173)
Front · octobre 2026 — pour alignement backend (garant de la spec API).
1. Contexte / objectif
Les bulles (cartes) sont la file d’attention du quotidien parent / AM : décisions et infos proches (congés, arrêt maladie, absences, plus tard soins / admin).
Cette note formalise :
- Ce qui est déjà en place côté front (branche
feature/173-feed-bulles-parent). - La palette sémantique retenue (couleur = famille).
- Les évolutions API souhaitées pour que le back pousse les bonnes
couleur/ types. - Les idées de bulles futures (non branchées).
Les cartes restent une mémoire courte (purge_at) ; la source de vérité absences / congés reste absences_garde (voir 31_MINI-SPEC-QUOTIDIEN-PARENT-AM.md).
2. Contrat API actuel (rappel)
Endpoint principal : GET /api/v1/cards (filtre couple / placement).
Champs utiles côté UI :
| Champ | Rôle UI |
|---|---|
type_code |
Layout + libellé sémantique + icône |
couleur |
Teinte du fond pastel (assets/cards/card_*_h.png) |
titre |
Fallback si type_code inconnu |
statut |
ouverte · refusee · traitee |
response_mode |
none · ack · accept_refuse |
is_creator |
Masque les boutons réponse pour le créateur |
payload.date_debut / date_fin |
Période affichée |
payload.motif |
Non affiché sur la maquette congés actuelle |
last_refuse_comment |
Affiché si refusee |
id_absence |
Lien métier absence / congé |
purge_at |
Péremption file |
Règle front actuelle : le destinataire peut répondre si !is_creator && statut == ouverte && response_mode != none.
3. Évolutions front déjà livrées (#173)
3.1 Feed
- Widget partagé
CartesFeed(parent + AM). - Fond carte via widget
Carte(bandeau / 9-slice horizontal). - Dégradés haut / bas sur la liste scrollable.
- Plus de libellés « À traiter / Traité » : actions via modales accepter / refuser / ack.
- Libellés UI sémantiques (indépendants du
titreAPI brut) :conge_am→ « Demande de congés »arret_maladie_am→ « Arrêt maladie »absence_enfant(+_modif) → « Notification d’absence »
3.2 Carte congés (conge_am) — maquette validée
| Élément | Comportement |
|---|---|
| Fond | Aqua forcé côté front (même si l’API envoie encore lavender) |
| Encre | Pétrole désaturé #315F63 (titre) ; date un peu plus claire #4A7276 ; lien #2B5868 |
| Icône | Valise assets/images/valise.png |
| Période | Une ligne type « Du 04 au 06 novembre 2026 » + petite icône calendrier |
| Actions | Pilules peintes ✓ vert / ✕ corail (btn_coche_pilule / btn_croix_pilule) si accept_refuse |
| Lien | « Ouvrir dans l’agenda ↗ » (stub UI pour l’instant) |
| Opacité | Carte atténuée si traitee (sauf règle arrêt maladie ci-dessous) |
3.3 Arrêt maladie (arret_maladie_am)
- Reste visible / opaque tant que la période n’est pas finie (
date_finjour inclus), même sistatut == traitee. - Icône thermomètre (asset dédié). Fond encore piloté par
couleurAPI (cible produit : bleu — voir §4).
3.4 Assets couleurs horizontales
Teintes dispo dans frontend/assets/cards/ (V + H), dont aqua ajouté pour les congés.
Clés API reconnues côté front : red · pink · peach · lime · lavender · green · blue · aqua. Défaut UI si inconnu : peach.
4. Palette sémantique (alignement demandé)
Couleur API (couleur) |
Famille | Types / exemples |
|---|---|---|
aqua |
Congés | conge_am |
blue |
Arrêt maladie | arret_maladie_am |
pink |
Soins du quotidien | médicament, température, bobo, crème… (futur) |
peach |
Absence / info pratique | absence_enfant, absence_enfant_modif |
lavender |
Administratif / autre | infos admin, divers (à utiliser avec parcimonie) |
Principes
- La couleur = famille (lisible sans lire tout le texte).
- L’icône précise l’action (surtout sur fond rose : thermomètre, flacon, pansement, croix de soin…).
- Rose = doux / rassurant, pas une alerte médicale forte.
- Éviter le lavande pour les congés (trop « admin », dissonant avec valise / aqua).
Demande backend (prioritaire)
- Seeds / création de cartes :
conge_am→couleur: "aqua"(le front force déjà ; l’API devrait être source de vérité). arret_maladie_am→couleur: "blue".absence_enfant*→couleur: "peach".- Documenter les valeurs autorisées de
couleur(enum / check) pour inclureaqua. - Ne plus mapper les congés sur
lavender.
5. Idées de bulles futures (hors scope #173)
Non implémentées ; pour anticipation contrat types + couleurs.
| Famille | Couleur | Exemples de type_code (propositions) |
response_mode typique |
Icônes (ex.) |
|---|---|---|---|---|
| Soins | pink |
soin_temperature, soin_medicament, soin_bobo, soin_creme |
ack (parent) |
thermomètre, flacon, pansement, tube |
| Sortie / autorisation | peach ou lavender |
sortie_a_valider |
accept_refuse |
à définir |
| Admin | lavender |
info_admin, document_a_fournir |
ack / none |
classeur, tampon |
| Congé / maladie (évol.) | aqua / blue |
modif période, annulation | selon métier | valise / thermomètre |
Variante soins : un seul fond rose ; l’icône change selon l’événement — la famille « santé/soin » reste immédiate.
6. Comportements métier à ne pas casser
- Créateur : pas de boutons réponse ; éventuel libellé « En attente de réponse ».
- Refus : afficher
last_refuse_commentsi présent. - Congé :
accept_refusecôté destinataire. - Absence enfant : souvent info / ack (pas de veto AM en V1 — voir mini-spec quotidien).
- Péremption : respecter
purge_at/ retention ; pas un historique long.
7. Fichiers front de référence
frontend/lib/models/carte_bulle.dart— mapping type → libellé / icône / fondfrontend/lib/widgets/quotidien/cartes_feed.dart— layout feed + carte congésfrontend/lib/models/card_assets.dart— enum teintes dontaqua- Assets :
frontend/assets/cards/card_aqua(_h).png,frontend/assets/images/valise.png,frontend/assets/images/cartes/btn_*_pilule.png
8. Non-régression / recettes suggérées (back + front)
- Carte
conge_amcréée aveccouleur=aqua(et lisible si encore lavande côté vieux seeds grâce au forçage front). - Accept / refuse congé → statut + commentaire refus.
- Arrêt maladie traité mais période en cours → reste visible côté destinataire.
- Filtre couple / placement : une seule file pour le couple actif.
- Aucune régression sur
absence_enfant(création parent → bulle AM).
9. Références
- Ticket front : #173
- Contrat cartes / réponses : #194 (si applicable)
- Quotidien parent–AM :
docs/31_MINI-SPEC-QUOTIDIEN-PARENT-AM.md - Maquette congés :
ressources/bulle_congés.jpg