'use client'; import { useState } from 'react'; import { useRouter } from 'next/navigation'; import { motion } from 'framer-motion'; import { useTranslation } from 'react-i18next'; import { ShieldAlert, LogOut, MessageSquare, Send, Loader2 } from 'lucide-react'; import toast, { Toaster } from 'react-hot-toast'; import AuthService from '../services/AuthService'; import { sendGeneralReport } from '../utils/api'; export default function BlockedPage() { const { t } = useTranslation(); const router = useRouter(); const [form, setForm] = useState({ subject: '', body: '' }); const [isSubmitting, setIsSubmitting] = useState(false); const [isSent, setIsSent] = useState(false); const handleLogout = () => { AuthService.deleteToken(); router.replace('/'); }; const updateField = (field, value) => { setForm((current) => ({ ...current, [field]: value })); if (isSent) setIsSent(false); }; const handleSubmit = async (event) => { event.preventDefault(); if (!form.subject.trim() || !form.body.trim()) { toast.error(t('blocked.fillAllFields')); return; } setIsSubmitting(true); try { await sendGeneralReport(form.subject.trim(), form.body.trim()); setIsSent(true); setForm({ subject: '', body: '' }); toast.success(t('blocked.reportSent')); } catch (error) { toast.error(t('blocked.sendError')); } finally { setIsSubmitting(false); } }; return (
{t('blocked.description')}
{t('blocked.logoutDesc')}
{t('blocked.contactSupportDesc')}