diff --git a/components/organisms/manager/ProductModal.tsx b/components/organisms/manager/ProductModal.tsx
index 5c11a14..c1b8c89 100644
--- a/components/organisms/manager/ProductModal.tsx
+++ b/components/organisms/manager/ProductModal.tsx
@@ -1,22 +1,20 @@
"use client";
-import type { Product } from "@/lib/types";
+import type { MenuItemEntity } from "@/lib/types";
import { useState } from "react";
import type { ProductModalProps } from "./Manager.types";
export default function ProductModal({
product,
- categories,
onSave,
onClose,
}: ProductModalProps) {
const isEdit = product !== null;
- const [form, setForm] = useState>({
+ const [form, setForm] = useState({
name: product?.name ?? "",
- category: product?.category ?? categories[0]?.id ?? "",
price: product?.price ?? 0,
- image: product?.image ?? "/imgs/products/placeholder.jpg",
+ imageUrl: product?.imageUrl ?? "/imgs/products/placeholder.jpg",
description: product?.description ?? "",
available: product?.available ?? true,
});
@@ -67,42 +65,22 @@ export default function ProductModal({
/>
-
-
-
-
-
-
-
- setForm({ ...form, price: Number(e.target.value) })
- }
- className={inputCls}
- placeholder="25000"
- />
-
+
+
+
+ setForm({ ...form, price: Number(e.target.value) })
+ }
+ className={inputCls}
+ placeholder="25000"
+ />
diff --git a/components/organisms/manager/ProductsTab.tsx b/components/organisms/manager/ProductsTab.tsx
index 12f7fbf..e240c49 100644
--- a/components/organisms/manager/ProductsTab.tsx
+++ b/components/organisms/manager/ProductsTab.tsx
@@ -1,7 +1,7 @@
"use client";
import { useManager } from "@/lib/manager-context";
-import type { Product } from "@/lib/types";
+import type { MenuItemEntity } from "@/lib/types";
import { useState } from "react";
import DeleteConfirm from "./DeleteConfirm";
@@ -15,25 +15,22 @@ function formatPrice(price: number) {
export default function ProductsTab() {
const {
products,
- categories,
addProduct,
updateProduct,
deleteProduct,
toggleProductAvailability,
} = useManager();
- const [filterCategory, setFilterCategory] = useState("all");
const [filterStatus, setFilterStatus] = useState<
"all" | "available" | "unavailable"
>("all");
const [search, setSearch] = useState("");
- const [modalProduct, setModalProduct] = useState
(
- null,
- );
- const [deleteTarget, setDeleteTarget] = useState(null);
+ const [modalProduct, setModalProduct] = useState<
+ MenuItemEntity | null | "new"
+ >(null);
+ const [deleteTarget, setDeleteTarget] = useState(null!);
const filtered = products.filter((p) => {
- if (filterCategory !== "all" && p.category !== filterCategory) return false;
if (filterStatus === "available" && p.available === false) return false;
if (filterStatus === "unavailable" && p.available !== false) return false;
if (
@@ -45,9 +42,6 @@ export default function ProductsTab() {
return true;
});
- const getCategoryName = (id: string) =>
- categories.find((c) => c.id === id)?.name ?? id;
-
return (
{/* Toolbar */}
@@ -73,20 +67,6 @@ export default function ProductsTab() {
)}
-
-
-
-
- c.id === p.category)?.icon ?? "fa-solid fa-tag"} text-[10px]`}
- >
- {getCategoryName(p.category)}
-
- |
{formatPrice(p.price)}
|
|