diff --git a/src/renderer/components/ft-element-list/ft-element-list.js b/src/renderer/components/ft-element-list/ft-element-list.js index b82b04f95afe0..4479f6c8f0d69 100644 --- a/src/renderer/components/ft-element-list/ft-element-list.js +++ b/src/renderer/components/ft-element-list/ft-element-list.js @@ -71,6 +71,14 @@ export default defineComponent({ type: String, default: null }, + isInvidiousPlaylist: { + type: Boolean, + default: false, + }, + origin: { + type: String, + default: null + } }, emits: ['move-video-down', 'move-video-up', 'remove-from-playlist'], computed: { diff --git a/src/renderer/components/ft-element-list/ft-element-list.vue b/src/renderer/components/ft-element-list/ft-element-list.vue index 7331d2e7ff8b6..f2bfcfcf6825a 100644 --- a/src/renderer/components/ft-element-list/ft-element-list.vue +++ b/src/renderer/components/ft-element-list/ft-element-list.vue @@ -22,6 +22,8 @@ :playlist-id="playlistId" :playlist-type="playlistType" :playlist-item-id="result.playlistItemId" + :is-invidious-playlist="isInvidiousPlaylist" + :origin="origin" @move-video-up="moveVideoUp(result.videoId, result.playlistItemId)" @move-video-down="moveVideoDown(result.videoId, result.playlistItemId)" @remove-from-playlist="removeFromPlaylist(result.videoId, result.playlistItemId)" diff --git a/src/renderer/components/ft-list-lazy-wrapper/ft-list-lazy-wrapper.js b/src/renderer/components/ft-list-lazy-wrapper/ft-list-lazy-wrapper.js index f94037ef774bd..dcb755ba1e424 100644 --- a/src/renderer/components/ft-list-lazy-wrapper/ft-list-lazy-wrapper.js +++ b/src/renderer/components/ft-list-lazy-wrapper/ft-list-lazy-wrapper.js @@ -84,6 +84,14 @@ export default defineComponent({ type: Boolean, default: false, }, + isInvidiousPlaylist: { + type: Boolean, + default: false, + }, + origin: { + type: String, + default: null + } }, emits: ['move-video-down', 'move-video-up', 'remove-from-playlist'], data: function () { diff --git a/src/renderer/components/ft-list-lazy-wrapper/ft-list-lazy-wrapper.vue b/src/renderer/components/ft-list-lazy-wrapper/ft-list-lazy-wrapper.vue index df93ed245667b..4f43aab7822e2 100644 --- a/src/renderer/components/ft-list-lazy-wrapper/ft-list-lazy-wrapper.vue +++ b/src/renderer/components/ft-list-lazy-wrapper/ft-list-lazy-wrapper.vue @@ -26,6 +26,8 @@ :can-move-video-up="canMoveVideoUp" :can-move-video-down="canMoveVideoDown" :can-remove-from-playlist="canRemoveFromPlaylist" + :is-invidious-playlist="isInvidiousPlaylist" + :origin="origin" @move-video-up="moveVideoUp" @move-video-down="moveVideoDown" @remove-from-playlist="removeFromPlaylist" diff --git a/src/renderer/components/ft-list-video-numbered/ft-list-video-numbered.js b/src/renderer/components/ft-list-video-numbered/ft-list-video-numbered.js index 68a863beb58fd..b089df708a663 100644 --- a/src/renderer/components/ft-list-video-numbered/ft-list-video-numbered.js +++ b/src/renderer/components/ft-list-video-numbered/ft-list-video-numbered.js @@ -74,7 +74,19 @@ export default defineComponent({ isCurrentVideo: { type: Boolean, default: false - } + }, + useChannelsHiddenPreference: { + type: Boolean, + default: false, + }, + isInvidiousPlaylist: { + type: Boolean, + default: false + }, + origin: { + type: String, + default: null + }, }, emits: ['move-video-down', 'move-video-up', 'pause-player', 'remove-from-playlist'], data: function () { diff --git a/src/renderer/components/ft-list-video-numbered/ft-list-video-numbered.vue b/src/renderer/components/ft-list-video-numbered/ft-list-video-numbered.vue index 192bcc03b1a35..dc6c7b808e59e 100644 --- a/src/renderer/components/ft-list-video-numbered/ft-list-video-numbered.vue +++ b/src/renderer/components/ft-list-video-numbered/ft-list-video-numbered.vue @@ -39,6 +39,8 @@ :can-move-video-up="canMoveVideoUp" :can-move-video-down="canMoveVideoDown" :can-remove-from-playlist="canRemoveFromPlaylist" + :origin="origin" + :is-invidious-playlist="isInvidiousPlaylist" @pause-player="pausePlayer" @move-video-up="moveVideoUp" @move-video-down="moveVideoDown" diff --git a/src/renderer/components/ft-list-video/ft-list-video.js b/src/renderer/components/ft-list-video/ft-list-video.js index cc91ac027bf55..d0b18e17a5291 100644 --- a/src/renderer/components/ft-list-video/ft-list-video.js +++ b/src/renderer/components/ft-list-video/ft-list-video.js @@ -84,6 +84,14 @@ export default defineComponent({ type: Boolean, default: false, }, + isInvidiousPlaylist: { + type: Boolean, + default: false, + }, + origin: { + type: String, + default: null + } }, emits: ['move-video-down', 'move-video-up', 'pause-player', 'remove-from-playlist'], data: function () { @@ -485,6 +493,9 @@ export default defineComponent({ if (this.playlistIdFinal) { query.playlistId = this.playlistIdFinal } if (this.playlistTypeFinal) { query.playlistType = this.playlistTypeFinal } if (this.playlistItemIdFinal) { query.playlistItemId = this.playlistItemIdFinal } + if (this.isInvidiousPlaylist) { query.isInvidiousPlaylist = true } + if (this.origin) { query.origin = this.origin } + return query }, diff --git a/src/renderer/components/ft-share-button/ft-share-button.js b/src/renderer/components/ft-share-button/ft-share-button.js index 054e3e58ab3cc..19fa681a1eb47 100644 --- a/src/renderer/components/ft-share-button/ft-share-button.js +++ b/src/renderer/components/ft-share-button/ft-share-button.js @@ -38,7 +38,11 @@ export default defineComponent({ dropdownPositionY: { type: String, default: 'bottom' - } + }, + invidiousInstance: { + type: String, + default: null + }, }, data: function () { return { @@ -54,6 +58,10 @@ export default defineComponent({ return this.shareTargetType === 'Playlist' }, + isIVPlaylist: function () { + return this.shareTargetType === 'IVPlaylist' + }, + isVideo: function() { return this.shareTargetType === 'Video' }, @@ -62,7 +70,7 @@ export default defineComponent({ if (this.isChannel) { return this.$t('Share.Share Channel') } - if (this.isPlaylist) { + if (this.isPlaylist || this.isIVPlaylist) { return this.$t('Share.Share Playlist') } return this.$t('Share.Share Video') @@ -91,6 +99,9 @@ export default defineComponent({ if (this.isPlaylist) { return `${this.currentInvidiousInstance}/playlist?list=${this.id}` } + if (this.isIVPlaylist) { + return `${this.invidiousInstance}/playlist?list=${this.id}` + } let videoUrl = `${this.currentInvidiousInstance}/watch?v=${this.id}` // `playlistId` can be undefined if (this.playlistSharable) { @@ -104,6 +115,9 @@ export default defineComponent({ if (this.isPlaylist) { return `${this.currentInvidiousInstance}/embed/videoseries?list=${this.id}` } + if (this.isIVPlaylist) { + return `${this.invidiousInstance}/embed/videoseries?list=${this.id}` + } return `${this.currentInvidiousInstance}/embed/${this.id}` }, @@ -150,7 +164,7 @@ export default defineComponent({ return `https://www.youtube-nocookie.com/embed/videoseries?list=${this.id}` } return `https://www.youtube-nocookie.com/embed/${this.id}` - }, + } }, mounted() { // Prevents to instantiate a ft-share-button for a video without a get-timestamp function diff --git a/src/renderer/components/ft-share-button/ft-share-button.vue b/src/renderer/components/ft-share-button/ft-share-button.vue index b72380c90ce1c..8e874717132db 100644 --- a/src/renderer/components/ft-share-button/ft-share-button.vue +++ b/src/renderer/components/ft-share-button/ft-share-button.vue @@ -19,7 +19,10 @@ />