'use client'; import { useTransition, useState } from 'react'; import type { User } from '@/lib/types/user'; import { Button } from '@/components/ui/button'; import { Input } from '@/components/ui/input'; import { Label } from '@/components/ui/label'; import { Textarea } from '@/components/ui/textarea'; import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue, } from '@/components/ui/select'; import { Dialog, DialogContent, DialogFooter, DialogHeader, DialogTitle, DialogTrigger, } from '@/components/ui/dialog'; import { MessageSquare, Mail, Plus, UserCircle2, Headphones, Loader2 } from 'lucide-react'; import { createSupportTicket } from '@/lib/actions/user-tabs'; import { toast } from 'sonner'; interface SupportTabProps { user: User; } export function SupportTab({ user }: SupportTabProps) { const [isPending, startTransition] = useTransition(); const [createDialogOpen, setCreateDialogOpen] = useState(false); // Form State const [subject, setSubject] = useState(''); const [priority, setPriority] = useState('Normal'); const [type, setType] = useState('Inquiry'); const handleCreateTicket = () => { startTransition(async () => { const result = await createSupportTicket(user.id, { subject, priority, type }); if (result.success) { toast.success(result.message); setCreateDialogOpen(false); setSubject(''); } else { toast.error(result.message); } }); }; return (