import React, { useState } from 'react'; import { X } from 'lucide-react'; import { useTranslation } from 'react-i18next'; import { Button, Input } from '../common'; interface FeedbackIdentityModalProps { isOpen: boolean; onClose: () => void; onSubmit: (name: string, email: string) => void; feedbackType: string; } export const FeedbackIdentityModal: React.FC = ({ isOpen, onClose, onSubmit, feedbackType }) => { const { t } = useTranslation(); const [name, setName] = useState(''); const [email, setEmail] = useState(''); const [errors, setErrors] = useState>({}); if (!isOpen) return null; const handleSubmit = (e: React.FormEvent) => { e.preventDefault(); const newErrors: Record = {}; if (!name.trim()) { newErrors.name = t('feedback.nameRequired', 'Name is required'); } if (!email.trim()) { newErrors.email = t('feedback.emailRequired', 'Email is required'); } else if (!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(email)) { newErrors.email = t('feedback.invalidEmail', 'Invalid email address'); } if (Object.keys(newErrors).length > 0) { setErrors(newErrors); return; } onSubmit(name.trim(), email.trim()); }; return (

{t('feedback.identityRequired', 'Your Information Required')}

{t('feedback.identityReason', 'Please provide your name and email to submit {{type}}.', { type: feedbackType })}

setName(e.target.value)} error={errors.name} placeholder={t('feedback.namePlaceholder', 'Enter your name')} required /> setEmail(e.target.value)} error={errors.email} placeholder={t('feedback.emailPlaceholder', 'Enter your email')} required />
); };