mirror of
https://github.com/R0m1k3/CollectFlow.git
synced 2026-10-22 14:38:10 +02:00
feat: add BulkAiAnalyzer component for automatic product classification and AI context profiling.
This commit is contained in:
1 parent
41a8b32aff
commit
01d2dc8b34
2 files changed
+10
-1
No files matched your search
@@ -329,6 +329,15 @@ export function BulkAiAnalyzer() {
|
|||||||
|
|
||||||
await processBatch();
|
await processBatch();
|
||||||
|
|
||||||
|
// Nettoyer les drafts "Aucune" restants (produits en erreur dont l'IA n'a pas retourné A/Z)
|
||||||
|
// Pour éviter que "Valider" ne sauvegarde "Aucune" comme gamme réelle
|
||||||
|
const currentDrafts = useGridStore.getState().draftChanges;
|
||||||
|
const aucuneCodeins = codeins.filter(c => currentDrafts[c] === "Aucune");
|
||||||
|
if (aucuneCodeins.length > 0) {
|
||||||
|
const { clearDrafts } = useGridStore.getState();
|
||||||
|
clearDrafts(aucuneCodeins);
|
||||||
|
}
|
||||||
|
|
||||||
setProgress((prev) => ({
|
setProgress((prev) => ({
|
||||||
...prev,
|
...prev,
|
||||||
message: isCancelledRef.current ? `Analyse interrompue (${completed}/${totalItems})` : `Analyse terminée ! (${errorsCount > 0 ? errorsCount + " erreurs" : "succès"})`,
|
message: isCancelledRef.current ? `Analyse interrompue (${completed}/${totalItems})` : `Analyse terminée ! (${errorsCount > 0 ? errorsCount + " erreurs" : "succès"})`,
|
||||||
|
|||||||
@@ -65,7 +65,7 @@ export function FloatingSummaryBar() {
|
|||||||
modifiedRows.map(r => [
|
modifiedRows.map(r => [
|
||||||
r.codein,
|
r.codein,
|
||||||
{
|
{
|
||||||
before: r.codeGamme,
|
before: r.codeGammeInit,
|
||||||
after: draftChanges[r.codein] as string
|
after: draftChanges[r.codein] as string
|
||||||
}
|
}
|
||||||
])
|
])
|
||||||
|
|||||||
Reference in new issue
Block a user