export function navigationHref(path: string): string { const target = new URL(path, location.href) if (target.origin !== location.origin) return target.href const current = new URLSearchParams(location.search) for (const key of new Set(current.keys())) { if (key === 'token' || target.searchParams.has(key)) continue for (const value of current.getAll(key)) target.searchParams.append(key, value) } return `${target.pathname}${target.search}${target.hash}` }