diff --git a/js/app.js b/js/app.js index 58125cb4..b258e3ff 100644 --- a/js/app.js +++ b/js/app.js @@ -4332,8 +4332,11 @@ class Application { const currentView = getHashViewName(); const normalizedView = typeof currentView === "string" ? currentView.toLowerCase() : ""; + const urlParams = new URLSearchParams(window.location.search); + const hasVideoParam = urlParams.has("v"); + if (!normalizedView || normalizedView === "most-recent-videos") { - setHashView("for-you"); + setHashView("for-you", { preserveVideoParam: hasVideoParam }); } const rawProviderId = diff --git a/js/hashView.js b/js/hashView.js index e900f612..ee28e9c2 100644 --- a/js/hashView.js +++ b/js/hashView.js @@ -14,14 +14,16 @@ export function getHashViewName() { return viewName.trim(); } -export function setHashView(viewName) { +export function setHashView(viewName, options = {}) { if (typeof window === "undefined") { return; } const url = new URL(window.location.href); url.searchParams.delete("modal"); - url.searchParams.delete("v"); + if (!options?.preserveVideoParam) { + url.searchParams.delete("v"); + } const newUrl = url.pathname + url.search + `#view=${viewName}`; window.history.replaceState({}, "", newUrl);