fix(ui): affiche les soldes crediteurs en vert

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 <noreply@anthropic.com>
This commit is contained in:
2026-07-26 05:17:11 +02:00
parent 94b885aedb
commit 7a87958af7
3 changed files with 20 additions and 4 deletions

View File

@@ -93,7 +93,7 @@
<span <span
:class="[ :class="[
'text-sm font-medium', 'text-sm font-medium',
doc.solde_type === 'crediteur' ? 'text-green-400' : 'text-red-400' isSoldeCrediteur(doc.solde_type) ? 'text-green-400' : 'text-red-400'
]" ]"
> >
{{ formatAmount(doc.solde_montant) }} {{ formatAmount(doc.solde_montant) }}
@@ -173,6 +173,7 @@
import { ref, onMounted } from 'vue' import { ref, onMounted } from 'vue'
import { useRouter } from 'vue-router' import { useRouter } from 'vue-router'
import { pendingFile } from '../store' import { pendingFile } from '../store'
import { isSoldeCrediteur } from '../utils/solde'
const router = useRouter() const router = useRouter()

View File

@@ -100,7 +100,7 @@
<span <span
:class="[ :class="[
'text-sm font-medium', 'text-sm font-medium',
doc.solde_type === 'crediteur' ? 'text-green-400' : 'text-red-400' isSoldeCrediteur(doc.solde_type) ? 'text-green-400' : 'text-red-400'
]" ]"
> >
{{ formatAmount(doc.solde_montant) }} {{ formatAmount(doc.solde_montant) }}
@@ -121,6 +121,7 @@
import { ref, onMounted } from 'vue' import { ref, onMounted } from 'vue'
import { useRouter } from 'vue-router' import { useRouter } from 'vue-router'
import { pendingFile } from '../store' import { pendingFile } from '../store'
import { isSoldeCrediteur } from '../utils/solde'
import QuickActions from '../components/dashboard/QuickActions.vue' import QuickActions from '../components/dashboard/QuickActions.vue'
import FinancialSummary from '../components/dashboard/FinancialSummary.vue' import FinancialSummary from '../components/dashboard/FinancialSummary.vue'

View File

@@ -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'
}