Repository navigation
Conversation
…oire (#176) Trois écrans sur l'API des missions : la liste des missions ouvertes et des miennes, « Publier une mission » (brouillon, budget en unité mineure, compétences rangées, erreurs par champ) et la page d'une mission avec ses actions (publier, fermer) tirées de `moi.actions`. Le client d'API typé connaît le contrat missions. Le design est PROVISOIRE : il montre le parcours avec les composants actuels et sera repris avec le design system. Les routes (/missions, /missions/nouvelle, /missions/:id) ne sont pas ajoutées : router.ts appartient à @Amar233-ui. Outils d'IA : Claude Code (Claude Sonnet 5.5). Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #176 (les écrans, après l'API de #186) · Suivi : #166
Ce qui a été fait
Trois écrans dans
apps/web/src/features/missions/, sur l'API fusionnée dans #186 :MissionsPage: les missions ouvertes aux propositions (lisible sans connexion), et « Les miennes » pour une personne connectée ; budget, client, compétences, nombre de propositions, « Voir plus » par curseur.NouvelleMissionPage: « Publier une mission » enregistre un brouillon que personne ne voit. Le budget est saisi en montant lisible (« 450 000 ») et envoyé en unité mineure avec sa devise ; les compétences (« Vue, ux design ») sont rangées (vue,ux-design, sans doublon, dix au plus) ; chaque champ refusé par l'API est signalé à côté de lui, tous ensemble.MissionPage: l'annonce et les actions de la personne, tirées demoi.actions(publier un brouillon, fermer une mission ouverte). L'API revérifie tout. Une mission inconnue ou privée dit « introuvable » sans préciser laquelle. Le texte du client est affiché comme du texte, jamais comme du HTML.api/client.ts), les textes sont en français et en anglais, et la maquette MSW gère aussi « fermer ».Comment c'est vérifié
missions.test.ts) : montants et devises (franc CFA sans décimales, euro à deux), compétences, la liste (vide, en panne), le formulaire (bouton éteint, corps envoyé, budget invalide sans requête, erreurs par champ), la page (actions du client, publication,409,404, texte jamais interprété comme du HTML). Suite complète 194 sur 195 ;npm run build(vérification des types) réussi ; types générés à jour.demo), avec des routes ajoutées temporairement et non commitées : brouillon créé, publié, « 450 000 F CFA » affiché, la mission apparaît dans la liste avec ses compétences rangées. En chemin : un jeton d'espacement inexistant (--space-5) donnait un bouton sans marge ; corrigé, et je me suis assuré que tous les jetons CSS utilisés existent.Décisions et alternatives écartées
apps/web/src/router.tsetApp.vueappartiennent à @Amar233-ui (CODEOWNERS,docs/equipe.md). Je lui ouvre une demande pour trois routes et un lien de menu, plutôt que de modifier son fichier.Intl), plutôt qu'un champ en centimes que personne ne comprendrait.Pistes d'amélioration
/missions,/missions/nouvelle,/missions/:id: sans elles, ces écrans ne sont pas atteignables./missionset/missions/:idsont publiques,/missions/nouvelledemande la connexion.reseau.test.ts › venu d'un besoin…est instable (cause et correction décrites dans feat: publier sa demande, avec l'événement DemandePubliee et des questions guidées (#158) #188) : si la CI échoue dessus, relancer le job.Outils d'IA utilisés : Claude Code (Claude Sonnet 5.5) pour le code, les tests et la vérification dans le navigateur.
🤖 Generated with Claude Code