diff --git a/src/renderer/src/util/navigation.ts b/src/renderer/src/util/navigation.ts index 8f2d5dc..79ce25b 100644 --- a/src/renderer/src/util/navigation.ts +++ b/src/renderer/src/util/navigation.ts @@ -42,16 +42,16 @@ export const navigateToView = ( local?: boolean, options?: NavigateOptions ) => { - const url = new URL( - `/view/${username}/${toolId}${version ? `/${version}` : ''}`, - window.location.href - ) + const searchParams = new URLSearchParams() if (platform !== import.meta.env.VITE_PLATFORM) { - url.searchParams.append('platform', platform) + searchParams.append('platform', platform) } - local && url.searchParams.append('source', 'local') + local && searchParams.append('source', 'local') - navigate(`${url.pathname}${url.search}`, options) + navigate( + `/view/${username}/${toolId}${version ? `/${version}` : ''}${searchParams.size ? `?${searchParams.toString()}` : ''}`, + options + ) } export const navigateToSource = ( @@ -62,14 +62,15 @@ export const navigateToSource = ( version?: string, options?: NavigateOptions ) => { - const url = new URL( - `/source/${username}/${toolId}${version ? `/${version}` : ''}`, - window.location.href - ) + const searchParams = new URLSearchParams() if (platform !== import.meta.env.VITE_PLATFORM) { - url.searchParams.append('platform', platform) + searchParams.append('platform', platform) } - navigate(`${url.pathname}${url.search}`, options) + + navigate( + `/source/${username}/${toolId}${version ? `/${version}` : ''}${searchParams.size ? `?${searchParams.toString()}` : ''}`, + options + ) } export const navigateToRedirect = ( @@ -119,12 +120,12 @@ export const navigateToEdit = ( platform: Platform, options?: NavigateOptions ) => { - const url = new URL(`/edit/${toolId}`, window.location.href) + const searchParams = new URLSearchParams() if (platform !== import.meta.env.VITE_PLATFORM) { - url.searchParams.append('platform', platform) + searchParams.append('platform', platform) } - navigate(`${url.pathname}${url.search}`, options) + navigate(`/edit/${toolId}${searchParams.size ? `?${searchParams.toString()}` : ''}`, options) } export const navigateToUser = (navigate: NavigateFunction, options?: NavigateOptions) => { @@ -142,16 +143,13 @@ export const getViewPath = ( version?: string, local?: boolean ) => { - const url = new URL( - `/view/${username}/${toolId}${version ? `/${version}` : ''}`, - window.location.href - ) + const searchParams = new URLSearchParams() if (platform !== import.meta.env.VITE_PLATFORM) { - url.searchParams.append('platform', platform) + searchParams.append('platform', platform) } - local && url.searchParams.append('source', 'local') + local && searchParams.append('source', 'local') - return `${url.pathname}${url.search}` + return `/view/${username}/${toolId}${version ? `/${version}` : ''}${searchParams.size ? `?${searchParams.toString()}` : ''}` } export const getAndroidUrl = (username: string, toolId: string) =>