Checkpoint: Apprentissage déclenché depuis le select Abonnement (OUI/NON) dans la liste Factures (Invoices.tsx). Correction du commentaire erroné dans InvoiceDetail.tsx.

This commit is contained in:
Manus
2026-04-12 15:20:13 -04:00
parent e80f899498
commit 95aee693ea

View File

@@ -115,6 +115,8 @@ export default function Invoices() {
}, },
}); });
const upsertLearningMutation = trpc.learnings.upsert.useMutation();
const updateFieldMutation = trpc.invoices.update.useMutation({ const updateFieldMutation = trpc.invoices.update.useMutation({
onSuccess: () => { onSuccess: () => {
toast.success("Facture mise à jour"); toast.success("Facture mise à jour");
@@ -503,9 +505,19 @@ export default function Invoices() {
<select <select
value={invoice.isSubscription ? "OUI" : "NON"} value={invoice.isSubscription ? "OUI" : "NON"}
onChange={(e) => { onChange={(e) => {
const newVal = e.target.value === "OUI" ? 1 : 0;
// Apprentissage : mémoriser la correction manuelle isSubscription
if (invoice.supplierName && newVal !== (invoice.isSubscription ?? 1)) {
upsertLearningMutation.mutate({
supplierName: invoice.supplierName,
fieldName: 'isSubscription',
originalValue: (invoice.isSubscription ?? 1) === 1 ? 'OUI' : 'NON',
correctedValue: newVal === 1 ? 'OUI' : 'NON',
});
}
updateFieldMutation.mutate({ updateFieldMutation.mutate({
id: invoice.id, id: invoice.id,
data: { isSubscription: e.target.value === "OUI" ? 1 : 0 }, data: { isSubscription: newVal },
}); });
}} }}
className="w-full px-2 py-1 border rounded text-sm focus:outline-none focus:ring-2 focus:ring-blue-500" className="w-full px-2 py-1 border rounded text-sm focus:outline-none focus:ring-2 focus:ring-blue-500"