diff options
Diffstat (limited to 'src/assets/javascripts/services.js')
-rw-r--r-- | src/assets/javascripts/services.js | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/assets/javascripts/services.js b/src/assets/javascripts/services.js index c59e4344..0b418f91 100644 --- a/src/assets/javascripts/services.js +++ b/src/assets/javascripts/services.js @@ -97,6 +97,9 @@ function redirect(url, type, initiator, forceRedirection) { break } if (!frontend || !randomInstance) return + let randomInstanceURL = new URL(randomInstance); + let allParams = randomInstanceURL.searchParams + url.searchParams.forEach((value, key) => allParams.append(key, value)) // Here is a (temperory) space for defining constants required in 2 or more switch cases. // When possible, try have the two switch cases share all their code as done with searx and searxng. @@ -116,7 +119,6 @@ function redirect(url, type, initiator, forceRedirection) { } return [zoom, lon, lat] } - console.log(frontend) switch (frontend) { // This is where all instance-specific code must be ran to convert the service url to one that can be understood by the frontend. case "beatbump": @@ -447,8 +449,11 @@ function redirect(url, type, initiator, forceRedirection) { return `${randomInstance}${url.pathname}${url.search}` case "simpleertube": return `${randomInstance}/${url.hostname}${url.pathname}${url.search}` + case "invidious": + case "piped": + return `${utils.protocolHost(randomInstanceURL)}${url.pathname}?${allParams.toString()}` default: - return `${randomInstance}${url.pathname}${url.search} ` + return `${randomInstance}${url.pathname}${url.search}` } } |