diff --git a/frontends/nextjs/src/components/ComponentConfigDialog.tsx b/frontends/nextjs/src/components/ComponentConfigDialog.tsx index ce0bf9857..7a576227e 100644 --- a/frontends/nextjs/src/components/ComponentConfigDialog.tsx +++ b/frontends/nextjs/src/components/ComponentConfigDialog.tsx @@ -23,31 +23,30 @@ interface ComponentConfigDialogProps { export function ComponentConfigDialog({ node, isOpen, onClose, onSave, nerdMode = false }: ComponentConfigDialogProps) { const [config, setConfig] = useState(null) - const [props, setProps] = useState>({}) - const [styles, setStyles] = useState>({}) + const [props, setProps] = useState>({}) + const [styles, setStyles] = useState>({}) const [events, setEvents] = useState>({}) useEffect(() => { - loadConfig() - }, [node.id]) + const loadConfig = async () => { + const allConfigs = await Database.getComponentConfigs() + const existingConfig = allConfigs[node.id] - const loadConfig = async () => { - const allConfigs = await Database.getComponentConfigs() - const existingConfig = allConfigs[node.id] - - if (existingConfig) { - setConfig(existingConfig) - setProps(existingConfig.props || {}) - setStyles(existingConfig.styles || {}) - setEvents(existingConfig.events || {}) - } else { - const componentDef = componentCatalog.find(c => c.type === node.type) - setProps(componentDef?.defaultProps || {}) - setStyles({}) - setEvents({}) - setConfig(null) + if (existingConfig) { + setConfig(existingConfig) + setProps(existingConfig.props || {}) + setStyles(existingConfig.styles || {}) + setEvents(existingConfig.events || {}) + } else { + const componentDef = componentCatalog.find(c => c.type === node.type) + setProps(componentDef?.defaultProps || {}) + setStyles({}) + setEvents({}) + setConfig(null) + } } - } + void loadConfig() + }, [node.id, node.type]) const handleSave = async () => { const newConfig: ComponentConfig = {