diff --git a/app/web/src/components/IdeSideBar/sidebarConfig.tsx b/app/web/src/components/IdeSideBar/sidebarConfig.tsx index 7b0e3fd..11925e5 100644 --- a/app/web/src/components/IdeSideBar/sidebarConfig.tsx +++ b/app/web/src/components/IdeSideBar/sidebarConfig.tsx @@ -63,12 +63,17 @@ const DiscordLink = () => ( ) -const settingsConfig = [ +interface settingsConfig { + title: string + name: string + Content: React.FC +} + +const settingsConfig: settingsConfig[] = [ { title: 'Editor', name: 'editor', - open: false, - content: ( + Content: () => (

Coming Soon @@ -84,8 +89,7 @@ const settingsConfig = [ { title: 'Viewer', name: 'viewer', - open: false, - content: ( + Content: () => (

Coming Soon @@ -101,8 +105,7 @@ const settingsConfig = [ { title: 'Console', name: 'console', - open: false, - content: ( + Content: () => (

Coming Soon @@ -135,24 +138,26 @@ function SettingsMenu({ parentName }: { parentName: string }) { const { state, thunkDispatch } = useIdeContext() return (

- {settingsConfig.map((item) => ( + {settingsConfig.map(({ name, title, Content }) => (
{ - e.preventDefault() - thunkDispatch((dispatch) => - dispatch({ - type: 'settingsButtonClicked', - payload: [parentName, item.name], - }) - ) - }} + key={'settings-tray-' + name} + open={state.sideTray.slice(-1)[0] === name} > - - {item.title} + { + e.preventDefault() + thunkDispatch((dispatch) => + dispatch({ + type: 'settingsButtonClicked', + payload: [parentName, name], + }) + ) + }} + > + {title} - {item.content} +
))}