Simplify query cleanup effect
cgen-3a6d80a8f6cb438082499733ce835449
This commit is contained in:
parent
19c71bcf48
commit
37fabcd9bb
1 changed files with 5 additions and 13 deletions
|
|
@ -110,8 +110,7 @@ export default function Dashboard() {
|
||||||
if (typeof window === "undefined" || !user) {
|
if (typeof window === "undefined" || !user) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
const currentUrl = new URL(window.location.href);
|
const sanitized = new URLSearchParams(window.location.search);
|
||||||
const preservedTab = currentUrl.searchParams.get("tab");
|
|
||||||
const keysToStrip = [
|
const keysToStrip = [
|
||||||
"code",
|
"code",
|
||||||
"state",
|
"state",
|
||||||
|
|
@ -126,23 +125,16 @@ export default function Dashboard() {
|
||||||
];
|
];
|
||||||
let mutated = false;
|
let mutated = false;
|
||||||
keysToStrip.forEach((key) => {
|
keysToStrip.forEach((key) => {
|
||||||
if (currentUrl.searchParams.has(key)) {
|
if (sanitized.has(key)) {
|
||||||
currentUrl.searchParams.delete(key);
|
sanitized.delete(key);
|
||||||
mutated = true;
|
mutated = true;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
if (mutated) {
|
if (mutated) {
|
||||||
if (preservedTab) {
|
setSearchParams(sanitized, { replace: true });
|
||||||
currentUrl.searchParams.set("tab", preservedTab);
|
|
||||||
} else {
|
|
||||||
currentUrl.searchParams.delete("tab");
|
|
||||||
}
|
|
||||||
const nextSearch = currentUrl.searchParams.toString();
|
|
||||||
const nextUrl = `${currentUrl.pathname}${nextSearch ? `?${nextSearch}` : ""}${currentUrl.hash}`;
|
|
||||||
window.history.replaceState(null, "", nextUrl);
|
|
||||||
}
|
}
|
||||||
}, [user?.id]);
|
}, [user?.id, setSearchParams]);
|
||||||
|
|
||||||
const handleTabChange = (value: string) => {
|
const handleTabChange = (value: string) => {
|
||||||
setActiveTab(value);
|
setActiveTab(value);
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue