"use client"; import type { MenuCategory } from "@/lib/types"; import { useState } from "react"; import type { CategoryModalProps } from "./Manager.types"; const FA_ICONS = [ "fa-solid fa-mug-hot", "fa-solid fa-leaf", "fa-solid fa-jar", "fa-solid fa-blender", "fa-solid fa-mug-saucer", "fa-solid fa-ice-cream", "fa-solid fa-layer-group", "fa-solid fa-burger", "fa-solid fa-pizza-slice", "fa-solid fa-bowl-food", "fa-solid fa-candy-cane", "fa-solid fa-cookie", "fa-solid fa-cake-candles", "fa-solid fa-drumstick-bite", "fa-solid fa-fish", "fa-solid fa-carrot", ]; export default function CategoryModal({ category, onSave, onClose, }: CategoryModalProps) { const isEdit = category !== null; const [form, setForm] = useState>({ name: category?.name ?? "", icon: category?.icon ?? FA_ICONS[0], }); const handleSubmit = (e: React.FormEvent) => { e.preventDefault(); if (isEdit && category) { onSave({ ...form, id: category.id }); } else { onSave(form); } }; return (
e.target === e.currentTarget && onClose()} >

{isEdit ? "Chỉnh sửa danh mục" : "Thêm danh mục mới"}

setForm({ ...form, name: e.target.value })} className="text-foreground w-full rounded-xl border border-(--color-border) bg-white px-3 py-2 text-sm transition outline-none focus:border-(--color-primary) focus:ring-2 focus:ring-(--color-primary)/20" placeholder="Ví dụ: Cà Phê" />
{FA_ICONS.map((icon) => ( ))}
); }