import { useState } from 'react'; import '../style/AddAppModal.css'; function AppModal({ mode = 'add', initialData = {}, onSubmit, onClose, sections = [] }) { const [open, setOpen] = useState(true); const [section, setSection] = useState(initialData.section || ''); const [customSection, setCustomSection] = useState(false); const [name, setName] = useState(initialData.name || ''); const [icon, setIcon] = useState(initialData.icon || ''); const [description, setDescription] = useState(initialData.description || ''); const [url, setUrl] = useState(initialData.url || ''); const handleSubmit = async (e) => { e.preventDefault(); const appData = { name, icon, description, url, }; const payload = { section, app: appData, }; if (mode === 'edit') { payload.original_name = initialData.original_name || initialData.name; } await onSubmit(payload); setOpen(false); if (onClose) onClose(); }; if (!open) return null; return (
{ setOpen(false); if (onClose) onClose(); }}>
e.stopPropagation()}>

{mode === 'edit' ? 'Edit App' : 'Add New App'}

{customSection && ( setSection(e.target.value)} required /> )} setName(e.target.value)} required /> setIcon(e.target.value)} /> setDescription(e.target.value)} /> setUrl(e.target.value)} required />
); } export default AppModal;