/** * Filtres d'affichage du module « Tickets de pesée » (M5, ERP-191). Helpers PURS * et testables, partagés par la liste et les écrans. Le serveur reste l'autorité * de normalisation (spec-front § Règles de formatage) : ces helpers ne font que * mettre en forme la valeur déjà normalisée renvoyée par l'API. */ // 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 » * (spec-front : « 7 150 Kg »). Chaîne vide si le poids est absent (ticket dont la * pesée à plein n'est pas finalisée). Groupement manuel (espace ASCII) pour un * rendu déterministe, indépendant de l'ICU de l'environnement. */ export function formatWeightKg(value: number | null | undefined): string { if (value === null || value === undefined) { return '' } const grouped = String(Math.round(value)).replace(/\B(?=(\d{3})+(?!\d))/g, ' ') return `${grouped} Kg` } /** * Immatriculation en MAJUSCULES (cohérent avec la normalisation serveur RG-5.01 : * trim + UPPER). Chaîne vide si absente. */ export function formatPlate(value: string | null | undefined): string { return value ? value.trim().toUpperCase() : '' }