diff --git a/src/components/workspace/TabContent.tsx b/src/components/workspace/TabContent.tsx index eb3a2a3..8ccff8c 100644 --- a/src/components/workspace/TabContent.tsx +++ b/src/components/workspace/TabContent.tsx @@ -8,9 +8,8 @@ import { EntityLookupPanel } from "@/components/lookup/EntityLookupPanel"; export function TabContent() { const { tabs, activeTabId, updateTab } = useAppStore(); - const activeTab = tabs.find((t) => t.id === activeTabId); - if (!activeTab) { + if (tabs.length === 0) { return (
Open a query tab or select a table to get started. @@ -18,56 +17,75 @@ export function TabContent() { ); } - switch (activeTab.type) { - case "query": - return ( - updateTab(activeTab.id, { sql })} - /> - ); - case "table": - return ( - - ); - case "structure": - return ( - - ); - case "roles": - return ( - - ); - case "sessions": - return ( - - ); - case "lookup": - return ( - - ); - default: - return null; - } + return ( + <> + {tabs.map((tab) => { + const isActive = tab.id === activeTabId; + let content: React.ReactNode; + + switch (tab.type) { + case "query": + content = ( + updateTab(tab.id, { sql })} + /> + ); + break; + case "table": + content = ( + + ); + break; + case "structure": + content = ( + + ); + break; + case "roles": + content = ( + + ); + break; + case "sessions": + content = ( + + ); + break; + case "lookup": + content = ( + + ); + break; + default: + content = null; + } + + return ( +
+ {content} +
+ ); + })} + + ); }