+
+
+
+ - Items
+ - Description
+ - Quantity
+
+ {items.map((item, index) => (
+
navigate(`/inventory/${item.id}`)}
+ >
+
+ 0 ? item.imageUrls[0] : undefined}
+ preview={false}
+ fallback="https://plus.unsplash.com/premium_vector-1731660866636-d6ee4dcd6806?q=80&w=1480&auto=format&fit=crop&ixlib=rb-4.1.0&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D"
+ />
+
+
+
{item.name}
+
{item.description}
+
+
{item.quantity}
+
+ ))}
+
-
+
+
+
);
diff --git a/src/pages/ProductFormPage.tsx b/src/pages/ProductFormPage.tsx
new file mode 100644
index 0000000..df95c22
--- /dev/null
+++ b/src/pages/ProductFormPage.tsx
@@ -0,0 +1,257 @@
+import { Divider, Form, Input, InputNumber, Switch, Button, message, Upload } from "antd";
+import { ArrowLeftOutlined, UploadOutlined } from "@ant-design/icons";
+import { useState } from "react";
+import { InventoryService } from "../services/InventoryService";
+import { useNavigate } from "react-router";
+
+export function ProductFormPage() {
+ const [form] = Form.useForm();
+ const [loading, setLoading] = useState
(false);
+ const [imageFiles, setImageFiles] = useState