import React from 'react'; export default function NodeCard({ meta, weight, params, onWeightChange, onParamsChange }) { const enabled = (weight ?? 0) > 0; return (
가중치 onWeightChange(parseFloat(e.target.value))} style={{ flex: 1 }} /> {(weight ?? 0).toFixed(1)}
{Object.entries(meta.param_schema?.properties || {}).map(([key, prop]) => ( onParamsChange({ ...params, [key]: v })} /> ))}
); } function ParamRow({ paramKey, prop, value, disabled, onChange }) { const type = prop.type; if (type === 'integer' || type === 'number') { return (
{paramKey} onChange(type === 'integer' ? parseInt(e.target.value, 10) : parseFloat(e.target.value))} style={{ width: 80 }} />
); } if (type === 'boolean') { return (
); } // object/array는 MVP에서 read-only JSON 표시 (RsRating의 weights 등) return (
{paramKey}: {JSON.stringify(value)}
); }