import React, { useState } from 'react'; import Modal from './ui/Modal'; import { Loader2, CheckCircle2, AlertCircle } from 'lucide-react'; export default function SupportModal({ isOpen, onClose }) { const [fromEmail, setFromEmail] = useState(window.wpbotAutomator?.userEmail || ''); const [message, setMessage] = useState(''); const [isLoading, setIsLoading] = useState(false); const [status, setStatus] = useState(null); // 'success' or 'error' const [errorMessage, setErrorMessage] = useState(''); const handleSubmit = async (e) => { e.preventDefault(); setIsLoading(true); setStatus(null); try { const response = await fetch(`${window.wpbotAutomator.apiUrl}/support/send`, { method: 'POST', headers: { 'Content-Type': 'application/json', 'X-WP-Nonce': window.wpbotAutomator.nonce, }, body: JSON.stringify({ from_email: fromEmail, message }), }); const data = await response.json(); if (response.ok && data.success) { setStatus('success'); setMessage(''); setTimeout(() => { onClose(); setStatus(null); }, 3000); } else { setStatus('error'); setErrorMessage(data.message || 'An error occurred while sending your request.'); } } catch (error) { console.error('Support request error:', error); setStatus('error'); setErrorMessage('A network error occurred. Please try again later.'); } finally { setIsLoading(false); } }; return ( {status === 'success' ? (

Message Sent!

We have received your support request and will get back to you shortly.

) : (
{status === 'error' && (
{errorMessage}
)}
setFromEmail(e.target.value)} className="w-full px-3 py-2 border border-input bg-transparent rounded-md focus:outline-none focus:ring-2 focus:ring-ring" required />