Fix URL copied via right click menu (#4690)

* ! Fix URL copied via right click menu

- Invalid URL when copying IV video
- URL with user playlist ID

* * Make copy link entry in right click menu to only show for non user playlists
This commit is contained in:
PikachuEXE 2024-03-04 05:28:26 +08:00 committed by GitHub
parent 4d1713a7ee
commit fcd7291beb
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 9 additions and 7 deletions

View File

@ -64,7 +64,9 @@ function runApp() {
const path = urlParts[1]
if (path) {
visible = ['/playlist', '/channel', '/watch'].some(p => path.startsWith(p))
visible = ['/channel', '/watch'].some(p => path.startsWith(p)) ||
// Only show copy link entry for non user playlists
(path.startsWith('/playlist') && !/playlistType=user/.test(path))
}
} else {
visible = true
@ -103,17 +105,17 @@ function runApp() {
let url
if (toYouTube) {
url = `https://youtu.be/${id}`
url = new URL(`https://youtu.be/${id}`)
} else {
url = `https://redirect.invidious.io/watch?v=${id}`
url = new URL(`https://redirect.invidious.io/watch?v=${id}`)
}
if (query) {
const params = new URLSearchParams(query)
const newParams = new URLSearchParams()
const newParams = new URLSearchParams(url.search)
let hasParams = false
if (params.has('playlistId')) {
if (params.has('playlistId') && params.get('playlistType') !== 'user') {
newParams.set('list', params.get('playlistId'))
hasParams = true
}
@ -124,11 +126,11 @@ function runApp() {
}
if (hasParams) {
url += '?' + newParams.toString()
url.search = newParams.toString()
}
}
return url
return url.toString()
}
}
}