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 @@
-
+
+
+ {{ detail.text }}
+
+
+
+
+
+