"use client"; import { useManager } from "@/lib/manager-context"; import type { Combo } from "@/lib/types"; import { useState } from "react"; import ComboModal from "./ComboModal"; import DeleteConfirm from "./DeleteConfirm"; import StatusBadge from "./StatusBadge"; function formatPrice(price: number) { return price.toLocaleString("vi-VN") + "đ"; } export default function CombosTab() { const { combos, products, addCombo, updateCombo, deleteCombo, toggleComboAvailability, } = useManager(); const [modalCombo, setModalCombo] = useState(null); const [deleteTarget, setDeleteTarget] = useState(null); const getProductName = (id: number) => products.find((p) => p.id === id)?.name ?? `Món #${id}`; return (

{combos.length} combo

{combos.length === 0 ? (

Chưa có combo nào

) : ( combos.map((combo) => (

{combo.name}

{combo.description && (

{combo.description}

)}

Bao gồm

    {combo.items.map((item) => (
  • {getProductName(item.productId)} ×{item.quantity}
  • ))}
{formatPrice(combo.price)}
)) )}
{modalCombo !== null && ( { if ("id" in data) { updateCombo(data as Combo); } else { addCombo(data); } setModalCombo(null); }} onClose={() => setModalCombo(null)} /> )} {deleteTarget !== null && ( { deleteCombo(deleteTarget.id); setDeleteTarget(null); }} onClose={() => setDeleteTarget(null)} /> )}
); }