diff --git a/src/app/api/articoli/[id]/route.ts b/src/app/api/articoli/[id]/route.ts index 4df5a0f..40476ef 100644 --- a/src/app/api/articoli/[id]/route.ts +++ b/src/app/api/articoli/[id]/route.ts @@ -2,7 +2,7 @@ import { NextResponse } from "next/server"; import { auth } from "@/src/auth"; import { deleteArticle, updateArticle, getArticleById } from "@/src/lib/articles"; - + interface RouteContext { params: Promise<{ id: string }>; } diff --git a/src/components/ArticoliMacchinaModal.tsx b/src/components/ArticoliMacchinaModal.tsx index d417890..12a9eff 100644 --- a/src/components/ArticoliMacchinaModal.tsx +++ b/src/components/ArticoliMacchinaModal.tsx @@ -70,8 +70,34 @@ export default function ArticoliMacchinaModal({ articoloEsiste = true; } + // Ricarica i dati freschi per questo articolo dalla macchina + let quantitaReale = articolo.quantita; + try { + const res = await fetch("/api/art-macchine-parti"); + if (res.ok) { + const data = await res.json(); + const articoliMacchina = data.articoliPerMacchina?.[macchinaId] || []; + const articoloFresco = articoliMacchina.find( + (a: ArticoloAssegnatoMacchina) => a.id_articolo === articolo.id_articolo + ); + if (articoloFresco) { + quantitaReale = articoloFresco.quantita; + } else { + // L'articolo non è più assegnato a questa macchina + quantitaReale = 0; + } + } + } catch { + // In caso di errore, usa la quantità originale + } + + if (quantitaReale <= 0) { + setError("Questo articolo non ha più quantità disponibile su questa macchina"); + return; + } + setRimuoviModal({ - articolo, + articolo: { ...articolo, quantita: quantitaReale }, quantita: 1, opzione: articoloEsiste ? "carico" : "elimina", idMagazzino: null,