diff --git a/frontend/pages/item/[id]/index.vue b/frontend/pages/item/[id]/index.vue index e9fb281..da13225 100644 --- a/frontend/pages/item/[id]/index.vue +++ b/frontend/pages/item/[id]/index.vue @@ -39,6 +39,29 @@ lastRoute.value = route.fullPath; }); + async function adjustQuantity(amount: number) { + if (!item.value) { + return; + } + + const newQuantity = item.value.quantity + amount; + if (newQuantity < 0) { + toast.error("Quantity cannot be negative"); + return; + } + + const resp = await api.items.patch(item.value.id, { + quantity: newQuantity, + }); + + if (resp.error) { + toast.error("Failed to adjust quantity"); + return; + } + + item.value.quantity = newQuantity; + } + type FilteredAttachments = { attachments: ItemAttachment[]; warranty: ItemAttachment[]; @@ -130,6 +153,7 @@ { name: "Quantity", text: item.value?.quantity, + slot: "quantity", }, { name: "Serial Number", @@ -475,7 +499,21 @@ - + + +