From 87513d130a616c8bb2f1a682d3ca60fbc2395093 Mon Sep 17 00:00:00 2001 From: tristan Date: Wed, 24 Jun 2026 16:22:28 +0200 Subject: [PATCH] =?UTF-8?q?refactor(front)=20:=20formatDateFr=20mutualis?= =?UTF-8?q?=C3=A9=20dans=20shared/utils/date=20+=20rendu=20d=C3=A9terminis?= =?UTF-8?q?te=20(ERP-191)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Trois copies identiques de formatDateFr (logistique weighingTicketFormat, transport carriers/index, CarrierQualimatTab) fusionnées en un seul helper partagé. La nouvelle version lit la date directement dans la chaîne ISO (10 premiers caractères) au lieu de new Date(value).getDate() : un datetime porteur d'un offset (…+02:00, …Z) ne bascule plus d'un jour selon le fuseau du navigateur / runner CI, et reste cohérent avec l'écran d'édition (slice) et l'export serveur (format d/m/Y). weighingTicketFormat ré-exporte le helper (imports inchangés côté écrans). Tests de déterminisme fuseau ajoutés dans shared/utils/date.test.ts. --- .../logistique/utils/weighingTicketFormat.ts | 20 +++----------- .../components/CarrierQualimatTab.vue | 14 +--------- .../transport/pages/carriers/index.vue | 15 +---------- frontend/shared/utils/__tests__/date.test.ts | 27 ++++++++++++++++++- frontend/shared/utils/date.ts | 19 +++++++++++++ 5 files changed, 50 insertions(+), 45 deletions(-) diff --git a/frontend/modules/logistique/utils/weighingTicketFormat.ts b/frontend/modules/logistique/utils/weighingTicketFormat.ts index 25d022a..f536fe9 100644 --- a/frontend/modules/logistique/utils/weighingTicketFormat.ts +++ b/frontend/modules/logistique/utils/weighingTicketFormat.ts @@ -5,23 +5,9 @@ * mettre en forme la valeur déjà normalisée renvoyée par l'API. */ -/** - * Date courte française `JJ-MM-AAAA` (spec M5). Chaîne vide si la valeur est - * absente ou invalide. Lit les composantes locales (cohérent avec l'affichage - * des autres répertoires M1→M4). - */ -export function formatDateFr(value: string | null | undefined): string { - if (!value) { - return '' - } - const date = new Date(value) - if (Number.isNaN(date.getTime())) { - return '' - } - const day = String(date.getDate()).padStart(2, '0') - const month = String(date.getMonth() + 1).padStart(2, '0') - return `${day}-${month}-${date.getFullYear()}` -} +// Date courte française `JJ-MM-AAAA` (spec M5) : helper partagé inter-modules +// (mutualisé avec les répertoires M1→M4). Re-exporté ici pour les écrans M5. +export { formatDateFr } from '~/shared/utils/date' /** * Poids en kg avec séparateur de milliers (espace) + suffixe « Kg » diff --git a/frontend/modules/transport/components/CarrierQualimatTab.vue b/frontend/modules/transport/components/CarrierQualimatTab.vue index a57436b..7cebfff 100644 --- a/frontend/modules/transport/components/CarrierQualimatTab.vue +++ b/frontend/modules/transport/components/CarrierQualimatTab.vue @@ -1,6 +1,7 @@