export default function GatePanel({ meta, value, onChange }) { if (!meta) return null; const props = meta.param_schema?.properties || {}; return (

{meta.label}

통과 조건 — 통과한 종목만 점수 노드에 전달

{Object.entries(props).map(([key, prop]) => ( onChange({ ...value, [key]: v })} /> ))}
); } function GateField({ paramKey, prop, value, onChange }) { if (prop.type === 'integer') { return (
onChange(parseInt(e.target.value, 10))} style={{ flex: 1 }} />
); } if (prop.type === 'boolean') { return (
); } return null; }