Skip to content

Commit 9f6834e

Browse files
committed
Merge branch 'develop'
2 parents 59e43b0 + 8205310 commit 9f6834e

File tree

1 file changed

+13
-11
lines changed

1 file changed

+13
-11
lines changed

src/components/gui/database-gui.tsx

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import {
44
ResizablePanel,
55
ResizablePanelGroup,
66
} from "@/components/ui/resizable";
7-
import { useCallback, useEffect, useMemo, useState } from "react";
7+
import { useEffect, useMemo, useRef, useState } from "react";
88
import { openTab } from "@/messages/open-tab";
99
import WindowTabs, { WindowTabItemProps } from "./windows-tab";
1010
import useMessageListener from "@/components/hooks/useMessageListener";
@@ -139,12 +139,13 @@ export default function DatabaseGui() {
139139
].filter(Boolean) as { text: string; onClick: () => void }[];
140140
}, [currentSchemaName, databaseDriver]);
141141

142-
const onTabSelectChange = useCallback(
143-
(newTabIndex: number) => {
144-
setSelectedTabIndex(newTabIndex);
145-
146-
const currentTab = tabs[newTabIndex];
147-
if (currentTab) {
142+
// Send to analytic when tab changes.
143+
const previousLogTabKey = useRef<string>("");
144+
useEffect(() => {
145+
const currentTab = tabs[selectedTabIndex];
146+
if (currentTab && currentTab.key !== previousLogTabKey.current) {
147+
// We don't log the first tab because it's already logged in the main screen.
148+
if (previousLogTabKey.current) {
148149
sendAnalyticEvents([
149150
{
150151
name: "page_view",
@@ -156,9 +157,10 @@ export default function DatabaseGui() {
156157
},
157158
]);
158159
}
159-
},
160-
[tabs]
161-
);
160+
161+
previousLogTabKey.current = currentTab.key;
162+
}
163+
}, [tabs, selectedTabIndex, previousLogTabKey]);
162164

163165
return (
164166
<div className="h-screen w-screen flex flex-col">
@@ -172,7 +174,7 @@ export default function DatabaseGui() {
172174
menu={tabSideMenu}
173175
tabs={tabs}
174176
selected={selectedTabIndex}
175-
onSelectChange={onTabSelectChange}
177+
onSelectChange={setSelectedTabIndex}
176178
onTabsChange={setTabs}
177179
/>
178180
</ResizablePanel>

0 commit comments

Comments
 (0)