"use client"; import { useState, useTransition } from "react"; import { useRouter } from "next/navigation"; import { toast } from "sonner"; import { setCommissionAvailability } from "@/app/admin/commission/actions"; import { Alert, AlertDescription } from "@/components/ui/alert"; import { Button } from "@/components/ui/button"; import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card"; import { Textarea } from "@/components/ui/textarea"; export function AdminCommissionAvailabilityControl({ isOpen, closureMessage }: { isOpen: boolean; closureMessage: string; }) { const router = useRouter(); const [message, setMessage] = useState(closureMessage); const [pending, startTransition] = useTransition(); const [error, setError] = useState(""); function save(nextOpen: boolean) { setError(""); startTransition(async () => { const result = await setCommissionAvailability(nextOpen, message); if (result.status === "error") { setError(result.message); return; } toast.success(nextOpen ? "เปิดรับ Commission แล้ว" : "ปิดรับ Commission แล้ว"); router.refresh(); }); } return การรับ Commission การปิดรับจะหยุดคำขอใหม่ ลูกค้าที่มีคำขออยู่แล้วชำระเงินต่อได้ ทุก Ticket ยังคงคุยได้ตามปกติ