"use client" import { Button } from "@/components/ui/button" import { Clock } from "lucide-react" import { useState } from "react" import { useToast } from "@/components/hooks/use-toast" import { createAccountRequest } from "@/actions" import { isServiceError } from "@/lib/utils" interface ResubmitButtonProps { domain: string userId: string } export function ResubmitAccountRequestButton({ domain, userId }: ResubmitButtonProps) { const { toast } = useToast() const [isSubmitting, setIsSubmitting] = useState(false) const handleSubmit = async () => { setIsSubmitting(true) const result = await createAccountRequest(userId, domain) if (!isServiceError(result)) { if (result.existingRequest) { toast({ title: "Request Already Submitted", description: "Your request to join the organization has already been submitted. Please wait for it to be approved.", variant: "default", }) } else { toast({ title: "Request Resubmitted", description: "Your request to join the organization has been resubmitted.", variant: "default", }) } } else { toast({ title: "Failed to Resubmit", description: `There was an error resubmitting your request. Reason: ${result.message}`, variant: "destructive", }) } setIsSubmitting(false) } return (
{ e.preventDefault(); handleSubmit(); }}>
) }