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}
+
+ );
+ })}
+ >
+ );
}