From 7a87958af7c1c2b28beb8164c638e96901ae9cc2 Mon Sep 17 00:00:00 2001 From: Bertrand Benjamin Date: Sun, 26 Jul 2026 05:17:11 +0200 Subject: [PATCH] fix(ui): affiche les soldes crediteurs en vert MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit La comparaison portait sur « crediteur » sans accent alors que le parser ecrit « créditeur » des qu'il a lu la mention dans le PDF : aucun solde ne passait le test, tous s'affichaient en rouge. Compare desormais sur une forme normalisee (sans accents ni casse), ce qui couvre les deux formes presentes en base sans avoir a migrer les documents deja extraits. Co-Authored-By: Claude Opus 5 --- frontend/src/pages/DocumentsPage.vue | 5 +++-- frontend/src/pages/HomePage.vue | 5 +++-- frontend/src/utils/solde.js | 14 ++++++++++++++ 3 files changed, 20 insertions(+), 4 deletions(-) create mode 100644 frontend/src/utils/solde.js diff --git a/frontend/src/pages/DocumentsPage.vue b/frontend/src/pages/DocumentsPage.vue index b81a8f2..cb824ec 100644 --- a/frontend/src/pages/DocumentsPage.vue +++ b/frontend/src/pages/DocumentsPage.vue @@ -90,10 +90,10 @@ - {{ formatAmount(doc.solde_montant) }} @@ -173,6 +173,7 @@ import { ref, onMounted } from 'vue' import { useRouter } from 'vue-router' import { pendingFile } from '../store' +import { isSoldeCrediteur } from '../utils/solde' const router = useRouter() diff --git a/frontend/src/pages/HomePage.vue b/frontend/src/pages/HomePage.vue index 83e473c..9da021a 100644 --- a/frontend/src/pages/HomePage.vue +++ b/frontend/src/pages/HomePage.vue @@ -97,10 +97,10 @@
- {{ formatAmount(doc.solde_montant) }} @@ -121,6 +121,7 @@ import { ref, onMounted } from 'vue' import { useRouter } from 'vue-router' import { pendingFile } from '../store' +import { isSoldeCrediteur } from '../utils/solde' import QuickActions from '../components/dashboard/QuickActions.vue' import FinancialSummary from '../components/dashboard/FinancialSummary.vue' diff --git a/frontend/src/utils/solde.js b/frontend/src/utils/solde.js new file mode 100644 index 0000000..f43550d --- /dev/null +++ b/frontend/src/utils/solde.js @@ -0,0 +1,14 @@ +/** + * Le type de solde arrive sous deux formes selon le document : « créditeur » + * accentué quand le parser l'a lu dans le PDF, « crediteur » sans accent quand + * il retombe sur sa valeur par défaut (voir parsers/metadata.py). On compare + * donc sur une forme normalisée, sans accents ni casse. + */ +export function isSoldeCrediteur(soldeType) { + if (!soldeType) return false + const normalise = soldeType + .normalize('NFD') + .replace(/[\u0300-\u036f]/g, '') // retire les diacritiques combinants + .toLowerCase() + return normalise === 'crediteur' +}