import { useEffect, useRef } from 'react'; import { IconPlus } from '@tabler/icons-react'; import { SERVER_TYPE_OPTIONS } from '../../utils/serverUtils.js'; /** * Модальное окно для добавления нового сервера */ function AddServerModal({ show, newServer, customProvider, onNewServerChange, onCustomProviderChange, onAddServer, onClose, error }) { const modalRef = useRef(null); useEffect(() => { if (window.Tabler && window.Tabler.Modal && modalRef.current) { const modalInstance = window.Tabler.Modal.getOrCreateInstance(modalRef.current); if (show) { modalInstance.show(); } else { modalInstance.hide(); } const handler = () => onClose && onClose(); modalRef.current.addEventListener('hide.bs.modal', handler); return () => { if (modalRef.current) { modalRef.current.removeEventListener('hide.bs.modal', handler); } }; } }, [show, onClose]); const handleChange = (field, value) => { onNewServerChange({ ...newServer, [field]: value }); }; const handleSubmit = (e) => { e.preventDefault(); onAddServer(); }; return (