import React, { useState } from 'react'; import { getPresets, savePreset, loadPreset, deletePreset } from '../engine/presets.js'; export default function PresetModal({ mode, onClose }) { const [name, setName] = useState(''); const presets = getPresets(); const handleSave = () => { if (!name.trim()) return; savePreset(name.trim()); onClose(); }; const handleLoad = (presetName) => { loadPreset(presetName); onClose(); }; const handleDelete = (e, presetName) => { e.stopPropagation(); deletePreset(presetName); // Force re-render setName(n => n + ''); }; return (
e.stopPropagation()}>

{mode === 'save' ? 'Save Preset' : 'Load Preset'}

{mode === 'save' && ( <> setName(e.target.value)} onKeyDown={e => e.key === 'Enter' && handleSave()} />
)} {mode === 'load' && ( <>
{presets.length === 0 && (
No presets saved yet
)} {presets.map(p => (
handleLoad(p.name)}> {p.name} {p.modules?.length || 0} modules
))}
)}
); }