import { useState } from 'react'; import { router } from '@inertiajs/react'; import { Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, } from '@/components/ui/dialog'; import { Button } from '@/components/ui/button'; import { Textarea } from '@/components/ui/textarea'; import type { Product } from './columns'; type RejectDialogProps = { product: Product | null; onOpenChange: (open: boolean) => void; rejectUrl: (id: number) => string; }; export function RejectDialog({ product, onOpenChange, rejectUrl }: RejectDialogProps) { const [reason, setReason] = useState(''); const [processing, setProcessing] = useState(false); function handleReject() { if (!product) return; setProcessing(true); router.post( rejectUrl(product.id), { rejection_reason: reason }, { preserveScroll: true, onSuccess: () => { setReason(''); onOpenChange(false); }, onFinish: () => setProcessing(false), }, ); } return ( Tolak Produk Berikan alasan penolakan untuk produk "{product?.name}". Alasan ini akan terlihat oleh pembuat produk.