import { useEffect, useState } from 'react'; import { X } from 'lucide-react'; import { Button } from './ui/Button'; import { Switch } from './ui/Switch'; import { useSecurityNotificationSettings, useUpdateSecurityNotificationSettings, } from '../hooks/useNotifications'; interface SecurityNotificationSettingsModalProps { isOpen: boolean; onClose: () => void; } export function SecurityNotificationSettingsModal({ isOpen, onClose, }: SecurityNotificationSettingsModalProps) { const { data: settings, isLoading } = useSecurityNotificationSettings(); const updateMutation = useUpdateSecurityNotificationSettings(); const [formData, setFormData] = useState({ enabled: false, min_log_level: 'warn', notify_waf_blocks: true, notify_acl_denials: true, notify_rate_limit_hits: true, webhook_url: '', email_recipients: '', }); useEffect(() => { if (settings) { setFormData({ enabled: settings.enabled, min_log_level: settings.min_log_level, notify_waf_blocks: settings.notify_waf_blocks, notify_acl_denials: settings.notify_acl_denials, notify_rate_limit_hits: settings.notify_rate_limit_hits, webhook_url: settings.webhook_url || '', email_recipients: settings.email_recipients || '', }); } }, [settings]); const handleSubmit = (e: React.FormEvent) => { e.preventDefault(); updateMutation.mutate(formData, { onSuccess: () => { onClose(); }, }); }; if (!isOpen) return null; return (