M1 · 2/3 (Front) — Retirer le bloc contact principal des ecrans Client #57
Reference in New Issue
Block a user
Delete Branch "refactor/refonte-contact-suppression-inline-front"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Objectif
Retirer le bloc « contact principal » (Nom, Prénom, Téléphone, Téléphone 2, Email) des trois écrans Client — création, consultation, modification — ainsi que des types, mappeurs, validations et clés i18n associés. La saisie des contacts passe désormais exclusivement par l'onglet Contacts (
ClientContactBlock, inchangé).Dépend du ticket 1/3 (back) : l'API ne renvoie/n'accepte plus ces 5 champs sur
client. Contexte :docs/specs/M1-clients/refonte-contact/README.md.Changements
pages/clients/new.vue: bloc principal réduit à Nom entreprise / Catégories / Relation / Triage. Suppression demain.firstName/lastName/email,mainPhones,addMainPhone(),prefillFirstContact().isMainValidne dépend plus que decompanyName+ ≥ 1 catégorie + relation valide. Payload POST etClientResponsenettoyés.pages/clients/[id]/edit.vue: mêmes champs retirés,isMainValidsimplifié.pages/clients/[id]/index.vue: affichage lecture seule des 5 champs retiré.utils/clientEdit.ts:MainFormDraft,mapMainDraft(),buildMainPayload()débarrassés des 5 champs +hasSecondaryPhone.utils/clientConsultation.ts:ClientDetaildébarrassé des champs inline (ContactReadconservé).i18n/locales/fr.json: clésform.main.firstName/lastName/email/phonePrimary/phoneSecondary/addPhonesupprimées.form.contact.*conservé.clientEdit.spec.tsajusté (factory,MAIN_KEYS, assertionsmapMainDraft, test téléphone secondaire obsolète retiré).Vérifications
make nuxt-test: suitesclientEdit/clientConsultation/clientFormRulesvertes. Les 2 échecs restants (useClientReferentials.spec.ts, libellé de site) sont pré-existants surdevelop(confirmé pargit stash), sans rapport avec ce ticket.eslintsur les fichiers touchés : OK, aucun import/variable mort.form.main.*supprimées ; JSON i18n valide.Reste à faire