import { notFound } from "next/navigation"; import { getCommissionLabels } from "@/lib/commission/catalog"; import { getCommissionTicket } from "@/lib/commission/tickets"; import { publicMediaUrl } from "@/lib/media/storage"; import { HttpError } from "@/lib/security/http"; import { CommissionRequestSummary } from "./request-summary"; import { CommissionTicketChat } from "./ticket-chat"; import { CommissionTicketRename } from "./ticket-rename"; import { CommissionSlipDialog } from "./slip-dialog"; import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"; export async function CommissionTicketDetail({ id, admin }: { id: string; admin: boolean }) { let data: Awaited>; try { data = await getCommissionTicket(id); } catch (cause) { if (cause instanceof HttpError && (cause.status === 401 || cause.status === 403 || cause.status === 404)) notFound(); throw cause; } const catalog = await getCommissionLabels(data.checkout.request); return

{data.ticket.title || `Ticket #${data.ticket.id.slice(0, 8)}`}

{data.ticket.title ? `#${data.ticket.id.slice(0, 8)} - ` : ""}{data.customerName} - {data.ticket.status === "open" ? "เปิด" : "ปิด"}

{admin && }
คำขอที่ชำระเงินแล้ว - ฿{data.checkout.amountBaht} {catalog && }

การชำระเงิน: {data.payment.transRef} - {data.payment.transferredAt.toLocaleString("th-TH")}

({ ...message, imageUrl: imageObjectKey ? publicMediaUrl(imageObjectKey) : null }))} admin={admin} />
; }