diff --git a/frontend/src/components/layout/Sidebar.tsx b/frontend/src/components/layout/Sidebar.tsx index e3c14d9..b760bbe 100644 --- a/frontend/src/components/layout/Sidebar.tsx +++ b/frontend/src/components/layout/Sidebar.tsx @@ -133,7 +133,7 @@ export function Sidebar() { if (a.order !== b.order) return a.order - b.order; return a.label.localeCompare(b.label); }); - }, [manifests, menuOrderData, user]); + }, [manifests, menuOrderData, user, isModuleVisible]); const [expandedItems, setExpandedItems] = useState>(new Set()); diff --git a/frontend/src/components/settings/WorkspaceManager.tsx b/frontend/src/components/settings/WorkspaceManager.tsx index edf3a76..6447eef 100644 --- a/frontend/src/components/settings/WorkspaceManager.tsx +++ b/frontend/src/components/settings/WorkspaceManager.tsx @@ -45,6 +45,7 @@ export function WorkspaceManager() { const [moduleWsId, setModuleWsId] = useState(null); const [moduleConfig, setModuleConfig] = useState([]); + const [configEditingKey, setConfigEditingKey] = useState(null); const workspaces = wsData?.items || []; @@ -156,14 +157,43 @@ export function WorkspaceManager() { {moduleConfig.map(m => { const mod = availableModules.find(a => a.key === m.module_key); return ( - +
+ + {m.is_visible && configEditingKey === m.module_key && ( +
+