From 8f75f4741624baffa46561b96d251650a48c6b8b Mon Sep 17 00:00:00 2001 From: Laurent Nguyen Date: Tue, 11 Feb 2025 15:59:10 +0100 Subject: [PATCH] Dynamically close Home tab for Mirrored databases in Fabric rather than conditional init (which doesn't work for Native) --- src/hooks/useKnockoutExplorer.ts | 2 ++ src/hooks/useTabs.ts | 18 +++--------------- 2 files changed, 5 insertions(+), 15 deletions(-) diff --git a/src/hooks/useKnockoutExplorer.ts b/src/hooks/useKnockoutExplorer.ts index 005234f2d..2ee33bec8 100644 --- a/src/hooks/useKnockoutExplorer.ts +++ b/src/hooks/useKnockoutExplorer.ts @@ -146,6 +146,8 @@ async function configureFabric(): Promise { explorer = createExplorerFabric(data.message); if (data.message.artifactType === CosmosDbArtifactType.MIRRORED) { + // Do not show Home tab for Mirrored + useTabs.getState().closeReactTab(ReactTabKind.Home); await scheduleRefreshDatabaseResourceToken(true); } diff --git a/src/hooks/useTabs.ts b/src/hooks/useTabs.ts index 97e6736cc..59e8bcb27 100644 --- a/src/hooks/useTabs.ts +++ b/src/hooks/useTabs.ts @@ -1,5 +1,4 @@ import { clamp } from "@fluentui/react"; -import { Platform } from "ConfigContext"; import { OpenTab } from "Contracts/ActionContracts"; import { useSelectedNode } from "Explorer/useSelectedNode"; import { isFabricMirrored } from "Platform/Fabric/FabricUtil"; @@ -52,22 +51,11 @@ export enum ReactTabKind { QueryCopilot, } -// HACK: using this const when the configuration context is not initialized yet. -// Since Fabric is always setting the url param, use that instead of the regular config. -const isPlatformFabric = (() => { - const params = new URLSearchParams(window.location.search); - if (params.has("platform")) { - const platform = params.get("platform"); - return platform === Platform.Fabric; - } - return false; -})(); - export const useTabs: UseStore = create((set, get) => ({ - openedTabs: [], - openedReactTabs: !isPlatformFabric ? [ReactTabKind.Home] : [], + openedTabs: [] as TabsBase[], + openedReactTabs: [ReactTabKind.Home], activeTab: undefined, - activeReactTab: !isPlatformFabric ? ReactTabKind.Home : undefined, + activeReactTab: ReactTabKind.Home, queryCopilotTabInitialInput: "", isTabExecuting: false, isQueryErrorThrown: false,