Rendre lisibles le statut et la date imposée
All checks were successful
Build / build (push) Successful in 1m2s

Statut : quatre boutons peints de leur texture, si bien que le panneau
sert enfin de légende. « En cours » se raye et « terminé » redevient vif
— la trame les distingue, la teinte n'a plus à le faire.

Date imposée : un cadre tireté cerne la forme entière. Les taquets
tombaient sous les poignées de redimensionnement et disparaissaient sur
une barre courte. Son libellé passe dans le modèle, ce qui la fait
apparaître dans la vue par mois, qui la taisait.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-10 19:17:15 +02:00
parent 4a513f9a59
commit 815e144d9a
10 changed files with 574 additions and 98 deletions

View File

@@ -39,6 +39,7 @@ import {
formaterMois,
formaterPeriode,
formulerDerive,
libelleStatut,
libererReference,
lundiDeLaSemaine,
modifierPhase,
@@ -924,6 +925,26 @@ describe('modifications', () => {
// --- décalage d'un projet ---------------------------------------------------
// --- libellé d'une phase ----------------------------------------------------
describe('libelleStatut', () => {
test('rend le statut seul quand la date nous appartient', () => {
assert.equal(libelleStatut(phase({ status: 'doing' })), 'En cours');
});
test('accole la date imposée au statut, sans le remplacer', () => {
const libelle = libelleStatut(phase({ status: 'blocked', fixed: true }));
assert.match(libelle, /^Bloqué — date imposée/);
});
// Le validateur ramène un statut inconnu à « à venir » plutôt que de refuser
// le fichier : le libellé fait le même choix, faute de quoi une vue afficherait
// « undefined » là où la frise dessine une barre.
test('retombe sur « à venir » pour un statut inconnu', () => {
assert.equal(libelleStatut(phase({ status: 'zzz' })), 'À venir');
});
});
describe('décaler un projet', () => {
const enCours = projet({
phases: [