import React from 'react'; import { MessageSquare, Star, Heart, Bookmark, Shield, Eye } from 'lucide-react'; import { Card } from '../common'; import { useTranslation } from 'react-i18next'; interface FeedbackSettingsProps { settings: FeedbackSettings; onChange: (settings: FeedbackSettings) => void; className?: string; } interface FeedbackSettings { feedback_enabled: boolean; allow_ratings: boolean; allow_likes: boolean; allow_comments: boolean; allow_favorites: boolean; require_name_email: boolean; moderate_comments: boolean; show_feedback_to_guests: boolean; enable_rate_limiting: boolean; rate_limit_window_minutes?: number; rate_limit_max_requests?: number; } export const FeedbackSettings: React.FC = ({ settings, onChange, className = '' }) => { const { t } = useTranslation(); const handleToggle = (field: keyof FeedbackSettings) => { onChange({ ...settings, [field]: !settings[field] }); }; const handleNumberChange = (field: keyof FeedbackSettings, value: string) => { const numValue = parseInt(value, 10); if (!isNaN(numValue)) { onChange({ ...settings, [field]: numValue }); } }; return (

{t('feedback.settings.title', 'Guest Feedback Settings')}

{settings.feedback_enabled && ( <> {/* Feedback Types */}

{t('feedback.settings.feedbackTypes', 'Feedback Types')}

{/* Privacy & Moderation */}

{t('feedback.settings.privacyModeration', 'Privacy & Moderation')}

{/* Rate Limiting */}
{settings.enable_rate_limiting && (
handleNumberChange('rate_limit_window_minutes', e.target.value)} className="w-full px-3 py-1.5 text-sm border border-neutral-300 rounded-md focus:ring-primary-500 focus:border-primary-500" />
handleNumberChange('rate_limit_max_requests', e.target.value)} className="w-full px-3 py-1.5 text-sm border border-neutral-300 rounded-md focus:ring-primary-500 focus:border-primary-500" />
)}
)}
); };