diff --git a/src/interface/index.ts b/src/interface/index.ts index 701acf68..76a4e9c1 100644 --- a/src/interface/index.ts +++ b/src/interface/index.ts @@ -27,5 +27,8 @@ if (!mountPoint) { } InjectCustomIcons(); -await initializeSettingsState(); -renderSvelte(Settings, mountPoint, { standalone: true }); + +(async () => { + await initializeSettingsState(); + renderSvelte(Settings, mountPoint, { standalone: true }); +})(); diff --git a/src/interface/pages/settings/general.svelte b/src/interface/pages/settings/general.svelte index 29dc85e8..178caac9 100644 --- a/src/interface/pages/settings/general.svelte +++ b/src/interface/pages/settings/general.svelte @@ -278,7 +278,10 @@ onChange={(value) => updatePluginSetting(plugin.pluginId, key, value)} /> {:else if setting.type === 'component'} - + {#if setting.component} + {@const Component = setting.component} + + {/if} {/if} diff --git a/src/pageState.js b/src/pageState.js index 8127e7e8..8ee66117 100644 --- a/src/pageState.js +++ b/src/pageState.js @@ -168,7 +168,7 @@ window.addEventListener("message", (event) => { case "setState": // Handle both function and object updates if (payload.updateFn) { - const updateFn = eval(`(${payload.updateFn})`); + const updateFn = new Function('return ' + payload.updateFn)(); fiberInstance.setState(updateFn); } else { fiberInstance.setState(payload.updateObject);