Skip to content

Commit 50fc006

Browse files
authored
fix(clerk-js): Browser back/forward nav for tabs (#6264)
1 parent 2fbdad0 commit 50fc006

File tree

2 files changed

+15
-2
lines changed

2 files changed

+15
-2
lines changed

.changeset/all-doors-sing.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@clerk/clerk-js': patch
3+
---
4+
5+
Fix browser back / forward navigation for tabs

packages/clerk-js/src/ui/hooks/useTabState.ts

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import React from 'react';
1+
import { useEffect, useState } from 'react';
22

33
import { useRouter } from '../router';
44

@@ -15,7 +15,15 @@ export const useTabState = (tabMap: TabMap, defaultTab = 0) => {
1515
return tabIndex ? parseInt(tabIndex, 10) : defaultTab;
1616
};
1717

18-
const [selectedTab, setSelectedTab] = React.useState(getInitialTab());
18+
const [selectedTab, setSelectedTab] = useState(getInitialTab());
19+
20+
// Listen for URL changes (browser back/forward)
21+
useEffect(() => {
22+
const currentTab = getInitialTab();
23+
if (currentTab !== selectedTab) {
24+
setSelectedTab(currentTab);
25+
}
26+
}, [router.queryParams.tab]);
1927

2028
const handleTabChange = (index: number) => {
2129
setSelectedTab(index);

0 commit comments

Comments
 (0)