FreeTube/src/renderer/components/ft-list-video/ft-list-video.js

832 lines
25 KiB
JavaScript
Raw Normal View History

import { defineComponent } from 'vue'
import FtIconButton from '../ft-icon-button/ft-icon-button.vue'
import { mapActions } from 'vuex'
import {
copyToClipboard,
formatDurationAsTimestamp,
formatNumber,
getRelativeTimeFromDate,
openExternalLink,
showToast,
toDistractionFreeTitle,
deepCopy
} from '../../helpers/utils'
import { deArrowData, deArrowThumbnail } from '../../helpers/sponsorblock'
import debounce from 'lodash.debounce'
2020-02-16 19:30:00 +01:00
export default defineComponent({
2020-02-16 19:30:00 +01:00
name: 'FtListVideo',
components: {
'ft-icon-button': FtIconButton
},
2020-02-16 19:30:00 +01:00
props: {
data: {
type: Object,
required: true
},
playlistId: {
type: String,
default: null
},
(Multiple) Local Playlist (instead of saving video in one hidden list) (#4234) * ! Fix add/removing videos from favourite list * ! Fix playlist type not passed into video list item component * ! Fix playlist data loading issue on new windows * ! Fix user playlist data parsing * * Ensure playlist view rerender on video additonal removal for displayed playlist * ! Fix icons & moving videos up/down in user playlist * * Don't show move up/down buttons when cannot be done * * Make user playlist view filtering function now works for filtering playlists * ! Fix style of prompt from any button within playlist-info component * $ Refactor a function to use early return style * * Disallow empty playlist name when saving in playlist edit mode * * Update add video to playlist prompt to have simple filtering like user playlist view * * Update playlist view to only show video reorder/remove buttons in edit mode With notice message * ! Fix playlist view for remote playlist unnecessary reload on save * ! Fix add to playlist prompt behaviour when some playlists are hidden due to filtering * $ Remove unused watch function arguments * * Update user playlist view create new playlist button position * * Update playlist view to add transitions to video reorder/removal * * Allow playlist with different case to be created * * Update visibility of user playlist related action components according to hide playlist settings Only those visible on video, remote playlist are updated * * Update video items to only show add to playlist buttons on hover * - Remove add to favorites button from video list item component * * Update watch-video-info component to add "add to playlist" button * * Update watch-video-info component to remove "add to favourite" button * * Ensure video thumbnail image displayed in 16/9 aspect ratio Mainly due to YT missing video thumbnail image got different aspect ratio 4/3 * * Update new buttons theme * * Put edit playlist button before copy button * * Move "remove video from playlist" button to most right * * Make video reorder & remove button visible on hover in user playlist view, regardless of "edit mode" * ! Fix video count parsing for user playlist * * Update user playlist to allow duplicate video entries (per video ID) * * Remove extra attributes assignment to video object except `timeAdded` Unintended change * * Update copy playlist button to like adding multiple videos to playlists * * Update copy playlist prompt to prefill title if create new playlist prompt shown * * Ensure all playlists have `playlistName` * $- Remove unused playlist property `removeOnWatched` * * Update read all playlist code to ensure existing "default" playlist properties (_id, protected) have same values as those in default Also fix issue discovered during testing * *- Remove unnecessary code line * * Update playlists from default playlists to be deletable * ! Fix duplicate `timeAdded` value for videos copied from user playlist * ! Fix playlist import (tested with db file exported from this branch) * * Update grid view to only display playlist title up to 255 chars Still can see full title in single playlist view * * Update add video to playlist prompt to only display playlist title up to 255 chars * * Update text of new playlist button to be same as new profile button * * Ignore many extra keys from playlist objectrs Also make data import check for object keys against required keys not key counts * * Disallow playlist import from changing internal playlist ID of existing playlists Existing playlists are matched by playlist name, not by internal playlist ID * * Ensure playlist name & description trimmed when saved * * Add missing change for importing playlist to ignore `protected` * $ Refactor code for "video object has all require keys" * ! Fix style of prompt from any button within playlist-info component again z-index war * * Update some empty message & button text * * Ensure playlist item action buttons are hidden during animations * ! Fix other prompt z-index * * Update `showAddToPlaylistPromptForManyVideos` to throw error when required keys missing from passed in video data * *- Remove unused video property `paid` from playlist related code * *- Remove unused video property `type` from playlist related code * ! Fix duplicate playlist displayed on playlist conversion * *- Remove unused video property `published` from playlist related code * * Don't require & generate property `timeAdded` when display a prompt * *- Remove unused video property `isLive` from playlist related code * ! Fix text * ! Revert code change for debugging only * ! Fix CSS for "Ensure playlist item action buttons are hidden during animations" * * Update add playlist button to be shown for live videos * + Add clear all playlists button * * Update add video to playlist prompt to swap "save" & "create playlist" button * ! Fix playlist view won't load after default playlist added due to lack of playlist * * Show toast message when no playlist selected after pressing save button * * Update add video to playlist prompt to show latest updated playlist first Easier for copying playlist with new playlist(s) * ! Fix watch page when visited via history after viewing the video from a deleted user playlist * ! Fix share buttons emitting user playlist IDs * * Add toast message after removing all playlists * ! Fix remote playlist video list rendering with duplicate videos * ! Fix missing key for some direct child elements under `transition-group` * ! Fix animation introduced to unnecessary elements * ! Prevent video link click during animation * ! Fix playlist creation/removal not reflected in other windows * * Ensure playlist visual selected state in sync with data in parent * * Update add video to playlist prompt to auto select playlists created after prompt shown once * * Update copy playlist button to show warning about not loaded videos when some not loaded yet For remote playlist Won't work for Invidious though (coz no way to load more) * * Update add video prompt to make it easier to access buttons via keyboard * * Make video reorder & remove button always visible in user playlist view * * Make plus button can be focused with tab Side effect is thumbnail link can be focused too (otherwise can't make plus button visible) * * Update add video to playlist prompt to focus on search input on shown * * Accept playlist optional property `createdAt` when importing * * Update playlist view to always show add to playlist button * $ Refactor `inUserPlaylist` Only playlist view would supply `playlistType` * * Improve accessibility for new prompts * * Make edit playlist inputs focused on entering edit mode * * Make most prompts focus back to last focused element on close * $ Use tabindex 0 for prompts Possible tabindex values unnecessary with elements programatically focused * * Update add video to playlist prompt to focus back to search input after new playlist created * * Update ft-list-video to focus back on thumbnail link element after add to playlist prompt closed * ! Fix unable to import duplicate video entries into an existing playlist * ! Fix create playlist prompt looks unclosed after playlist created when opened via add video to playlist prompt * ! Fix duplicate video entry ID when playlist with duplicate videoId entries copied to another playlist * ! Fix issues caused by last merge in e291cc8b41b2273a0d77c9f35ea760f0e0f7ac10 * $ Remove unused imports * ! Fix default playlists added when no playlist stored had no required attributes added on 1st run * ! Fix invalid prop type warning * * Use v-if instead of v-show * $ Just assign bool value instead of if-else * + Update playlists view to add sorting option * $- Remove unnecessary property assignments * ! Fix issues caused by "Remove unnecessary property assignments" * ! Fix issues caused by "Remove unnecessary property assignments" * * Ensure sort by time also fallbacks to playlist name sorting * ! Fix add/remove video does not update playlist last created time * ! Fix multi window playlist sync * * Show filtering input & sorting element when no. of playlist > 1 * * Update upcoming video to allow saving in playlist * ! Fix unable to visit previous video when playing first video in a playlist * * Update sorting options labels * ! Fix add to play prompt max width * ! Fix user playlist view incorrectly sorted playlists by latest updated first when filtered * * Update add to playlist prompt to add sort options * $ Remove unused classname * ! Ensure new playlist button focused after add to playlist prompt closed while thumbnail link unselectable * * Add playlists sort order for last played at, update it on play * ! Fix bug introduced by last merge * ! Fix thumbnail not respecting backend preference * ! Fix empty playlist thumbnail in single playlist view * * Make adding large no. of videos faster * $ Remove unused mapActions entries * $ Remove unused and unusable playlist code for inserting video IDs into a playlist * * Update single playlist view to only show `Remove watched videos` btn when there is any video * ! Fix prompt style issue caused by old branch changes * ! Fix removing video from local playlist remove all entries with same video ID * ! Fix adding video does not have uniqueID & timeAdded set Caused by previous add many video performance fix * ! Fix navigation in user playlist between entries of same video * * Reflect playlist updates on watch page playlist panel * $- Remove outdated incorrect prompt style fix * ! Fix add video to playlist prompt too high when there are too many playlists * ! Fix watch page play next/prev video in local playlist * ! Fix error in online playlist playing * * Keep partial playlist backward compatibility by restoring `type` in persisted playlist videos * ! Fix grid item for playlist to hide external player button for local playlist * * Make history rememeber uniqueId (local playlist video entry) when playing video with local playlist * ! Fix grid item for video in user playlist to hide external player button * ! Fix grid item for video in history with user playlist to hide external player button * ! Fix grid item for video in watch page playlist component with user playlist to hide external player button * * Update watch page to clear `uniqueID` from query when not playing local playlist * ! Fix watch page about user playlist detection on new window * * Reflect playlist updates on watch page playlist panel, even for currently playing video * ! Allow video with local playlist to be played in external player, but without playlist Also add missing fix for WatchVideoInfo * ! Fix external player handling for video in local playlist * ! Fix ft-video having different URLs in links * yarn run lint-style-fix * $ Rename uniqueId to playlistItemId * * Ensure local playlist ID won't conflict with remote playlist ID * - Remove import video while creating playlist related code * * Make text translatable * * Make sort option text translatable * ! Fix reverse condition * $ Just use ?. * Code review changes * Spaces * beforeDestroy * Remove unused methods * Remove infoData * filter > find * avoid importing `crypto` from NodeJS * Compress CSS ruleset * $ Remove useless prefix from key * Use template for element with v-if only * Make playlist selector look more selectable (cursor: pointer) * Translate toast messages and fix remove watched videos from playlist * ! Fix translation * - Remove unused methods * $ Remove workaround for issue which cannot be reproduced anymore * $ Remove remaining useless code following last commit removing workaround * you have no playlist > you have no playlists * CSS use var --horizontal-directionality-coefficient * * Update danger buttons color to primary (like clear search cache button) * ! Fix playlist icon container size * ! Fix sorting in add video to playlist prompt when filtered * $- Update ft-inputs to removed prop input-tabindex * ! Fix vue warning * + Add toggle to export playlist for older FT * * Update tooltip text * ! Fix vue warning * * Update text align * * Remove the extra surrounding spaces * Backtick > quote * - Remove useless prop * Fix tootip in lower width view * Update default filename * * Make tooltip auto-wrap * Revert "* Make tooltip auto-wrap" This reverts commit 7d932b936c7814349e50204a7979d2d0f5b0ea73. * Adjust tooltip styling * * Wait for local playlist loading only when playing with a user playlist * * Wait for local playlist loading only when playing with a user playlist requested Request user playlist can still be absent (but not requested for no playlist or remote playlist) * ! Fix single playlist view cover image having link when no video * ! Workaround create playlist prompt won't close when enter pressed in input box * ! Fix clear text button style * ! Fix copying playlist twice to the same user playlist produces same playlistItemId * ! Fix add video to playlist prompt input box style * ! Fix workaround for "create playlist prompt won't close when enter pressed in input box" * ! Ensure add video to playlist prompt updated when a playlist deleted (in another window) * ! Avoid saving and displaying unwanted video attributes into playlists * ! Fix playlist view for deleted user playlists * ! Fix copying playlist twice to the same user playlist produces same playlistItemId Real fix Cause of issue: updating property of input objects (which is shared across multiple run) * ! Fix search suggestions being blocked by playlist info component in single playlist view * ! Fix warning when reversing playlist in watch view * ! Fix prompt in playlist view (playlistinfo component) not above sidebar * Remove CSS top comments absent in other CSS files * Remove not useful comment for CSS * Float with variable Co-authored-by: Jason <84899178+jasonhenriquez@users.noreply.github.com> * Revert "! Fix clear text button style" This reverts commit 44ed286848e3cdf4c52f29a867fe09964adffd78. * Missing change for Revert "! Fix clear text button style" * $ Remove unused style for ft-playlist-selector * Apply changes from review * * Use $tc for translation entries with different value according to count values * ! Fix playlist link in watch view --------- Co-authored-by: Jason Henriquez <jasonhenriquez@protonmail.com> Co-authored-by: Jason <84899178+jasonhenriquez@users.noreply.github.com>
2024-01-03 19:44:57 +01:00
playlistType: {
type: String,
default: null
},
playlistItemId: {
type: String,
default: null
},
Add support for External Players (closes #418) (#1271) * feat: add support for opening videos/playlists in external players (like mpv) #418 Signed-off-by: Randshot <randshot@norealm.xyz> * feat: move external player settings into own section feat: add warnings for when the external player doesn't support the current action (e.g. reversing playlists) feat: add toggle in settings for ignoring unsupported action warnings Signed-off-by: Randshot <randshot@norealm.xyz> * improvement: do not append start offset argument when the watch progress is 0 Signed-off-by: Randshot <randshot@norealm.xyz> * fix: fix undefined showToast error when clicking on the external player playlist button Signed-off-by: Randshot <randshot@norealm.xyz> * feat: add icon button for external player to watch-video-info (below video player) component improvement: refactor the code for opening the external player into a separate function in utils.js Signed-off-by: Randshot <randshot@norealm.xyz> * feat: add support for ytdl protocol urls (supportsYtdlProtocol) chore: fix lint error Signed-off-by: Randshot <randshot@norealm.xyz> * feat: add support for passing default playback rate to external player improvement: add warning message for when the external player does not support starting playback at a given offset chore: rename reverse, shuffle, and loopPlaylist fields for consistency Signed-off-by: Randshot <randshot@norealm.xyz> * feat: add setting for custom external player command line arguments Signed-off-by: Randshot <randshot@norealm.xyz> * chore: fix lint error Signed-off-by: Randshot <randshot@norealm.xyz> * improvement(watch-video-info.js): change the default for playlistId back to null (consistent with other occurrences) improvement(utils.js/openInExternalPlayer): also check for empty playlistId string fix(watch-video-info.js): fix merge error Signed-off-by: Randshot <randshot@norealm.xyz> * improvement(components/ft-list-video): check whether watch history is turned on, before adding a video to it fix(store/utils): fix playlistReverse typo, causing `undefined` being set as a command line argument fix(store/utils): check for 'string' type, instead of `null` and `undefined` fix(views/Watch): fix getPlaylistIndex returning an incorrect index, when reverse was turned on chore(locales/en-US): fix thumbnail and suppress typo chore(locales/en_GB): fix thumbnail and suppress typo Signed-off-by: Randshot <randshot@norealm.xyz> * feat: pause player when opening video in external player Signed-off-by: Randshot <randshot@norealm.xyz> * feat(externalPlayer): refactor externalPlayerCmdArguments into a separate static file `static/external-player-map.json` chore(components/ft-list-video): fix lint error Signed-off-by: Randshot <randshot@norealm.xyz> * Revert "feat: pause player when opening video in external player" This reverts commit 28b4713334bf941be9e403abf517bb4b89beb04f. * feat: pause the app's player when opening video in external player * This commit addresses above requested changes. improvement(components/external-player-settings): move `externalPlayer` check to `ft-flex-box` improvement(components/external-player-settings): use `update*` methods, instead of `handle*` improvement(store/utils): move child_process invocation to `main/index.js` via IPC call to renderer improvement(store/utils): use `dispatch` for calling actions improvement(store/utils): get external player related settings directly in the action improvement(renderer/App): move `checkExternalPlayer` call down into `usingElectron` if statement fix(renderer/App): fix lint error improvement(components/ft-list-playlist): remove unnecessary payload fields fix(components/ft-list-playlist): fix typo in component name improvement(components/ft-list-video): remove unnecessary payload fields improvement(components/watch-video-info): remove unnecessary payload fields improvement(views/Settings): add `usingElectron` condition Signed-off-by: Randshot <randshot@norealm.xyz> * fix(store/utils): fix toast message error Signed-off-by: Randshot <randshot@norealm.xyz> * fix(store/utils): fix a few code mess-ups Co-authored-by: Svallinn <41585298+Svallinn@users.noreply.github.com>
2021-06-13 17:31:43 +02:00
playlistIndex: {
type: Number,
default: null
},
playlistReverse: {
type: Boolean,
default: false
},
playlistShuffle: {
type: Boolean,
default: false
},
playlistLoop: {
type: Boolean,
default: false
},
2020-02-16 19:30:00 +01:00
forceListType: {
type: String,
default: null
2020-06-23 17:47:19 +02:00
},
appearance: {
type: String,
required: true
},
showVideoWithLastViewedPlaylist: {
type: Boolean,
default: false
},
(Multiple) Local Playlist (instead of saving video in one hidden list) (#4234) * ! Fix add/removing videos from favourite list * ! Fix playlist type not passed into video list item component * ! Fix playlist data loading issue on new windows * ! Fix user playlist data parsing * * Ensure playlist view rerender on video additonal removal for displayed playlist * ! Fix icons & moving videos up/down in user playlist * * Don't show move up/down buttons when cannot be done * * Make user playlist view filtering function now works for filtering playlists * ! Fix style of prompt from any button within playlist-info component * $ Refactor a function to use early return style * * Disallow empty playlist name when saving in playlist edit mode * * Update add video to playlist prompt to have simple filtering like user playlist view * * Update playlist view to only show video reorder/remove buttons in edit mode With notice message * ! Fix playlist view for remote playlist unnecessary reload on save * ! Fix add to playlist prompt behaviour when some playlists are hidden due to filtering * $ Remove unused watch function arguments * * Update user playlist view create new playlist button position * * Update playlist view to add transitions to video reorder/removal * * Allow playlist with different case to be created * * Update visibility of user playlist related action components according to hide playlist settings Only those visible on video, remote playlist are updated * * Update video items to only show add to playlist buttons on hover * - Remove add to favorites button from video list item component * * Update watch-video-info component to add "add to playlist" button * * Update watch-video-info component to remove "add to favourite" button * * Ensure video thumbnail image displayed in 16/9 aspect ratio Mainly due to YT missing video thumbnail image got different aspect ratio 4/3 * * Update new buttons theme * * Put edit playlist button before copy button * * Move "remove video from playlist" button to most right * * Make video reorder & remove button visible on hover in user playlist view, regardless of "edit mode" * ! Fix video count parsing for user playlist * * Update user playlist to allow duplicate video entries (per video ID) * * Remove extra attributes assignment to video object except `timeAdded` Unintended change * * Update copy playlist button to like adding multiple videos to playlists * * Update copy playlist prompt to prefill title if create new playlist prompt shown * * Ensure all playlists have `playlistName` * $- Remove unused playlist property `removeOnWatched` * * Update read all playlist code to ensure existing "default" playlist properties (_id, protected) have same values as those in default Also fix issue discovered during testing * *- Remove unnecessary code line * * Update playlists from default playlists to be deletable * ! Fix duplicate `timeAdded` value for videos copied from user playlist * ! Fix playlist import (tested with db file exported from this branch) * * Update grid view to only display playlist title up to 255 chars Still can see full title in single playlist view * * Update add video to playlist prompt to only display playlist title up to 255 chars * * Update text of new playlist button to be same as new profile button * * Ignore many extra keys from playlist objectrs Also make data import check for object keys against required keys not key counts * * Disallow playlist import from changing internal playlist ID of existing playlists Existing playlists are matched by playlist name, not by internal playlist ID * * Ensure playlist name & description trimmed when saved * * Add missing change for importing playlist to ignore `protected` * $ Refactor code for "video object has all require keys" * ! Fix style of prompt from any button within playlist-info component again z-index war * * Update some empty message & button text * * Ensure playlist item action buttons are hidden during animations * ! Fix other prompt z-index * * Update `showAddToPlaylistPromptForManyVideos` to throw error when required keys missing from passed in video data * *- Remove unused video property `paid` from playlist related code * *- Remove unused video property `type` from playlist related code * ! Fix duplicate playlist displayed on playlist conversion * *- Remove unused video property `published` from playlist related code * * Don't require & generate property `timeAdded` when display a prompt * *- Remove unused video property `isLive` from playlist related code * ! Fix text * ! Revert code change for debugging only * ! Fix CSS for "Ensure playlist item action buttons are hidden during animations" * * Update add playlist button to be shown for live videos * + Add clear all playlists button * * Update add video to playlist prompt to swap "save" & "create playlist" button * ! Fix playlist view won't load after default playlist added due to lack of playlist * * Show toast message when no playlist selected after pressing save button * * Update add video to playlist prompt to show latest updated playlist first Easier for copying playlist with new playlist(s) * ! Fix watch page when visited via history after viewing the video from a deleted user playlist * ! Fix share buttons emitting user playlist IDs * * Add toast message after removing all playlists * ! Fix remote playlist video list rendering with duplicate videos * ! Fix missing key for some direct child elements under `transition-group` * ! Fix animation introduced to unnecessary elements * ! Prevent video link click during animation * ! Fix playlist creation/removal not reflected in other windows * * Ensure playlist visual selected state in sync with data in parent * * Update add video to playlist prompt to auto select playlists created after prompt shown once * * Update copy playlist button to show warning about not loaded videos when some not loaded yet For remote playlist Won't work for Invidious though (coz no way to load more) * * Update add video prompt to make it easier to access buttons via keyboard * * Make video reorder & remove button always visible in user playlist view * * Make plus button can be focused with tab Side effect is thumbnail link can be focused too (otherwise can't make plus button visible) * * Update add video to playlist prompt to focus on search input on shown * * Accept playlist optional property `createdAt` when importing * * Update playlist view to always show add to playlist button * $ Refactor `inUserPlaylist` Only playlist view would supply `playlistType` * * Improve accessibility for new prompts * * Make edit playlist inputs focused on entering edit mode * * Make most prompts focus back to last focused element on close * $ Use tabindex 0 for prompts Possible tabindex values unnecessary with elements programatically focused * * Update add video to playlist prompt to focus back to search input after new playlist created * * Update ft-list-video to focus back on thumbnail link element after add to playlist prompt closed * ! Fix unable to import duplicate video entries into an existing playlist * ! Fix create playlist prompt looks unclosed after playlist created when opened via add video to playlist prompt * ! Fix duplicate video entry ID when playlist with duplicate videoId entries copied to another playlist * ! Fix issues caused by last merge in e291cc8b41b2273a0d77c9f35ea760f0e0f7ac10 * $ Remove unused imports * ! Fix default playlists added when no playlist stored had no required attributes added on 1st run * ! Fix invalid prop type warning * * Use v-if instead of v-show * $ Just assign bool value instead of if-else * + Update playlists view to add sorting option * $- Remove unnecessary property assignments * ! Fix issues caused by "Remove unnecessary property assignments" * ! Fix issues caused by "Remove unnecessary property assignments" * * Ensure sort by time also fallbacks to playlist name sorting * ! Fix add/remove video does not update playlist last created time * ! Fix multi window playlist sync * * Show filtering input & sorting element when no. of playlist > 1 * * Update upcoming video to allow saving in playlist * ! Fix unable to visit previous video when playing first video in a playlist * * Update sorting options labels * ! Fix add to play prompt max width * ! Fix user playlist view incorrectly sorted playlists by latest updated first when filtered * * Update add to playlist prompt to add sort options * $ Remove unused classname * ! Ensure new playlist button focused after add to playlist prompt closed while thumbnail link unselectable * * Add playlists sort order for last played at, update it on play * ! Fix bug introduced by last merge * ! Fix thumbnail not respecting backend preference * ! Fix empty playlist thumbnail in single playlist view * * Make adding large no. of videos faster * $ Remove unused mapActions entries * $ Remove unused and unusable playlist code for inserting video IDs into a playlist * * Update single playlist view to only show `Remove watched videos` btn when there is any video * ! Fix prompt style issue caused by old branch changes * ! Fix removing video from local playlist remove all entries with same video ID * ! Fix adding video does not have uniqueID & timeAdded set Caused by previous add many video performance fix * ! Fix navigation in user playlist between entries of same video * * Reflect playlist updates on watch page playlist panel * $- Remove outdated incorrect prompt style fix * ! Fix add video to playlist prompt too high when there are too many playlists * ! Fix watch page play next/prev video in local playlist * ! Fix error in online playlist playing * * Keep partial playlist backward compatibility by restoring `type` in persisted playlist videos * ! Fix grid item for playlist to hide external player button for local playlist * * Make history rememeber uniqueId (local playlist video entry) when playing video with local playlist * ! Fix grid item for video in user playlist to hide external player button * ! Fix grid item for video in history with user playlist to hide external player button * ! Fix grid item for video in watch page playlist component with user playlist to hide external player button * * Update watch page to clear `uniqueID` from query when not playing local playlist * ! Fix watch page about user playlist detection on new window * * Reflect playlist updates on watch page playlist panel, even for currently playing video * ! Allow video with local playlist to be played in external player, but without playlist Also add missing fix for WatchVideoInfo * ! Fix external player handling for video in local playlist * ! Fix ft-video having different URLs in links * yarn run lint-style-fix * $ Rename uniqueId to playlistItemId * * Ensure local playlist ID won't conflict with remote playlist ID * - Remove import video while creating playlist related code * * Make text translatable * * Make sort option text translatable * ! Fix reverse condition * $ Just use ?. * Code review changes * Spaces * beforeDestroy * Remove unused methods * Remove infoData * filter > find * avoid importing `crypto` from NodeJS * Compress CSS ruleset * $ Remove useless prefix from key * Use template for element with v-if only * Make playlist selector look more selectable (cursor: pointer) * Translate toast messages and fix remove watched videos from playlist * ! Fix translation * - Remove unused methods * $ Remove workaround for issue which cannot be reproduced anymore * $ Remove remaining useless code following last commit removing workaround * you have no playlist > you have no playlists * CSS use var --horizontal-directionality-coefficient * * Update danger buttons color to primary (like clear search cache button) * ! Fix playlist icon container size * ! Fix sorting in add video to playlist prompt when filtered * $- Update ft-inputs to removed prop input-tabindex * ! Fix vue warning * + Add toggle to export playlist for older FT * * Update tooltip text * ! Fix vue warning * * Update text align * * Remove the extra surrounding spaces * Backtick > quote * - Remove useless prop * Fix tootip in lower width view * Update default filename * * Make tooltip auto-wrap * Revert "* Make tooltip auto-wrap" This reverts commit 7d932b936c7814349e50204a7979d2d0f5b0ea73. * Adjust tooltip styling * * Wait for local playlist loading only when playing with a user playlist * * Wait for local playlist loading only when playing with a user playlist requested Request user playlist can still be absent (but not requested for no playlist or remote playlist) * ! Fix single playlist view cover image having link when no video * ! Workaround create playlist prompt won't close when enter pressed in input box * ! Fix clear text button style * ! Fix copying playlist twice to the same user playlist produces same playlistItemId * ! Fix add video to playlist prompt input box style * ! Fix workaround for "create playlist prompt won't close when enter pressed in input box" * ! Ensure add video to playlist prompt updated when a playlist deleted (in another window) * ! Avoid saving and displaying unwanted video attributes into playlists * ! Fix playlist view for deleted user playlists * ! Fix copying playlist twice to the same user playlist produces same playlistItemId Real fix Cause of issue: updating property of input objects (which is shared across multiple run) * ! Fix search suggestions being blocked by playlist info component in single playlist view * ! Fix warning when reversing playlist in watch view * ! Fix prompt in playlist view (playlistinfo component) not above sidebar * Remove CSS top comments absent in other CSS files * Remove not useful comment for CSS * Float with variable Co-authored-by: Jason <84899178+jasonhenriquez@users.noreply.github.com> * Revert "! Fix clear text button style" This reverts commit 44ed286848e3cdf4c52f29a867fe09964adffd78. * Missing change for Revert "! Fix clear text button style" * $ Remove unused style for ft-playlist-selector * Apply changes from review * * Use $tc for translation entries with different value according to count values * ! Fix playlist link in watch view --------- Co-authored-by: Jason Henriquez <jasonhenriquez@protonmail.com> Co-authored-by: Jason <84899178+jasonhenriquez@users.noreply.github.com>
2024-01-03 19:44:57 +01:00
alwaysShowAddToPlaylistButton: {
type: Boolean,
default: false,
},
quickBookmarkButtonEnabled: {
type: Boolean,
default: true,
},
(Multiple) Local Playlist (instead of saving video in one hidden list) (#4234) * ! Fix add/removing videos from favourite list * ! Fix playlist type not passed into video list item component * ! Fix playlist data loading issue on new windows * ! Fix user playlist data parsing * * Ensure playlist view rerender on video additonal removal for displayed playlist * ! Fix icons & moving videos up/down in user playlist * * Don't show move up/down buttons when cannot be done * * Make user playlist view filtering function now works for filtering playlists * ! Fix style of prompt from any button within playlist-info component * $ Refactor a function to use early return style * * Disallow empty playlist name when saving in playlist edit mode * * Update add video to playlist prompt to have simple filtering like user playlist view * * Update playlist view to only show video reorder/remove buttons in edit mode With notice message * ! Fix playlist view for remote playlist unnecessary reload on save * ! Fix add to playlist prompt behaviour when some playlists are hidden due to filtering * $ Remove unused watch function arguments * * Update user playlist view create new playlist button position * * Update playlist view to add transitions to video reorder/removal * * Allow playlist with different case to be created * * Update visibility of user playlist related action components according to hide playlist settings Only those visible on video, remote playlist are updated * * Update video items to only show add to playlist buttons on hover * - Remove add to favorites button from video list item component * * Update watch-video-info component to add "add to playlist" button * * Update watch-video-info component to remove "add to favourite" button * * Ensure video thumbnail image displayed in 16/9 aspect ratio Mainly due to YT missing video thumbnail image got different aspect ratio 4/3 * * Update new buttons theme * * Put edit playlist button before copy button * * Move "remove video from playlist" button to most right * * Make video reorder & remove button visible on hover in user playlist view, regardless of "edit mode" * ! Fix video count parsing for user playlist * * Update user playlist to allow duplicate video entries (per video ID) * * Remove extra attributes assignment to video object except `timeAdded` Unintended change * * Update copy playlist button to like adding multiple videos to playlists * * Update copy playlist prompt to prefill title if create new playlist prompt shown * * Ensure all playlists have `playlistName` * $- Remove unused playlist property `removeOnWatched` * * Update read all playlist code to ensure existing "default" playlist properties (_id, protected) have same values as those in default Also fix issue discovered during testing * *- Remove unnecessary code line * * Update playlists from default playlists to be deletable * ! Fix duplicate `timeAdded` value for videos copied from user playlist * ! Fix playlist import (tested with db file exported from this branch) * * Update grid view to only display playlist title up to 255 chars Still can see full title in single playlist view * * Update add video to playlist prompt to only display playlist title up to 255 chars * * Update text of new playlist button to be same as new profile button * * Ignore many extra keys from playlist objectrs Also make data import check for object keys against required keys not key counts * * Disallow playlist import from changing internal playlist ID of existing playlists Existing playlists are matched by playlist name, not by internal playlist ID * * Ensure playlist name & description trimmed when saved * * Add missing change for importing playlist to ignore `protected` * $ Refactor code for "video object has all require keys" * ! Fix style of prompt from any button within playlist-info component again z-index war * * Update some empty message & button text * * Ensure playlist item action buttons are hidden during animations * ! Fix other prompt z-index * * Update `showAddToPlaylistPromptForManyVideos` to throw error when required keys missing from passed in video data * *- Remove unused video property `paid` from playlist related code * *- Remove unused video property `type` from playlist related code * ! Fix duplicate playlist displayed on playlist conversion * *- Remove unused video property `published` from playlist related code * * Don't require & generate property `timeAdded` when display a prompt * *- Remove unused video property `isLive` from playlist related code * ! Fix text * ! Revert code change for debugging only * ! Fix CSS for "Ensure playlist item action buttons are hidden during animations" * * Update add playlist button to be shown for live videos * + Add clear all playlists button * * Update add video to playlist prompt to swap "save" & "create playlist" button * ! Fix playlist view won't load after default playlist added due to lack of playlist * * Show toast message when no playlist selected after pressing save button * * Update add video to playlist prompt to show latest updated playlist first Easier for copying playlist with new playlist(s) * ! Fix watch page when visited via history after viewing the video from a deleted user playlist * ! Fix share buttons emitting user playlist IDs * * Add toast message after removing all playlists * ! Fix remote playlist video list rendering with duplicate videos * ! Fix missing key for some direct child elements under `transition-group` * ! Fix animation introduced to unnecessary elements * ! Prevent video link click during animation * ! Fix playlist creation/removal not reflected in other windows * * Ensure playlist visual selected state in sync with data in parent * * Update add video to playlist prompt to auto select playlists created after prompt shown once * * Update copy playlist button to show warning about not loaded videos when some not loaded yet For remote playlist Won't work for Invidious though (coz no way to load more) * * Update add video prompt to make it easier to access buttons via keyboard * * Make video reorder & remove button always visible in user playlist view * * Make plus button can be focused with tab Side effect is thumbnail link can be focused too (otherwise can't make plus button visible) * * Update add video to playlist prompt to focus on search input on shown * * Accept playlist optional property `createdAt` when importing * * Update playlist view to always show add to playlist button * $ Refactor `inUserPlaylist` Only playlist view would supply `playlistType` * * Improve accessibility for new prompts * * Make edit playlist inputs focused on entering edit mode * * Make most prompts focus back to last focused element on close * $ Use tabindex 0 for prompts Possible tabindex values unnecessary with elements programatically focused * * Update add video to playlist prompt to focus back to search input after new playlist created * * Update ft-list-video to focus back on thumbnail link element after add to playlist prompt closed * ! Fix unable to import duplicate video entries into an existing playlist * ! Fix create playlist prompt looks unclosed after playlist created when opened via add video to playlist prompt * ! Fix duplicate video entry ID when playlist with duplicate videoId entries copied to another playlist * ! Fix issues caused by last merge in e291cc8b41b2273a0d77c9f35ea760f0e0f7ac10 * $ Remove unused imports * ! Fix default playlists added when no playlist stored had no required attributes added on 1st run * ! Fix invalid prop type warning * * Use v-if instead of v-show * $ Just assign bool value instead of if-else * + Update playlists view to add sorting option * $- Remove unnecessary property assignments * ! Fix issues caused by "Remove unnecessary property assignments" * ! Fix issues caused by "Remove unnecessary property assignments" * * Ensure sort by time also fallbacks to playlist name sorting * ! Fix add/remove video does not update playlist last created time * ! Fix multi window playlist sync * * Show filtering input & sorting element when no. of playlist > 1 * * Update upcoming video to allow saving in playlist * ! Fix unable to visit previous video when playing first video in a playlist * * Update sorting options labels * ! Fix add to play prompt max width * ! Fix user playlist view incorrectly sorted playlists by latest updated first when filtered * * Update add to playlist prompt to add sort options * $ Remove unused classname * ! Ensure new playlist button focused after add to playlist prompt closed while thumbnail link unselectable * * Add playlists sort order for last played at, update it on play * ! Fix bug introduced by last merge * ! Fix thumbnail not respecting backend preference * ! Fix empty playlist thumbnail in single playlist view * * Make adding large no. of videos faster * $ Remove unused mapActions entries * $ Remove unused and unusable playlist code for inserting video IDs into a playlist * * Update single playlist view to only show `Remove watched videos` btn when there is any video * ! Fix prompt style issue caused by old branch changes * ! Fix removing video from local playlist remove all entries with same video ID * ! Fix adding video does not have uniqueID & timeAdded set Caused by previous add many video performance fix * ! Fix navigation in user playlist between entries of same video * * Reflect playlist updates on watch page playlist panel * $- Remove outdated incorrect prompt style fix * ! Fix add video to playlist prompt too high when there are too many playlists * ! Fix watch page play next/prev video in local playlist * ! Fix error in online playlist playing * * Keep partial playlist backward compatibility by restoring `type` in persisted playlist videos * ! Fix grid item for playlist to hide external player button for local playlist * * Make history rememeber uniqueId (local playlist video entry) when playing video with local playlist * ! Fix grid item for video in user playlist to hide external player button * ! Fix grid item for video in history with user playlist to hide external player button * ! Fix grid item for video in watch page playlist component with user playlist to hide external player button * * Update watch page to clear `uniqueID` from query when not playing local playlist * ! Fix watch page about user playlist detection on new window * * Reflect playlist updates on watch page playlist panel, even for currently playing video * ! Allow video with local playlist to be played in external player, but without playlist Also add missing fix for WatchVideoInfo * ! Fix external player handling for video in local playlist * ! Fix ft-video having different URLs in links * yarn run lint-style-fix * $ Rename uniqueId to playlistItemId * * Ensure local playlist ID won't conflict with remote playlist ID * - Remove import video while creating playlist related code * * Make text translatable * * Make sort option text translatable * ! Fix reverse condition * $ Just use ?. * Code review changes * Spaces * beforeDestroy * Remove unused methods * Remove infoData * filter > find * avoid importing `crypto` from NodeJS * Compress CSS ruleset * $ Remove useless prefix from key * Use template for element with v-if only * Make playlist selector look more selectable (cursor: pointer) * Translate toast messages and fix remove watched videos from playlist * ! Fix translation * - Remove unused methods * $ Remove workaround for issue which cannot be reproduced anymore * $ Remove remaining useless code following last commit removing workaround * you have no playlist > you have no playlists * CSS use var --horizontal-directionality-coefficient * * Update danger buttons color to primary (like clear search cache button) * ! Fix playlist icon container size * ! Fix sorting in add video to playlist prompt when filtered * $- Update ft-inputs to removed prop input-tabindex * ! Fix vue warning * + Add toggle to export playlist for older FT * * Update tooltip text * ! Fix vue warning * * Update text align * * Remove the extra surrounding spaces * Backtick > quote * - Remove useless prop * Fix tootip in lower width view * Update default filename * * Make tooltip auto-wrap * Revert "* Make tooltip auto-wrap" This reverts commit 7d932b936c7814349e50204a7979d2d0f5b0ea73. * Adjust tooltip styling * * Wait for local playlist loading only when playing with a user playlist * * Wait for local playlist loading only when playing with a user playlist requested Request user playlist can still be absent (but not requested for no playlist or remote playlist) * ! Fix single playlist view cover image having link when no video * ! Workaround create playlist prompt won't close when enter pressed in input box * ! Fix clear text button style * ! Fix copying playlist twice to the same user playlist produces same playlistItemId * ! Fix add video to playlist prompt input box style * ! Fix workaround for "create playlist prompt won't close when enter pressed in input box" * ! Ensure add video to playlist prompt updated when a playlist deleted (in another window) * ! Avoid saving and displaying unwanted video attributes into playlists * ! Fix playlist view for deleted user playlists * ! Fix copying playlist twice to the same user playlist produces same playlistItemId Real fix Cause of issue: updating property of input objects (which is shared across multiple run) * ! Fix search suggestions being blocked by playlist info component in single playlist view * ! Fix warning when reversing playlist in watch view * ! Fix prompt in playlist view (playlistinfo component) not above sidebar * Remove CSS top comments absent in other CSS files * Remove not useful comment for CSS * Float with variable Co-authored-by: Jason <84899178+jasonhenriquez@users.noreply.github.com> * Revert "! Fix clear text button style" This reverts commit 44ed286848e3cdf4c52f29a867fe09964adffd78. * Missing change for Revert "! Fix clear text button style" * $ Remove unused style for ft-playlist-selector * Apply changes from review * * Use $tc for translation entries with different value according to count values * ! Fix playlist link in watch view --------- Co-authored-by: Jason Henriquez <jasonhenriquez@protonmail.com> Co-authored-by: Jason <84899178+jasonhenriquez@users.noreply.github.com>
2024-01-03 19:44:57 +01:00
canMoveVideoUp: {
type: Boolean,
default: false,
},
canMoveVideoDown: {
type: Boolean,
default: false,
},
canRemoveFromPlaylist: {
type: Boolean,
default: false,
},
2020-02-16 19:30:00 +01:00
},
emits: ['move-video-down', 'move-video-up', 'pause-player', 'remove-from-playlist'],
2020-02-16 19:30:00 +01:00
data: function () {
return {
id: '',
title: '',
channelName: null,
channelId: null,
2020-02-16 19:30:00 +01:00
viewCount: 0,
parsedViewCount: '',
2020-02-16 19:30:00 +01:00
uploadedTime: '',
lengthSeconds: 0,
2020-02-16 19:30:00 +01:00
duration: '',
description: '',
watchProgress: 0,
published: undefined,
2020-02-16 19:30:00 +01:00
isLive: false,
2020-10-09 03:53:34 +02:00
isUpcoming: false,
isPremium: false,
(Multiple) Local Playlist (instead of saving video in one hidden list) (#4234) * ! Fix add/removing videos from favourite list * ! Fix playlist type not passed into video list item component * ! Fix playlist data loading issue on new windows * ! Fix user playlist data parsing * * Ensure playlist view rerender on video additonal removal for displayed playlist * ! Fix icons & moving videos up/down in user playlist * * Don't show move up/down buttons when cannot be done * * Make user playlist view filtering function now works for filtering playlists * ! Fix style of prompt from any button within playlist-info component * $ Refactor a function to use early return style * * Disallow empty playlist name when saving in playlist edit mode * * Update add video to playlist prompt to have simple filtering like user playlist view * * Update playlist view to only show video reorder/remove buttons in edit mode With notice message * ! Fix playlist view for remote playlist unnecessary reload on save * ! Fix add to playlist prompt behaviour when some playlists are hidden due to filtering * $ Remove unused watch function arguments * * Update user playlist view create new playlist button position * * Update playlist view to add transitions to video reorder/removal * * Allow playlist with different case to be created * * Update visibility of user playlist related action components according to hide playlist settings Only those visible on video, remote playlist are updated * * Update video items to only show add to playlist buttons on hover * - Remove add to favorites button from video list item component * * Update watch-video-info component to add "add to playlist" button * * Update watch-video-info component to remove "add to favourite" button * * Ensure video thumbnail image displayed in 16/9 aspect ratio Mainly due to YT missing video thumbnail image got different aspect ratio 4/3 * * Update new buttons theme * * Put edit playlist button before copy button * * Move "remove video from playlist" button to most right * * Make video reorder & remove button visible on hover in user playlist view, regardless of "edit mode" * ! Fix video count parsing for user playlist * * Update user playlist to allow duplicate video entries (per video ID) * * Remove extra attributes assignment to video object except `timeAdded` Unintended change * * Update copy playlist button to like adding multiple videos to playlists * * Update copy playlist prompt to prefill title if create new playlist prompt shown * * Ensure all playlists have `playlistName` * $- Remove unused playlist property `removeOnWatched` * * Update read all playlist code to ensure existing "default" playlist properties (_id, protected) have same values as those in default Also fix issue discovered during testing * *- Remove unnecessary code line * * Update playlists from default playlists to be deletable * ! Fix duplicate `timeAdded` value for videos copied from user playlist * ! Fix playlist import (tested with db file exported from this branch) * * Update grid view to only display playlist title up to 255 chars Still can see full title in single playlist view * * Update add video to playlist prompt to only display playlist title up to 255 chars * * Update text of new playlist button to be same as new profile button * * Ignore many extra keys from playlist objectrs Also make data import check for object keys against required keys not key counts * * Disallow playlist import from changing internal playlist ID of existing playlists Existing playlists are matched by playlist name, not by internal playlist ID * * Ensure playlist name & description trimmed when saved * * Add missing change for importing playlist to ignore `protected` * $ Refactor code for "video object has all require keys" * ! Fix style of prompt from any button within playlist-info component again z-index war * * Update some empty message & button text * * Ensure playlist item action buttons are hidden during animations * ! Fix other prompt z-index * * Update `showAddToPlaylistPromptForManyVideos` to throw error when required keys missing from passed in video data * *- Remove unused video property `paid` from playlist related code * *- Remove unused video property `type` from playlist related code * ! Fix duplicate playlist displayed on playlist conversion * *- Remove unused video property `published` from playlist related code * * Don't require & generate property `timeAdded` when display a prompt * *- Remove unused video property `isLive` from playlist related code * ! Fix text * ! Revert code change for debugging only * ! Fix CSS for "Ensure playlist item action buttons are hidden during animations" * * Update add playlist button to be shown for live videos * + Add clear all playlists button * * Update add video to playlist prompt to swap "save" & "create playlist" button * ! Fix playlist view won't load after default playlist added due to lack of playlist * * Show toast message when no playlist selected after pressing save button * * Update add video to playlist prompt to show latest updated playlist first Easier for copying playlist with new playlist(s) * ! Fix watch page when visited via history after viewing the video from a deleted user playlist * ! Fix share buttons emitting user playlist IDs * * Add toast message after removing all playlists * ! Fix remote playlist video list rendering with duplicate videos * ! Fix missing key for some direct child elements under `transition-group` * ! Fix animation introduced to unnecessary elements * ! Prevent video link click during animation * ! Fix playlist creation/removal not reflected in other windows * * Ensure playlist visual selected state in sync with data in parent * * Update add video to playlist prompt to auto select playlists created after prompt shown once * * Update copy playlist button to show warning about not loaded videos when some not loaded yet For remote playlist Won't work for Invidious though (coz no way to load more) * * Update add video prompt to make it easier to access buttons via keyboard * * Make video reorder & remove button always visible in user playlist view * * Make plus button can be focused with tab Side effect is thumbnail link can be focused too (otherwise can't make plus button visible) * * Update add video to playlist prompt to focus on search input on shown * * Accept playlist optional property `createdAt` when importing * * Update playlist view to always show add to playlist button * $ Refactor `inUserPlaylist` Only playlist view would supply `playlistType` * * Improve accessibility for new prompts * * Make edit playlist inputs focused on entering edit mode * * Make most prompts focus back to last focused element on close * $ Use tabindex 0 for prompts Possible tabindex values unnecessary with elements programatically focused * * Update add video to playlist prompt to focus back to search input after new playlist created * * Update ft-list-video to focus back on thumbnail link element after add to playlist prompt closed * ! Fix unable to import duplicate video entries into an existing playlist * ! Fix create playlist prompt looks unclosed after playlist created when opened via add video to playlist prompt * ! Fix duplicate video entry ID when playlist with duplicate videoId entries copied to another playlist * ! Fix issues caused by last merge in e291cc8b41b2273a0d77c9f35ea760f0e0f7ac10 * $ Remove unused imports * ! Fix default playlists added when no playlist stored had no required attributes added on 1st run * ! Fix invalid prop type warning * * Use v-if instead of v-show * $ Just assign bool value instead of if-else * + Update playlists view to add sorting option * $- Remove unnecessary property assignments * ! Fix issues caused by "Remove unnecessary property assignments" * ! Fix issues caused by "Remove unnecessary property assignments" * * Ensure sort by time also fallbacks to playlist name sorting * ! Fix add/remove video does not update playlist last created time * ! Fix multi window playlist sync * * Show filtering input & sorting element when no. of playlist > 1 * * Update upcoming video to allow saving in playlist * ! Fix unable to visit previous video when playing first video in a playlist * * Update sorting options labels * ! Fix add to play prompt max width * ! Fix user playlist view incorrectly sorted playlists by latest updated first when filtered * * Update add to playlist prompt to add sort options * $ Remove unused classname * ! Ensure new playlist button focused after add to playlist prompt closed while thumbnail link unselectable * * Add playlists sort order for last played at, update it on play * ! Fix bug introduced by last merge * ! Fix thumbnail not respecting backend preference * ! Fix empty playlist thumbnail in single playlist view * * Make adding large no. of videos faster * $ Remove unused mapActions entries * $ Remove unused and unusable playlist code for inserting video IDs into a playlist * * Update single playlist view to only show `Remove watched videos` btn when there is any video * ! Fix prompt style issue caused by old branch changes * ! Fix removing video from local playlist remove all entries with same video ID * ! Fix adding video does not have uniqueID & timeAdded set Caused by previous add many video performance fix * ! Fix navigation in user playlist between entries of same video * * Reflect playlist updates on watch page playlist panel * $- Remove outdated incorrect prompt style fix * ! Fix add video to playlist prompt too high when there are too many playlists * ! Fix watch page play next/prev video in local playlist * ! Fix error in online playlist playing * * Keep partial playlist backward compatibility by restoring `type` in persisted playlist videos * ! Fix grid item for playlist to hide external player button for local playlist * * Make history rememeber uniqueId (local playlist video entry) when playing video with local playlist * ! Fix grid item for video in user playlist to hide external player button * ! Fix grid item for video in history with user playlist to hide external player button * ! Fix grid item for video in watch page playlist component with user playlist to hide external player button * * Update watch page to clear `uniqueID` from query when not playing local playlist * ! Fix watch page about user playlist detection on new window * * Reflect playlist updates on watch page playlist panel, even for currently playing video * ! Allow video with local playlist to be played in external player, but without playlist Also add missing fix for WatchVideoInfo * ! Fix external player handling for video in local playlist * ! Fix ft-video having different URLs in links * yarn run lint-style-fix * $ Rename uniqueId to playlistItemId * * Ensure local playlist ID won't conflict with remote playlist ID * - Remove import video while creating playlist related code * * Make text translatable * * Make sort option text translatable * ! Fix reverse condition * $ Just use ?. * Code review changes * Spaces * beforeDestroy * Remove unused methods * Remove infoData * filter > find * avoid importing `crypto` from NodeJS * Compress CSS ruleset * $ Remove useless prefix from key * Use template for element with v-if only * Make playlist selector look more selectable (cursor: pointer) * Translate toast messages and fix remove watched videos from playlist * ! Fix translation * - Remove unused methods * $ Remove workaround for issue which cannot be reproduced anymore * $ Remove remaining useless code following last commit removing workaround * you have no playlist > you have no playlists * CSS use var --horizontal-directionality-coefficient * * Update danger buttons color to primary (like clear search cache button) * ! Fix playlist icon container size * ! Fix sorting in add video to playlist prompt when filtered * $- Update ft-inputs to removed prop input-tabindex * ! Fix vue warning * + Add toggle to export playlist for older FT * * Update tooltip text * ! Fix vue warning * * Update text align * * Remove the extra surrounding spaces * Backtick > quote * - Remove useless prop * Fix tootip in lower width view * Update default filename * * Make tooltip auto-wrap * Revert "* Make tooltip auto-wrap" This reverts commit 7d932b936c7814349e50204a7979d2d0f5b0ea73. * Adjust tooltip styling * * Wait for local playlist loading only when playing with a user playlist * * Wait for local playlist loading only when playing with a user playlist requested Request user playlist can still be absent (but not requested for no playlist or remote playlist) * ! Fix single playlist view cover image having link when no video * ! Workaround create playlist prompt won't close when enter pressed in input box * ! Fix clear text button style * ! Fix copying playlist twice to the same user playlist produces same playlistItemId * ! Fix add video to playlist prompt input box style * ! Fix workaround for "create playlist prompt won't close when enter pressed in input box" * ! Ensure add video to playlist prompt updated when a playlist deleted (in another window) * ! Avoid saving and displaying unwanted video attributes into playlists * ! Fix playlist view for deleted user playlists * ! Fix copying playlist twice to the same user playlist produces same playlistItemId Real fix Cause of issue: updating property of input objects (which is shared across multiple run) * ! Fix search suggestions being blocked by playlist info component in single playlist view * ! Fix warning when reversing playlist in watch view * ! Fix prompt in playlist view (playlistinfo component) not above sidebar * Remove CSS top comments absent in other CSS files * Remove not useful comment for CSS * Float with variable Co-authored-by: Jason <84899178+jasonhenriquez@users.noreply.github.com> * Revert "! Fix clear text button style" This reverts commit 44ed286848e3cdf4c52f29a867fe09964adffd78. * Missing change for Revert "! Fix clear text button style" * $ Remove unused style for ft-playlist-selector * Apply changes from review * * Use $tc for translation entries with different value according to count values * ! Fix playlist link in watch view --------- Co-authored-by: Jason Henriquez <jasonhenriquez@protonmail.com> Co-authored-by: Jason <84899178+jasonhenriquez@users.noreply.github.com>
2024-01-03 19:44:57 +01:00
hideViews: false,
addToPlaylistPromptCloseCallback: null,
debounceGetDeArrowThumbnail: null,
2020-02-16 19:30:00 +01:00
}
},
computed: {
historyEntry: function () {
return this.$store.getters.getHistoryCacheById[this.id]
},
historyEntryExists: function () {
return typeof this.historyEntry !== 'undefined'
},
2020-02-16 19:30:00 +01:00
listType: function () {
return this.$store.getters.getListType
},
thumbnailPreference: function () {
return this.$store.getters.getThumbnailPreference
},
blurThumbnails: function () {
return this.$store.getters.getBlurThumbnails
},
blurThumbnailsStyle: function () {
return this.blurThumbnails ? 'blur(20px)' : null
},
backendPreference: function () {
return this.$store.getters.getBackendPreference
},
currentInvidiousInstance: function () {
return this.$store.getters.getCurrentInvidiousInstance
},
(Multiple) Local Playlist (instead of saving video in one hidden list) (#4234) * ! Fix add/removing videos from favourite list * ! Fix playlist type not passed into video list item component * ! Fix playlist data loading issue on new windows * ! Fix user playlist data parsing * * Ensure playlist view rerender on video additonal removal for displayed playlist * ! Fix icons & moving videos up/down in user playlist * * Don't show move up/down buttons when cannot be done * * Make user playlist view filtering function now works for filtering playlists * ! Fix style of prompt from any button within playlist-info component * $ Refactor a function to use early return style * * Disallow empty playlist name when saving in playlist edit mode * * Update add video to playlist prompt to have simple filtering like user playlist view * * Update playlist view to only show video reorder/remove buttons in edit mode With notice message * ! Fix playlist view for remote playlist unnecessary reload on save * ! Fix add to playlist prompt behaviour when some playlists are hidden due to filtering * $ Remove unused watch function arguments * * Update user playlist view create new playlist button position * * Update playlist view to add transitions to video reorder/removal * * Allow playlist with different case to be created * * Update visibility of user playlist related action components according to hide playlist settings Only those visible on video, remote playlist are updated * * Update video items to only show add to playlist buttons on hover * - Remove add to favorites button from video list item component * * Update watch-video-info component to add "add to playlist" button * * Update watch-video-info component to remove "add to favourite" button * * Ensure video thumbnail image displayed in 16/9 aspect ratio Mainly due to YT missing video thumbnail image got different aspect ratio 4/3 * * Update new buttons theme * * Put edit playlist button before copy button * * Move "remove video from playlist" button to most right * * Make video reorder & remove button visible on hover in user playlist view, regardless of "edit mode" * ! Fix video count parsing for user playlist * * Update user playlist to allow duplicate video entries (per video ID) * * Remove extra attributes assignment to video object except `timeAdded` Unintended change * * Update copy playlist button to like adding multiple videos to playlists * * Update copy playlist prompt to prefill title if create new playlist prompt shown * * Ensure all playlists have `playlistName` * $- Remove unused playlist property `removeOnWatched` * * Update read all playlist code to ensure existing "default" playlist properties (_id, protected) have same values as those in default Also fix issue discovered during testing * *- Remove unnecessary code line * * Update playlists from default playlists to be deletable * ! Fix duplicate `timeAdded` value for videos copied from user playlist * ! Fix playlist import (tested with db file exported from this branch) * * Update grid view to only display playlist title up to 255 chars Still can see full title in single playlist view * * Update add video to playlist prompt to only display playlist title up to 255 chars * * Update text of new playlist button to be same as new profile button * * Ignore many extra keys from playlist objectrs Also make data import check for object keys against required keys not key counts * * Disallow playlist import from changing internal playlist ID of existing playlists Existing playlists are matched by playlist name, not by internal playlist ID * * Ensure playlist name & description trimmed when saved * * Add missing change for importing playlist to ignore `protected` * $ Refactor code for "video object has all require keys" * ! Fix style of prompt from any button within playlist-info component again z-index war * * Update some empty message & button text * * Ensure playlist item action buttons are hidden during animations * ! Fix other prompt z-index * * Update `showAddToPlaylistPromptForManyVideos` to throw error when required keys missing from passed in video data * *- Remove unused video property `paid` from playlist related code * *- Remove unused video property `type` from playlist related code * ! Fix duplicate playlist displayed on playlist conversion * *- Remove unused video property `published` from playlist related code * * Don't require & generate property `timeAdded` when display a prompt * *- Remove unused video property `isLive` from playlist related code * ! Fix text * ! Revert code change for debugging only * ! Fix CSS for "Ensure playlist item action buttons are hidden during animations" * * Update add playlist button to be shown for live videos * + Add clear all playlists button * * Update add video to playlist prompt to swap "save" & "create playlist" button * ! Fix playlist view won't load after default playlist added due to lack of playlist * * Show toast message when no playlist selected after pressing save button * * Update add video to playlist prompt to show latest updated playlist first Easier for copying playlist with new playlist(s) * ! Fix watch page when visited via history after viewing the video from a deleted user playlist * ! Fix share buttons emitting user playlist IDs * * Add toast message after removing all playlists * ! Fix remote playlist video list rendering with duplicate videos * ! Fix missing key for some direct child elements under `transition-group` * ! Fix animation introduced to unnecessary elements * ! Prevent video link click during animation * ! Fix playlist creation/removal not reflected in other windows * * Ensure playlist visual selected state in sync with data in parent * * Update add video to playlist prompt to auto select playlists created after prompt shown once * * Update copy playlist button to show warning about not loaded videos when some not loaded yet For remote playlist Won't work for Invidious though (coz no way to load more) * * Update add video prompt to make it easier to access buttons via keyboard * * Make video reorder & remove button always visible in user playlist view * * Make plus button can be focused with tab Side effect is thumbnail link can be focused too (otherwise can't make plus button visible) * * Update add video to playlist prompt to focus on search input on shown * * Accept playlist optional property `createdAt` when importing * * Update playlist view to always show add to playlist button * $ Refactor `inUserPlaylist` Only playlist view would supply `playlistType` * * Improve accessibility for new prompts * * Make edit playlist inputs focused on entering edit mode * * Make most prompts focus back to last focused element on close * $ Use tabindex 0 for prompts Possible tabindex values unnecessary with elements programatically focused * * Update add video to playlist prompt to focus back to search input after new playlist created * * Update ft-list-video to focus back on thumbnail link element after add to playlist prompt closed * ! Fix unable to import duplicate video entries into an existing playlist * ! Fix create playlist prompt looks unclosed after playlist created when opened via add video to playlist prompt * ! Fix duplicate video entry ID when playlist with duplicate videoId entries copied to another playlist * ! Fix issues caused by last merge in e291cc8b41b2273a0d77c9f35ea760f0e0f7ac10 * $ Remove unused imports * ! Fix default playlists added when no playlist stored had no required attributes added on 1st run * ! Fix invalid prop type warning * * Use v-if instead of v-show * $ Just assign bool value instead of if-else * + Update playlists view to add sorting option * $- Remove unnecessary property assignments * ! Fix issues caused by "Remove unnecessary property assignments" * ! Fix issues caused by "Remove unnecessary property assignments" * * Ensure sort by time also fallbacks to playlist name sorting * ! Fix add/remove video does not update playlist last created time * ! Fix multi window playlist sync * * Show filtering input & sorting element when no. of playlist > 1 * * Update upcoming video to allow saving in playlist * ! Fix unable to visit previous video when playing first video in a playlist * * Update sorting options labels * ! Fix add to play prompt max width * ! Fix user playlist view incorrectly sorted playlists by latest updated first when filtered * * Update add to playlist prompt to add sort options * $ Remove unused classname * ! Ensure new playlist button focused after add to playlist prompt closed while thumbnail link unselectable * * Add playlists sort order for last played at, update it on play * ! Fix bug introduced by last merge * ! Fix thumbnail not respecting backend preference * ! Fix empty playlist thumbnail in single playlist view * * Make adding large no. of videos faster * $ Remove unused mapActions entries * $ Remove unused and unusable playlist code for inserting video IDs into a playlist * * Update single playlist view to only show `Remove watched videos` btn when there is any video * ! Fix prompt style issue caused by old branch changes * ! Fix removing video from local playlist remove all entries with same video ID * ! Fix adding video does not have uniqueID & timeAdded set Caused by previous add many video performance fix * ! Fix navigation in user playlist between entries of same video * * Reflect playlist updates on watch page playlist panel * $- Remove outdated incorrect prompt style fix * ! Fix add video to playlist prompt too high when there are too many playlists * ! Fix watch page play next/prev video in local playlist * ! Fix error in online playlist playing * * Keep partial playlist backward compatibility by restoring `type` in persisted playlist videos * ! Fix grid item for playlist to hide external player button for local playlist * * Make history rememeber uniqueId (local playlist video entry) when playing video with local playlist * ! Fix grid item for video in user playlist to hide external player button * ! Fix grid item for video in history with user playlist to hide external player button * ! Fix grid item for video in watch page playlist component with user playlist to hide external player button * * Update watch page to clear `uniqueID` from query when not playing local playlist * ! Fix watch page about user playlist detection on new window * * Reflect playlist updates on watch page playlist panel, even for currently playing video * ! Allow video with local playlist to be played in external player, but without playlist Also add missing fix for WatchVideoInfo * ! Fix external player handling for video in local playlist * ! Fix ft-video having different URLs in links * yarn run lint-style-fix * $ Rename uniqueId to playlistItemId * * Ensure local playlist ID won't conflict with remote playlist ID * - Remove import video while creating playlist related code * * Make text translatable * * Make sort option text translatable * ! Fix reverse condition * $ Just use ?. * Code review changes * Spaces * beforeDestroy * Remove unused methods * Remove infoData * filter > find * avoid importing `crypto` from NodeJS * Compress CSS ruleset * $ Remove useless prefix from key * Use template for element with v-if only * Make playlist selector look more selectable (cursor: pointer) * Translate toast messages and fix remove watched videos from playlist * ! Fix translation * - Remove unused methods * $ Remove workaround for issue which cannot be reproduced anymore * $ Remove remaining useless code following last commit removing workaround * you have no playlist > you have no playlists * CSS use var --horizontal-directionality-coefficient * * Update danger buttons color to primary (like clear search cache button) * ! Fix playlist icon container size * ! Fix sorting in add video to playlist prompt when filtered * $- Update ft-inputs to removed prop input-tabindex * ! Fix vue warning * + Add toggle to export playlist for older FT * * Update tooltip text * ! Fix vue warning * * Update text align * * Remove the extra surrounding spaces * Backtick > quote * - Remove useless prop * Fix tootip in lower width view * Update default filename * * Make tooltip auto-wrap * Revert "* Make tooltip auto-wrap" This reverts commit 7d932b936c7814349e50204a7979d2d0f5b0ea73. * Adjust tooltip styling * * Wait for local playlist loading only when playing with a user playlist * * Wait for local playlist loading only when playing with a user playlist requested Request user playlist can still be absent (but not requested for no playlist or remote playlist) * ! Fix single playlist view cover image having link when no video * ! Workaround create playlist prompt won't close when enter pressed in input box * ! Fix clear text button style * ! Fix copying playlist twice to the same user playlist produces same playlistItemId * ! Fix add video to playlist prompt input box style * ! Fix workaround for "create playlist prompt won't close when enter pressed in input box" * ! Ensure add video to playlist prompt updated when a playlist deleted (in another window) * ! Avoid saving and displaying unwanted video attributes into playlists * ! Fix playlist view for deleted user playlists * ! Fix copying playlist twice to the same user playlist produces same playlistItemId Real fix Cause of issue: updating property of input objects (which is shared across multiple run) * ! Fix search suggestions being blocked by playlist info component in single playlist view * ! Fix warning when reversing playlist in watch view * ! Fix prompt in playlist view (playlistinfo component) not above sidebar * Remove CSS top comments absent in other CSS files * Remove not useful comment for CSS * Float with variable Co-authored-by: Jason <84899178+jasonhenriquez@users.noreply.github.com> * Revert "! Fix clear text button style" This reverts commit 44ed286848e3cdf4c52f29a867fe09964adffd78. * Missing change for Revert "! Fix clear text button style" * $ Remove unused style for ft-playlist-selector * Apply changes from review * * Use $tc for translation entries with different value according to count values * ! Fix playlist link in watch view --------- Co-authored-by: Jason Henriquez <jasonhenriquez@protonmail.com> Co-authored-by: Jason <84899178+jasonhenriquez@users.noreply.github.com>
2024-01-03 19:44:57 +01:00
showPlaylists: function () {
return !this.$store.getters.getHidePlaylists
},
inHistory: function () {
// When in the history page, showing relative dates isn't very useful.
// We want to show the exact date instead
return this.$route.name === 'history'
},
(Multiple) Local Playlist (instead of saving video in one hidden list) (#4234) * ! Fix add/removing videos from favourite list * ! Fix playlist type not passed into video list item component * ! Fix playlist data loading issue on new windows * ! Fix user playlist data parsing * * Ensure playlist view rerender on video additonal removal for displayed playlist * ! Fix icons & moving videos up/down in user playlist * * Don't show move up/down buttons when cannot be done * * Make user playlist view filtering function now works for filtering playlists * ! Fix style of prompt from any button within playlist-info component * $ Refactor a function to use early return style * * Disallow empty playlist name when saving in playlist edit mode * * Update add video to playlist prompt to have simple filtering like user playlist view * * Update playlist view to only show video reorder/remove buttons in edit mode With notice message * ! Fix playlist view for remote playlist unnecessary reload on save * ! Fix add to playlist prompt behaviour when some playlists are hidden due to filtering * $ Remove unused watch function arguments * * Update user playlist view create new playlist button position * * Update playlist view to add transitions to video reorder/removal * * Allow playlist with different case to be created * * Update visibility of user playlist related action components according to hide playlist settings Only those visible on video, remote playlist are updated * * Update video items to only show add to playlist buttons on hover * - Remove add to favorites button from video list item component * * Update watch-video-info component to add "add to playlist" button * * Update watch-video-info component to remove "add to favourite" button * * Ensure video thumbnail image displayed in 16/9 aspect ratio Mainly due to YT missing video thumbnail image got different aspect ratio 4/3 * * Update new buttons theme * * Put edit playlist button before copy button * * Move "remove video from playlist" button to most right * * Make video reorder & remove button visible on hover in user playlist view, regardless of "edit mode" * ! Fix video count parsing for user playlist * * Update user playlist to allow duplicate video entries (per video ID) * * Remove extra attributes assignment to video object except `timeAdded` Unintended change * * Update copy playlist button to like adding multiple videos to playlists * * Update copy playlist prompt to prefill title if create new playlist prompt shown * * Ensure all playlists have `playlistName` * $- Remove unused playlist property `removeOnWatched` * * Update read all playlist code to ensure existing "default" playlist properties (_id, protected) have same values as those in default Also fix issue discovered during testing * *- Remove unnecessary code line * * Update playlists from default playlists to be deletable * ! Fix duplicate `timeAdded` value for videos copied from user playlist * ! Fix playlist import (tested with db file exported from this branch) * * Update grid view to only display playlist title up to 255 chars Still can see full title in single playlist view * * Update add video to playlist prompt to only display playlist title up to 255 chars * * Update text of new playlist button to be same as new profile button * * Ignore many extra keys from playlist objectrs Also make data import check for object keys against required keys not key counts * * Disallow playlist import from changing internal playlist ID of existing playlists Existing playlists are matched by playlist name, not by internal playlist ID * * Ensure playlist name & description trimmed when saved * * Add missing change for importing playlist to ignore `protected` * $ Refactor code for "video object has all require keys" * ! Fix style of prompt from any button within playlist-info component again z-index war * * Update some empty message & button text * * Ensure playlist item action buttons are hidden during animations * ! Fix other prompt z-index * * Update `showAddToPlaylistPromptForManyVideos` to throw error when required keys missing from passed in video data * *- Remove unused video property `paid` from playlist related code * *- Remove unused video property `type` from playlist related code * ! Fix duplicate playlist displayed on playlist conversion * *- Remove unused video property `published` from playlist related code * * Don't require & generate property `timeAdded` when display a prompt * *- Remove unused video property `isLive` from playlist related code * ! Fix text * ! Revert code change for debugging only * ! Fix CSS for "Ensure playlist item action buttons are hidden during animations" * * Update add playlist button to be shown for live videos * + Add clear all playlists button * * Update add video to playlist prompt to swap "save" & "create playlist" button * ! Fix playlist view won't load after default playlist added due to lack of playlist * * Show toast message when no playlist selected after pressing save button * * Update add video to playlist prompt to show latest updated playlist first Easier for copying playlist with new playlist(s) * ! Fix watch page when visited via history after viewing the video from a deleted user playlist * ! Fix share buttons emitting user playlist IDs * * Add toast message after removing all playlists * ! Fix remote playlist video list rendering with duplicate videos * ! Fix missing key for some direct child elements under `transition-group` * ! Fix animation introduced to unnecessary elements * ! Prevent video link click during animation * ! Fix playlist creation/removal not reflected in other windows * * Ensure playlist visual selected state in sync with data in parent * * Update add video to playlist prompt to auto select playlists created after prompt shown once * * Update copy playlist button to show warning about not loaded videos when some not loaded yet For remote playlist Won't work for Invidious though (coz no way to load more) * * Update add video prompt to make it easier to access buttons via keyboard * * Make video reorder & remove button always visible in user playlist view * * Make plus button can be focused with tab Side effect is thumbnail link can be focused too (otherwise can't make plus button visible) * * Update add video to playlist prompt to focus on search input on shown * * Accept playlist optional property `createdAt` when importing * * Update playlist view to always show add to playlist button * $ Refactor `inUserPlaylist` Only playlist view would supply `playlistType` * * Improve accessibility for new prompts * * Make edit playlist inputs focused on entering edit mode * * Make most prompts focus back to last focused element on close * $ Use tabindex 0 for prompts Possible tabindex values unnecessary with elements programatically focused * * Update add video to playlist prompt to focus back to search input after new playlist created * * Update ft-list-video to focus back on thumbnail link element after add to playlist prompt closed * ! Fix unable to import duplicate video entries into an existing playlist * ! Fix create playlist prompt looks unclosed after playlist created when opened via add video to playlist prompt * ! Fix duplicate video entry ID when playlist with duplicate videoId entries copied to another playlist * ! Fix issues caused by last merge in e291cc8b41b2273a0d77c9f35ea760f0e0f7ac10 * $ Remove unused imports * ! Fix default playlists added when no playlist stored had no required attributes added on 1st run * ! Fix invalid prop type warning * * Use v-if instead of v-show * $ Just assign bool value instead of if-else * + Update playlists view to add sorting option * $- Remove unnecessary property assignments * ! Fix issues caused by "Remove unnecessary property assignments" * ! Fix issues caused by "Remove unnecessary property assignments" * * Ensure sort by time also fallbacks to playlist name sorting * ! Fix add/remove video does not update playlist last created time * ! Fix multi window playlist sync * * Show filtering input & sorting element when no. of playlist > 1 * * Update upcoming video to allow saving in playlist * ! Fix unable to visit previous video when playing first video in a playlist * * Update sorting options labels * ! Fix add to play prompt max width * ! Fix user playlist view incorrectly sorted playlists by latest updated first when filtered * * Update add to playlist prompt to add sort options * $ Remove unused classname * ! Ensure new playlist button focused after add to playlist prompt closed while thumbnail link unselectable * * Add playlists sort order for last played at, update it on play * ! Fix bug introduced by last merge * ! Fix thumbnail not respecting backend preference * ! Fix empty playlist thumbnail in single playlist view * * Make adding large no. of videos faster * $ Remove unused mapActions entries * $ Remove unused and unusable playlist code for inserting video IDs into a playlist * * Update single playlist view to only show `Remove watched videos` btn when there is any video * ! Fix prompt style issue caused by old branch changes * ! Fix removing video from local playlist remove all entries with same video ID * ! Fix adding video does not have uniqueID & timeAdded set Caused by previous add many video performance fix * ! Fix navigation in user playlist between entries of same video * * Reflect playlist updates on watch page playlist panel * $- Remove outdated incorrect prompt style fix * ! Fix add video to playlist prompt too high when there are too many playlists * ! Fix watch page play next/prev video in local playlist * ! Fix error in online playlist playing * * Keep partial playlist backward compatibility by restoring `type` in persisted playlist videos * ! Fix grid item for playlist to hide external player button for local playlist * * Make history rememeber uniqueId (local playlist video entry) when playing video with local playlist * ! Fix grid item for video in user playlist to hide external player button * ! Fix grid item for video in history with user playlist to hide external player button * ! Fix grid item for video in watch page playlist component with user playlist to hide external player button * * Update watch page to clear `uniqueID` from query when not playing local playlist * ! Fix watch page about user playlist detection on new window * * Reflect playlist updates on watch page playlist panel, even for currently playing video * ! Allow video with local playlist to be played in external player, but without playlist Also add missing fix for WatchVideoInfo * ! Fix external player handling for video in local playlist * ! Fix ft-video having different URLs in links * yarn run lint-style-fix * $ Rename uniqueId to playlistItemId * * Ensure local playlist ID won't conflict with remote playlist ID * - Remove import video while creating playlist related code * * Make text translatable * * Make sort option text translatable * ! Fix reverse condition * $ Just use ?. * Code review changes * Spaces * beforeDestroy * Remove unused methods * Remove infoData * filter > find * avoid importing `crypto` from NodeJS * Compress CSS ruleset * $ Remove useless prefix from key * Use template for element with v-if only * Make playlist selector look more selectable (cursor: pointer) * Translate toast messages and fix remove watched videos from playlist * ! Fix translation * - Remove unused methods * $ Remove workaround for issue which cannot be reproduced anymore * $ Remove remaining useless code following last commit removing workaround * you have no playlist > you have no playlists * CSS use var --horizontal-directionality-coefficient * * Update danger buttons color to primary (like clear search cache button) * ! Fix playlist icon container size * ! Fix sorting in add video to playlist prompt when filtered * $- Update ft-inputs to removed prop input-tabindex * ! Fix vue warning * + Add toggle to export playlist for older FT * * Update tooltip text * ! Fix vue warning * * Update text align * * Remove the extra surrounding spaces * Backtick > quote * - Remove useless prop * Fix tootip in lower width view * Update default filename * * Make tooltip auto-wrap * Revert "* Make tooltip auto-wrap" This reverts commit 7d932b936c7814349e50204a7979d2d0f5b0ea73. * Adjust tooltip styling * * Wait for local playlist loading only when playing with a user playlist * * Wait for local playlist loading only when playing with a user playlist requested Request user playlist can still be absent (but not requested for no playlist or remote playlist) * ! Fix single playlist view cover image having link when no video * ! Workaround create playlist prompt won't close when enter pressed in input box * ! Fix clear text button style * ! Fix copying playlist twice to the same user playlist produces same playlistItemId * ! Fix add video to playlist prompt input box style * ! Fix workaround for "create playlist prompt won't close when enter pressed in input box" * ! Ensure add video to playlist prompt updated when a playlist deleted (in another window) * ! Avoid saving and displaying unwanted video attributes into playlists * ! Fix playlist view for deleted user playlists * ! Fix copying playlist twice to the same user playlist produces same playlistItemId Real fix Cause of issue: updating property of input objects (which is shared across multiple run) * ! Fix search suggestions being blocked by playlist info component in single playlist view * ! Fix warning when reversing playlist in watch view * ! Fix prompt in playlist view (playlistinfo component) not above sidebar * Remove CSS top comments absent in other CSS files * Remove not useful comment for CSS * Float with variable Co-authored-by: Jason <84899178+jasonhenriquez@users.noreply.github.com> * Revert "! Fix clear text button style" This reverts commit 44ed286848e3cdf4c52f29a867fe09964adffd78. * Missing change for Revert "! Fix clear text button style" * $ Remove unused style for ft-playlist-selector * Apply changes from review * * Use $tc for translation entries with different value according to count values * ! Fix playlist link in watch view --------- Co-authored-by: Jason Henriquez <jasonhenriquez@protonmail.com> Co-authored-by: Jason <84899178+jasonhenriquez@users.noreply.github.com>
2024-01-03 19:44:57 +01:00
inUserPlaylist: function () {
return this.playlistTypeFinal === 'user' || this.selectedUserPlaylist != null
},
selectedUserPlaylist: function () {
if (this.playlistIdFinal == null) { return null }
if (this.playlistIdFinal === '') { return null }
return this.$store.getters.getPlaylist(this.playlistIdFinal)
},
playlistSharable() {
// `playlistId` can be undefined
// User playlist ID should not be shared
return this.playlistIdFinal && this.playlistIdFinal.length !== 0 && !this.inUserPlaylist
},
invidiousUrl: function () {
let videoUrl = `${this.currentInvidiousInstance}/watch?v=${this.id}`
// `playlistId` can be undefined
(Multiple) Local Playlist (instead of saving video in one hidden list) (#4234) * ! Fix add/removing videos from favourite list * ! Fix playlist type not passed into video list item component * ! Fix playlist data loading issue on new windows * ! Fix user playlist data parsing * * Ensure playlist view rerender on video additonal removal for displayed playlist * ! Fix icons & moving videos up/down in user playlist * * Don't show move up/down buttons when cannot be done * * Make user playlist view filtering function now works for filtering playlists * ! Fix style of prompt from any button within playlist-info component * $ Refactor a function to use early return style * * Disallow empty playlist name when saving in playlist edit mode * * Update add video to playlist prompt to have simple filtering like user playlist view * * Update playlist view to only show video reorder/remove buttons in edit mode With notice message * ! Fix playlist view for remote playlist unnecessary reload on save * ! Fix add to playlist prompt behaviour when some playlists are hidden due to filtering * $ Remove unused watch function arguments * * Update user playlist view create new playlist button position * * Update playlist view to add transitions to video reorder/removal * * Allow playlist with different case to be created * * Update visibility of user playlist related action components according to hide playlist settings Only those visible on video, remote playlist are updated * * Update video items to only show add to playlist buttons on hover * - Remove add to favorites button from video list item component * * Update watch-video-info component to add "add to playlist" button * * Update watch-video-info component to remove "add to favourite" button * * Ensure video thumbnail image displayed in 16/9 aspect ratio Mainly due to YT missing video thumbnail image got different aspect ratio 4/3 * * Update new buttons theme * * Put edit playlist button before copy button * * Move "remove video from playlist" button to most right * * Make video reorder & remove button visible on hover in user playlist view, regardless of "edit mode" * ! Fix video count parsing for user playlist * * Update user playlist to allow duplicate video entries (per video ID) * * Remove extra attributes assignment to video object except `timeAdded` Unintended change * * Update copy playlist button to like adding multiple videos to playlists * * Update copy playlist prompt to prefill title if create new playlist prompt shown * * Ensure all playlists have `playlistName` * $- Remove unused playlist property `removeOnWatched` * * Update read all playlist code to ensure existing "default" playlist properties (_id, protected) have same values as those in default Also fix issue discovered during testing * *- Remove unnecessary code line * * Update playlists from default playlists to be deletable * ! Fix duplicate `timeAdded` value for videos copied from user playlist * ! Fix playlist import (tested with db file exported from this branch) * * Update grid view to only display playlist title up to 255 chars Still can see full title in single playlist view * * Update add video to playlist prompt to only display playlist title up to 255 chars * * Update text of new playlist button to be same as new profile button * * Ignore many extra keys from playlist objectrs Also make data import check for object keys against required keys not key counts * * Disallow playlist import from changing internal playlist ID of existing playlists Existing playlists are matched by playlist name, not by internal playlist ID * * Ensure playlist name & description trimmed when saved * * Add missing change for importing playlist to ignore `protected` * $ Refactor code for "video object has all require keys" * ! Fix style of prompt from any button within playlist-info component again z-index war * * Update some empty message & button text * * Ensure playlist item action buttons are hidden during animations * ! Fix other prompt z-index * * Update `showAddToPlaylistPromptForManyVideos` to throw error when required keys missing from passed in video data * *- Remove unused video property `paid` from playlist related code * *- Remove unused video property `type` from playlist related code * ! Fix duplicate playlist displayed on playlist conversion * *- Remove unused video property `published` from playlist related code * * Don't require & generate property `timeAdded` when display a prompt * *- Remove unused video property `isLive` from playlist related code * ! Fix text * ! Revert code change for debugging only * ! Fix CSS for "Ensure playlist item action buttons are hidden during animations" * * Update add playlist button to be shown for live videos * + Add clear all playlists button * * Update add video to playlist prompt to swap "save" & "create playlist" button * ! Fix playlist view won't load after default playlist added due to lack of playlist * * Show toast message when no playlist selected after pressing save button * * Update add video to playlist prompt to show latest updated playlist first Easier for copying playlist with new playlist(s) * ! Fix watch page when visited via history after viewing the video from a deleted user playlist * ! Fix share buttons emitting user playlist IDs * * Add toast message after removing all playlists * ! Fix remote playlist video list rendering with duplicate videos * ! Fix missing key for some direct child elements under `transition-group` * ! Fix animation introduced to unnecessary elements * ! Prevent video link click during animation * ! Fix playlist creation/removal not reflected in other windows * * Ensure playlist visual selected state in sync with data in parent * * Update add video to playlist prompt to auto select playlists created after prompt shown once * * Update copy playlist button to show warning about not loaded videos when some not loaded yet For remote playlist Won't work for Invidious though (coz no way to load more) * * Update add video prompt to make it easier to access buttons via keyboard * * Make video reorder & remove button always visible in user playlist view * * Make plus button can be focused with tab Side effect is thumbnail link can be focused too (otherwise can't make plus button visible) * * Update add video to playlist prompt to focus on search input on shown * * Accept playlist optional property `createdAt` when importing * * Update playlist view to always show add to playlist button * $ Refactor `inUserPlaylist` Only playlist view would supply `playlistType` * * Improve accessibility for new prompts * * Make edit playlist inputs focused on entering edit mode * * Make most prompts focus back to last focused element on close * $ Use tabindex 0 for prompts Possible tabindex values unnecessary with elements programatically focused * * Update add video to playlist prompt to focus back to search input after new playlist created * * Update ft-list-video to focus back on thumbnail link element after add to playlist prompt closed * ! Fix unable to import duplicate video entries into an existing playlist * ! Fix create playlist prompt looks unclosed after playlist created when opened via add video to playlist prompt * ! Fix duplicate video entry ID when playlist with duplicate videoId entries copied to another playlist * ! Fix issues caused by last merge in e291cc8b41b2273a0d77c9f35ea760f0e0f7ac10 * $ Remove unused imports * ! Fix default playlists added when no playlist stored had no required attributes added on 1st run * ! Fix invalid prop type warning * * Use v-if instead of v-show * $ Just assign bool value instead of if-else * + Update playlists view to add sorting option * $- Remove unnecessary property assignments * ! Fix issues caused by "Remove unnecessary property assignments" * ! Fix issues caused by "Remove unnecessary property assignments" * * Ensure sort by time also fallbacks to playlist name sorting * ! Fix add/remove video does not update playlist last created time * ! Fix multi window playlist sync * * Show filtering input & sorting element when no. of playlist > 1 * * Update upcoming video to allow saving in playlist * ! Fix unable to visit previous video when playing first video in a playlist * * Update sorting options labels * ! Fix add to play prompt max width * ! Fix user playlist view incorrectly sorted playlists by latest updated first when filtered * * Update add to playlist prompt to add sort options * $ Remove unused classname * ! Ensure new playlist button focused after add to playlist prompt closed while thumbnail link unselectable * * Add playlists sort order for last played at, update it on play * ! Fix bug introduced by last merge * ! Fix thumbnail not respecting backend preference * ! Fix empty playlist thumbnail in single playlist view * * Make adding large no. of videos faster * $ Remove unused mapActions entries * $ Remove unused and unusable playlist code for inserting video IDs into a playlist * * Update single playlist view to only show `Remove watched videos` btn when there is any video * ! Fix prompt style issue caused by old branch changes * ! Fix removing video from local playlist remove all entries with same video ID * ! Fix adding video does not have uniqueID & timeAdded set Caused by previous add many video performance fix * ! Fix navigation in user playlist between entries of same video * * Reflect playlist updates on watch page playlist panel * $- Remove outdated incorrect prompt style fix * ! Fix add video to playlist prompt too high when there are too many playlists * ! Fix watch page play next/prev video in local playlist * ! Fix error in online playlist playing * * Keep partial playlist backward compatibility by restoring `type` in persisted playlist videos * ! Fix grid item for playlist to hide external player button for local playlist * * Make history rememeber uniqueId (local playlist video entry) when playing video with local playlist * ! Fix grid item for video in user playlist to hide external player button * ! Fix grid item for video in history with user playlist to hide external player button * ! Fix grid item for video in watch page playlist component with user playlist to hide external player button * * Update watch page to clear `uniqueID` from query when not playing local playlist * ! Fix watch page about user playlist detection on new window * * Reflect playlist updates on watch page playlist panel, even for currently playing video * ! Allow video with local playlist to be played in external player, but without playlist Also add missing fix for WatchVideoInfo * ! Fix external player handling for video in local playlist * ! Fix ft-video having different URLs in links * yarn run lint-style-fix * $ Rename uniqueId to playlistItemId * * Ensure local playlist ID won't conflict with remote playlist ID * - Remove import video while creating playlist related code * * Make text translatable * * Make sort option text translatable * ! Fix reverse condition * $ Just use ?. * Code review changes * Spaces * beforeDestroy * Remove unused methods * Remove infoData * filter > find * avoid importing `crypto` from NodeJS * Compress CSS ruleset * $ Remove useless prefix from key * Use template for element with v-if only * Make playlist selector look more selectable (cursor: pointer) * Translate toast messages and fix remove watched videos from playlist * ! Fix translation * - Remove unused methods * $ Remove workaround for issue which cannot be reproduced anymore * $ Remove remaining useless code following last commit removing workaround * you have no playlist > you have no playlists * CSS use var --horizontal-directionality-coefficient * * Update danger buttons color to primary (like clear search cache button) * ! Fix playlist icon container size * ! Fix sorting in add video to playlist prompt when filtered * $- Update ft-inputs to removed prop input-tabindex * ! Fix vue warning * + Add toggle to export playlist for older FT * * Update tooltip text * ! Fix vue warning * * Update text align * * Remove the extra surrounding spaces * Backtick > quote * - Remove useless prop * Fix tootip in lower width view * Update default filename * * Make tooltip auto-wrap * Revert "* Make tooltip auto-wrap" This reverts commit 7d932b936c7814349e50204a7979d2d0f5b0ea73. * Adjust tooltip styling * * Wait for local playlist loading only when playing with a user playlist * * Wait for local playlist loading only when playing with a user playlist requested Request user playlist can still be absent (but not requested for no playlist or remote playlist) * ! Fix single playlist view cover image having link when no video * ! Workaround create playlist prompt won't close when enter pressed in input box * ! Fix clear text button style * ! Fix copying playlist twice to the same user playlist produces same playlistItemId * ! Fix add video to playlist prompt input box style * ! Fix workaround for "create playlist prompt won't close when enter pressed in input box" * ! Ensure add video to playlist prompt updated when a playlist deleted (in another window) * ! Avoid saving and displaying unwanted video attributes into playlists * ! Fix playlist view for deleted user playlists * ! Fix copying playlist twice to the same user playlist produces same playlistItemId Real fix Cause of issue: updating property of input objects (which is shared across multiple run) * ! Fix search suggestions being blocked by playlist info component in single playlist view * ! Fix warning when reversing playlist in watch view * ! Fix prompt in playlist view (playlistinfo component) not above sidebar * Remove CSS top comments absent in other CSS files * Remove not useful comment for CSS * Float with variable Co-authored-by: Jason <84899178+jasonhenriquez@users.noreply.github.com> * Revert "! Fix clear text button style" This reverts commit 44ed286848e3cdf4c52f29a867fe09964adffd78. * Missing change for Revert "! Fix clear text button style" * $ Remove unused style for ft-playlist-selector * Apply changes from review * * Use $tc for translation entries with different value according to count values * ! Fix playlist link in watch view --------- Co-authored-by: Jason Henriquez <jasonhenriquez@protonmail.com> Co-authored-by: Jason <84899178+jasonhenriquez@users.noreply.github.com>
2024-01-03 19:44:57 +01:00
if (this.playlistSharable) {
// `index` seems can be ignored
videoUrl += `&list=${this.playlistIdFinal}`
}
return videoUrl
},
invidiousChannelUrl: function () {
return `${this.currentInvidiousInstance}/channel/${this.channelId}`
},
youtubeUrl: function () {
let videoUrl = `https://www.youtube.com/watch?v=${this.id}`
(Multiple) Local Playlist (instead of saving video in one hidden list) (#4234) * ! Fix add/removing videos from favourite list * ! Fix playlist type not passed into video list item component * ! Fix playlist data loading issue on new windows * ! Fix user playlist data parsing * * Ensure playlist view rerender on video additonal removal for displayed playlist * ! Fix icons & moving videos up/down in user playlist * * Don't show move up/down buttons when cannot be done * * Make user playlist view filtering function now works for filtering playlists * ! Fix style of prompt from any button within playlist-info component * $ Refactor a function to use early return style * * Disallow empty playlist name when saving in playlist edit mode * * Update add video to playlist prompt to have simple filtering like user playlist view * * Update playlist view to only show video reorder/remove buttons in edit mode With notice message * ! Fix playlist view for remote playlist unnecessary reload on save * ! Fix add to playlist prompt behaviour when some playlists are hidden due to filtering * $ Remove unused watch function arguments * * Update user playlist view create new playlist button position * * Update playlist view to add transitions to video reorder/removal * * Allow playlist with different case to be created * * Update visibility of user playlist related action components according to hide playlist settings Only those visible on video, remote playlist are updated * * Update video items to only show add to playlist buttons on hover * - Remove add to favorites button from video list item component * * Update watch-video-info component to add "add to playlist" button * * Update watch-video-info component to remove "add to favourite" button * * Ensure video thumbnail image displayed in 16/9 aspect ratio Mainly due to YT missing video thumbnail image got different aspect ratio 4/3 * * Update new buttons theme * * Put edit playlist button before copy button * * Move "remove video from playlist" button to most right * * Make video reorder & remove button visible on hover in user playlist view, regardless of "edit mode" * ! Fix video count parsing for user playlist * * Update user playlist to allow duplicate video entries (per video ID) * * Remove extra attributes assignment to video object except `timeAdded` Unintended change * * Update copy playlist button to like adding multiple videos to playlists * * Update copy playlist prompt to prefill title if create new playlist prompt shown * * Ensure all playlists have `playlistName` * $- Remove unused playlist property `removeOnWatched` * * Update read all playlist code to ensure existing "default" playlist properties (_id, protected) have same values as those in default Also fix issue discovered during testing * *- Remove unnecessary code line * * Update playlists from default playlists to be deletable * ! Fix duplicate `timeAdded` value for videos copied from user playlist * ! Fix playlist import (tested with db file exported from this branch) * * Update grid view to only display playlist title up to 255 chars Still can see full title in single playlist view * * Update add video to playlist prompt to only display playlist title up to 255 chars * * Update text of new playlist button to be same as new profile button * * Ignore many extra keys from playlist objectrs Also make data import check for object keys against required keys not key counts * * Disallow playlist import from changing internal playlist ID of existing playlists Existing playlists are matched by playlist name, not by internal playlist ID * * Ensure playlist name & description trimmed when saved * * Add missing change for importing playlist to ignore `protected` * $ Refactor code for "video object has all require keys" * ! Fix style of prompt from any button within playlist-info component again z-index war * * Update some empty message & button text * * Ensure playlist item action buttons are hidden during animations * ! Fix other prompt z-index * * Update `showAddToPlaylistPromptForManyVideos` to throw error when required keys missing from passed in video data * *- Remove unused video property `paid` from playlist related code * *- Remove unused video property `type` from playlist related code * ! Fix duplicate playlist displayed on playlist conversion * *- Remove unused video property `published` from playlist related code * * Don't require & generate property `timeAdded` when display a prompt * *- Remove unused video property `isLive` from playlist related code * ! Fix text * ! Revert code change for debugging only * ! Fix CSS for "Ensure playlist item action buttons are hidden during animations" * * Update add playlist button to be shown for live videos * + Add clear all playlists button * * Update add video to playlist prompt to swap "save" & "create playlist" button * ! Fix playlist view won't load after default playlist added due to lack of playlist * * Show toast message when no playlist selected after pressing save button * * Update add video to playlist prompt to show latest updated playlist first Easier for copying playlist with new playlist(s) * ! Fix watch page when visited via history after viewing the video from a deleted user playlist * ! Fix share buttons emitting user playlist IDs * * Add toast message after removing all playlists * ! Fix remote playlist video list rendering with duplicate videos * ! Fix missing key for some direct child elements under `transition-group` * ! Fix animation introduced to unnecessary elements * ! Prevent video link click during animation * ! Fix playlist creation/removal not reflected in other windows * * Ensure playlist visual selected state in sync with data in parent * * Update add video to playlist prompt to auto select playlists created after prompt shown once * * Update copy playlist button to show warning about not loaded videos when some not loaded yet For remote playlist Won't work for Invidious though (coz no way to load more) * * Update add video prompt to make it easier to access buttons via keyboard * * Make video reorder & remove button always visible in user playlist view * * Make plus button can be focused with tab Side effect is thumbnail link can be focused too (otherwise can't make plus button visible) * * Update add video to playlist prompt to focus on search input on shown * * Accept playlist optional property `createdAt` when importing * * Update playlist view to always show add to playlist button * $ Refactor `inUserPlaylist` Only playlist view would supply `playlistType` * * Improve accessibility for new prompts * * Make edit playlist inputs focused on entering edit mode * * Make most prompts focus back to last focused element on close * $ Use tabindex 0 for prompts Possible tabindex values unnecessary with elements programatically focused * * Update add video to playlist prompt to focus back to search input after new playlist created * * Update ft-list-video to focus back on thumbnail link element after add to playlist prompt closed * ! Fix unable to import duplicate video entries into an existing playlist * ! Fix create playlist prompt looks unclosed after playlist created when opened via add video to playlist prompt * ! Fix duplicate video entry ID when playlist with duplicate videoId entries copied to another playlist * ! Fix issues caused by last merge in e291cc8b41b2273a0d77c9f35ea760f0e0f7ac10 * $ Remove unused imports * ! Fix default playlists added when no playlist stored had no required attributes added on 1st run * ! Fix invalid prop type warning * * Use v-if instead of v-show * $ Just assign bool value instead of if-else * + Update playlists view to add sorting option * $- Remove unnecessary property assignments * ! Fix issues caused by "Remove unnecessary property assignments" * ! Fix issues caused by "Remove unnecessary property assignments" * * Ensure sort by time also fallbacks to playlist name sorting * ! Fix add/remove video does not update playlist last created time * ! Fix multi window playlist sync * * Show filtering input & sorting element when no. of playlist > 1 * * Update upcoming video to allow saving in playlist * ! Fix unable to visit previous video when playing first video in a playlist * * Update sorting options labels * ! Fix add to play prompt max width * ! Fix user playlist view incorrectly sorted playlists by latest updated first when filtered * * Update add to playlist prompt to add sort options * $ Remove unused classname * ! Ensure new playlist button focused after add to playlist prompt closed while thumbnail link unselectable * * Add playlists sort order for last played at, update it on play * ! Fix bug introduced by last merge * ! Fix thumbnail not respecting backend preference * ! Fix empty playlist thumbnail in single playlist view * * Make adding large no. of videos faster * $ Remove unused mapActions entries * $ Remove unused and unusable playlist code for inserting video IDs into a playlist * * Update single playlist view to only show `Remove watched videos` btn when there is any video * ! Fix prompt style issue caused by old branch changes * ! Fix removing video from local playlist remove all entries with same video ID * ! Fix adding video does not have uniqueID & timeAdded set Caused by previous add many video performance fix * ! Fix navigation in user playlist between entries of same video * * Reflect playlist updates on watch page playlist panel * $- Remove outdated incorrect prompt style fix * ! Fix add video to playlist prompt too high when there are too many playlists * ! Fix watch page play next/prev video in local playlist * ! Fix error in online playlist playing * * Keep partial playlist backward compatibility by restoring `type` in persisted playlist videos * ! Fix grid item for playlist to hide external player button for local playlist * * Make history rememeber uniqueId (local playlist video entry) when playing video with local playlist * ! Fix grid item for video in user playlist to hide external player button * ! Fix grid item for video in history with user playlist to hide external player button * ! Fix grid item for video in watch page playlist component with user playlist to hide external player button * * Update watch page to clear `uniqueID` from query when not playing local playlist * ! Fix watch page about user playlist detection on new window * * Reflect playlist updates on watch page playlist panel, even for currently playing video * ! Allow video with local playlist to be played in external player, but without playlist Also add missing fix for WatchVideoInfo * ! Fix external player handling for video in local playlist * ! Fix ft-video having different URLs in links * yarn run lint-style-fix * $ Rename uniqueId to playlistItemId * * Ensure local playlist ID won't conflict with remote playlist ID * - Remove import video while creating playlist related code * * Make text translatable * * Make sort option text translatable * ! Fix reverse condition * $ Just use ?. * Code review changes * Spaces * beforeDestroy * Remove unused methods * Remove infoData * filter > find * avoid importing `crypto` from NodeJS * Compress CSS ruleset * $ Remove useless prefix from key * Use template for element with v-if only * Make playlist selector look more selectable (cursor: pointer) * Translate toast messages and fix remove watched videos from playlist * ! Fix translation * - Remove unused methods * $ Remove workaround for issue which cannot be reproduced anymore * $ Remove remaining useless code following last commit removing workaround * you have no playlist > you have no playlists * CSS use var --horizontal-directionality-coefficient * * Update danger buttons color to primary (like clear search cache button) * ! Fix playlist icon container size * ! Fix sorting in add video to playlist prompt when filtered * $- Update ft-inputs to removed prop input-tabindex * ! Fix vue warning * + Add toggle to export playlist for older FT * * Update tooltip text * ! Fix vue warning * * Update text align * * Remove the extra surrounding spaces * Backtick > quote * - Remove useless prop * Fix tootip in lower width view * Update default filename * * Make tooltip auto-wrap * Revert "* Make tooltip auto-wrap" This reverts commit 7d932b936c7814349e50204a7979d2d0f5b0ea73. * Adjust tooltip styling * * Wait for local playlist loading only when playing with a user playlist * * Wait for local playlist loading only when playing with a user playlist requested Request user playlist can still be absent (but not requested for no playlist or remote playlist) * ! Fix single playlist view cover image having link when no video * ! Workaround create playlist prompt won't close when enter pressed in input box * ! Fix clear text button style * ! Fix copying playlist twice to the same user playlist produces same playlistItemId * ! Fix add video to playlist prompt input box style * ! Fix workaround for "create playlist prompt won't close when enter pressed in input box" * ! Ensure add video to playlist prompt updated when a playlist deleted (in another window) * ! Avoid saving and displaying unwanted video attributes into playlists * ! Fix playlist view for deleted user playlists * ! Fix copying playlist twice to the same user playlist produces same playlistItemId Real fix Cause of issue: updating property of input objects (which is shared across multiple run) * ! Fix search suggestions being blocked by playlist info component in single playlist view * ! Fix warning when reversing playlist in watch view * ! Fix prompt in playlist view (playlistinfo component) not above sidebar * Remove CSS top comments absent in other CSS files * Remove not useful comment for CSS * Float with variable Co-authored-by: Jason <84899178+jasonhenriquez@users.noreply.github.com> * Revert "! Fix clear text button style" This reverts commit 44ed286848e3cdf4c52f29a867fe09964adffd78. * Missing change for Revert "! Fix clear text button style" * $ Remove unused style for ft-playlist-selector * Apply changes from review * * Use $tc for translation entries with different value according to count values * ! Fix playlist link in watch view --------- Co-authored-by: Jason Henriquez <jasonhenriquez@protonmail.com> Co-authored-by: Jason <84899178+jasonhenriquez@users.noreply.github.com>
2024-01-03 19:44:57 +01:00
if (this.playlistSharable) {
// `index` seems can be ignored
videoUrl += `&list=${this.playlistIdFinal}`
}
return videoUrl
},
youtubeShareUrl: function () {
const videoUrl = `https://youtu.be/${this.id}`
(Multiple) Local Playlist (instead of saving video in one hidden list) (#4234) * ! Fix add/removing videos from favourite list * ! Fix playlist type not passed into video list item component * ! Fix playlist data loading issue on new windows * ! Fix user playlist data parsing * * Ensure playlist view rerender on video additonal removal for displayed playlist * ! Fix icons & moving videos up/down in user playlist * * Don't show move up/down buttons when cannot be done * * Make user playlist view filtering function now works for filtering playlists * ! Fix style of prompt from any button within playlist-info component * $ Refactor a function to use early return style * * Disallow empty playlist name when saving in playlist edit mode * * Update add video to playlist prompt to have simple filtering like user playlist view * * Update playlist view to only show video reorder/remove buttons in edit mode With notice message * ! Fix playlist view for remote playlist unnecessary reload on save * ! Fix add to playlist prompt behaviour when some playlists are hidden due to filtering * $ Remove unused watch function arguments * * Update user playlist view create new playlist button position * * Update playlist view to add transitions to video reorder/removal * * Allow playlist with different case to be created * * Update visibility of user playlist related action components according to hide playlist settings Only those visible on video, remote playlist are updated * * Update video items to only show add to playlist buttons on hover * - Remove add to favorites button from video list item component * * Update watch-video-info component to add "add to playlist" button * * Update watch-video-info component to remove "add to favourite" button * * Ensure video thumbnail image displayed in 16/9 aspect ratio Mainly due to YT missing video thumbnail image got different aspect ratio 4/3 * * Update new buttons theme * * Put edit playlist button before copy button * * Move "remove video from playlist" button to most right * * Make video reorder & remove button visible on hover in user playlist view, regardless of "edit mode" * ! Fix video count parsing for user playlist * * Update user playlist to allow duplicate video entries (per video ID) * * Remove extra attributes assignment to video object except `timeAdded` Unintended change * * Update copy playlist button to like adding multiple videos to playlists * * Update copy playlist prompt to prefill title if create new playlist prompt shown * * Ensure all playlists have `playlistName` * $- Remove unused playlist property `removeOnWatched` * * Update read all playlist code to ensure existing "default" playlist properties (_id, protected) have same values as those in default Also fix issue discovered during testing * *- Remove unnecessary code line * * Update playlists from default playlists to be deletable * ! Fix duplicate `timeAdded` value for videos copied from user playlist * ! Fix playlist import (tested with db file exported from this branch) * * Update grid view to only display playlist title up to 255 chars Still can see full title in single playlist view * * Update add video to playlist prompt to only display playlist title up to 255 chars * * Update text of new playlist button to be same as new profile button * * Ignore many extra keys from playlist objectrs Also make data import check for object keys against required keys not key counts * * Disallow playlist import from changing internal playlist ID of existing playlists Existing playlists are matched by playlist name, not by internal playlist ID * * Ensure playlist name & description trimmed when saved * * Add missing change for importing playlist to ignore `protected` * $ Refactor code for "video object has all require keys" * ! Fix style of prompt from any button within playlist-info component again z-index war * * Update some empty message & button text * * Ensure playlist item action buttons are hidden during animations * ! Fix other prompt z-index * * Update `showAddToPlaylistPromptForManyVideos` to throw error when required keys missing from passed in video data * *- Remove unused video property `paid` from playlist related code * *- Remove unused video property `type` from playlist related code * ! Fix duplicate playlist displayed on playlist conversion * *- Remove unused video property `published` from playlist related code * * Don't require & generate property `timeAdded` when display a prompt * *- Remove unused video property `isLive` from playlist related code * ! Fix text * ! Revert code change for debugging only * ! Fix CSS for "Ensure playlist item action buttons are hidden during animations" * * Update add playlist button to be shown for live videos * + Add clear all playlists button * * Update add video to playlist prompt to swap "save" & "create playlist" button * ! Fix playlist view won't load after default playlist added due to lack of playlist * * Show toast message when no playlist selected after pressing save button * * Update add video to playlist prompt to show latest updated playlist first Easier for copying playlist with new playlist(s) * ! Fix watch page when visited via history after viewing the video from a deleted user playlist * ! Fix share buttons emitting user playlist IDs * * Add toast message after removing all playlists * ! Fix remote playlist video list rendering with duplicate videos * ! Fix missing key for some direct child elements under `transition-group` * ! Fix animation introduced to unnecessary elements * ! Prevent video link click during animation * ! Fix playlist creation/removal not reflected in other windows * * Ensure playlist visual selected state in sync with data in parent * * Update add video to playlist prompt to auto select playlists created after prompt shown once * * Update copy playlist button to show warning about not loaded videos when some not loaded yet For remote playlist Won't work for Invidious though (coz no way to load more) * * Update add video prompt to make it easier to access buttons via keyboard * * Make video reorder & remove button always visible in user playlist view * * Make plus button can be focused with tab Side effect is thumbnail link can be focused too (otherwise can't make plus button visible) * * Update add video to playlist prompt to focus on search input on shown * * Accept playlist optional property `createdAt` when importing * * Update playlist view to always show add to playlist button * $ Refactor `inUserPlaylist` Only playlist view would supply `playlistType` * * Improve accessibility for new prompts * * Make edit playlist inputs focused on entering edit mode * * Make most prompts focus back to last focused element on close * $ Use tabindex 0 for prompts Possible tabindex values unnecessary with elements programatically focused * * Update add video to playlist prompt to focus back to search input after new playlist created * * Update ft-list-video to focus back on thumbnail link element after add to playlist prompt closed * ! Fix unable to import duplicate video entries into an existing playlist * ! Fix create playlist prompt looks unclosed after playlist created when opened via add video to playlist prompt * ! Fix duplicate video entry ID when playlist with duplicate videoId entries copied to another playlist * ! Fix issues caused by last merge in e291cc8b41b2273a0d77c9f35ea760f0e0f7ac10 * $ Remove unused imports * ! Fix default playlists added when no playlist stored had no required attributes added on 1st run * ! Fix invalid prop type warning * * Use v-if instead of v-show * $ Just assign bool value instead of if-else * + Update playlists view to add sorting option * $- Remove unnecessary property assignments * ! Fix issues caused by "Remove unnecessary property assignments" * ! Fix issues caused by "Remove unnecessary property assignments" * * Ensure sort by time also fallbacks to playlist name sorting * ! Fix add/remove video does not update playlist last created time * ! Fix multi window playlist sync * * Show filtering input & sorting element when no. of playlist > 1 * * Update upcoming video to allow saving in playlist * ! Fix unable to visit previous video when playing first video in a playlist * * Update sorting options labels * ! Fix add to play prompt max width * ! Fix user playlist view incorrectly sorted playlists by latest updated first when filtered * * Update add to playlist prompt to add sort options * $ Remove unused classname * ! Ensure new playlist button focused after add to playlist prompt closed while thumbnail link unselectable * * Add playlists sort order for last played at, update it on play * ! Fix bug introduced by last merge * ! Fix thumbnail not respecting backend preference * ! Fix empty playlist thumbnail in single playlist view * * Make adding large no. of videos faster * $ Remove unused mapActions entries * $ Remove unused and unusable playlist code for inserting video IDs into a playlist * * Update single playlist view to only show `Remove watched videos` btn when there is any video * ! Fix prompt style issue caused by old branch changes * ! Fix removing video from local playlist remove all entries with same video ID * ! Fix adding video does not have uniqueID & timeAdded set Caused by previous add many video performance fix * ! Fix navigation in user playlist between entries of same video * * Reflect playlist updates on watch page playlist panel * $- Remove outdated incorrect prompt style fix * ! Fix add video to playlist prompt too high when there are too many playlists * ! Fix watch page play next/prev video in local playlist * ! Fix error in online playlist playing * * Keep partial playlist backward compatibility by restoring `type` in persisted playlist videos * ! Fix grid item for playlist to hide external player button for local playlist * * Make history rememeber uniqueId (local playlist video entry) when playing video with local playlist * ! Fix grid item for video in user playlist to hide external player button * ! Fix grid item for video in history with user playlist to hide external player button * ! Fix grid item for video in watch page playlist component with user playlist to hide external player button * * Update watch page to clear `uniqueID` from query when not playing local playlist * ! Fix watch page about user playlist detection on new window * * Reflect playlist updates on watch page playlist panel, even for currently playing video * ! Allow video with local playlist to be played in external player, but without playlist Also add missing fix for WatchVideoInfo * ! Fix external player handling for video in local playlist * ! Fix ft-video having different URLs in links * yarn run lint-style-fix * $ Rename uniqueId to playlistItemId * * Ensure local playlist ID won't conflict with remote playlist ID * - Remove import video while creating playlist related code * * Make text translatable * * Make sort option text translatable * ! Fix reverse condition * $ Just use ?. * Code review changes * Spaces * beforeDestroy * Remove unused methods * Remove infoData * filter > find * avoid importing `crypto` from NodeJS * Compress CSS ruleset * $ Remove useless prefix from key * Use template for element with v-if only * Make playlist selector look more selectable (cursor: pointer) * Translate toast messages and fix remove watched videos from playlist * ! Fix translation * - Remove unused methods * $ Remove workaround for issue which cannot be reproduced anymore * $ Remove remaining useless code following last commit removing workaround * you have no playlist > you have no playlists * CSS use var --horizontal-directionality-coefficient * * Update danger buttons color to primary (like clear search cache button) * ! Fix playlist icon container size * ! Fix sorting in add video to playlist prompt when filtered * $- Update ft-inputs to removed prop input-tabindex * ! Fix vue warning * + Add toggle to export playlist for older FT * * Update tooltip text * ! Fix vue warning * * Update text align * * Remove the extra surrounding spaces * Backtick > quote * - Remove useless prop * Fix tootip in lower width view * Update default filename * * Make tooltip auto-wrap * Revert "* Make tooltip auto-wrap" This reverts commit 7d932b936c7814349e50204a7979d2d0f5b0ea73. * Adjust tooltip styling * * Wait for local playlist loading only when playing with a user playlist * * Wait for local playlist loading only when playing with a user playlist requested Request user playlist can still be absent (but not requested for no playlist or remote playlist) * ! Fix single playlist view cover image having link when no video * ! Workaround create playlist prompt won't close when enter pressed in input box * ! Fix clear text button style * ! Fix copying playlist twice to the same user playlist produces same playlistItemId * ! Fix add video to playlist prompt input box style * ! Fix workaround for "create playlist prompt won't close when enter pressed in input box" * ! Ensure add video to playlist prompt updated when a playlist deleted (in another window) * ! Avoid saving and displaying unwanted video attributes into playlists * ! Fix playlist view for deleted user playlists * ! Fix copying playlist twice to the same user playlist produces same playlistItemId Real fix Cause of issue: updating property of input objects (which is shared across multiple run) * ! Fix search suggestions being blocked by playlist info component in single playlist view * ! Fix warning when reversing playlist in watch view * ! Fix prompt in playlist view (playlistinfo component) not above sidebar * Remove CSS top comments absent in other CSS files * Remove not useful comment for CSS * Float with variable Co-authored-by: Jason <84899178+jasonhenriquez@users.noreply.github.com> * Revert "! Fix clear text button style" This reverts commit 44ed286848e3cdf4c52f29a867fe09964adffd78. * Missing change for Revert "! Fix clear text button style" * $ Remove unused style for ft-playlist-selector * Apply changes from review * * Use $tc for translation entries with different value according to count values * ! Fix playlist link in watch view --------- Co-authored-by: Jason Henriquez <jasonhenriquez@protonmail.com> Co-authored-by: Jason <84899178+jasonhenriquez@users.noreply.github.com>
2024-01-03 19:44:57 +01:00
if (this.playlistSharable) {
// `index` seems can be ignored
return `${videoUrl}?list=${this.playlistIdFinal}`
}
return videoUrl
},
youtubeChannelUrl: function () {
return `https://youtube.com/channel/${this.channelId}`
},
youtubeEmbedUrl: function () {
return `https://www.youtube-nocookie.com/embed/${this.id}`
},
progressPercentage: function () {
if (typeof this.lengthSeconds !== 'number') {
return 0
}
return (this.watchProgress / this.lengthSeconds) * 100
},
hideSharingActions: function() {
return this.$store.getters.getHideSharingActions
},
dropdownOptions: function () {
const options = [
{
label: this.historyEntryExists
? this.$t('Video.Remove From History')
: this.$t('Video.Mark As Watched'),
value: 'history'
}
]
if (!this.hideSharingActions) {
options.push(
{
type: 'divider'
},
{
label: this.$t('Video.Copy YouTube Link'),
value: 'copyYoutube'
},
{
label: this.$t('Video.Copy YouTube Embedded Player Link'),
value: 'copyYoutubeEmbed'
},
{
label: this.$t('Video.Copy Invidious Link'),
value: 'copyInvidious'
},
{
type: 'divider'
},
{
label: this.$t('Video.Open in YouTube'),
value: 'openYoutube'
},
{
label: this.$t('Video.Open YouTube Embedded Player'),
value: 'openYoutubeEmbed'
},
{
label: this.$t('Video.Open in Invidious'),
value: 'openInvidious'
}
)
if (this.channelId !== null) {
options.push(
{
type: 'divider'
},
{
label: this.$t('Video.Copy YouTube Channel Link'),
value: 'copyYoutubeChannel'
},
{
label: this.$t('Video.Copy Invidious Channel Link'),
value: 'copyInvidiousChannel'
},
{
type: 'divider'
},
{
label: this.$t('Video.Open Channel in YouTube'),
value: 'openYoutubeChannel'
},
{
label: this.$t('Video.Open Channel in Invidious'),
value: 'openInvidiousChannel'
},
{
type: 'divider'
}
)
const hiddenChannels = JSON.parse(this.$store.getters.getChannelsHidden)
const channelShouldBeHidden = hiddenChannels.some(c => c === this.channelId)
if (channelShouldBeHidden) {
options.push({
label: this.$t('Video.Unhide Channel'),
value: 'unhideChannel'
})
} else {
options.push({
label: this.$t('Video.Hide Channel'),
value: 'hideChannel'
})
}
}
}
return options
},
thumbnail: function () {
if (this.thumbnailPreference === 'hidden') {
return require('../../assets/img/thumbnail_placeholder.svg')
}
if (this.useDeArrowThumbnails && this.deArrowCache?.thumbnail != null) {
return this.deArrowCache.thumbnail
}
let baseUrl
if (this.backendPreference === 'invidious') {
baseUrl = this.currentInvidiousInstance
} else {
baseUrl = 'https://i.ytimg.com'
}
switch (this.thumbnailPreference) {
case 'start':
return `${baseUrl}/vi/${this.id}/mq1.jpg`
case 'middle':
return `${baseUrl}/vi/${this.id}/mq2.jpg`
case 'end':
return `${baseUrl}/vi/${this.id}/mq3.jpg`
default:
return `${baseUrl}/vi/${this.id}/mqdefault.jpg`
}
},
hideVideoViews: function () {
return this.$store.getters.getHideVideoViews
},
addWatchedStyle: function () {
return this.historyEntryExists && !this.inHistory
},
currentLocale: function () {
return this.$i18n.locale.replace('_', '-')
},
Add support for External Players (closes #418) (#1271) * feat: add support for opening videos/playlists in external players (like mpv) #418 Signed-off-by: Randshot <randshot@norealm.xyz> * feat: move external player settings into own section feat: add warnings for when the external player doesn't support the current action (e.g. reversing playlists) feat: add toggle in settings for ignoring unsupported action warnings Signed-off-by: Randshot <randshot@norealm.xyz> * improvement: do not append start offset argument when the watch progress is 0 Signed-off-by: Randshot <randshot@norealm.xyz> * fix: fix undefined showToast error when clicking on the external player playlist button Signed-off-by: Randshot <randshot@norealm.xyz> * feat: add icon button for external player to watch-video-info (below video player) component improvement: refactor the code for opening the external player into a separate function in utils.js Signed-off-by: Randshot <randshot@norealm.xyz> * feat: add support for ytdl protocol urls (supportsYtdlProtocol) chore: fix lint error Signed-off-by: Randshot <randshot@norealm.xyz> * feat: add support for passing default playback rate to external player improvement: add warning message for when the external player does not support starting playback at a given offset chore: rename reverse, shuffle, and loopPlaylist fields for consistency Signed-off-by: Randshot <randshot@norealm.xyz> * feat: add setting for custom external player command line arguments Signed-off-by: Randshot <randshot@norealm.xyz> * chore: fix lint error Signed-off-by: Randshot <randshot@norealm.xyz> * improvement(watch-video-info.js): change the default for playlistId back to null (consistent with other occurrences) improvement(utils.js/openInExternalPlayer): also check for empty playlistId string fix(watch-video-info.js): fix merge error Signed-off-by: Randshot <randshot@norealm.xyz> * improvement(components/ft-list-video): check whether watch history is turned on, before adding a video to it fix(store/utils): fix playlistReverse typo, causing `undefined` being set as a command line argument fix(store/utils): check for 'string' type, instead of `null` and `undefined` fix(views/Watch): fix getPlaylistIndex returning an incorrect index, when reverse was turned on chore(locales/en-US): fix thumbnail and suppress typo chore(locales/en_GB): fix thumbnail and suppress typo Signed-off-by: Randshot <randshot@norealm.xyz> * feat: pause player when opening video in external player Signed-off-by: Randshot <randshot@norealm.xyz> * feat(externalPlayer): refactor externalPlayerCmdArguments into a separate static file `static/external-player-map.json` chore(components/ft-list-video): fix lint error Signed-off-by: Randshot <randshot@norealm.xyz> * Revert "feat: pause player when opening video in external player" This reverts commit 28b4713334bf941be9e403abf517bb4b89beb04f. * feat: pause the app's player when opening video in external player * This commit addresses above requested changes. improvement(components/external-player-settings): move `externalPlayer` check to `ft-flex-box` improvement(components/external-player-settings): use `update*` methods, instead of `handle*` improvement(store/utils): move child_process invocation to `main/index.js` via IPC call to renderer improvement(store/utils): use `dispatch` for calling actions improvement(store/utils): get external player related settings directly in the action improvement(renderer/App): move `checkExternalPlayer` call down into `usingElectron` if statement fix(renderer/App): fix lint error improvement(components/ft-list-playlist): remove unnecessary payload fields fix(components/ft-list-playlist): fix typo in component name improvement(components/ft-list-video): remove unnecessary payload fields improvement(components/watch-video-info): remove unnecessary payload fields improvement(views/Settings): add `usingElectron` condition Signed-off-by: Randshot <randshot@norealm.xyz> * fix(store/utils): fix toast message error Signed-off-by: Randshot <randshot@norealm.xyz> * fix(store/utils): fix a few code mess-ups Co-authored-by: Svallinn <41585298+Svallinn@users.noreply.github.com>
2021-06-13 17:31:43 +02:00
externalPlayer: function () {
return this.$store.getters.getExternalPlayer
},
defaultPlayback: function () {
return this.$store.getters.getDefaultPlayback
},
saveWatchedProgress: function () {
return this.$store.getters.getSaveWatchedProgress
},
saveVideoHistoryWithLastViewedPlaylist: function () {
return this.$store.getters.getSaveVideoHistoryWithLastViewedPlaylist
},
showDistractionFreeTitles: function () {
return this.$store.getters.getShowDistractionFreeTitles
},
displayTitle: function () {
2023-08-03 14:48:23 +02:00
let title
if (this.useDeArrowTitles && this.deArrowCache?.title) {
title = this.deArrowCache.title
} else {
title = this.title
}
if (this.showDistractionFreeTitles) {
2023-08-03 14:48:23 +02:00
return toDistractionFreeTitle(title)
} else {
2023-08-03 14:48:23 +02:00
return title
}
},
displayDuration: function () {
if (this.useDeArrowTitles && (this.duration === '' || this.duration === '0:00') && this.deArrowCache?.videoDuration) {
return formatDurationAsTimestamp(this.deArrowCache.videoDuration)
}
return this.duration
},
(Multiple) Local Playlist (instead of saving video in one hidden list) (#4234) * ! Fix add/removing videos from favourite list * ! Fix playlist type not passed into video list item component * ! Fix playlist data loading issue on new windows * ! Fix user playlist data parsing * * Ensure playlist view rerender on video additonal removal for displayed playlist * ! Fix icons & moving videos up/down in user playlist * * Don't show move up/down buttons when cannot be done * * Make user playlist view filtering function now works for filtering playlists * ! Fix style of prompt from any button within playlist-info component * $ Refactor a function to use early return style * * Disallow empty playlist name when saving in playlist edit mode * * Update add video to playlist prompt to have simple filtering like user playlist view * * Update playlist view to only show video reorder/remove buttons in edit mode With notice message * ! Fix playlist view for remote playlist unnecessary reload on save * ! Fix add to playlist prompt behaviour when some playlists are hidden due to filtering * $ Remove unused watch function arguments * * Update user playlist view create new playlist button position * * Update playlist view to add transitions to video reorder/removal * * Allow playlist with different case to be created * * Update visibility of user playlist related action components according to hide playlist settings Only those visible on video, remote playlist are updated * * Update video items to only show add to playlist buttons on hover * - Remove add to favorites button from video list item component * * Update watch-video-info component to add "add to playlist" button * * Update watch-video-info component to remove "add to favourite" button * * Ensure video thumbnail image displayed in 16/9 aspect ratio Mainly due to YT missing video thumbnail image got different aspect ratio 4/3 * * Update new buttons theme * * Put edit playlist button before copy button * * Move "remove video from playlist" button to most right * * Make video reorder & remove button visible on hover in user playlist view, regardless of "edit mode" * ! Fix video count parsing for user playlist * * Update user playlist to allow duplicate video entries (per video ID) * * Remove extra attributes assignment to video object except `timeAdded` Unintended change * * Update copy playlist button to like adding multiple videos to playlists * * Update copy playlist prompt to prefill title if create new playlist prompt shown * * Ensure all playlists have `playlistName` * $- Remove unused playlist property `removeOnWatched` * * Update read all playlist code to ensure existing "default" playlist properties (_id, protected) have same values as those in default Also fix issue discovered during testing * *- Remove unnecessary code line * * Update playlists from default playlists to be deletable * ! Fix duplicate `timeAdded` value for videos copied from user playlist * ! Fix playlist import (tested with db file exported from this branch) * * Update grid view to only display playlist title up to 255 chars Still can see full title in single playlist view * * Update add video to playlist prompt to only display playlist title up to 255 chars * * Update text of new playlist button to be same as new profile button * * Ignore many extra keys from playlist objectrs Also make data import check for object keys against required keys not key counts * * Disallow playlist import from changing internal playlist ID of existing playlists Existing playlists are matched by playlist name, not by internal playlist ID * * Ensure playlist name & description trimmed when saved * * Add missing change for importing playlist to ignore `protected` * $ Refactor code for "video object has all require keys" * ! Fix style of prompt from any button within playlist-info component again z-index war * * Update some empty message & button text * * Ensure playlist item action buttons are hidden during animations * ! Fix other prompt z-index * * Update `showAddToPlaylistPromptForManyVideos` to throw error when required keys missing from passed in video data * *- Remove unused video property `paid` from playlist related code * *- Remove unused video property `type` from playlist related code * ! Fix duplicate playlist displayed on playlist conversion * *- Remove unused video property `published` from playlist related code * * Don't require & generate property `timeAdded` when display a prompt * *- Remove unused video property `isLive` from playlist related code * ! Fix text * ! Revert code change for debugging only * ! Fix CSS for "Ensure playlist item action buttons are hidden during animations" * * Update add playlist button to be shown for live videos * + Add clear all playlists button * * Update add video to playlist prompt to swap "save" & "create playlist" button * ! Fix playlist view won't load after default playlist added due to lack of playlist * * Show toast message when no playlist selected after pressing save button * * Update add video to playlist prompt to show latest updated playlist first Easier for copying playlist with new playlist(s) * ! Fix watch page when visited via history after viewing the video from a deleted user playlist * ! Fix share buttons emitting user playlist IDs * * Add toast message after removing all playlists * ! Fix remote playlist video list rendering with duplicate videos * ! Fix missing key for some direct child elements under `transition-group` * ! Fix animation introduced to unnecessary elements * ! Prevent video link click during animation * ! Fix playlist creation/removal not reflected in other windows * * Ensure playlist visual selected state in sync with data in parent * * Update add video to playlist prompt to auto select playlists created after prompt shown once * * Update copy playlist button to show warning about not loaded videos when some not loaded yet For remote playlist Won't work for Invidious though (coz no way to load more) * * Update add video prompt to make it easier to access buttons via keyboard * * Make video reorder & remove button always visible in user playlist view * * Make plus button can be focused with tab Side effect is thumbnail link can be focused too (otherwise can't make plus button visible) * * Update add video to playlist prompt to focus on search input on shown * * Accept playlist optional property `createdAt` when importing * * Update playlist view to always show add to playlist button * $ Refactor `inUserPlaylist` Only playlist view would supply `playlistType` * * Improve accessibility for new prompts * * Make edit playlist inputs focused on entering edit mode * * Make most prompts focus back to last focused element on close * $ Use tabindex 0 for prompts Possible tabindex values unnecessary with elements programatically focused * * Update add video to playlist prompt to focus back to search input after new playlist created * * Update ft-list-video to focus back on thumbnail link element after add to playlist prompt closed * ! Fix unable to import duplicate video entries into an existing playlist * ! Fix create playlist prompt looks unclosed after playlist created when opened via add video to playlist prompt * ! Fix duplicate video entry ID when playlist with duplicate videoId entries copied to another playlist * ! Fix issues caused by last merge in e291cc8b41b2273a0d77c9f35ea760f0e0f7ac10 * $ Remove unused imports * ! Fix default playlists added when no playlist stored had no required attributes added on 1st run * ! Fix invalid prop type warning * * Use v-if instead of v-show * $ Just assign bool value instead of if-else * + Update playlists view to add sorting option * $- Remove unnecessary property assignments * ! Fix issues caused by "Remove unnecessary property assignments" * ! Fix issues caused by "Remove unnecessary property assignments" * * Ensure sort by time also fallbacks to playlist name sorting * ! Fix add/remove video does not update playlist last created time * ! Fix multi window playlist sync * * Show filtering input & sorting element when no. of playlist > 1 * * Update upcoming video to allow saving in playlist * ! Fix unable to visit previous video when playing first video in a playlist * * Update sorting options labels * ! Fix add to play prompt max width * ! Fix user playlist view incorrectly sorted playlists by latest updated first when filtered * * Update add to playlist prompt to add sort options * $ Remove unused classname * ! Ensure new playlist button focused after add to playlist prompt closed while thumbnail link unselectable * * Add playlists sort order for last played at, update it on play * ! Fix bug introduced by last merge * ! Fix thumbnail not respecting backend preference * ! Fix empty playlist thumbnail in single playlist view * * Make adding large no. of videos faster * $ Remove unused mapActions entries * $ Remove unused and unusable playlist code for inserting video IDs into a playlist * * Update single playlist view to only show `Remove watched videos` btn when there is any video * ! Fix prompt style issue caused by old branch changes * ! Fix removing video from local playlist remove all entries with same video ID * ! Fix adding video does not have uniqueID & timeAdded set Caused by previous add many video performance fix * ! Fix navigation in user playlist between entries of same video * * Reflect playlist updates on watch page playlist panel * $- Remove outdated incorrect prompt style fix * ! Fix add video to playlist prompt too high when there are too many playlists * ! Fix watch page play next/prev video in local playlist * ! Fix error in online playlist playing * * Keep partial playlist backward compatibility by restoring `type` in persisted playlist videos * ! Fix grid item for playlist to hide external player button for local playlist * * Make history rememeber uniqueId (local playlist video entry) when playing video with local playlist * ! Fix grid item for video in user playlist to hide external player button * ! Fix grid item for video in history with user playlist to hide external player button * ! Fix grid item for video in watch page playlist component with user playlist to hide external player button * * Update watch page to clear `uniqueID` from query when not playing local playlist * ! Fix watch page about user playlist detection on new window * * Reflect playlist updates on watch page playlist panel, even for currently playing video * ! Allow video with local playlist to be played in external player, but without playlist Also add missing fix for WatchVideoInfo * ! Fix external player handling for video in local playlist * ! Fix ft-video having different URLs in links * yarn run lint-style-fix * $ Rename uniqueId to playlistItemId * * Ensure local playlist ID won't conflict with remote playlist ID * - Remove import video while creating playlist related code * * Make text translatable * * Make sort option text translatable * ! Fix reverse condition * $ Just use ?. * Code review changes * Spaces * beforeDestroy * Remove unused methods * Remove infoData * filter > find * avoid importing `crypto` from NodeJS * Compress CSS ruleset * $ Remove useless prefix from key * Use template for element with v-if only * Make playlist selector look more selectable (cursor: pointer) * Translate toast messages and fix remove watched videos from playlist * ! Fix translation * - Remove unused methods * $ Remove workaround for issue which cannot be reproduced anymore * $ Remove remaining useless code following last commit removing workaround * you have no playlist > you have no playlists * CSS use var --horizontal-directionality-coefficient * * Update danger buttons color to primary (like clear search cache button) * ! Fix playlist icon container size * ! Fix sorting in add video to playlist prompt when filtered * $- Update ft-inputs to removed prop input-tabindex * ! Fix vue warning * + Add toggle to export playlist for older FT * * Update tooltip text * ! Fix vue warning * * Update text align * * Remove the extra surrounding spaces * Backtick > quote * - Remove useless prop * Fix tootip in lower width view * Update default filename * * Make tooltip auto-wrap * Revert "* Make tooltip auto-wrap" This reverts commit 7d932b936c7814349e50204a7979d2d0f5b0ea73. * Adjust tooltip styling * * Wait for local playlist loading only when playing with a user playlist * * Wait for local playlist loading only when playing with a user playlist requested Request user playlist can still be absent (but not requested for no playlist or remote playlist) * ! Fix single playlist view cover image having link when no video * ! Workaround create playlist prompt won't close when enter pressed in input box * ! Fix clear text button style * ! Fix copying playlist twice to the same user playlist produces same playlistItemId * ! Fix add video to playlist prompt input box style * ! Fix workaround for "create playlist prompt won't close when enter pressed in input box" * ! Ensure add video to playlist prompt updated when a playlist deleted (in another window) * ! Avoid saving and displaying unwanted video attributes into playlists * ! Fix playlist view for deleted user playlists * ! Fix copying playlist twice to the same user playlist produces same playlistItemId Real fix Cause of issue: updating property of input objects (which is shared across multiple run) * ! Fix search suggestions being blocked by playlist info component in single playlist view * ! Fix warning when reversing playlist in watch view * ! Fix prompt in playlist view (playlistinfo component) not above sidebar * Remove CSS top comments absent in other CSS files * Remove not useful comment for CSS * Float with variable Co-authored-by: Jason <84899178+jasonhenriquez@users.noreply.github.com> * Revert "! Fix clear text button style" This reverts commit 44ed286848e3cdf4c52f29a867fe09964adffd78. * Missing change for Revert "! Fix clear text button style" * $ Remove unused style for ft-playlist-selector * Apply changes from review * * Use $tc for translation entries with different value according to count values * ! Fix playlist link in watch view --------- Co-authored-by: Jason Henriquez <jasonhenriquez@protonmail.com> Co-authored-by: Jason <84899178+jasonhenriquez@users.noreply.github.com>
2024-01-03 19:44:57 +01:00
playlistIdTypePairFinal() {
if (this.playlistId) {
(Multiple) Local Playlist (instead of saving video in one hidden list) (#4234) * ! Fix add/removing videos from favourite list * ! Fix playlist type not passed into video list item component * ! Fix playlist data loading issue on new windows * ! Fix user playlist data parsing * * Ensure playlist view rerender on video additonal removal for displayed playlist * ! Fix icons & moving videos up/down in user playlist * * Don't show move up/down buttons when cannot be done * * Make user playlist view filtering function now works for filtering playlists * ! Fix style of prompt from any button within playlist-info component * $ Refactor a function to use early return style * * Disallow empty playlist name when saving in playlist edit mode * * Update add video to playlist prompt to have simple filtering like user playlist view * * Update playlist view to only show video reorder/remove buttons in edit mode With notice message * ! Fix playlist view for remote playlist unnecessary reload on save * ! Fix add to playlist prompt behaviour when some playlists are hidden due to filtering * $ Remove unused watch function arguments * * Update user playlist view create new playlist button position * * Update playlist view to add transitions to video reorder/removal * * Allow playlist with different case to be created * * Update visibility of user playlist related action components according to hide playlist settings Only those visible on video, remote playlist are updated * * Update video items to only show add to playlist buttons on hover * - Remove add to favorites button from video list item component * * Update watch-video-info component to add "add to playlist" button * * Update watch-video-info component to remove "add to favourite" button * * Ensure video thumbnail image displayed in 16/9 aspect ratio Mainly due to YT missing video thumbnail image got different aspect ratio 4/3 * * Update new buttons theme * * Put edit playlist button before copy button * * Move "remove video from playlist" button to most right * * Make video reorder & remove button visible on hover in user playlist view, regardless of "edit mode" * ! Fix video count parsing for user playlist * * Update user playlist to allow duplicate video entries (per video ID) * * Remove extra attributes assignment to video object except `timeAdded` Unintended change * * Update copy playlist button to like adding multiple videos to playlists * * Update copy playlist prompt to prefill title if create new playlist prompt shown * * Ensure all playlists have `playlistName` * $- Remove unused playlist property `removeOnWatched` * * Update read all playlist code to ensure existing "default" playlist properties (_id, protected) have same values as those in default Also fix issue discovered during testing * *- Remove unnecessary code line * * Update playlists from default playlists to be deletable * ! Fix duplicate `timeAdded` value for videos copied from user playlist * ! Fix playlist import (tested with db file exported from this branch) * * Update grid view to only display playlist title up to 255 chars Still can see full title in single playlist view * * Update add video to playlist prompt to only display playlist title up to 255 chars * * Update text of new playlist button to be same as new profile button * * Ignore many extra keys from playlist objectrs Also make data import check for object keys against required keys not key counts * * Disallow playlist import from changing internal playlist ID of existing playlists Existing playlists are matched by playlist name, not by internal playlist ID * * Ensure playlist name & description trimmed when saved * * Add missing change for importing playlist to ignore `protected` * $ Refactor code for "video object has all require keys" * ! Fix style of prompt from any button within playlist-info component again z-index war * * Update some empty message & button text * * Ensure playlist item action buttons are hidden during animations * ! Fix other prompt z-index * * Update `showAddToPlaylistPromptForManyVideos` to throw error when required keys missing from passed in video data * *- Remove unused video property `paid` from playlist related code * *- Remove unused video property `type` from playlist related code * ! Fix duplicate playlist displayed on playlist conversion * *- Remove unused video property `published` from playlist related code * * Don't require & generate property `timeAdded` when display a prompt * *- Remove unused video property `isLive` from playlist related code * ! Fix text * ! Revert code change for debugging only * ! Fix CSS for "Ensure playlist item action buttons are hidden during animations" * * Update add playlist button to be shown for live videos * + Add clear all playlists button * * Update add video to playlist prompt to swap "save" & "create playlist" button * ! Fix playlist view won't load after default playlist added due to lack of playlist * * Show toast message when no playlist selected after pressing save button * * Update add video to playlist prompt to show latest updated playlist first Easier for copying playlist with new playlist(s) * ! Fix watch page when visited via history after viewing the video from a deleted user playlist * ! Fix share buttons emitting user playlist IDs * * Add toast message after removing all playlists * ! Fix remote playlist video list rendering with duplicate videos * ! Fix missing key for some direct child elements under `transition-group` * ! Fix animation introduced to unnecessary elements * ! Prevent video link click during animation * ! Fix playlist creation/removal not reflected in other windows * * Ensure playlist visual selected state in sync with data in parent * * Update add video to playlist prompt to auto select playlists created after prompt shown once * * Update copy playlist button to show warning about not loaded videos when some not loaded yet For remote playlist Won't work for Invidious though (coz no way to load more) * * Update add video prompt to make it easier to access buttons via keyboard * * Make video reorder & remove button always visible in user playlist view * * Make plus button can be focused with tab Side effect is thumbnail link can be focused too (otherwise can't make plus button visible) * * Update add video to playlist prompt to focus on search input on shown * * Accept playlist optional property `createdAt` when importing * * Update playlist view to always show add to playlist button * $ Refactor `inUserPlaylist` Only playlist view would supply `playlistType` * * Improve accessibility for new prompts * * Make edit playlist inputs focused on entering edit mode * * Make most prompts focus back to last focused element on close * $ Use tabindex 0 for prompts Possible tabindex values unnecessary with elements programatically focused * * Update add video to playlist prompt to focus back to search input after new playlist created * * Update ft-list-video to focus back on thumbnail link element after add to playlist prompt closed * ! Fix unable to import duplicate video entries into an existing playlist * ! Fix create playlist prompt looks unclosed after playlist created when opened via add video to playlist prompt * ! Fix duplicate video entry ID when playlist with duplicate videoId entries copied to another playlist * ! Fix issues caused by last merge in e291cc8b41b2273a0d77c9f35ea760f0e0f7ac10 * $ Remove unused imports * ! Fix default playlists added when no playlist stored had no required attributes added on 1st run * ! Fix invalid prop type warning * * Use v-if instead of v-show * $ Just assign bool value instead of if-else * + Update playlists view to add sorting option * $- Remove unnecessary property assignments * ! Fix issues caused by "Remove unnecessary property assignments" * ! Fix issues caused by "Remove unnecessary property assignments" * * Ensure sort by time also fallbacks to playlist name sorting * ! Fix add/remove video does not update playlist last created time * ! Fix multi window playlist sync * * Show filtering input & sorting element when no. of playlist > 1 * * Update upcoming video to allow saving in playlist * ! Fix unable to visit previous video when playing first video in a playlist * * Update sorting options labels * ! Fix add to play prompt max width * ! Fix user playlist view incorrectly sorted playlists by latest updated first when filtered * * Update add to playlist prompt to add sort options * $ Remove unused classname * ! Ensure new playlist button focused after add to playlist prompt closed while thumbnail link unselectable * * Add playlists sort order for last played at, update it on play * ! Fix bug introduced by last merge * ! Fix thumbnail not respecting backend preference * ! Fix empty playlist thumbnail in single playlist view * * Make adding large no. of videos faster * $ Remove unused mapActions entries * $ Remove unused and unusable playlist code for inserting video IDs into a playlist * * Update single playlist view to only show `Remove watched videos` btn when there is any video * ! Fix prompt style issue caused by old branch changes * ! Fix removing video from local playlist remove all entries with same video ID * ! Fix adding video does not have uniqueID & timeAdded set Caused by previous add many video performance fix * ! Fix navigation in user playlist between entries of same video * * Reflect playlist updates on watch page playlist panel * $- Remove outdated incorrect prompt style fix * ! Fix add video to playlist prompt too high when there are too many playlists * ! Fix watch page play next/prev video in local playlist * ! Fix error in online playlist playing * * Keep partial playlist backward compatibility by restoring `type` in persisted playlist videos * ! Fix grid item for playlist to hide external player button for local playlist * * Make history rememeber uniqueId (local playlist video entry) when playing video with local playlist * ! Fix grid item for video in user playlist to hide external player button * ! Fix grid item for video in history with user playlist to hide external player button * ! Fix grid item for video in watch page playlist component with user playlist to hide external player button * * Update watch page to clear `uniqueID` from query when not playing local playlist * ! Fix watch page about user playlist detection on new window * * Reflect playlist updates on watch page playlist panel, even for currently playing video * ! Allow video with local playlist to be played in external player, but without playlist Also add missing fix for WatchVideoInfo * ! Fix external player handling for video in local playlist * ! Fix ft-video having different URLs in links * yarn run lint-style-fix * $ Rename uniqueId to playlistItemId * * Ensure local playlist ID won't conflict with remote playlist ID * - Remove import video while creating playlist related code * * Make text translatable * * Make sort option text translatable * ! Fix reverse condition * $ Just use ?. * Code review changes * Spaces * beforeDestroy * Remove unused methods * Remove infoData * filter > find * avoid importing `crypto` from NodeJS * Compress CSS ruleset * $ Remove useless prefix from key * Use template for element with v-if only * Make playlist selector look more selectable (cursor: pointer) * Translate toast messages and fix remove watched videos from playlist * ! Fix translation * - Remove unused methods * $ Remove workaround for issue which cannot be reproduced anymore * $ Remove remaining useless code following last commit removing workaround * you have no playlist > you have no playlists * CSS use var --horizontal-directionality-coefficient * * Update danger buttons color to primary (like clear search cache button) * ! Fix playlist icon container size * ! Fix sorting in add video to playlist prompt when filtered * $- Update ft-inputs to removed prop input-tabindex * ! Fix vue warning * + Add toggle to export playlist for older FT * * Update tooltip text * ! Fix vue warning * * Update text align * * Remove the extra surrounding spaces * Backtick > quote * - Remove useless prop * Fix tootip in lower width view * Update default filename * * Make tooltip auto-wrap * Revert "* Make tooltip auto-wrap" This reverts commit 7d932b936c7814349e50204a7979d2d0f5b0ea73. * Adjust tooltip styling * * Wait for local playlist loading only when playing with a user playlist * * Wait for local playlist loading only when playing with a user playlist requested Request user playlist can still be absent (but not requested for no playlist or remote playlist) * ! Fix single playlist view cover image having link when no video * ! Workaround create playlist prompt won't close when enter pressed in input box * ! Fix clear text button style * ! Fix copying playlist twice to the same user playlist produces same playlistItemId * ! Fix add video to playlist prompt input box style * ! Fix workaround for "create playlist prompt won't close when enter pressed in input box" * ! Ensure add video to playlist prompt updated when a playlist deleted (in another window) * ! Avoid saving and displaying unwanted video attributes into playlists * ! Fix playlist view for deleted user playlists * ! Fix copying playlist twice to the same user playlist produces same playlistItemId Real fix Cause of issue: updating property of input objects (which is shared across multiple run) * ! Fix search suggestions being blocked by playlist info component in single playlist view * ! Fix warning when reversing playlist in watch view * ! Fix prompt in playlist view (playlistinfo component) not above sidebar * Remove CSS top comments absent in other CSS files * Remove not useful comment for CSS * Float with variable Co-authored-by: Jason <84899178+jasonhenriquez@users.noreply.github.com> * Revert "! Fix clear text button style" This reverts commit 44ed286848e3cdf4c52f29a867fe09964adffd78. * Missing change for Revert "! Fix clear text button style" * $ Remove unused style for ft-playlist-selector * Apply changes from review * * Use $tc for translation entries with different value according to count values * ! Fix playlist link in watch view --------- Co-authored-by: Jason Henriquez <jasonhenriquez@protonmail.com> Co-authored-by: Jason <84899178+jasonhenriquez@users.noreply.github.com>
2024-01-03 19:44:57 +01:00
return {
playlistId: this.playlistId,
playlistType: this.playlistType,
playlistItemId: this.playlistItemId,
}
}
// Get playlist ID from history ONLY if option enabled
if (!this.showVideoWithLastViewedPlaylist) { return }
if (!this.saveVideoHistoryWithLastViewedPlaylist) { return }
(Multiple) Local Playlist (instead of saving video in one hidden list) (#4234) * ! Fix add/removing videos from favourite list * ! Fix playlist type not passed into video list item component * ! Fix playlist data loading issue on new windows * ! Fix user playlist data parsing * * Ensure playlist view rerender on video additonal removal for displayed playlist * ! Fix icons & moving videos up/down in user playlist * * Don't show move up/down buttons when cannot be done * * Make user playlist view filtering function now works for filtering playlists * ! Fix style of prompt from any button within playlist-info component * $ Refactor a function to use early return style * * Disallow empty playlist name when saving in playlist edit mode * * Update add video to playlist prompt to have simple filtering like user playlist view * * Update playlist view to only show video reorder/remove buttons in edit mode With notice message * ! Fix playlist view for remote playlist unnecessary reload on save * ! Fix add to playlist prompt behaviour when some playlists are hidden due to filtering * $ Remove unused watch function arguments * * Update user playlist view create new playlist button position * * Update playlist view to add transitions to video reorder/removal * * Allow playlist with different case to be created * * Update visibility of user playlist related action components according to hide playlist settings Only those visible on video, remote playlist are updated * * Update video items to only show add to playlist buttons on hover * - Remove add to favorites button from video list item component * * Update watch-video-info component to add "add to playlist" button * * Update watch-video-info component to remove "add to favourite" button * * Ensure video thumbnail image displayed in 16/9 aspect ratio Mainly due to YT missing video thumbnail image got different aspect ratio 4/3 * * Update new buttons theme * * Put edit playlist button before copy button * * Move "remove video from playlist" button to most right * * Make video reorder & remove button visible on hover in user playlist view, regardless of "edit mode" * ! Fix video count parsing for user playlist * * Update user playlist to allow duplicate video entries (per video ID) * * Remove extra attributes assignment to video object except `timeAdded` Unintended change * * Update copy playlist button to like adding multiple videos to playlists * * Update copy playlist prompt to prefill title if create new playlist prompt shown * * Ensure all playlists have `playlistName` * $- Remove unused playlist property `removeOnWatched` * * Update read all playlist code to ensure existing "default" playlist properties (_id, protected) have same values as those in default Also fix issue discovered during testing * *- Remove unnecessary code line * * Update playlists from default playlists to be deletable * ! Fix duplicate `timeAdded` value for videos copied from user playlist * ! Fix playlist import (tested with db file exported from this branch) * * Update grid view to only display playlist title up to 255 chars Still can see full title in single playlist view * * Update add video to playlist prompt to only display playlist title up to 255 chars * * Update text of new playlist button to be same as new profile button * * Ignore many extra keys from playlist objectrs Also make data import check for object keys against required keys not key counts * * Disallow playlist import from changing internal playlist ID of existing playlists Existing playlists are matched by playlist name, not by internal playlist ID * * Ensure playlist name & description trimmed when saved * * Add missing change for importing playlist to ignore `protected` * $ Refactor code for "video object has all require keys" * ! Fix style of prompt from any button within playlist-info component again z-index war * * Update some empty message & button text * * Ensure playlist item action buttons are hidden during animations * ! Fix other prompt z-index * * Update `showAddToPlaylistPromptForManyVideos` to throw error when required keys missing from passed in video data * *- Remove unused video property `paid` from playlist related code * *- Remove unused video property `type` from playlist related code * ! Fix duplicate playlist displayed on playlist conversion * *- Remove unused video property `published` from playlist related code * * Don't require & generate property `timeAdded` when display a prompt * *- Remove unused video property `isLive` from playlist related code * ! Fix text * ! Revert code change for debugging only * ! Fix CSS for "Ensure playlist item action buttons are hidden during animations" * * Update add playlist button to be shown for live videos * + Add clear all playlists button * * Update add video to playlist prompt to swap "save" & "create playlist" button * ! Fix playlist view won't load after default playlist added due to lack of playlist * * Show toast message when no playlist selected after pressing save button * * Update add video to playlist prompt to show latest updated playlist first Easier for copying playlist with new playlist(s) * ! Fix watch page when visited via history after viewing the video from a deleted user playlist * ! Fix share buttons emitting user playlist IDs * * Add toast message after removing all playlists * ! Fix remote playlist video list rendering with duplicate videos * ! Fix missing key for some direct child elements under `transition-group` * ! Fix animation introduced to unnecessary elements * ! Prevent video link click during animation * ! Fix playlist creation/removal not reflected in other windows * * Ensure playlist visual selected state in sync with data in parent * * Update add video to playlist prompt to auto select playlists created after prompt shown once * * Update copy playlist button to show warning about not loaded videos when some not loaded yet For remote playlist Won't work for Invidious though (coz no way to load more) * * Update add video prompt to make it easier to access buttons via keyboard * * Make video reorder & remove button always visible in user playlist view * * Make plus button can be focused with tab Side effect is thumbnail link can be focused too (otherwise can't make plus button visible) * * Update add video to playlist prompt to focus on search input on shown * * Accept playlist optional property `createdAt` when importing * * Update playlist view to always show add to playlist button * $ Refactor `inUserPlaylist` Only playlist view would supply `playlistType` * * Improve accessibility for new prompts * * Make edit playlist inputs focused on entering edit mode * * Make most prompts focus back to last focused element on close * $ Use tabindex 0 for prompts Possible tabindex values unnecessary with elements programatically focused * * Update add video to playlist prompt to focus back to search input after new playlist created * * Update ft-list-video to focus back on thumbnail link element after add to playlist prompt closed * ! Fix unable to import duplicate video entries into an existing playlist * ! Fix create playlist prompt looks unclosed after playlist created when opened via add video to playlist prompt * ! Fix duplicate video entry ID when playlist with duplicate videoId entries copied to another playlist * ! Fix issues caused by last merge in e291cc8b41b2273a0d77c9f35ea760f0e0f7ac10 * $ Remove unused imports * ! Fix default playlists added when no playlist stored had no required attributes added on 1st run * ! Fix invalid prop type warning * * Use v-if instead of v-show * $ Just assign bool value instead of if-else * + Update playlists view to add sorting option * $- Remove unnecessary property assignments * ! Fix issues caused by "Remove unnecessary property assignments" * ! Fix issues caused by "Remove unnecessary property assignments" * * Ensure sort by time also fallbacks to playlist name sorting * ! Fix add/remove video does not update playlist last created time * ! Fix multi window playlist sync * * Show filtering input & sorting element when no. of playlist > 1 * * Update upcoming video to allow saving in playlist * ! Fix unable to visit previous video when playing first video in a playlist * * Update sorting options labels * ! Fix add to play prompt max width * ! Fix user playlist view incorrectly sorted playlists by latest updated first when filtered * * Update add to playlist prompt to add sort options * $ Remove unused classname * ! Ensure new playlist button focused after add to playlist prompt closed while thumbnail link unselectable * * Add playlists sort order for last played at, update it on play * ! Fix bug introduced by last merge * ! Fix thumbnail not respecting backend preference * ! Fix empty playlist thumbnail in single playlist view * * Make adding large no. of videos faster * $ Remove unused mapActions entries * $ Remove unused and unusable playlist code for inserting video IDs into a playlist * * Update single playlist view to only show `Remove watched videos` btn when there is any video * ! Fix prompt style issue caused by old branch changes * ! Fix removing video from local playlist remove all entries with same video ID * ! Fix adding video does not have uniqueID & timeAdded set Caused by previous add many video performance fix * ! Fix navigation in user playlist between entries of same video * * Reflect playlist updates on watch page playlist panel * $- Remove outdated incorrect prompt style fix * ! Fix add video to playlist prompt too high when there are too many playlists * ! Fix watch page play next/prev video in local playlist * ! Fix error in online playlist playing * * Keep partial playlist backward compatibility by restoring `type` in persisted playlist videos * ! Fix grid item for playlist to hide external player button for local playlist * * Make history rememeber uniqueId (local playlist video entry) when playing video with local playlist * ! Fix grid item for video in user playlist to hide external player button * ! Fix grid item for video in history with user playlist to hide external player button * ! Fix grid item for video in watch page playlist component with user playlist to hide external player button * * Update watch page to clear `uniqueID` from query when not playing local playlist * ! Fix watch page about user playlist detection on new window * * Reflect playlist updates on watch page playlist panel, even for currently playing video * ! Allow video with local playlist to be played in external player, but without playlist Also add missing fix for WatchVideoInfo * ! Fix external player handling for video in local playlist * ! Fix ft-video having different URLs in links * yarn run lint-style-fix * $ Rename uniqueId to playlistItemId * * Ensure local playlist ID won't conflict with remote playlist ID * - Remove import video while creating playlist related code * * Make text translatable * * Make sort option text translatable * ! Fix reverse condition * $ Just use ?. * Code review changes * Spaces * beforeDestroy * Remove unused methods * Remove infoData * filter > find * avoid importing `crypto` from NodeJS * Compress CSS ruleset * $ Remove useless prefix from key * Use template for element with v-if only * Make playlist selector look more selectable (cursor: pointer) * Translate toast messages and fix remove watched videos from playlist * ! Fix translation * - Remove unused methods * $ Remove workaround for issue which cannot be reproduced anymore * $ Remove remaining useless code following last commit removing workaround * you have no playlist > you have no playlists * CSS use var --horizontal-directionality-coefficient * * Update danger buttons color to primary (like clear search cache button) * ! Fix playlist icon container size * ! Fix sorting in add video to playlist prompt when filtered * $- Update ft-inputs to removed prop input-tabindex * ! Fix vue warning * + Add toggle to export playlist for older FT * * Update tooltip text * ! Fix vue warning * * Update text align * * Remove the extra surrounding spaces * Backtick > quote * - Remove useless prop * Fix tootip in lower width view * Update default filename * * Make tooltip auto-wrap * Revert "* Make tooltip auto-wrap" This reverts commit 7d932b936c7814349e50204a7979d2d0f5b0ea73. * Adjust tooltip styling * * Wait for local playlist loading only when playing with a user playlist * * Wait for local playlist loading only when playing with a user playlist requested Request user playlist can still be absent (but not requested for no playlist or remote playlist) * ! Fix single playlist view cover image having link when no video * ! Workaround create playlist prompt won't close when enter pressed in input box * ! Fix clear text button style * ! Fix copying playlist twice to the same user playlist produces same playlistItemId * ! Fix add video to playlist prompt input box style * ! Fix workaround for "create playlist prompt won't close when enter pressed in input box" * ! Ensure add video to playlist prompt updated when a playlist deleted (in another window) * ! Avoid saving and displaying unwanted video attributes into playlists * ! Fix playlist view for deleted user playlists * ! Fix copying playlist twice to the same user playlist produces same playlistItemId Real fix Cause of issue: updating property of input objects (which is shared across multiple run) * ! Fix search suggestions being blocked by playlist info component in single playlist view * ! Fix warning when reversing playlist in watch view * ! Fix prompt in playlist view (playlistinfo component) not above sidebar * Remove CSS top comments absent in other CSS files * Remove not useful comment for CSS * Float with variable Co-authored-by: Jason <84899178+jasonhenriquez@users.noreply.github.com> * Revert "! Fix clear text button style" This reverts commit 44ed286848e3cdf4c52f29a867fe09964adffd78. * Missing change for Revert "! Fix clear text button style" * $ Remove unused style for ft-playlist-selector * Apply changes from review * * Use $tc for translation entries with different value according to count values * ! Fix playlist link in watch view --------- Co-authored-by: Jason Henriquez <jasonhenriquez@protonmail.com> Co-authored-by: Jason <84899178+jasonhenriquez@users.noreply.github.com>
2024-01-03 19:44:57 +01:00
return {
playlistId: this.historyEntry?.lastViewedPlaylistId,
playlistType: this.historyEntry?.lastViewedPlaylistType,
playlistItemId: this.historyEntry?.lastViewedPlaylistItemId,
}
},
playlistIdFinal: function () {
return this.playlistIdTypePairFinal?.playlistId
},
playlistTypeFinal: function () {
return this.playlistIdTypePairFinal?.playlistType
},
playlistItemIdFinal: function () {
return this.playlistIdTypePairFinal?.playlistItemId
},
quickBookmarkPlaylistId() {
return this.$store.getters.getQuickBookmarkTargetPlaylistId
},
quickBookmarkPlaylist() {
return this.$store.getters.getPlaylist(this.quickBookmarkPlaylistId)
},
isQuickBookmarkEnabled() {
return this.quickBookmarkPlaylist != null
},
isInQuickBookmarkPlaylist: function () {
if (!this.isQuickBookmarkEnabled) { return false }
return this.quickBookmarkPlaylist.videos.some((video) => {
return video.videoId === this.id
})
},
quickBookmarkIconText: function () {
if (!this.isQuickBookmarkEnabled) { return false }
const translationProperties = {
playlistName: this.quickBookmarkPlaylist.playlistName,
}
return this.isInQuickBookmarkPlaylist
? this.$t('User Playlists.Remove from Favorites', translationProperties)
: this.$t('User Playlists.Add to Favorites', translationProperties)
},
quickBookmarkIconTheme: function () {
return this.isInQuickBookmarkPlaylist ? 'base favorite' : 'base'
},
(Multiple) Local Playlist (instead of saving video in one hidden list) (#4234) * ! Fix add/removing videos from favourite list * ! Fix playlist type not passed into video list item component * ! Fix playlist data loading issue on new windows * ! Fix user playlist data parsing * * Ensure playlist view rerender on video additonal removal for displayed playlist * ! Fix icons & moving videos up/down in user playlist * * Don't show move up/down buttons when cannot be done * * Make user playlist view filtering function now works for filtering playlists * ! Fix style of prompt from any button within playlist-info component * $ Refactor a function to use early return style * * Disallow empty playlist name when saving in playlist edit mode * * Update add video to playlist prompt to have simple filtering like user playlist view * * Update playlist view to only show video reorder/remove buttons in edit mode With notice message * ! Fix playlist view for remote playlist unnecessary reload on save * ! Fix add to playlist prompt behaviour when some playlists are hidden due to filtering * $ Remove unused watch function arguments * * Update user playlist view create new playlist button position * * Update playlist view to add transitions to video reorder/removal * * Allow playlist with different case to be created * * Update visibility of user playlist related action components according to hide playlist settings Only those visible on video, remote playlist are updated * * Update video items to only show add to playlist buttons on hover * - Remove add to favorites button from video list item component * * Update watch-video-info component to add "add to playlist" button * * Update watch-video-info component to remove "add to favourite" button * * Ensure video thumbnail image displayed in 16/9 aspect ratio Mainly due to YT missing video thumbnail image got different aspect ratio 4/3 * * Update new buttons theme * * Put edit playlist button before copy button * * Move "remove video from playlist" button to most right * * Make video reorder & remove button visible on hover in user playlist view, regardless of "edit mode" * ! Fix video count parsing for user playlist * * Update user playlist to allow duplicate video entries (per video ID) * * Remove extra attributes assignment to video object except `timeAdded` Unintended change * * Update copy playlist button to like adding multiple videos to playlists * * Update copy playlist prompt to prefill title if create new playlist prompt shown * * Ensure all playlists have `playlistName` * $- Remove unused playlist property `removeOnWatched` * * Update read all playlist code to ensure existing "default" playlist properties (_id, protected) have same values as those in default Also fix issue discovered during testing * *- Remove unnecessary code line * * Update playlists from default playlists to be deletable * ! Fix duplicate `timeAdded` value for videos copied from user playlist * ! Fix playlist import (tested with db file exported from this branch) * * Update grid view to only display playlist title up to 255 chars Still can see full title in single playlist view * * Update add video to playlist prompt to only display playlist title up to 255 chars * * Update text of new playlist button to be same as new profile button * * Ignore many extra keys from playlist objectrs Also make data import check for object keys against required keys not key counts * * Disallow playlist import from changing internal playlist ID of existing playlists Existing playlists are matched by playlist name, not by internal playlist ID * * Ensure playlist name & description trimmed when saved * * Add missing change for importing playlist to ignore `protected` * $ Refactor code for "video object has all require keys" * ! Fix style of prompt from any button within playlist-info component again z-index war * * Update some empty message & button text * * Ensure playlist item action buttons are hidden during animations * ! Fix other prompt z-index * * Update `showAddToPlaylistPromptForManyVideos` to throw error when required keys missing from passed in video data * *- Remove unused video property `paid` from playlist related code * *- Remove unused video property `type` from playlist related code * ! Fix duplicate playlist displayed on playlist conversion * *- Remove unused video property `published` from playlist related code * * Don't require & generate property `timeAdded` when display a prompt * *- Remove unused video property `isLive` from playlist related code * ! Fix text * ! Revert code change for debugging only * ! Fix CSS for "Ensure playlist item action buttons are hidden during animations" * * Update add playlist button to be shown for live videos * + Add clear all playlists button * * Update add video to playlist prompt to swap "save" & "create playlist" button * ! Fix playlist view won't load after default playlist added due to lack of playlist * * Show toast message when no playlist selected after pressing save button * * Update add video to playlist prompt to show latest updated playlist first Easier for copying playlist with new playlist(s) * ! Fix watch page when visited via history after viewing the video from a deleted user playlist * ! Fix share buttons emitting user playlist IDs * * Add toast message after removing all playlists * ! Fix remote playlist video list rendering with duplicate videos * ! Fix missing key for some direct child elements under `transition-group` * ! Fix animation introduced to unnecessary elements * ! Prevent video link click during animation * ! Fix playlist creation/removal not reflected in other windows * * Ensure playlist visual selected state in sync with data in parent * * Update add video to playlist prompt to auto select playlists created after prompt shown once * * Update copy playlist button to show warning about not loaded videos when some not loaded yet For remote playlist Won't work for Invidious though (coz no way to load more) * * Update add video prompt to make it easier to access buttons via keyboard * * Make video reorder & remove button always visible in user playlist view * * Make plus button can be focused with tab Side effect is thumbnail link can be focused too (otherwise can't make plus button visible) * * Update add video to playlist prompt to focus on search input on shown * * Accept playlist optional property `createdAt` when importing * * Update playlist view to always show add to playlist button * $ Refactor `inUserPlaylist` Only playlist view would supply `playlistType` * * Improve accessibility for new prompts * * Make edit playlist inputs focused on entering edit mode * * Make most prompts focus back to last focused element on close * $ Use tabindex 0 for prompts Possible tabindex values unnecessary with elements programatically focused * * Update add video to playlist prompt to focus back to search input after new playlist created * * Update ft-list-video to focus back on thumbnail link element after add to playlist prompt closed * ! Fix unable to import duplicate video entries into an existing playlist * ! Fix create playlist prompt looks unclosed after playlist created when opened via add video to playlist prompt * ! Fix duplicate video entry ID when playlist with duplicate videoId entries copied to another playlist * ! Fix issues caused by last merge in e291cc8b41b2273a0d77c9f35ea760f0e0f7ac10 * $ Remove unused imports * ! Fix default playlists added when no playlist stored had no required attributes added on 1st run * ! Fix invalid prop type warning * * Use v-if instead of v-show * $ Just assign bool value instead of if-else * + Update playlists view to add sorting option * $- Remove unnecessary property assignments * ! Fix issues caused by "Remove unnecessary property assignments" * ! Fix issues caused by "Remove unnecessary property assignments" * * Ensure sort by time also fallbacks to playlist name sorting * ! Fix add/remove video does not update playlist last created time * ! Fix multi window playlist sync * * Show filtering input & sorting element when no. of playlist > 1 * * Update upcoming video to allow saving in playlist * ! Fix unable to visit previous video when playing first video in a playlist * * Update sorting options labels * ! Fix add to play prompt max width * ! Fix user playlist view incorrectly sorted playlists by latest updated first when filtered * * Update add to playlist prompt to add sort options * $ Remove unused classname * ! Ensure new playlist button focused after add to playlist prompt closed while thumbnail link unselectable * * Add playlists sort order for last played at, update it on play * ! Fix bug introduced by last merge * ! Fix thumbnail not respecting backend preference * ! Fix empty playlist thumbnail in single playlist view * * Make adding large no. of videos faster * $ Remove unused mapActions entries * $ Remove unused and unusable playlist code for inserting video IDs into a playlist * * Update single playlist view to only show `Remove watched videos` btn when there is any video * ! Fix prompt style issue caused by old branch changes * ! Fix removing video from local playlist remove all entries with same video ID * ! Fix adding video does not have uniqueID & timeAdded set Caused by previous add many video performance fix * ! Fix navigation in user playlist between entries of same video * * Reflect playlist updates on watch page playlist panel * $- Remove outdated incorrect prompt style fix * ! Fix add video to playlist prompt too high when there are too many playlists * ! Fix watch page play next/prev video in local playlist * ! Fix error in online playlist playing * * Keep partial playlist backward compatibility by restoring `type` in persisted playlist videos * ! Fix grid item for playlist to hide external player button for local playlist * * Make history rememeber uniqueId (local playlist video entry) when playing video with local playlist * ! Fix grid item for video in user playlist to hide external player button * ! Fix grid item for video in history with user playlist to hide external player button * ! Fix grid item for video in watch page playlist component with user playlist to hide external player button * * Update watch page to clear `uniqueID` from query when not playing local playlist * ! Fix watch page about user playlist detection on new window * * Reflect playlist updates on watch page playlist panel, even for currently playing video * ! Allow video with local playlist to be played in external player, but without playlist Also add missing fix for WatchVideoInfo * ! Fix external player handling for video in local playlist * ! Fix ft-video having different URLs in links * yarn run lint-style-fix * $ Rename uniqueId to playlistItemId * * Ensure local playlist ID won't conflict with remote playlist ID * - Remove import video while creating playlist related code * * Make text translatable * * Make sort option text translatable * ! Fix reverse condition * $ Just use ?. * Code review changes * Spaces * beforeDestroy * Remove unused methods * Remove infoData * filter > find * avoid importing `crypto` from NodeJS * Compress CSS ruleset * $ Remove useless prefix from key * Use template for element with v-if only * Make playlist selector look more selectable (cursor: pointer) * Translate toast messages and fix remove watched videos from playlist * ! Fix translation * - Remove unused methods * $ Remove workaround for issue which cannot be reproduced anymore * $ Remove remaining useless code following last commit removing workaround * you have no playlist > you have no playlists * CSS use var --horizontal-directionality-coefficient * * Update danger buttons color to primary (like clear search cache button) * ! Fix playlist icon container size * ! Fix sorting in add video to playlist prompt when filtered * $- Update ft-inputs to removed prop input-tabindex * ! Fix vue warning * + Add toggle to export playlist for older FT * * Update tooltip text * ! Fix vue warning * * Update text align * * Remove the extra surrounding spaces * Backtick > quote * - Remove useless prop * Fix tootip in lower width view * Update default filename * * Make tooltip auto-wrap * Revert "* Make tooltip auto-wrap" This reverts commit 7d932b936c7814349e50204a7979d2d0f5b0ea73. * Adjust tooltip styling * * Wait for local playlist loading only when playing with a user playlist * * Wait for local playlist loading only when playing with a user playlist requested Request user playlist can still be absent (but not requested for no playlist or remote playlist) * ! Fix single playlist view cover image having link when no video * ! Workaround create playlist prompt won't close when enter pressed in input box * ! Fix clear text button style * ! Fix copying playlist twice to the same user playlist produces same playlistItemId * ! Fix add video to playlist prompt input box style * ! Fix workaround for "create playlist prompt won't close when enter pressed in input box" * ! Ensure add video to playlist prompt updated when a playlist deleted (in another window) * ! Avoid saving and displaying unwanted video attributes into playlists * ! Fix playlist view for deleted user playlists * ! Fix copying playlist twice to the same user playlist produces same playlistItemId Real fix Cause of issue: updating property of input objects (which is shared across multiple run) * ! Fix search suggestions being blocked by playlist info component in single playlist view * ! Fix warning when reversing playlist in watch view * ! Fix prompt in playlist view (playlistinfo component) not above sidebar * Remove CSS top comments absent in other CSS files * Remove not useful comment for CSS * Float with variable Co-authored-by: Jason <84899178+jasonhenriquez@users.noreply.github.com> * Revert "! Fix clear text button style" This reverts commit 44ed286848e3cdf4c52f29a867fe09964adffd78. * Missing change for Revert "! Fix clear text button style" * $ Remove unused style for ft-playlist-selector * Apply changes from review * * Use $tc for translation entries with different value according to count values * ! Fix playlist link in watch view --------- Co-authored-by: Jason Henriquez <jasonhenriquez@protonmail.com> Co-authored-by: Jason <84899178+jasonhenriquez@users.noreply.github.com>
2024-01-03 19:44:57 +01:00
watchPageLinkTo() {
// For `router-link` attribute `to`
return {
path: `/watch/${this.id}`,
query: this.watchPageLinkQuery,
}
},
watchPageLinkQuery() {
const query = {}
if (this.playlistIdFinal) { query.playlistId = this.playlistIdFinal }
if (this.playlistTypeFinal) { query.playlistType = this.playlistTypeFinal }
if (this.playlistItemIdFinal) { query.playlistItemId = this.playlistItemIdFinal }
return query
},
useDeArrowTitles: function () {
return this.$store.getters.getUseDeArrowTitles
},
useDeArrowThumbnails: function () {
return this.$store.getters.getUseDeArrowThumbnails
},
deArrowCache: function () {
2023-08-03 14:48:23 +02:00
return this.$store.getters.getDeArrowCache[this.id]
(Multiple) Local Playlist (instead of saving video in one hidden list) (#4234) * ! Fix add/removing videos from favourite list * ! Fix playlist type not passed into video list item component * ! Fix playlist data loading issue on new windows * ! Fix user playlist data parsing * * Ensure playlist view rerender on video additonal removal for displayed playlist * ! Fix icons & moving videos up/down in user playlist * * Don't show move up/down buttons when cannot be done * * Make user playlist view filtering function now works for filtering playlists * ! Fix style of prompt from any button within playlist-info component * $ Refactor a function to use early return style * * Disallow empty playlist name when saving in playlist edit mode * * Update add video to playlist prompt to have simple filtering like user playlist view * * Update playlist view to only show video reorder/remove buttons in edit mode With notice message * ! Fix playlist view for remote playlist unnecessary reload on save * ! Fix add to playlist prompt behaviour when some playlists are hidden due to filtering * $ Remove unused watch function arguments * * Update user playlist view create new playlist button position * * Update playlist view to add transitions to video reorder/removal * * Allow playlist with different case to be created * * Update visibility of user playlist related action components according to hide playlist settings Only those visible on video, remote playlist are updated * * Update video items to only show add to playlist buttons on hover * - Remove add to favorites button from video list item component * * Update watch-video-info component to add "add to playlist" button * * Update watch-video-info component to remove "add to favourite" button * * Ensure video thumbnail image displayed in 16/9 aspect ratio Mainly due to YT missing video thumbnail image got different aspect ratio 4/3 * * Update new buttons theme * * Put edit playlist button before copy button * * Move "remove video from playlist" button to most right * * Make video reorder & remove button visible on hover in user playlist view, regardless of "edit mode" * ! Fix video count parsing for user playlist * * Update user playlist to allow duplicate video entries (per video ID) * * Remove extra attributes assignment to video object except `timeAdded` Unintended change * * Update copy playlist button to like adding multiple videos to playlists * * Update copy playlist prompt to prefill title if create new playlist prompt shown * * Ensure all playlists have `playlistName` * $- Remove unused playlist property `removeOnWatched` * * Update read all playlist code to ensure existing "default" playlist properties (_id, protected) have same values as those in default Also fix issue discovered during testing * *- Remove unnecessary code line * * Update playlists from default playlists to be deletable * ! Fix duplicate `timeAdded` value for videos copied from user playlist * ! Fix playlist import (tested with db file exported from this branch) * * Update grid view to only display playlist title up to 255 chars Still can see full title in single playlist view * * Update add video to playlist prompt to only display playlist title up to 255 chars * * Update text of new playlist button to be same as new profile button * * Ignore many extra keys from playlist objectrs Also make data import check for object keys against required keys not key counts * * Disallow playlist import from changing internal playlist ID of existing playlists Existing playlists are matched by playlist name, not by internal playlist ID * * Ensure playlist name & description trimmed when saved * * Add missing change for importing playlist to ignore `protected` * $ Refactor code for "video object has all require keys" * ! Fix style of prompt from any button within playlist-info component again z-index war * * Update some empty message & button text * * Ensure playlist item action buttons are hidden during animations * ! Fix other prompt z-index * * Update `showAddToPlaylistPromptForManyVideos` to throw error when required keys missing from passed in video data * *- Remove unused video property `paid` from playlist related code * *- Remove unused video property `type` from playlist related code * ! Fix duplicate playlist displayed on playlist conversion * *- Remove unused video property `published` from playlist related code * * Don't require & generate property `timeAdded` when display a prompt * *- Remove unused video property `isLive` from playlist related code * ! Fix text * ! Revert code change for debugging only * ! Fix CSS for "Ensure playlist item action buttons are hidden during animations" * * Update add playlist button to be shown for live videos * + Add clear all playlists button * * Update add video to playlist prompt to swap "save" & "create playlist" button * ! Fix playlist view won't load after default playlist added due to lack of playlist * * Show toast message when no playlist selected after pressing save button * * Update add video to playlist prompt to show latest updated playlist first Easier for copying playlist with new playlist(s) * ! Fix watch page when visited via history after viewing the video from a deleted user playlist * ! Fix share buttons emitting user playlist IDs * * Add toast message after removing all playlists * ! Fix remote playlist video list rendering with duplicate videos * ! Fix missing key for some direct child elements under `transition-group` * ! Fix animation introduced to unnecessary elements * ! Prevent video link click during animation * ! Fix playlist creation/removal not reflected in other windows * * Ensure playlist visual selected state in sync with data in parent * * Update add video to playlist prompt to auto select playlists created after prompt shown once * * Update copy playlist button to show warning about not loaded videos when some not loaded yet For remote playlist Won't work for Invidious though (coz no way to load more) * * Update add video prompt to make it easier to access buttons via keyboard * * Make video reorder & remove button always visible in user playlist view * * Make plus button can be focused with tab Side effect is thumbnail link can be focused too (otherwise can't make plus button visible) * * Update add video to playlist prompt to focus on search input on shown * * Accept playlist optional property `createdAt` when importing * * Update playlist view to always show add to playlist button * $ Refactor `inUserPlaylist` Only playlist view would supply `playlistType` * * Improve accessibility for new prompts * * Make edit playlist inputs focused on entering edit mode * * Make most prompts focus back to last focused element on close * $ Use tabindex 0 for prompts Possible tabindex values unnecessary with elements programatically focused * * Update add video to playlist prompt to focus back to search input after new playlist created * * Update ft-list-video to focus back on thumbnail link element after add to playlist prompt closed * ! Fix unable to import duplicate video entries into an existing playlist * ! Fix create playlist prompt looks unclosed after playlist created when opened via add video to playlist prompt * ! Fix duplicate video entry ID when playlist with duplicate videoId entries copied to another playlist * ! Fix issues caused by last merge in e291cc8b41b2273a0d77c9f35ea760f0e0f7ac10 * $ Remove unused imports * ! Fix default playlists added when no playlist stored had no required attributes added on 1st run * ! Fix invalid prop type warning * * Use v-if instead of v-show * $ Just assign bool value instead of if-else * + Update playlists view to add sorting option * $- Remove unnecessary property assignments * ! Fix issues caused by "Remove unnecessary property assignments" * ! Fix issues caused by "Remove unnecessary property assignments" * * Ensure sort by time also fallbacks to playlist name sorting * ! Fix add/remove video does not update playlist last created time * ! Fix multi window playlist sync * * Show filtering input & sorting element when no. of playlist > 1 * * Update upcoming video to allow saving in playlist * ! Fix unable to visit previous video when playing first video in a playlist * * Update sorting options labels * ! Fix add to play prompt max width * ! Fix user playlist view incorrectly sorted playlists by latest updated first when filtered * * Update add to playlist prompt to add sort options * $ Remove unused classname * ! Ensure new playlist button focused after add to playlist prompt closed while thumbnail link unselectable * * Add playlists sort order for last played at, update it on play * ! Fix bug introduced by last merge * ! Fix thumbnail not respecting backend preference * ! Fix empty playlist thumbnail in single playlist view * * Make adding large no. of videos faster * $ Remove unused mapActions entries * $ Remove unused and unusable playlist code for inserting video IDs into a playlist * * Update single playlist view to only show `Remove watched videos` btn when there is any video * ! Fix prompt style issue caused by old branch changes * ! Fix removing video from local playlist remove all entries with same video ID * ! Fix adding video does not have uniqueID & timeAdded set Caused by previous add many video performance fix * ! Fix navigation in user playlist between entries of same video * * Reflect playlist updates on watch page playlist panel * $- Remove outdated incorrect prompt style fix * ! Fix add video to playlist prompt too high when there are too many playlists * ! Fix watch page play next/prev video in local playlist * ! Fix error in online playlist playing * * Keep partial playlist backward compatibility by restoring `type` in persisted playlist videos * ! Fix grid item for playlist to hide external player button for local playlist * * Make history rememeber uniqueId (local playlist video entry) when playing video with local playlist * ! Fix grid item for video in user playlist to hide external player button * ! Fix grid item for video in history with user playlist to hide external player button * ! Fix grid item for video in watch page playlist component with user playlist to hide external player button * * Update watch page to clear `uniqueID` from query when not playing local playlist * ! Fix watch page about user playlist detection on new window * * Reflect playlist updates on watch page playlist panel, even for currently playing video * ! Allow video with local playlist to be played in external player, but without playlist Also add missing fix for WatchVideoInfo * ! Fix external player handling for video in local playlist * ! Fix ft-video having different URLs in links * yarn run lint-style-fix * $ Rename uniqueId to playlistItemId * * Ensure local playlist ID won't conflict with remote playlist ID * - Remove import video while creating playlist related code * * Make text translatable * * Make sort option text translatable * ! Fix reverse condition * $ Just use ?. * Code review changes * Spaces * beforeDestroy * Remove unused methods * Remove infoData * filter > find * avoid importing `crypto` from NodeJS * Compress CSS ruleset * $ Remove useless prefix from key * Use template for element with v-if only * Make playlist selector look more selectable (cursor: pointer) * Translate toast messages and fix remove watched videos from playlist * ! Fix translation * - Remove unused methods * $ Remove workaround for issue which cannot be reproduced anymore * $ Remove remaining useless code following last commit removing workaround * you have no playlist > you have no playlists * CSS use var --horizontal-directionality-coefficient * * Update danger buttons color to primary (like clear search cache button) * ! Fix playlist icon container size * ! Fix sorting in add video to playlist prompt when filtered * $- Update ft-inputs to removed prop input-tabindex * ! Fix vue warning * + Add toggle to export playlist for older FT * * Update tooltip text * ! Fix vue warning * * Update text align * * Remove the extra surrounding spaces * Backtick > quote * - Remove useless prop * Fix tootip in lower width view * Update default filename * * Make tooltip auto-wrap * Revert "* Make tooltip auto-wrap" This reverts commit 7d932b936c7814349e50204a7979d2d0f5b0ea73. * Adjust tooltip styling * * Wait for local playlist loading only when playing with a user playlist * * Wait for local playlist loading only when playing with a user playlist requested Request user playlist can still be absent (but not requested for no playlist or remote playlist) * ! Fix single playlist view cover image having link when no video * ! Workaround create playlist prompt won't close when enter pressed in input box * ! Fix clear text button style * ! Fix copying playlist twice to the same user playlist produces same playlistItemId * ! Fix add video to playlist prompt input box style * ! Fix workaround for "create playlist prompt won't close when enter pressed in input box" * ! Ensure add video to playlist prompt updated when a playlist deleted (in another window) * ! Avoid saving and displaying unwanted video attributes into playlists * ! Fix playlist view for deleted user playlists * ! Fix copying playlist twice to the same user playlist produces same playlistItemId Real fix Cause of issue: updating property of input objects (which is shared across multiple run) * ! Fix search suggestions being blocked by playlist info component in single playlist view * ! Fix warning when reversing playlist in watch view * ! Fix prompt in playlist view (playlistinfo component) not above sidebar * Remove CSS top comments absent in other CSS files * Remove not useful comment for CSS * Float with variable Co-authored-by: Jason <84899178+jasonhenriquez@users.noreply.github.com> * Revert "! Fix clear text button style" This reverts commit 44ed286848e3cdf4c52f29a867fe09964adffd78. * Missing change for Revert "! Fix clear text button style" * $ Remove unused style for ft-playlist-selector * Apply changes from review * * Use $tc for translation entries with different value according to count values * ! Fix playlist link in watch view --------- Co-authored-by: Jason Henriquez <jasonhenriquez@protonmail.com> Co-authored-by: Jason <84899178+jasonhenriquez@users.noreply.github.com>
2024-01-03 19:44:57 +01:00
},
2020-02-16 19:30:00 +01:00
},
watch: {
historyEntry() {
this.checkIfWatched()
},
(Multiple) Local Playlist (instead of saving video in one hidden list) (#4234) * ! Fix add/removing videos from favourite list * ! Fix playlist type not passed into video list item component * ! Fix playlist data loading issue on new windows * ! Fix user playlist data parsing * * Ensure playlist view rerender on video additonal removal for displayed playlist * ! Fix icons & moving videos up/down in user playlist * * Don't show move up/down buttons when cannot be done * * Make user playlist view filtering function now works for filtering playlists * ! Fix style of prompt from any button within playlist-info component * $ Refactor a function to use early return style * * Disallow empty playlist name when saving in playlist edit mode * * Update add video to playlist prompt to have simple filtering like user playlist view * * Update playlist view to only show video reorder/remove buttons in edit mode With notice message * ! Fix playlist view for remote playlist unnecessary reload on save * ! Fix add to playlist prompt behaviour when some playlists are hidden due to filtering * $ Remove unused watch function arguments * * Update user playlist view create new playlist button position * * Update playlist view to add transitions to video reorder/removal * * Allow playlist with different case to be created * * Update visibility of user playlist related action components according to hide playlist settings Only those visible on video, remote playlist are updated * * Update video items to only show add to playlist buttons on hover * - Remove add to favorites button from video list item component * * Update watch-video-info component to add "add to playlist" button * * Update watch-video-info component to remove "add to favourite" button * * Ensure video thumbnail image displayed in 16/9 aspect ratio Mainly due to YT missing video thumbnail image got different aspect ratio 4/3 * * Update new buttons theme * * Put edit playlist button before copy button * * Move "remove video from playlist" button to most right * * Make video reorder & remove button visible on hover in user playlist view, regardless of "edit mode" * ! Fix video count parsing for user playlist * * Update user playlist to allow duplicate video entries (per video ID) * * Remove extra attributes assignment to video object except `timeAdded` Unintended change * * Update copy playlist button to like adding multiple videos to playlists * * Update copy playlist prompt to prefill title if create new playlist prompt shown * * Ensure all playlists have `playlistName` * $- Remove unused playlist property `removeOnWatched` * * Update read all playlist code to ensure existing "default" playlist properties (_id, protected) have same values as those in default Also fix issue discovered during testing * *- Remove unnecessary code line * * Update playlists from default playlists to be deletable * ! Fix duplicate `timeAdded` value for videos copied from user playlist * ! Fix playlist import (tested with db file exported from this branch) * * Update grid view to only display playlist title up to 255 chars Still can see full title in single playlist view * * Update add video to playlist prompt to only display playlist title up to 255 chars * * Update text of new playlist button to be same as new profile button * * Ignore many extra keys from playlist objectrs Also make data import check for object keys against required keys not key counts * * Disallow playlist import from changing internal playlist ID of existing playlists Existing playlists are matched by playlist name, not by internal playlist ID * * Ensure playlist name & description trimmed when saved * * Add missing change for importing playlist to ignore `protected` * $ Refactor code for "video object has all require keys" * ! Fix style of prompt from any button within playlist-info component again z-index war * * Update some empty message & button text * * Ensure playlist item action buttons are hidden during animations * ! Fix other prompt z-index * * Update `showAddToPlaylistPromptForManyVideos` to throw error when required keys missing from passed in video data * *- Remove unused video property `paid` from playlist related code * *- Remove unused video property `type` from playlist related code * ! Fix duplicate playlist displayed on playlist conversion * *- Remove unused video property `published` from playlist related code * * Don't require & generate property `timeAdded` when display a prompt * *- Remove unused video property `isLive` from playlist related code * ! Fix text * ! Revert code change for debugging only * ! Fix CSS for "Ensure playlist item action buttons are hidden during animations" * * Update add playlist button to be shown for live videos * + Add clear all playlists button * * Update add video to playlist prompt to swap "save" & "create playlist" button * ! Fix playlist view won't load after default playlist added due to lack of playlist * * Show toast message when no playlist selected after pressing save button * * Update add video to playlist prompt to show latest updated playlist first Easier for copying playlist with new playlist(s) * ! Fix watch page when visited via history after viewing the video from a deleted user playlist * ! Fix share buttons emitting user playlist IDs * * Add toast message after removing all playlists * ! Fix remote playlist video list rendering with duplicate videos * ! Fix missing key for some direct child elements under `transition-group` * ! Fix animation introduced to unnecessary elements * ! Prevent video link click during animation * ! Fix playlist creation/removal not reflected in other windows * * Ensure playlist visual selected state in sync with data in parent * * Update add video to playlist prompt to auto select playlists created after prompt shown once * * Update copy playlist button to show warning about not loaded videos when some not loaded yet For remote playlist Won't work for Invidious though (coz no way to load more) * * Update add video prompt to make it easier to access buttons via keyboard * * Make video reorder & remove button always visible in user playlist view * * Make plus button can be focused with tab Side effect is thumbnail link can be focused too (otherwise can't make plus button visible) * * Update add video to playlist prompt to focus on search input on shown * * Accept playlist optional property `createdAt` when importing * * Update playlist view to always show add to playlist button * $ Refactor `inUserPlaylist` Only playlist view would supply `playlistType` * * Improve accessibility for new prompts * * Make edit playlist inputs focused on entering edit mode * * Make most prompts focus back to last focused element on close * $ Use tabindex 0 for prompts Possible tabindex values unnecessary with elements programatically focused * * Update add video to playlist prompt to focus back to search input after new playlist created * * Update ft-list-video to focus back on thumbnail link element after add to playlist prompt closed * ! Fix unable to import duplicate video entries into an existing playlist * ! Fix create playlist prompt looks unclosed after playlist created when opened via add video to playlist prompt * ! Fix duplicate video entry ID when playlist with duplicate videoId entries copied to another playlist * ! Fix issues caused by last merge in e291cc8b41b2273a0d77c9f35ea760f0e0f7ac10 * $ Remove unused imports * ! Fix default playlists added when no playlist stored had no required attributes added on 1st run * ! Fix invalid prop type warning * * Use v-if instead of v-show * $ Just assign bool value instead of if-else * + Update playlists view to add sorting option * $- Remove unnecessary property assignments * ! Fix issues caused by "Remove unnecessary property assignments" * ! Fix issues caused by "Remove unnecessary property assignments" * * Ensure sort by time also fallbacks to playlist name sorting * ! Fix add/remove video does not update playlist last created time * ! Fix multi window playlist sync * * Show filtering input & sorting element when no. of playlist > 1 * * Update upcoming video to allow saving in playlist * ! Fix unable to visit previous video when playing first video in a playlist * * Update sorting options labels * ! Fix add to play prompt max width * ! Fix user playlist view incorrectly sorted playlists by latest updated first when filtered * * Update add to playlist prompt to add sort options * $ Remove unused classname * ! Ensure new playlist button focused after add to playlist prompt closed while thumbnail link unselectable * * Add playlists sort order for last played at, update it on play * ! Fix bug introduced by last merge * ! Fix thumbnail not respecting backend preference * ! Fix empty playlist thumbnail in single playlist view * * Make adding large no. of videos faster * $ Remove unused mapActions entries * $ Remove unused and unusable playlist code for inserting video IDs into a playlist * * Update single playlist view to only show `Remove watched videos` btn when there is any video * ! Fix prompt style issue caused by old branch changes * ! Fix removing video from local playlist remove all entries with same video ID * ! Fix adding video does not have uniqueID & timeAdded set Caused by previous add many video performance fix * ! Fix navigation in user playlist between entries of same video * * Reflect playlist updates on watch page playlist panel * $- Remove outdated incorrect prompt style fix * ! Fix add video to playlist prompt too high when there are too many playlists * ! Fix watch page play next/prev video in local playlist * ! Fix error in online playlist playing * * Keep partial playlist backward compatibility by restoring `type` in persisted playlist videos * ! Fix grid item for playlist to hide external player button for local playlist * * Make history rememeber uniqueId (local playlist video entry) when playing video with local playlist * ! Fix grid item for video in user playlist to hide external player button * ! Fix grid item for video in history with user playlist to hide external player button * ! Fix grid item for video in watch page playlist component with user playlist to hide external player button * * Update watch page to clear `uniqueID` from query when not playing local playlist * ! Fix watch page about user playlist detection on new window * * Reflect playlist updates on watch page playlist panel, even for currently playing video * ! Allow video with local playlist to be played in external player, but without playlist Also add missing fix for WatchVideoInfo * ! Fix external player handling for video in local playlist * ! Fix ft-video having different URLs in links * yarn run lint-style-fix * $ Rename uniqueId to playlistItemId * * Ensure local playlist ID won't conflict with remote playlist ID * - Remove import video while creating playlist related code * * Make text translatable * * Make sort option text translatable * ! Fix reverse condition * $ Just use ?. * Code review changes * Spaces * beforeDestroy * Remove unused methods * Remove infoData * filter > find * avoid importing `crypto` from NodeJS * Compress CSS ruleset * $ Remove useless prefix from key * Use template for element with v-if only * Make playlist selector look more selectable (cursor: pointer) * Translate toast messages and fix remove watched videos from playlist * ! Fix translation * - Remove unused methods * $ Remove workaround for issue which cannot be reproduced anymore * $ Remove remaining useless code following last commit removing workaround * you have no playlist > you have no playlists * CSS use var --horizontal-directionality-coefficient * * Update danger buttons color to primary (like clear search cache button) * ! Fix playlist icon container size * ! Fix sorting in add video to playlist prompt when filtered * $- Update ft-inputs to removed prop input-tabindex * ! Fix vue warning * + Add toggle to export playlist for older FT * * Update tooltip text * ! Fix vue warning * * Update text align * * Remove the extra surrounding spaces * Backtick > quote * - Remove useless prop * Fix tootip in lower width view * Update default filename * * Make tooltip auto-wrap * Revert "* Make tooltip auto-wrap" This reverts commit 7d932b936c7814349e50204a7979d2d0f5b0ea73. * Adjust tooltip styling * * Wait for local playlist loading only when playing with a user playlist * * Wait for local playlist loading only when playing with a user playlist requested Request user playlist can still be absent (but not requested for no playlist or remote playlist) * ! Fix single playlist view cover image having link when no video * ! Workaround create playlist prompt won't close when enter pressed in input box * ! Fix clear text button style * ! Fix copying playlist twice to the same user playlist produces same playlistItemId * ! Fix add video to playlist prompt input box style * ! Fix workaround for "create playlist prompt won't close when enter pressed in input box" * ! Ensure add video to playlist prompt updated when a playlist deleted (in another window) * ! Avoid saving and displaying unwanted video attributes into playlists * ! Fix playlist view for deleted user playlists * ! Fix copying playlist twice to the same user playlist produces same playlistItemId Real fix Cause of issue: updating property of input objects (which is shared across multiple run) * ! Fix search suggestions being blocked by playlist info component in single playlist view * ! Fix warning when reversing playlist in watch view * ! Fix prompt in playlist view (playlistinfo component) not above sidebar * Remove CSS top comments absent in other CSS files * Remove not useful comment for CSS * Float with variable Co-authored-by: Jason <84899178+jasonhenriquez@users.noreply.github.com> * Revert "! Fix clear text button style" This reverts commit 44ed286848e3cdf4c52f29a867fe09964adffd78. * Missing change for Revert "! Fix clear text button style" * $ Remove unused style for ft-playlist-selector * Apply changes from review * * Use $tc for translation entries with different value according to count values * ! Fix playlist link in watch view --------- Co-authored-by: Jason Henriquez <jasonhenriquez@protonmail.com> Co-authored-by: Jason <84899178+jasonhenriquez@users.noreply.github.com>
2024-01-03 19:44:57 +01:00
showAddToPlaylistPrompt(value) {
if (value) { return }
// Execute on prompt close
if (this.addToPlaylistPromptCloseCallback == null) { return }
this.addToPlaylistPromptCloseCallback()
},
},
created: function () {
this.parseVideoData()
this.checkIfWatched()
2023-08-03 14:48:23 +02:00
if ((this.useDeArrowTitles || this.useDeArrowThumbnails) && !this.deArrowCache) {
2023-08-03 14:48:23 +02:00
this.fetchDeArrowData()
}
if (this.useDeArrowThumbnails && this.deArrowCache && this.deArrowCache.thumbnail == null) {
if (this.debounceGetDeArrowThumbnail == null) {
this.debounceGetDeArrowThumbnail = debounce(this.fetchDeArrowThumbnail, 1000)
}
this.debounceGetDeArrowThumbnail()
}
2020-02-16 19:30:00 +01:00
},
methods: {
fetchDeArrowThumbnail: async function() {
if (this.thumbnailPreference === 'hidden') { return }
const videoId = this.id
const thumbnail = await deArrowThumbnail(videoId, this.deArrowCache.thumbnailTimestamp)
if (thumbnail) {
const deArrowCacheClone = deepCopy(this.deArrowCache)
deArrowCacheClone.thumbnail = thumbnail
this.$store.commit('addThumbnailToDeArrowCache', deArrowCacheClone)
}
},
2023-08-03 14:48:23 +02:00
fetchDeArrowData: async function() {
const videoId = this.id
const data = await deArrowData(this.id)
const cacheData = { videoId, title: null, videoDuration: null, thumbnail: null, thumbnailTimestamp: null }
if (Array.isArray(data?.titles) && data.titles.length > 0 && (data.titles[0].locked || data.titles[0].votes >= 0)) {
// remove dearrow formatting markers https://github.com/ajayyy/DeArrow/blob/0da266485be902fe54259214c3cd7c942f2357c5/src/titles/titleFormatter.ts#L460
cacheData.title = data.titles[0].title.replaceAll(/(^|\s)>(\S)/g, '$1$2').trim()
}
if (Array.isArray(data?.thumbnails) && data.thumbnails.length > 0 && (data.thumbnails[0].locked || data.thumbnails[0].votes >= 0)) {
cacheData.thumbnailTimestamp = data.thumbnails.at(0).timestamp
} else if (data?.videoDuration != null) {
cacheData.thumbnailTimestamp = data.videoDuration * data.randomTime
}
cacheData.videoDuration = data?.videoDuration ? Math.floor(data.videoDuration) : null
// Save data to cache whether data available or not to prevent duplicate requests
this.$store.commit('addVideoToDeArrowCache', cacheData)
// fetch dearrow thumbnails if enabled
if (this.useDeArrowThumbnails && this.deArrowCache?.thumbnail === null) {
if (this.debounceGetDeArrowThumbnail == null) {
this.debounceGetDeArrowThumbnail = debounce(this.fetchDeArrowThumbnail, 1000)
}
this.debounceGetDeArrowThumbnail()
}
},
Add support for External Players (closes #418) (#1271) * feat: add support for opening videos/playlists in external players (like mpv) #418 Signed-off-by: Randshot <randshot@norealm.xyz> * feat: move external player settings into own section feat: add warnings for when the external player doesn't support the current action (e.g. reversing playlists) feat: add toggle in settings for ignoring unsupported action warnings Signed-off-by: Randshot <randshot@norealm.xyz> * improvement: do not append start offset argument when the watch progress is 0 Signed-off-by: Randshot <randshot@norealm.xyz> * fix: fix undefined showToast error when clicking on the external player playlist button Signed-off-by: Randshot <randshot@norealm.xyz> * feat: add icon button for external player to watch-video-info (below video player) component improvement: refactor the code for opening the external player into a separate function in utils.js Signed-off-by: Randshot <randshot@norealm.xyz> * feat: add support for ytdl protocol urls (supportsYtdlProtocol) chore: fix lint error Signed-off-by: Randshot <randshot@norealm.xyz> * feat: add support for passing default playback rate to external player improvement: add warning message for when the external player does not support starting playback at a given offset chore: rename reverse, shuffle, and loopPlaylist fields for consistency Signed-off-by: Randshot <randshot@norealm.xyz> * feat: add setting for custom external player command line arguments Signed-off-by: Randshot <randshot@norealm.xyz> * chore: fix lint error Signed-off-by: Randshot <randshot@norealm.xyz> * improvement(watch-video-info.js): change the default for playlistId back to null (consistent with other occurrences) improvement(utils.js/openInExternalPlayer): also check for empty playlistId string fix(watch-video-info.js): fix merge error Signed-off-by: Randshot <randshot@norealm.xyz> * improvement(components/ft-list-video): check whether watch history is turned on, before adding a video to it fix(store/utils): fix playlistReverse typo, causing `undefined` being set as a command line argument fix(store/utils): check for 'string' type, instead of `null` and `undefined` fix(views/Watch): fix getPlaylistIndex returning an incorrect index, when reverse was turned on chore(locales/en-US): fix thumbnail and suppress typo chore(locales/en_GB): fix thumbnail and suppress typo Signed-off-by: Randshot <randshot@norealm.xyz> * feat: pause player when opening video in external player Signed-off-by: Randshot <randshot@norealm.xyz> * feat(externalPlayer): refactor externalPlayerCmdArguments into a separate static file `static/external-player-map.json` chore(components/ft-list-video): fix lint error Signed-off-by: Randshot <randshot@norealm.xyz> * Revert "feat: pause player when opening video in external player" This reverts commit 28b4713334bf941be9e403abf517bb4b89beb04f. * feat: pause the app's player when opening video in external player * This commit addresses above requested changes. improvement(components/external-player-settings): move `externalPlayer` check to `ft-flex-box` improvement(components/external-player-settings): use `update*` methods, instead of `handle*` improvement(store/utils): move child_process invocation to `main/index.js` via IPC call to renderer improvement(store/utils): use `dispatch` for calling actions improvement(store/utils): get external player related settings directly in the action improvement(renderer/App): move `checkExternalPlayer` call down into `usingElectron` if statement fix(renderer/App): fix lint error improvement(components/ft-list-playlist): remove unnecessary payload fields fix(components/ft-list-playlist): fix typo in component name improvement(components/ft-list-video): remove unnecessary payload fields improvement(components/watch-video-info): remove unnecessary payload fields improvement(views/Settings): add `usingElectron` condition Signed-off-by: Randshot <randshot@norealm.xyz> * fix(store/utils): fix toast message error Signed-off-by: Randshot <randshot@norealm.xyz> * fix(store/utils): fix a few code mess-ups Co-authored-by: Svallinn <41585298+Svallinn@users.noreply.github.com>
2021-06-13 17:31:43 +02:00
handleExternalPlayer: function () {
this.$emit('pause-player')
(Multiple) Local Playlist (instead of saving video in one hidden list) (#4234) * ! Fix add/removing videos from favourite list * ! Fix playlist type not passed into video list item component * ! Fix playlist data loading issue on new windows * ! Fix user playlist data parsing * * Ensure playlist view rerender on video additonal removal for displayed playlist * ! Fix icons & moving videos up/down in user playlist * * Don't show move up/down buttons when cannot be done * * Make user playlist view filtering function now works for filtering playlists * ! Fix style of prompt from any button within playlist-info component * $ Refactor a function to use early return style * * Disallow empty playlist name when saving in playlist edit mode * * Update add video to playlist prompt to have simple filtering like user playlist view * * Update playlist view to only show video reorder/remove buttons in edit mode With notice message * ! Fix playlist view for remote playlist unnecessary reload on save * ! Fix add to playlist prompt behaviour when some playlists are hidden due to filtering * $ Remove unused watch function arguments * * Update user playlist view create new playlist button position * * Update playlist view to add transitions to video reorder/removal * * Allow playlist with different case to be created * * Update visibility of user playlist related action components according to hide playlist settings Only those visible on video, remote playlist are updated * * Update video items to only show add to playlist buttons on hover * - Remove add to favorites button from video list item component * * Update watch-video-info component to add "add to playlist" button * * Update watch-video-info component to remove "add to favourite" button * * Ensure video thumbnail image displayed in 16/9 aspect ratio Mainly due to YT missing video thumbnail image got different aspect ratio 4/3 * * Update new buttons theme * * Put edit playlist button before copy button * * Move "remove video from playlist" button to most right * * Make video reorder & remove button visible on hover in user playlist view, regardless of "edit mode" * ! Fix video count parsing for user playlist * * Update user playlist to allow duplicate video entries (per video ID) * * Remove extra attributes assignment to video object except `timeAdded` Unintended change * * Update copy playlist button to like adding multiple videos to playlists * * Update copy playlist prompt to prefill title if create new playlist prompt shown * * Ensure all playlists have `playlistName` * $- Remove unused playlist property `removeOnWatched` * * Update read all playlist code to ensure existing "default" playlist properties (_id, protected) have same values as those in default Also fix issue discovered during testing * *- Remove unnecessary code line * * Update playlists from default playlists to be deletable * ! Fix duplicate `timeAdded` value for videos copied from user playlist * ! Fix playlist import (tested with db file exported from this branch) * * Update grid view to only display playlist title up to 255 chars Still can see full title in single playlist view * * Update add video to playlist prompt to only display playlist title up to 255 chars * * Update text of new playlist button to be same as new profile button * * Ignore many extra keys from playlist objectrs Also make data import check for object keys against required keys not key counts * * Disallow playlist import from changing internal playlist ID of existing playlists Existing playlists are matched by playlist name, not by internal playlist ID * * Ensure playlist name & description trimmed when saved * * Add missing change for importing playlist to ignore `protected` * $ Refactor code for "video object has all require keys" * ! Fix style of prompt from any button within playlist-info component again z-index war * * Update some empty message & button text * * Ensure playlist item action buttons are hidden during animations * ! Fix other prompt z-index * * Update `showAddToPlaylistPromptForManyVideos` to throw error when required keys missing from passed in video data * *- Remove unused video property `paid` from playlist related code * *- Remove unused video property `type` from playlist related code * ! Fix duplicate playlist displayed on playlist conversion * *- Remove unused video property `published` from playlist related code * * Don't require & generate property `timeAdded` when display a prompt * *- Remove unused video property `isLive` from playlist related code * ! Fix text * ! Revert code change for debugging only * ! Fix CSS for "Ensure playlist item action buttons are hidden during animations" * * Update add playlist button to be shown for live videos * + Add clear all playlists button * * Update add video to playlist prompt to swap "save" & "create playlist" button * ! Fix playlist view won't load after default playlist added due to lack of playlist * * Show toast message when no playlist selected after pressing save button * * Update add video to playlist prompt to show latest updated playlist first Easier for copying playlist with new playlist(s) * ! Fix watch page when visited via history after viewing the video from a deleted user playlist * ! Fix share buttons emitting user playlist IDs * * Add toast message after removing all playlists * ! Fix remote playlist video list rendering with duplicate videos * ! Fix missing key for some direct child elements under `transition-group` * ! Fix animation introduced to unnecessary elements * ! Prevent video link click during animation * ! Fix playlist creation/removal not reflected in other windows * * Ensure playlist visual selected state in sync with data in parent * * Update add video to playlist prompt to auto select playlists created after prompt shown once * * Update copy playlist button to show warning about not loaded videos when some not loaded yet For remote playlist Won't work for Invidious though (coz no way to load more) * * Update add video prompt to make it easier to access buttons via keyboard * * Make video reorder & remove button always visible in user playlist view * * Make plus button can be focused with tab Side effect is thumbnail link can be focused too (otherwise can't make plus button visible) * * Update add video to playlist prompt to focus on search input on shown * * Accept playlist optional property `createdAt` when importing * * Update playlist view to always show add to playlist button * $ Refactor `inUserPlaylist` Only playlist view would supply `playlistType` * * Improve accessibility for new prompts * * Make edit playlist inputs focused on entering edit mode * * Make most prompts focus back to last focused element on close * $ Use tabindex 0 for prompts Possible tabindex values unnecessary with elements programatically focused * * Update add video to playlist prompt to focus back to search input after new playlist created * * Update ft-list-video to focus back on thumbnail link element after add to playlist prompt closed * ! Fix unable to import duplicate video entries into an existing playlist * ! Fix create playlist prompt looks unclosed after playlist created when opened via add video to playlist prompt * ! Fix duplicate video entry ID when playlist with duplicate videoId entries copied to another playlist * ! Fix issues caused by last merge in e291cc8b41b2273a0d77c9f35ea760f0e0f7ac10 * $ Remove unused imports * ! Fix default playlists added when no playlist stored had no required attributes added on 1st run * ! Fix invalid prop type warning * * Use v-if instead of v-show * $ Just assign bool value instead of if-else * + Update playlists view to add sorting option * $- Remove unnecessary property assignments * ! Fix issues caused by "Remove unnecessary property assignments" * ! Fix issues caused by "Remove unnecessary property assignments" * * Ensure sort by time also fallbacks to playlist name sorting * ! Fix add/remove video does not update playlist last created time * ! Fix multi window playlist sync * * Show filtering input & sorting element when no. of playlist > 1 * * Update upcoming video to allow saving in playlist * ! Fix unable to visit previous video when playing first video in a playlist * * Update sorting options labels * ! Fix add to play prompt max width * ! Fix user playlist view incorrectly sorted playlists by latest updated first when filtered * * Update add to playlist prompt to add sort options * $ Remove unused classname * ! Ensure new playlist button focused after add to playlist prompt closed while thumbnail link unselectable * * Add playlists sort order for last played at, update it on play * ! Fix bug introduced by last merge * ! Fix thumbnail not respecting backend preference * ! Fix empty playlist thumbnail in single playlist view * * Make adding large no. of videos faster * $ Remove unused mapActions entries * $ Remove unused and unusable playlist code for inserting video IDs into a playlist * * Update single playlist view to only show `Remove watched videos` btn when there is any video * ! Fix prompt style issue caused by old branch changes * ! Fix removing video from local playlist remove all entries with same video ID * ! Fix adding video does not have uniqueID & timeAdded set Caused by previous add many video performance fix * ! Fix navigation in user playlist between entries of same video * * Reflect playlist updates on watch page playlist panel * $- Remove outdated incorrect prompt style fix * ! Fix add video to playlist prompt too high when there are too many playlists * ! Fix watch page play next/prev video in local playlist * ! Fix error in online playlist playing * * Keep partial playlist backward compatibility by restoring `type` in persisted playlist videos * ! Fix grid item for playlist to hide external player button for local playlist * * Make history rememeber uniqueId (local playlist video entry) when playing video with local playlist * ! Fix grid item for video in user playlist to hide external player button * ! Fix grid item for video in history with user playlist to hide external player button * ! Fix grid item for video in watch page playlist component with user playlist to hide external player button * * Update watch page to clear `uniqueID` from query when not playing local playlist * ! Fix watch page about user playlist detection on new window * * Reflect playlist updates on watch page playlist panel, even for currently playing video * ! Allow video with local playlist to be played in external player, but without playlist Also add missing fix for WatchVideoInfo * ! Fix external player handling for video in local playlist * ! Fix ft-video having different URLs in links * yarn run lint-style-fix * $ Rename uniqueId to playlistItemId * * Ensure local playlist ID won't conflict with remote playlist ID * - Remove import video while creating playlist related code * * Make text translatable * * Make sort option text translatable * ! Fix reverse condition * $ Just use ?. * Code review changes * Spaces * beforeDestroy * Remove unused methods * Remove infoData * filter > find * avoid importing `crypto` from NodeJS * Compress CSS ruleset * $ Remove useless prefix from key * Use template for element with v-if only * Make playlist selector look more selectable (cursor: pointer) * Translate toast messages and fix remove watched videos from playlist * ! Fix translation * - Remove unused methods * $ Remove workaround for issue which cannot be reproduced anymore * $ Remove remaining useless code following last commit removing workaround * you have no playlist > you have no playlists * CSS use var --horizontal-directionality-coefficient * * Update danger buttons color to primary (like clear search cache button) * ! Fix playlist icon container size * ! Fix sorting in add video to playlist prompt when filtered * $- Update ft-inputs to removed prop input-tabindex * ! Fix vue warning * + Add toggle to export playlist for older FT * * Update tooltip text * ! Fix vue warning * * Update text align * * Remove the extra surrounding spaces * Backtick > quote * - Remove useless prop * Fix tootip in lower width view * Update default filename * * Make tooltip auto-wrap * Revert "* Make tooltip auto-wrap" This reverts commit 7d932b936c7814349e50204a7979d2d0f5b0ea73. * Adjust tooltip styling * * Wait for local playlist loading only when playing with a user playlist * * Wait for local playlist loading only when playing with a user playlist requested Request user playlist can still be absent (but not requested for no playlist or remote playlist) * ! Fix single playlist view cover image having link when no video * ! Workaround create playlist prompt won't close when enter pressed in input box * ! Fix clear text button style * ! Fix copying playlist twice to the same user playlist produces same playlistItemId * ! Fix add video to playlist prompt input box style * ! Fix workaround for "create playlist prompt won't close when enter pressed in input box" * ! Ensure add video to playlist prompt updated when a playlist deleted (in another window) * ! Avoid saving and displaying unwanted video attributes into playlists * ! Fix playlist view for deleted user playlists * ! Fix copying playlist twice to the same user playlist produces same playlistItemId Real fix Cause of issue: updating property of input objects (which is shared across multiple run) * ! Fix search suggestions being blocked by playlist info component in single playlist view * ! Fix warning when reversing playlist in watch view * ! Fix prompt in playlist view (playlistinfo component) not above sidebar * Remove CSS top comments absent in other CSS files * Remove not useful comment for CSS * Float with variable Co-authored-by: Jason <84899178+jasonhenriquez@users.noreply.github.com> * Revert "! Fix clear text button style" This reverts commit 44ed286848e3cdf4c52f29a867fe09964adffd78. * Missing change for Revert "! Fix clear text button style" * $ Remove unused style for ft-playlist-selector * Apply changes from review * * Use $tc for translation entries with different value according to count values * ! Fix playlist link in watch view --------- Co-authored-by: Jason Henriquez <jasonhenriquez@protonmail.com> Co-authored-by: Jason <84899178+jasonhenriquez@users.noreply.github.com>
2024-01-03 19:44:57 +01:00
const payload = {
Add support for External Players (closes #418) (#1271) * feat: add support for opening videos/playlists in external players (like mpv) #418 Signed-off-by: Randshot <randshot@norealm.xyz> * feat: move external player settings into own section feat: add warnings for when the external player doesn't support the current action (e.g. reversing playlists) feat: add toggle in settings for ignoring unsupported action warnings Signed-off-by: Randshot <randshot@norealm.xyz> * improvement: do not append start offset argument when the watch progress is 0 Signed-off-by: Randshot <randshot@norealm.xyz> * fix: fix undefined showToast error when clicking on the external player playlist button Signed-off-by: Randshot <randshot@norealm.xyz> * feat: add icon button for external player to watch-video-info (below video player) component improvement: refactor the code for opening the external player into a separate function in utils.js Signed-off-by: Randshot <randshot@norealm.xyz> * feat: add support for ytdl protocol urls (supportsYtdlProtocol) chore: fix lint error Signed-off-by: Randshot <randshot@norealm.xyz> * feat: add support for passing default playback rate to external player improvement: add warning message for when the external player does not support starting playback at a given offset chore: rename reverse, shuffle, and loopPlaylist fields for consistency Signed-off-by: Randshot <randshot@norealm.xyz> * feat: add setting for custom external player command line arguments Signed-off-by: Randshot <randshot@norealm.xyz> * chore: fix lint error Signed-off-by: Randshot <randshot@norealm.xyz> * improvement(watch-video-info.js): change the default for playlistId back to null (consistent with other occurrences) improvement(utils.js/openInExternalPlayer): also check for empty playlistId string fix(watch-video-info.js): fix merge error Signed-off-by: Randshot <randshot@norealm.xyz> * improvement(components/ft-list-video): check whether watch history is turned on, before adding a video to it fix(store/utils): fix playlistReverse typo, causing `undefined` being set as a command line argument fix(store/utils): check for 'string' type, instead of `null` and `undefined` fix(views/Watch): fix getPlaylistIndex returning an incorrect index, when reverse was turned on chore(locales/en-US): fix thumbnail and suppress typo chore(locales/en_GB): fix thumbnail and suppress typo Signed-off-by: Randshot <randshot@norealm.xyz> * feat: pause player when opening video in external player Signed-off-by: Randshot <randshot@norealm.xyz> * feat(externalPlayer): refactor externalPlayerCmdArguments into a separate static file `static/external-player-map.json` chore(components/ft-list-video): fix lint error Signed-off-by: Randshot <randshot@norealm.xyz> * Revert "feat: pause player when opening video in external player" This reverts commit 28b4713334bf941be9e403abf517bb4b89beb04f. * feat: pause the app's player when opening video in external player * This commit addresses above requested changes. improvement(components/external-player-settings): move `externalPlayer` check to `ft-flex-box` improvement(components/external-player-settings): use `update*` methods, instead of `handle*` improvement(store/utils): move child_process invocation to `main/index.js` via IPC call to renderer improvement(store/utils): use `dispatch` for calling actions improvement(store/utils): get external player related settings directly in the action improvement(renderer/App): move `checkExternalPlayer` call down into `usingElectron` if statement fix(renderer/App): fix lint error improvement(components/ft-list-playlist): remove unnecessary payload fields fix(components/ft-list-playlist): fix typo in component name improvement(components/ft-list-video): remove unnecessary payload fields improvement(components/watch-video-info): remove unnecessary payload fields improvement(views/Settings): add `usingElectron` condition Signed-off-by: Randshot <randshot@norealm.xyz> * fix(store/utils): fix toast message error Signed-off-by: Randshot <randshot@norealm.xyz> * fix(store/utils): fix a few code mess-ups Co-authored-by: Svallinn <41585298+Svallinn@users.noreply.github.com>
2021-06-13 17:31:43 +02:00
watchProgress: this.watchProgress,
playbackRate: this.defaultPlayback,
videoId: this.id,
videoLength: this.data.lengthSeconds,
playlistId: this.playlistIdFinal,
Add support for External Players (closes #418) (#1271) * feat: add support for opening videos/playlists in external players (like mpv) #418 Signed-off-by: Randshot <randshot@norealm.xyz> * feat: move external player settings into own section feat: add warnings for when the external player doesn't support the current action (e.g. reversing playlists) feat: add toggle in settings for ignoring unsupported action warnings Signed-off-by: Randshot <randshot@norealm.xyz> * improvement: do not append start offset argument when the watch progress is 0 Signed-off-by: Randshot <randshot@norealm.xyz> * fix: fix undefined showToast error when clicking on the external player playlist button Signed-off-by: Randshot <randshot@norealm.xyz> * feat: add icon button for external player to watch-video-info (below video player) component improvement: refactor the code for opening the external player into a separate function in utils.js Signed-off-by: Randshot <randshot@norealm.xyz> * feat: add support for ytdl protocol urls (supportsYtdlProtocol) chore: fix lint error Signed-off-by: Randshot <randshot@norealm.xyz> * feat: add support for passing default playback rate to external player improvement: add warning message for when the external player does not support starting playback at a given offset chore: rename reverse, shuffle, and loopPlaylist fields for consistency Signed-off-by: Randshot <randshot@norealm.xyz> * feat: add setting for custom external player command line arguments Signed-off-by: Randshot <randshot@norealm.xyz> * chore: fix lint error Signed-off-by: Randshot <randshot@norealm.xyz> * improvement(watch-video-info.js): change the default for playlistId back to null (consistent with other occurrences) improvement(utils.js/openInExternalPlayer): also check for empty playlistId string fix(watch-video-info.js): fix merge error Signed-off-by: Randshot <randshot@norealm.xyz> * improvement(components/ft-list-video): check whether watch history is turned on, before adding a video to it fix(store/utils): fix playlistReverse typo, causing `undefined` being set as a command line argument fix(store/utils): check for 'string' type, instead of `null` and `undefined` fix(views/Watch): fix getPlaylistIndex returning an incorrect index, when reverse was turned on chore(locales/en-US): fix thumbnail and suppress typo chore(locales/en_GB): fix thumbnail and suppress typo Signed-off-by: Randshot <randshot@norealm.xyz> * feat: pause player when opening video in external player Signed-off-by: Randshot <randshot@norealm.xyz> * feat(externalPlayer): refactor externalPlayerCmdArguments into a separate static file `static/external-player-map.json` chore(components/ft-list-video): fix lint error Signed-off-by: Randshot <randshot@norealm.xyz> * Revert "feat: pause player when opening video in external player" This reverts commit 28b4713334bf941be9e403abf517bb4b89beb04f. * feat: pause the app's player when opening video in external player * This commit addresses above requested changes. improvement(components/external-player-settings): move `externalPlayer` check to `ft-flex-box` improvement(components/external-player-settings): use `update*` methods, instead of `handle*` improvement(store/utils): move child_process invocation to `main/index.js` via IPC call to renderer improvement(store/utils): use `dispatch` for calling actions improvement(store/utils): get external player related settings directly in the action improvement(renderer/App): move `checkExternalPlayer` call down into `usingElectron` if statement fix(renderer/App): fix lint error improvement(components/ft-list-playlist): remove unnecessary payload fields fix(components/ft-list-playlist): fix typo in component name improvement(components/ft-list-video): remove unnecessary payload fields improvement(components/watch-video-info): remove unnecessary payload fields improvement(views/Settings): add `usingElectron` condition Signed-off-by: Randshot <randshot@norealm.xyz> * fix(store/utils): fix toast message error Signed-off-by: Randshot <randshot@norealm.xyz> * fix(store/utils): fix a few code mess-ups Co-authored-by: Svallinn <41585298+Svallinn@users.noreply.github.com>
2021-06-13 17:31:43 +02:00
playlistIndex: this.playlistIndex,
playlistReverse: this.playlistReverse,
playlistShuffle: this.playlistShuffle,
(Multiple) Local Playlist (instead of saving video in one hidden list) (#4234) * ! Fix add/removing videos from favourite list * ! Fix playlist type not passed into video list item component * ! Fix playlist data loading issue on new windows * ! Fix user playlist data parsing * * Ensure playlist view rerender on video additonal removal for displayed playlist * ! Fix icons & moving videos up/down in user playlist * * Don't show move up/down buttons when cannot be done * * Make user playlist view filtering function now works for filtering playlists * ! Fix style of prompt from any button within playlist-info component * $ Refactor a function to use early return style * * Disallow empty playlist name when saving in playlist edit mode * * Update add video to playlist prompt to have simple filtering like user playlist view * * Update playlist view to only show video reorder/remove buttons in edit mode With notice message * ! Fix playlist view for remote playlist unnecessary reload on save * ! Fix add to playlist prompt behaviour when some playlists are hidden due to filtering * $ Remove unused watch function arguments * * Update user playlist view create new playlist button position * * Update playlist view to add transitions to video reorder/removal * * Allow playlist with different case to be created * * Update visibility of user playlist related action components according to hide playlist settings Only those visible on video, remote playlist are updated * * Update video items to only show add to playlist buttons on hover * - Remove add to favorites button from video list item component * * Update watch-video-info component to add "add to playlist" button * * Update watch-video-info component to remove "add to favourite" button * * Ensure video thumbnail image displayed in 16/9 aspect ratio Mainly due to YT missing video thumbnail image got different aspect ratio 4/3 * * Update new buttons theme * * Put edit playlist button before copy button * * Move "remove video from playlist" button to most right * * Make video reorder & remove button visible on hover in user playlist view, regardless of "edit mode" * ! Fix video count parsing for user playlist * * Update user playlist to allow duplicate video entries (per video ID) * * Remove extra attributes assignment to video object except `timeAdded` Unintended change * * Update copy playlist button to like adding multiple videos to playlists * * Update copy playlist prompt to prefill title if create new playlist prompt shown * * Ensure all playlists have `playlistName` * $- Remove unused playlist property `removeOnWatched` * * Update read all playlist code to ensure existing "default" playlist properties (_id, protected) have same values as those in default Also fix issue discovered during testing * *- Remove unnecessary code line * * Update playlists from default playlists to be deletable * ! Fix duplicate `timeAdded` value for videos copied from user playlist * ! Fix playlist import (tested with db file exported from this branch) * * Update grid view to only display playlist title up to 255 chars Still can see full title in single playlist view * * Update add video to playlist prompt to only display playlist title up to 255 chars * * Update text of new playlist button to be same as new profile button * * Ignore many extra keys from playlist objectrs Also make data import check for object keys against required keys not key counts * * Disallow playlist import from changing internal playlist ID of existing playlists Existing playlists are matched by playlist name, not by internal playlist ID * * Ensure playlist name & description trimmed when saved * * Add missing change for importing playlist to ignore `protected` * $ Refactor code for "video object has all require keys" * ! Fix style of prompt from any button within playlist-info component again z-index war * * Update some empty message & button text * * Ensure playlist item action buttons are hidden during animations * ! Fix other prompt z-index * * Update `showAddToPlaylistPromptForManyVideos` to throw error when required keys missing from passed in video data * *- Remove unused video property `paid` from playlist related code * *- Remove unused video property `type` from playlist related code * ! Fix duplicate playlist displayed on playlist conversion * *- Remove unused video property `published` from playlist related code * * Don't require & generate property `timeAdded` when display a prompt * *- Remove unused video property `isLive` from playlist related code * ! Fix text * ! Revert code change for debugging only * ! Fix CSS for "Ensure playlist item action buttons are hidden during animations" * * Update add playlist button to be shown for live videos * + Add clear all playlists button * * Update add video to playlist prompt to swap "save" & "create playlist" button * ! Fix playlist view won't load after default playlist added due to lack of playlist * * Show toast message when no playlist selected after pressing save button * * Update add video to playlist prompt to show latest updated playlist first Easier for copying playlist with new playlist(s) * ! Fix watch page when visited via history after viewing the video from a deleted user playlist * ! Fix share buttons emitting user playlist IDs * * Add toast message after removing all playlists * ! Fix remote playlist video list rendering with duplicate videos * ! Fix missing key for some direct child elements under `transition-group` * ! Fix animation introduced to unnecessary elements * ! Prevent video link click during animation * ! Fix playlist creation/removal not reflected in other windows * * Ensure playlist visual selected state in sync with data in parent * * Update add video to playlist prompt to auto select playlists created after prompt shown once * * Update copy playlist button to show warning about not loaded videos when some not loaded yet For remote playlist Won't work for Invidious though (coz no way to load more) * * Update add video prompt to make it easier to access buttons via keyboard * * Make video reorder & remove button always visible in user playlist view * * Make plus button can be focused with tab Side effect is thumbnail link can be focused too (otherwise can't make plus button visible) * * Update add video to playlist prompt to focus on search input on shown * * Accept playlist optional property `createdAt` when importing * * Update playlist view to always show add to playlist button * $ Refactor `inUserPlaylist` Only playlist view would supply `playlistType` * * Improve accessibility for new prompts * * Make edit playlist inputs focused on entering edit mode * * Make most prompts focus back to last focused element on close * $ Use tabindex 0 for prompts Possible tabindex values unnecessary with elements programatically focused * * Update add video to playlist prompt to focus back to search input after new playlist created * * Update ft-list-video to focus back on thumbnail link element after add to playlist prompt closed * ! Fix unable to import duplicate video entries into an existing playlist * ! Fix create playlist prompt looks unclosed after playlist created when opened via add video to playlist prompt * ! Fix duplicate video entry ID when playlist with duplicate videoId entries copied to another playlist * ! Fix issues caused by last merge in e291cc8b41b2273a0d77c9f35ea760f0e0f7ac10 * $ Remove unused imports * ! Fix default playlists added when no playlist stored had no required attributes added on 1st run * ! Fix invalid prop type warning * * Use v-if instead of v-show * $ Just assign bool value instead of if-else * + Update playlists view to add sorting option * $- Remove unnecessary property assignments * ! Fix issues caused by "Remove unnecessary property assignments" * ! Fix issues caused by "Remove unnecessary property assignments" * * Ensure sort by time also fallbacks to playlist name sorting * ! Fix add/remove video does not update playlist last created time * ! Fix multi window playlist sync * * Show filtering input & sorting element when no. of playlist > 1 * * Update upcoming video to allow saving in playlist * ! Fix unable to visit previous video when playing first video in a playlist * * Update sorting options labels * ! Fix add to play prompt max width * ! Fix user playlist view incorrectly sorted playlists by latest updated first when filtered * * Update add to playlist prompt to add sort options * $ Remove unused classname * ! Ensure new playlist button focused after add to playlist prompt closed while thumbnail link unselectable * * Add playlists sort order for last played at, update it on play * ! Fix bug introduced by last merge * ! Fix thumbnail not respecting backend preference * ! Fix empty playlist thumbnail in single playlist view * * Make adding large no. of videos faster * $ Remove unused mapActions entries * $ Remove unused and unusable playlist code for inserting video IDs into a playlist * * Update single playlist view to only show `Remove watched videos` btn when there is any video * ! Fix prompt style issue caused by old branch changes * ! Fix removing video from local playlist remove all entries with same video ID * ! Fix adding video does not have uniqueID & timeAdded set Caused by previous add many video performance fix * ! Fix navigation in user playlist between entries of same video * * Reflect playlist updates on watch page playlist panel * $- Remove outdated incorrect prompt style fix * ! Fix add video to playlist prompt too high when there are too many playlists * ! Fix watch page play next/prev video in local playlist * ! Fix error in online playlist playing * * Keep partial playlist backward compatibility by restoring `type` in persisted playlist videos * ! Fix grid item for playlist to hide external player button for local playlist * * Make history rememeber uniqueId (local playlist video entry) when playing video with local playlist * ! Fix grid item for video in user playlist to hide external player button * ! Fix grid item for video in history with user playlist to hide external player button * ! Fix grid item for video in watch page playlist component with user playlist to hide external player button * * Update watch page to clear `uniqueID` from query when not playing local playlist * ! Fix watch page about user playlist detection on new window * * Reflect playlist updates on watch page playlist panel, even for currently playing video * ! Allow video with local playlist to be played in external player, but without playlist Also add missing fix for WatchVideoInfo * ! Fix external player handling for video in local playlist * ! Fix ft-video having different URLs in links * yarn run lint-style-fix * $ Rename uniqueId to playlistItemId * * Ensure local playlist ID won't conflict with remote playlist ID * - Remove import video while creating playlist related code * * Make text translatable * * Make sort option text translatable * ! Fix reverse condition * $ Just use ?. * Code review changes * Spaces * beforeDestroy * Remove unused methods * Remove infoData * filter > find * avoid importing `crypto` from NodeJS * Compress CSS ruleset * $ Remove useless prefix from key * Use template for element with v-if only * Make playlist selector look more selectable (cursor: pointer) * Translate toast messages and fix remove watched videos from playlist * ! Fix translation * - Remove unused methods * $ Remove workaround for issue which cannot be reproduced anymore * $ Remove remaining useless code following last commit removing workaround * you have no playlist > you have no playlists * CSS use var --horizontal-directionality-coefficient * * Update danger buttons color to primary (like clear search cache button) * ! Fix playlist icon container size * ! Fix sorting in add video to playlist prompt when filtered * $- Update ft-inputs to removed prop input-tabindex * ! Fix vue warning * + Add toggle to export playlist for older FT * * Update tooltip text * ! Fix vue warning * * Update text align * * Remove the extra surrounding spaces * Backtick > quote * - Remove useless prop * Fix tootip in lower width view * Update default filename * * Make tooltip auto-wrap * Revert "* Make tooltip auto-wrap" This reverts commit 7d932b936c7814349e50204a7979d2d0f5b0ea73. * Adjust tooltip styling * * Wait for local playlist loading only when playing with a user playlist * * Wait for local playlist loading only when playing with a user playlist requested Request user playlist can still be absent (but not requested for no playlist or remote playlist) * ! Fix single playlist view cover image having link when no video * ! Workaround create playlist prompt won't close when enter pressed in input box * ! Fix clear text button style * ! Fix copying playlist twice to the same user playlist produces same playlistItemId * ! Fix add video to playlist prompt input box style * ! Fix workaround for "create playlist prompt won't close when enter pressed in input box" * ! Ensure add video to playlist prompt updated when a playlist deleted (in another window) * ! Avoid saving and displaying unwanted video attributes into playlists * ! Fix playlist view for deleted user playlists * ! Fix copying playlist twice to the same user playlist produces same playlistItemId Real fix Cause of issue: updating property of input objects (which is shared across multiple run) * ! Fix search suggestions being blocked by playlist info component in single playlist view * ! Fix warning when reversing playlist in watch view * ! Fix prompt in playlist view (playlistinfo component) not above sidebar * Remove CSS top comments absent in other CSS files * Remove not useful comment for CSS * Float with variable Co-authored-by: Jason <84899178+jasonhenriquez@users.noreply.github.com> * Revert "! Fix clear text button style" This reverts commit 44ed286848e3cdf4c52f29a867fe09964adffd78. * Missing change for Revert "! Fix clear text button style" * $ Remove unused style for ft-playlist-selector * Apply changes from review * * Use $tc for translation entries with different value according to count values * ! Fix playlist link in watch view --------- Co-authored-by: Jason Henriquez <jasonhenriquez@protonmail.com> Co-authored-by: Jason <84899178+jasonhenriquez@users.noreply.github.com>
2024-01-03 19:44:57 +01:00
playlistLoop: this.playlistLoop,
}
// Only play video in non playlist mode when user playlist detected
if (this.inUserPlaylist) {
Object.assign(payload, {
playlistId: null,
playlistIndex: null,
playlistReverse: null,
playlistShuffle: null,
playlistLoop: null,
})
}
this.openInExternalPlayer(payload)
Add support for External Players (closes #418) (#1271) * feat: add support for opening videos/playlists in external players (like mpv) #418 Signed-off-by: Randshot <randshot@norealm.xyz> * feat: move external player settings into own section feat: add warnings for when the external player doesn't support the current action (e.g. reversing playlists) feat: add toggle in settings for ignoring unsupported action warnings Signed-off-by: Randshot <randshot@norealm.xyz> * improvement: do not append start offset argument when the watch progress is 0 Signed-off-by: Randshot <randshot@norealm.xyz> * fix: fix undefined showToast error when clicking on the external player playlist button Signed-off-by: Randshot <randshot@norealm.xyz> * feat: add icon button for external player to watch-video-info (below video player) component improvement: refactor the code for opening the external player into a separate function in utils.js Signed-off-by: Randshot <randshot@norealm.xyz> * feat: add support for ytdl protocol urls (supportsYtdlProtocol) chore: fix lint error Signed-off-by: Randshot <randshot@norealm.xyz> * feat: add support for passing default playback rate to external player improvement: add warning message for when the external player does not support starting playback at a given offset chore: rename reverse, shuffle, and loopPlaylist fields for consistency Signed-off-by: Randshot <randshot@norealm.xyz> * feat: add setting for custom external player command line arguments Signed-off-by: Randshot <randshot@norealm.xyz> * chore: fix lint error Signed-off-by: Randshot <randshot@norealm.xyz> * improvement(watch-video-info.js): change the default for playlistId back to null (consistent with other occurrences) improvement(utils.js/openInExternalPlayer): also check for empty playlistId string fix(watch-video-info.js): fix merge error Signed-off-by: Randshot <randshot@norealm.xyz> * improvement(components/ft-list-video): check whether watch history is turned on, before adding a video to it fix(store/utils): fix playlistReverse typo, causing `undefined` being set as a command line argument fix(store/utils): check for 'string' type, instead of `null` and `undefined` fix(views/Watch): fix getPlaylistIndex returning an incorrect index, when reverse was turned on chore(locales/en-US): fix thumbnail and suppress typo chore(locales/en_GB): fix thumbnail and suppress typo Signed-off-by: Randshot <randshot@norealm.xyz> * feat: pause player when opening video in external player Signed-off-by: Randshot <randshot@norealm.xyz> * feat(externalPlayer): refactor externalPlayerCmdArguments into a separate static file `static/external-player-map.json` chore(components/ft-list-video): fix lint error Signed-off-by: Randshot <randshot@norealm.xyz> * Revert "feat: pause player when opening video in external player" This reverts commit 28b4713334bf941be9e403abf517bb4b89beb04f. * feat: pause the app's player when opening video in external player * This commit addresses above requested changes. improvement(components/external-player-settings): move `externalPlayer` check to `ft-flex-box` improvement(components/external-player-settings): use `update*` methods, instead of `handle*` improvement(store/utils): move child_process invocation to `main/index.js` via IPC call to renderer improvement(store/utils): use `dispatch` for calling actions improvement(store/utils): get external player related settings directly in the action improvement(renderer/App): move `checkExternalPlayer` call down into `usingElectron` if statement fix(renderer/App): fix lint error improvement(components/ft-list-playlist): remove unnecessary payload fields fix(components/ft-list-playlist): fix typo in component name improvement(components/ft-list-video): remove unnecessary payload fields improvement(components/watch-video-info): remove unnecessary payload fields improvement(views/Settings): add `usingElectron` condition Signed-off-by: Randshot <randshot@norealm.xyz> * fix(store/utils): fix toast message error Signed-off-by: Randshot <randshot@norealm.xyz> * fix(store/utils): fix a few code mess-ups Co-authored-by: Svallinn <41585298+Svallinn@users.noreply.github.com>
2021-06-13 17:31:43 +02:00
if (this.saveWatchedProgress && !this.historyEntryExists) {
Add support for External Players (closes #418) (#1271) * feat: add support for opening videos/playlists in external players (like mpv) #418 Signed-off-by: Randshot <randshot@norealm.xyz> * feat: move external player settings into own section feat: add warnings for when the external player doesn't support the current action (e.g. reversing playlists) feat: add toggle in settings for ignoring unsupported action warnings Signed-off-by: Randshot <randshot@norealm.xyz> * improvement: do not append start offset argument when the watch progress is 0 Signed-off-by: Randshot <randshot@norealm.xyz> * fix: fix undefined showToast error when clicking on the external player playlist button Signed-off-by: Randshot <randshot@norealm.xyz> * feat: add icon button for external player to watch-video-info (below video player) component improvement: refactor the code for opening the external player into a separate function in utils.js Signed-off-by: Randshot <randshot@norealm.xyz> * feat: add support for ytdl protocol urls (supportsYtdlProtocol) chore: fix lint error Signed-off-by: Randshot <randshot@norealm.xyz> * feat: add support for passing default playback rate to external player improvement: add warning message for when the external player does not support starting playback at a given offset chore: rename reverse, shuffle, and loopPlaylist fields for consistency Signed-off-by: Randshot <randshot@norealm.xyz> * feat: add setting for custom external player command line arguments Signed-off-by: Randshot <randshot@norealm.xyz> * chore: fix lint error Signed-off-by: Randshot <randshot@norealm.xyz> * improvement(watch-video-info.js): change the default for playlistId back to null (consistent with other occurrences) improvement(utils.js/openInExternalPlayer): also check for empty playlistId string fix(watch-video-info.js): fix merge error Signed-off-by: Randshot <randshot@norealm.xyz> * improvement(components/ft-list-video): check whether watch history is turned on, before adding a video to it fix(store/utils): fix playlistReverse typo, causing `undefined` being set as a command line argument fix(store/utils): check for 'string' type, instead of `null` and `undefined` fix(views/Watch): fix getPlaylistIndex returning an incorrect index, when reverse was turned on chore(locales/en-US): fix thumbnail and suppress typo chore(locales/en_GB): fix thumbnail and suppress typo Signed-off-by: Randshot <randshot@norealm.xyz> * feat: pause player when opening video in external player Signed-off-by: Randshot <randshot@norealm.xyz> * feat(externalPlayer): refactor externalPlayerCmdArguments into a separate static file `static/external-player-map.json` chore(components/ft-list-video): fix lint error Signed-off-by: Randshot <randshot@norealm.xyz> * Revert "feat: pause player when opening video in external player" This reverts commit 28b4713334bf941be9e403abf517bb4b89beb04f. * feat: pause the app's player when opening video in external player * This commit addresses above requested changes. improvement(components/external-player-settings): move `externalPlayer` check to `ft-flex-box` improvement(components/external-player-settings): use `update*` methods, instead of `handle*` improvement(store/utils): move child_process invocation to `main/index.js` via IPC call to renderer improvement(store/utils): use `dispatch` for calling actions improvement(store/utils): get external player related settings directly in the action improvement(renderer/App): move `checkExternalPlayer` call down into `usingElectron` if statement fix(renderer/App): fix lint error improvement(components/ft-list-playlist): remove unnecessary payload fields fix(components/ft-list-playlist): fix typo in component name improvement(components/ft-list-video): remove unnecessary payload fields improvement(components/watch-video-info): remove unnecessary payload fields improvement(views/Settings): add `usingElectron` condition Signed-off-by: Randshot <randshot@norealm.xyz> * fix(store/utils): fix toast message error Signed-off-by: Randshot <randshot@norealm.xyz> * fix(store/utils): fix a few code mess-ups Co-authored-by: Svallinn <41585298+Svallinn@users.noreply.github.com>
2021-06-13 17:31:43 +02:00
this.markAsWatched()
}
},
handleOptionsClick: function (option) {
switch (option) {
case 'history':
if (this.historyEntryExists) {
this.removeFromWatched()
} else {
this.markAsWatched()
}
break
case 'copyYoutube':
copyToClipboard(this.youtubeShareUrl, { messageOnSuccess: this.$t('Share.YouTube URL copied to clipboard') })
break
case 'openYoutube':
openExternalLink(this.youtubeUrl)
break
case 'copyYoutubeEmbed':
copyToClipboard(this.youtubeEmbedUrl, { messageOnSuccess: this.$t('Share.YouTube Embed URL copied to clipboard') })
break
case 'openYoutubeEmbed':
openExternalLink(this.youtubeEmbedUrl)
break
case 'copyInvidious':
copyToClipboard(this.invidiousUrl, { messageOnSuccess: this.$t('Share.Invidious URL copied to clipboard') })
break
case 'openInvidious':
openExternalLink(this.invidiousUrl)
break
case 'copyYoutubeChannel':
copyToClipboard(this.youtubeChannelUrl, { messageOnSuccess: this.$t('Share.YouTube Channel URL copied to clipboard') })
break
case 'openYoutubeChannel':
openExternalLink(this.youtubeChannelUrl)
break
case 'copyInvidiousChannel':
copyToClipboard(this.invidiousChannelUrl, { messageOnSuccess: this.$t('Share.Invidious Channel URL copied to clipboard') })
break
case 'openInvidiousChannel':
openExternalLink(this.invidiousChannelUrl)
break
case 'hideChannel':
this.hideChannel(this.channelName, this.channelId)
break
case 'unhideChannel':
this.unhideChannel(this.channelName, this.channelId)
break
}
},
2023-08-03 14:48:23 +02:00
parseVideoData: function () {
2020-02-16 19:30:00 +01:00
this.id = this.data.videoId
2023-08-03 14:48:23 +02:00
this.title = this.data.title
2020-02-16 19:30:00 +01:00
// this.thumbnail = this.data.videoThumbnails[4].url
this.channelName = this.data.author ?? null
this.channelId = this.data.authorId ?? null
if ((this.data.lengthSeconds === '' || this.data.lengthSeconds === '0:00') && this.historyEntryExists) {
this.lengthSeconds = this.historyEntry.lengthSeconds
this.duration = formatDurationAsTimestamp(this.historyEntry.lengthSeconds)
} else {
this.lengthSeconds = this.data.lengthSeconds
this.duration = formatDurationAsTimestamp(this.data.lengthSeconds)
}
2020-02-16 19:30:00 +01:00
this.description = this.data.description
this.isLive = this.data.liveNow || this.data.lengthSeconds === 'undefined'
2020-10-09 03:53:34 +02:00
this.isUpcoming = this.data.isUpcoming || this.data.premiere
this.isPremium = this.data.premium || false
this.viewCount = this.data.viewCount
2020-02-16 19:30:00 +01:00
if (typeof this.data.premiereDate !== 'undefined') {
let premiereDate = this.data.premiereDate
// premiereDate will be a string when the subscriptions are restored from the cache
if (typeof premiereDate === 'string') {
premiereDate = new Date(premiereDate)
}
this.uploadedTime = premiereDate.toLocaleString([this.currentLocale, 'en'])
this.published = premiereDate.getTime()
} else if (typeof (this.data.premiereTimestamp) !== 'undefined') {
this.uploadedTime = new Date(this.data.premiereTimestamp * 1000).toLocaleString([this.currentLocale, 'en'])
this.published = this.data.premiereTimestamp * 1000
} else if (typeof this.data.published === 'number' && !this.isLive) {
this.published = this.data.published
2020-10-09 03:53:34 +02:00
if (this.inHistory) {
this.uploadedTime = new Date(this.data.published).toLocaleDateString([this.currentLocale, 'en'])
} else {
// Use 30 days per month, just like calculatePublishedDate
this.uploadedTime = getRelativeTimeFromDate(new Date(this.data.published), false)
}
2020-02-16 19:30:00 +01:00
}
if (this.hideVideoViews) {
this.hideViews = true
} else if (typeof (this.data.viewCount) !== 'undefined' && this.data.viewCount !== null) {
this.parsedViewCount = formatNumber(this.data.viewCount)
2020-02-16 19:30:00 +01:00
} else if (typeof (this.data.viewCountText) !== 'undefined') {
this.parsedViewCount = this.data.viewCountText.replace(' views', '')
2020-02-16 19:30:00 +01:00
} else {
this.hideViews = true
}
},
checkIfWatched: function () {
if (this.historyEntryExists) {
const historyEntry = this.historyEntry
if (this.saveWatchedProgress) {
// For UX consistency, no progress reading if writing disabled
this.watchProgress = historyEntry.watchProgress
}
} else {
this.watchProgress = 0
}
},
markAsWatched: function () {
const videoData = {
videoId: this.id,
title: this.title,
author: this.channelName,
authorId: this.channelId,
published: this.published,
description: this.description,
viewCount: this.viewCount,
lengthSeconds: this.data.lengthSeconds,
watchProgress: 0,
timeWatched: new Date().getTime(),
isLive: false,
type: 'video'
}
this.updateHistory(videoData)
2022-10-14 07:59:49 +02:00
showToast(this.$t('Video.Video has been marked as watched'))
},
removeFromWatched: function () {
this.removeFromHistory(this.id)
2022-10-14 07:59:49 +02:00
showToast(this.$t('Video.Video has been removed from your history'))
this.watchProgress = 0
},
(Multiple) Local Playlist (instead of saving video in one hidden list) (#4234) * ! Fix add/removing videos from favourite list * ! Fix playlist type not passed into video list item component * ! Fix playlist data loading issue on new windows * ! Fix user playlist data parsing * * Ensure playlist view rerender on video additonal removal for displayed playlist * ! Fix icons & moving videos up/down in user playlist * * Don't show move up/down buttons when cannot be done * * Make user playlist view filtering function now works for filtering playlists * ! Fix style of prompt from any button within playlist-info component * $ Refactor a function to use early return style * * Disallow empty playlist name when saving in playlist edit mode * * Update add video to playlist prompt to have simple filtering like user playlist view * * Update playlist view to only show video reorder/remove buttons in edit mode With notice message * ! Fix playlist view for remote playlist unnecessary reload on save * ! Fix add to playlist prompt behaviour when some playlists are hidden due to filtering * $ Remove unused watch function arguments * * Update user playlist view create new playlist button position * * Update playlist view to add transitions to video reorder/removal * * Allow playlist with different case to be created * * Update visibility of user playlist related action components according to hide playlist settings Only those visible on video, remote playlist are updated * * Update video items to only show add to playlist buttons on hover * - Remove add to favorites button from video list item component * * Update watch-video-info component to add "add to playlist" button * * Update watch-video-info component to remove "add to favourite" button * * Ensure video thumbnail image displayed in 16/9 aspect ratio Mainly due to YT missing video thumbnail image got different aspect ratio 4/3 * * Update new buttons theme * * Put edit playlist button before copy button * * Move "remove video from playlist" button to most right * * Make video reorder & remove button visible on hover in user playlist view, regardless of "edit mode" * ! Fix video count parsing for user playlist * * Update user playlist to allow duplicate video entries (per video ID) * * Remove extra attributes assignment to video object except `timeAdded` Unintended change * * Update copy playlist button to like adding multiple videos to playlists * * Update copy playlist prompt to prefill title if create new playlist prompt shown * * Ensure all playlists have `playlistName` * $- Remove unused playlist property `removeOnWatched` * * Update read all playlist code to ensure existing "default" playlist properties (_id, protected) have same values as those in default Also fix issue discovered during testing * *- Remove unnecessary code line * * Update playlists from default playlists to be deletable * ! Fix duplicate `timeAdded` value for videos copied from user playlist * ! Fix playlist import (tested with db file exported from this branch) * * Update grid view to only display playlist title up to 255 chars Still can see full title in single playlist view * * Update add video to playlist prompt to only display playlist title up to 255 chars * * Update text of new playlist button to be same as new profile button * * Ignore many extra keys from playlist objectrs Also make data import check for object keys against required keys not key counts * * Disallow playlist import from changing internal playlist ID of existing playlists Existing playlists are matched by playlist name, not by internal playlist ID * * Ensure playlist name & description trimmed when saved * * Add missing change for importing playlist to ignore `protected` * $ Refactor code for "video object has all require keys" * ! Fix style of prompt from any button within playlist-info component again z-index war * * Update some empty message & button text * * Ensure playlist item action buttons are hidden during animations * ! Fix other prompt z-index * * Update `showAddToPlaylistPromptForManyVideos` to throw error when required keys missing from passed in video data * *- Remove unused video property `paid` from playlist related code * *- Remove unused video property `type` from playlist related code * ! Fix duplicate playlist displayed on playlist conversion * *- Remove unused video property `published` from playlist related code * * Don't require & generate property `timeAdded` when display a prompt * *- Remove unused video property `isLive` from playlist related code * ! Fix text * ! Revert code change for debugging only * ! Fix CSS for "Ensure playlist item action buttons are hidden during animations" * * Update add playlist button to be shown for live videos * + Add clear all playlists button * * Update add video to playlist prompt to swap "save" & "create playlist" button * ! Fix playlist view won't load after default playlist added due to lack of playlist * * Show toast message when no playlist selected after pressing save button * * Update add video to playlist prompt to show latest updated playlist first Easier for copying playlist with new playlist(s) * ! Fix watch page when visited via history after viewing the video from a deleted user playlist * ! Fix share buttons emitting user playlist IDs * * Add toast message after removing all playlists * ! Fix remote playlist video list rendering with duplicate videos * ! Fix missing key for some direct child elements under `transition-group` * ! Fix animation introduced to unnecessary elements * ! Prevent video link click during animation * ! Fix playlist creation/removal not reflected in other windows * * Ensure playlist visual selected state in sync with data in parent * * Update add video to playlist prompt to auto select playlists created after prompt shown once * * Update copy playlist button to show warning about not loaded videos when some not loaded yet For remote playlist Won't work for Invidious though (coz no way to load more) * * Update add video prompt to make it easier to access buttons via keyboard * * Make video reorder & remove button always visible in user playlist view * * Make plus button can be focused with tab Side effect is thumbnail link can be focused too (otherwise can't make plus button visible) * * Update add video to playlist prompt to focus on search input on shown * * Accept playlist optional property `createdAt` when importing * * Update playlist view to always show add to playlist button * $ Refactor `inUserPlaylist` Only playlist view would supply `playlistType` * * Improve accessibility for new prompts * * Make edit playlist inputs focused on entering edit mode * * Make most prompts focus back to last focused element on close * $ Use tabindex 0 for prompts Possible tabindex values unnecessary with elements programatically focused * * Update add video to playlist prompt to focus back to search input after new playlist created * * Update ft-list-video to focus back on thumbnail link element after add to playlist prompt closed * ! Fix unable to import duplicate video entries into an existing playlist * ! Fix create playlist prompt looks unclosed after playlist created when opened via add video to playlist prompt * ! Fix duplicate video entry ID when playlist with duplicate videoId entries copied to another playlist * ! Fix issues caused by last merge in e291cc8b41b2273a0d77c9f35ea760f0e0f7ac10 * $ Remove unused imports * ! Fix default playlists added when no playlist stored had no required attributes added on 1st run * ! Fix invalid prop type warning * * Use v-if instead of v-show * $ Just assign bool value instead of if-else * + Update playlists view to add sorting option * $- Remove unnecessary property assignments * ! Fix issues caused by "Remove unnecessary property assignments" * ! Fix issues caused by "Remove unnecessary property assignments" * * Ensure sort by time also fallbacks to playlist name sorting * ! Fix add/remove video does not update playlist last created time * ! Fix multi window playlist sync * * Show filtering input & sorting element when no. of playlist > 1 * * Update upcoming video to allow saving in playlist * ! Fix unable to visit previous video when playing first video in a playlist * * Update sorting options labels * ! Fix add to play prompt max width * ! Fix user playlist view incorrectly sorted playlists by latest updated first when filtered * * Update add to playlist prompt to add sort options * $ Remove unused classname * ! Ensure new playlist button focused after add to playlist prompt closed while thumbnail link unselectable * * Add playlists sort order for last played at, update it on play * ! Fix bug introduced by last merge * ! Fix thumbnail not respecting backend preference * ! Fix empty playlist thumbnail in single playlist view * * Make adding large no. of videos faster * $ Remove unused mapActions entries * $ Remove unused and unusable playlist code for inserting video IDs into a playlist * * Update single playlist view to only show `Remove watched videos` btn when there is any video * ! Fix prompt style issue caused by old branch changes * ! Fix removing video from local playlist remove all entries with same video ID * ! Fix adding video does not have uniqueID & timeAdded set Caused by previous add many video performance fix * ! Fix navigation in user playlist between entries of same video * * Reflect playlist updates on watch page playlist panel * $- Remove outdated incorrect prompt style fix * ! Fix add video to playlist prompt too high when there are too many playlists * ! Fix watch page play next/prev video in local playlist * ! Fix error in online playlist playing * * Keep partial playlist backward compatibility by restoring `type` in persisted playlist videos * ! Fix grid item for playlist to hide external player button for local playlist * * Make history rememeber uniqueId (local playlist video entry) when playing video with local playlist * ! Fix grid item for video in user playlist to hide external player button * ! Fix grid item for video in history with user playlist to hide external player button * ! Fix grid item for video in watch page playlist component with user playlist to hide external player button * * Update watch page to clear `uniqueID` from query when not playing local playlist * ! Fix watch page about user playlist detection on new window * * Reflect playlist updates on watch page playlist panel, even for currently playing video * ! Allow video with local playlist to be played in external player, but without playlist Also add missing fix for WatchVideoInfo * ! Fix external player handling for video in local playlist * ! Fix ft-video having different URLs in links * yarn run lint-style-fix * $ Rename uniqueId to playlistItemId * * Ensure local playlist ID won't conflict with remote playlist ID * - Remove import video while creating playlist related code * * Make text translatable * * Make sort option text translatable * ! Fix reverse condition * $ Just use ?. * Code review changes * Spaces * beforeDestroy * Remove unused methods * Remove infoData * filter > find * avoid importing `crypto` from NodeJS * Compress CSS ruleset * $ Remove useless prefix from key * Use template for element with v-if only * Make playlist selector look more selectable (cursor: pointer) * Translate toast messages and fix remove watched videos from playlist * ! Fix translation * - Remove unused methods * $ Remove workaround for issue which cannot be reproduced anymore * $ Remove remaining useless code following last commit removing workaround * you have no playlist > you have no playlists * CSS use var --horizontal-directionality-coefficient * * Update danger buttons color to primary (like clear search cache button) * ! Fix playlist icon container size * ! Fix sorting in add video to playlist prompt when filtered * $- Update ft-inputs to removed prop input-tabindex * ! Fix vue warning * + Add toggle to export playlist for older FT * * Update tooltip text * ! Fix vue warning * * Update text align * * Remove the extra surrounding spaces * Backtick > quote * - Remove useless prop * Fix tootip in lower width view * Update default filename * * Make tooltip auto-wrap * Revert "* Make tooltip auto-wrap" This reverts commit 7d932b936c7814349e50204a7979d2d0f5b0ea73. * Adjust tooltip styling * * Wait for local playlist loading only when playing with a user playlist * * Wait for local playlist loading only when playing with a user playlist requested Request user playlist can still be absent (but not requested for no playlist or remote playlist) * ! Fix single playlist view cover image having link when no video * ! Workaround create playlist prompt won't close when enter pressed in input box * ! Fix clear text button style * ! Fix copying playlist twice to the same user playlist produces same playlistItemId * ! Fix add video to playlist prompt input box style * ! Fix workaround for "create playlist prompt won't close when enter pressed in input box" * ! Ensure add video to playlist prompt updated when a playlist deleted (in another window) * ! Avoid saving and displaying unwanted video attributes into playlists * ! Fix playlist view for deleted user playlists * ! Fix copying playlist twice to the same user playlist produces same playlistItemId Real fix Cause of issue: updating property of input objects (which is shared across multiple run) * ! Fix search suggestions being blocked by playlist info component in single playlist view * ! Fix warning when reversing playlist in watch view * ! Fix prompt in playlist view (playlistinfo component) not above sidebar * Remove CSS top comments absent in other CSS files * Remove not useful comment for CSS * Float with variable Co-authored-by: Jason <84899178+jasonhenriquez@users.noreply.github.com> * Revert "! Fix clear text button style" This reverts commit 44ed286848e3cdf4c52f29a867fe09964adffd78. * Missing change for Revert "! Fix clear text button style" * $ Remove unused style for ft-playlist-selector * Apply changes from review * * Use $tc for translation entries with different value according to count values * ! Fix playlist link in watch view --------- Co-authored-by: Jason Henriquez <jasonhenriquez@protonmail.com> Co-authored-by: Jason <84899178+jasonhenriquez@users.noreply.github.com>
2024-01-03 19:44:57 +01:00
togglePlaylistPrompt: function () {
const videoData = {
videoId: this.id,
title: this.title,
author: this.channelName,
authorId: this.channelId,
description: this.description,
viewCount: this.viewCount,
lengthSeconds: this.data.lengthSeconds,
}
(Multiple) Local Playlist (instead of saving video in one hidden list) (#4234) * ! Fix add/removing videos from favourite list * ! Fix playlist type not passed into video list item component * ! Fix playlist data loading issue on new windows * ! Fix user playlist data parsing * * Ensure playlist view rerender on video additonal removal for displayed playlist * ! Fix icons & moving videos up/down in user playlist * * Don't show move up/down buttons when cannot be done * * Make user playlist view filtering function now works for filtering playlists * ! Fix style of prompt from any button within playlist-info component * $ Refactor a function to use early return style * * Disallow empty playlist name when saving in playlist edit mode * * Update add video to playlist prompt to have simple filtering like user playlist view * * Update playlist view to only show video reorder/remove buttons in edit mode With notice message * ! Fix playlist view for remote playlist unnecessary reload on save * ! Fix add to playlist prompt behaviour when some playlists are hidden due to filtering * $ Remove unused watch function arguments * * Update user playlist view create new playlist button position * * Update playlist view to add transitions to video reorder/removal * * Allow playlist with different case to be created * * Update visibility of user playlist related action components according to hide playlist settings Only those visible on video, remote playlist are updated * * Update video items to only show add to playlist buttons on hover * - Remove add to favorites button from video list item component * * Update watch-video-info component to add "add to playlist" button * * Update watch-video-info component to remove "add to favourite" button * * Ensure video thumbnail image displayed in 16/9 aspect ratio Mainly due to YT missing video thumbnail image got different aspect ratio 4/3 * * Update new buttons theme * * Put edit playlist button before copy button * * Move "remove video from playlist" button to most right * * Make video reorder & remove button visible on hover in user playlist view, regardless of "edit mode" * ! Fix video count parsing for user playlist * * Update user playlist to allow duplicate video entries (per video ID) * * Remove extra attributes assignment to video object except `timeAdded` Unintended change * * Update copy playlist button to like adding multiple videos to playlists * * Update copy playlist prompt to prefill title if create new playlist prompt shown * * Ensure all playlists have `playlistName` * $- Remove unused playlist property `removeOnWatched` * * Update read all playlist code to ensure existing "default" playlist properties (_id, protected) have same values as those in default Also fix issue discovered during testing * *- Remove unnecessary code line * * Update playlists from default playlists to be deletable * ! Fix duplicate `timeAdded` value for videos copied from user playlist * ! Fix playlist import (tested with db file exported from this branch) * * Update grid view to only display playlist title up to 255 chars Still can see full title in single playlist view * * Update add video to playlist prompt to only display playlist title up to 255 chars * * Update text of new playlist button to be same as new profile button * * Ignore many extra keys from playlist objectrs Also make data import check for object keys against required keys not key counts * * Disallow playlist import from changing internal playlist ID of existing playlists Existing playlists are matched by playlist name, not by internal playlist ID * * Ensure playlist name & description trimmed when saved * * Add missing change for importing playlist to ignore `protected` * $ Refactor code for "video object has all require keys" * ! Fix style of prompt from any button within playlist-info component again z-index war * * Update some empty message & button text * * Ensure playlist item action buttons are hidden during animations * ! Fix other prompt z-index * * Update `showAddToPlaylistPromptForManyVideos` to throw error when required keys missing from passed in video data * *- Remove unused video property `paid` from playlist related code * *- Remove unused video property `type` from playlist related code * ! Fix duplicate playlist displayed on playlist conversion * *- Remove unused video property `published` from playlist related code * * Don't require & generate property `timeAdded` when display a prompt * *- Remove unused video property `isLive` from playlist related code * ! Fix text * ! Revert code change for debugging only * ! Fix CSS for "Ensure playlist item action buttons are hidden during animations" * * Update add playlist button to be shown for live videos * + Add clear all playlists button * * Update add video to playlist prompt to swap "save" & "create playlist" button * ! Fix playlist view won't load after default playlist added due to lack of playlist * * Show toast message when no playlist selected after pressing save button * * Update add video to playlist prompt to show latest updated playlist first Easier for copying playlist with new playlist(s) * ! Fix watch page when visited via history after viewing the video from a deleted user playlist * ! Fix share buttons emitting user playlist IDs * * Add toast message after removing all playlists * ! Fix remote playlist video list rendering with duplicate videos * ! Fix missing key for some direct child elements under `transition-group` * ! Fix animation introduced to unnecessary elements * ! Prevent video link click during animation * ! Fix playlist creation/removal not reflected in other windows * * Ensure playlist visual selected state in sync with data in parent * * Update add video to playlist prompt to auto select playlists created after prompt shown once * * Update copy playlist button to show warning about not loaded videos when some not loaded yet For remote playlist Won't work for Invidious though (coz no way to load more) * * Update add video prompt to make it easier to access buttons via keyboard * * Make video reorder & remove button always visible in user playlist view * * Make plus button can be focused with tab Side effect is thumbnail link can be focused too (otherwise can't make plus button visible) * * Update add video to playlist prompt to focus on search input on shown * * Accept playlist optional property `createdAt` when importing * * Update playlist view to always show add to playlist button * $ Refactor `inUserPlaylist` Only playlist view would supply `playlistType` * * Improve accessibility for new prompts * * Make edit playlist inputs focused on entering edit mode * * Make most prompts focus back to last focused element on close * $ Use tabindex 0 for prompts Possible tabindex values unnecessary with elements programatically focused * * Update add video to playlist prompt to focus back to search input after new playlist created * * Update ft-list-video to focus back on thumbnail link element after add to playlist prompt closed * ! Fix unable to import duplicate video entries into an existing playlist * ! Fix create playlist prompt looks unclosed after playlist created when opened via add video to playlist prompt * ! Fix duplicate video entry ID when playlist with duplicate videoId entries copied to another playlist * ! Fix issues caused by last merge in e291cc8b41b2273a0d77c9f35ea760f0e0f7ac10 * $ Remove unused imports * ! Fix default playlists added when no playlist stored had no required attributes added on 1st run * ! Fix invalid prop type warning * * Use v-if instead of v-show * $ Just assign bool value instead of if-else * + Update playlists view to add sorting option * $- Remove unnecessary property assignments * ! Fix issues caused by "Remove unnecessary property assignments" * ! Fix issues caused by "Remove unnecessary property assignments" * * Ensure sort by time also fallbacks to playlist name sorting * ! Fix add/remove video does not update playlist last created time * ! Fix multi window playlist sync * * Show filtering input & sorting element when no. of playlist > 1 * * Update upcoming video to allow saving in playlist * ! Fix unable to visit previous video when playing first video in a playlist * * Update sorting options labels * ! Fix add to play prompt max width * ! Fix user playlist view incorrectly sorted playlists by latest updated first when filtered * * Update add to playlist prompt to add sort options * $ Remove unused classname * ! Ensure new playlist button focused after add to playlist prompt closed while thumbnail link unselectable * * Add playlists sort order for last played at, update it on play * ! Fix bug introduced by last merge * ! Fix thumbnail not respecting backend preference * ! Fix empty playlist thumbnail in single playlist view * * Make adding large no. of videos faster * $ Remove unused mapActions entries * $ Remove unused and unusable playlist code for inserting video IDs into a playlist * * Update single playlist view to only show `Remove watched videos` btn when there is any video * ! Fix prompt style issue caused by old branch changes * ! Fix removing video from local playlist remove all entries with same video ID * ! Fix adding video does not have uniqueID & timeAdded set Caused by previous add many video performance fix * ! Fix navigation in user playlist between entries of same video * * Reflect playlist updates on watch page playlist panel * $- Remove outdated incorrect prompt style fix * ! Fix add video to playlist prompt too high when there are too many playlists * ! Fix watch page play next/prev video in local playlist * ! Fix error in online playlist playing * * Keep partial playlist backward compatibility by restoring `type` in persisted playlist videos * ! Fix grid item for playlist to hide external player button for local playlist * * Make history rememeber uniqueId (local playlist video entry) when playing video with local playlist * ! Fix grid item for video in user playlist to hide external player button * ! Fix grid item for video in history with user playlist to hide external player button * ! Fix grid item for video in watch page playlist component with user playlist to hide external player button * * Update watch page to clear `uniqueID` from query when not playing local playlist * ! Fix watch page about user playlist detection on new window * * Reflect playlist updates on watch page playlist panel, even for currently playing video * ! Allow video with local playlist to be played in external player, but without playlist Also add missing fix for WatchVideoInfo * ! Fix external player handling for video in local playlist * ! Fix ft-video having different URLs in links * yarn run lint-style-fix * $ Rename uniqueId to playlistItemId * * Ensure local playlist ID won't conflict with remote playlist ID * - Remove import video while creating playlist related code * * Make text translatable * * Make sort option text translatable * ! Fix reverse condition * $ Just use ?. * Code review changes * Spaces * beforeDestroy * Remove unused methods * Remove infoData * filter > find * avoid importing `crypto` from NodeJS * Compress CSS ruleset * $ Remove useless prefix from key * Use template for element with v-if only * Make playlist selector look more selectable (cursor: pointer) * Translate toast messages and fix remove watched videos from playlist * ! Fix translation * - Remove unused methods * $ Remove workaround for issue which cannot be reproduced anymore * $ Remove remaining useless code following last commit removing workaround * you have no playlist > you have no playlists * CSS use var --horizontal-directionality-coefficient * * Update danger buttons color to primary (like clear search cache button) * ! Fix playlist icon container size * ! Fix sorting in add video to playlist prompt when filtered * $- Update ft-inputs to removed prop input-tabindex * ! Fix vue warning * + Add toggle to export playlist for older FT * * Update tooltip text * ! Fix vue warning * * Update text align * * Remove the extra surrounding spaces * Backtick > quote * - Remove useless prop * Fix tootip in lower width view * Update default filename * * Make tooltip auto-wrap * Revert "* Make tooltip auto-wrap" This reverts commit 7d932b936c7814349e50204a7979d2d0f5b0ea73. * Adjust tooltip styling * * Wait for local playlist loading only when playing with a user playlist * * Wait for local playlist loading only when playing with a user playlist requested Request user playlist can still be absent (but not requested for no playlist or remote playlist) * ! Fix single playlist view cover image having link when no video * ! Workaround create playlist prompt won't close when enter pressed in input box * ! Fix clear text button style * ! Fix copying playlist twice to the same user playlist produces same playlistItemId * ! Fix add video to playlist prompt input box style * ! Fix workaround for "create playlist prompt won't close when enter pressed in input box" * ! Ensure add video to playlist prompt updated when a playlist deleted (in another window) * ! Avoid saving and displaying unwanted video attributes into playlists * ! Fix playlist view for deleted user playlists * ! Fix copying playlist twice to the same user playlist produces same playlistItemId Real fix Cause of issue: updating property of input objects (which is shared across multiple run) * ! Fix search suggestions being blocked by playlist info component in single playlist view * ! Fix warning when reversing playlist in watch view * ! Fix prompt in playlist view (playlistinfo component) not above sidebar * Remove CSS top comments absent in other CSS files * Remove not useful comment for CSS * Float with variable Co-authored-by: Jason <84899178+jasonhenriquez@users.noreply.github.com> * Revert "! Fix clear text button style" This reverts commit 44ed286848e3cdf4c52f29a867fe09964adffd78. * Missing change for Revert "! Fix clear text button style" * $ Remove unused style for ft-playlist-selector * Apply changes from review * * Use $tc for translation entries with different value according to count values * ! Fix playlist link in watch view --------- Co-authored-by: Jason Henriquez <jasonhenriquez@protonmail.com> Co-authored-by: Jason <84899178+jasonhenriquez@users.noreply.github.com>
2024-01-03 19:44:57 +01:00
this.showAddToPlaylistPromptForManyVideos({ videos: [videoData] })
(Multiple) Local Playlist (instead of saving video in one hidden list) (#4234) * ! Fix add/removing videos from favourite list * ! Fix playlist type not passed into video list item component * ! Fix playlist data loading issue on new windows * ! Fix user playlist data parsing * * Ensure playlist view rerender on video additonal removal for displayed playlist * ! Fix icons & moving videos up/down in user playlist * * Don't show move up/down buttons when cannot be done * * Make user playlist view filtering function now works for filtering playlists * ! Fix style of prompt from any button within playlist-info component * $ Refactor a function to use early return style * * Disallow empty playlist name when saving in playlist edit mode * * Update add video to playlist prompt to have simple filtering like user playlist view * * Update playlist view to only show video reorder/remove buttons in edit mode With notice message * ! Fix playlist view for remote playlist unnecessary reload on save * ! Fix add to playlist prompt behaviour when some playlists are hidden due to filtering * $ Remove unused watch function arguments * * Update user playlist view create new playlist button position * * Update playlist view to add transitions to video reorder/removal * * Allow playlist with different case to be created * * Update visibility of user playlist related action components according to hide playlist settings Only those visible on video, remote playlist are updated * * Update video items to only show add to playlist buttons on hover * - Remove add to favorites button from video list item component * * Update watch-video-info component to add "add to playlist" button * * Update watch-video-info component to remove "add to favourite" button * * Ensure video thumbnail image displayed in 16/9 aspect ratio Mainly due to YT missing video thumbnail image got different aspect ratio 4/3 * * Update new buttons theme * * Put edit playlist button before copy button * * Move "remove video from playlist" button to most right * * Make video reorder & remove button visible on hover in user playlist view, regardless of "edit mode" * ! Fix video count parsing for user playlist * * Update user playlist to allow duplicate video entries (per video ID) * * Remove extra attributes assignment to video object except `timeAdded` Unintended change * * Update copy playlist button to like adding multiple videos to playlists * * Update copy playlist prompt to prefill title if create new playlist prompt shown * * Ensure all playlists have `playlistName` * $- Remove unused playlist property `removeOnWatched` * * Update read all playlist code to ensure existing "default" playlist properties (_id, protected) have same values as those in default Also fix issue discovered during testing * *- Remove unnecessary code line * * Update playlists from default playlists to be deletable * ! Fix duplicate `timeAdded` value for videos copied from user playlist * ! Fix playlist import (tested with db file exported from this branch) * * Update grid view to only display playlist title up to 255 chars Still can see full title in single playlist view * * Update add video to playlist prompt to only display playlist title up to 255 chars * * Update text of new playlist button to be same as new profile button * * Ignore many extra keys from playlist objectrs Also make data import check for object keys against required keys not key counts * * Disallow playlist import from changing internal playlist ID of existing playlists Existing playlists are matched by playlist name, not by internal playlist ID * * Ensure playlist name & description trimmed when saved * * Add missing change for importing playlist to ignore `protected` * $ Refactor code for "video object has all require keys" * ! Fix style of prompt from any button within playlist-info component again z-index war * * Update some empty message & button text * * Ensure playlist item action buttons are hidden during animations * ! Fix other prompt z-index * * Update `showAddToPlaylistPromptForManyVideos` to throw error when required keys missing from passed in video data * *- Remove unused video property `paid` from playlist related code * *- Remove unused video property `type` from playlist related code * ! Fix duplicate playlist displayed on playlist conversion * *- Remove unused video property `published` from playlist related code * * Don't require & generate property `timeAdded` when display a prompt * *- Remove unused video property `isLive` from playlist related code * ! Fix text * ! Revert code change for debugging only * ! Fix CSS for "Ensure playlist item action buttons are hidden during animations" * * Update add playlist button to be shown for live videos * + Add clear all playlists button * * Update add video to playlist prompt to swap "save" & "create playlist" button * ! Fix playlist view won't load after default playlist added due to lack of playlist * * Show toast message when no playlist selected after pressing save button * * Update add video to playlist prompt to show latest updated playlist first Easier for copying playlist with new playlist(s) * ! Fix watch page when visited via history after viewing the video from a deleted user playlist * ! Fix share buttons emitting user playlist IDs * * Add toast message after removing all playlists * ! Fix remote playlist video list rendering with duplicate videos * ! Fix missing key for some direct child elements under `transition-group` * ! Fix animation introduced to unnecessary elements * ! Prevent video link click during animation * ! Fix playlist creation/removal not reflected in other windows * * Ensure playlist visual selected state in sync with data in parent * * Update add video to playlist prompt to auto select playlists created after prompt shown once * * Update copy playlist button to show warning about not loaded videos when some not loaded yet For remote playlist Won't work for Invidious though (coz no way to load more) * * Update add video prompt to make it easier to access buttons via keyboard * * Make video reorder & remove button always visible in user playlist view * * Make plus button can be focused with tab Side effect is thumbnail link can be focused too (otherwise can't make plus button visible) * * Update add video to playlist prompt to focus on search input on shown * * Accept playlist optional property `createdAt` when importing * * Update playlist view to always show add to playlist button * $ Refactor `inUserPlaylist` Only playlist view would supply `playlistType` * * Improve accessibility for new prompts * * Make edit playlist inputs focused on entering edit mode * * Make most prompts focus back to last focused element on close * $ Use tabindex 0 for prompts Possible tabindex values unnecessary with elements programatically focused * * Update add video to playlist prompt to focus back to search input after new playlist created * * Update ft-list-video to focus back on thumbnail link element after add to playlist prompt closed * ! Fix unable to import duplicate video entries into an existing playlist * ! Fix create playlist prompt looks unclosed after playlist created when opened via add video to playlist prompt * ! Fix duplicate video entry ID when playlist with duplicate videoId entries copied to another playlist * ! Fix issues caused by last merge in e291cc8b41b2273a0d77c9f35ea760f0e0f7ac10 * $ Remove unused imports * ! Fix default playlists added when no playlist stored had no required attributes added on 1st run * ! Fix invalid prop type warning * * Use v-if instead of v-show * $ Just assign bool value instead of if-else * + Update playlists view to add sorting option * $- Remove unnecessary property assignments * ! Fix issues caused by "Remove unnecessary property assignments" * ! Fix issues caused by "Remove unnecessary property assignments" * * Ensure sort by time also fallbacks to playlist name sorting * ! Fix add/remove video does not update playlist last created time * ! Fix multi window playlist sync * * Show filtering input & sorting element when no. of playlist > 1 * * Update upcoming video to allow saving in playlist * ! Fix unable to visit previous video when playing first video in a playlist * * Update sorting options labels * ! Fix add to play prompt max width * ! Fix user playlist view incorrectly sorted playlists by latest updated first when filtered * * Update add to playlist prompt to add sort options * $ Remove unused classname * ! Ensure new playlist button focused after add to playlist prompt closed while thumbnail link unselectable * * Add playlists sort order for last played at, update it on play * ! Fix bug introduced by last merge * ! Fix thumbnail not respecting backend preference * ! Fix empty playlist thumbnail in single playlist view * * Make adding large no. of videos faster * $ Remove unused mapActions entries * $ Remove unused and unusable playlist code for inserting video IDs into a playlist * * Update single playlist view to only show `Remove watched videos` btn when there is any video * ! Fix prompt style issue caused by old branch changes * ! Fix removing video from local playlist remove all entries with same video ID * ! Fix adding video does not have uniqueID & timeAdded set Caused by previous add many video performance fix * ! Fix navigation in user playlist between entries of same video * * Reflect playlist updates on watch page playlist panel * $- Remove outdated incorrect prompt style fix * ! Fix add video to playlist prompt too high when there are too many playlists * ! Fix watch page play next/prev video in local playlist * ! Fix error in online playlist playing * * Keep partial playlist backward compatibility by restoring `type` in persisted playlist videos * ! Fix grid item for playlist to hide external player button for local playlist * * Make history rememeber uniqueId (local playlist video entry) when playing video with local playlist * ! Fix grid item for video in user playlist to hide external player button * ! Fix grid item for video in history with user playlist to hide external player button * ! Fix grid item for video in watch page playlist component with user playlist to hide external player button * * Update watch page to clear `uniqueID` from query when not playing local playlist * ! Fix watch page about user playlist detection on new window * * Reflect playlist updates on watch page playlist panel, even for currently playing video * ! Allow video with local playlist to be played in external player, but without playlist Also add missing fix for WatchVideoInfo * ! Fix external player handling for video in local playlist * ! Fix ft-video having different URLs in links * yarn run lint-style-fix * $ Rename uniqueId to playlistItemId * * Ensure local playlist ID won't conflict with remote playlist ID * - Remove import video while creating playlist related code * * Make text translatable * * Make sort option text translatable * ! Fix reverse condition * $ Just use ?. * Code review changes * Spaces * beforeDestroy * Remove unused methods * Remove infoData * filter > find * avoid importing `crypto` from NodeJS * Compress CSS ruleset * $ Remove useless prefix from key * Use template for element with v-if only * Make playlist selector look more selectable (cursor: pointer) * Translate toast messages and fix remove watched videos from playlist * ! Fix translation * - Remove unused methods * $ Remove workaround for issue which cannot be reproduced anymore * $ Remove remaining useless code following last commit removing workaround * you have no playlist > you have no playlists * CSS use var --horizontal-directionality-coefficient * * Update danger buttons color to primary (like clear search cache button) * ! Fix playlist icon container size * ! Fix sorting in add video to playlist prompt when filtered * $- Update ft-inputs to removed prop input-tabindex * ! Fix vue warning * + Add toggle to export playlist for older FT * * Update tooltip text * ! Fix vue warning * * Update text align * * Remove the extra surrounding spaces * Backtick > quote * - Remove useless prop * Fix tootip in lower width view * Update default filename * * Make tooltip auto-wrap * Revert "* Make tooltip auto-wrap" This reverts commit 7d932b936c7814349e50204a7979d2d0f5b0ea73. * Adjust tooltip styling * * Wait for local playlist loading only when playing with a user playlist * * Wait for local playlist loading only when playing with a user playlist requested Request user playlist can still be absent (but not requested for no playlist or remote playlist) * ! Fix single playlist view cover image having link when no video * ! Workaround create playlist prompt won't close when enter pressed in input box * ! Fix clear text button style * ! Fix copying playlist twice to the same user playlist produces same playlistItemId * ! Fix add video to playlist prompt input box style * ! Fix workaround for "create playlist prompt won't close when enter pressed in input box" * ! Ensure add video to playlist prompt updated when a playlist deleted (in another window) * ! Avoid saving and displaying unwanted video attributes into playlists * ! Fix playlist view for deleted user playlists * ! Fix copying playlist twice to the same user playlist produces same playlistItemId Real fix Cause of issue: updating property of input objects (which is shared across multiple run) * ! Fix search suggestions being blocked by playlist info component in single playlist view * ! Fix warning when reversing playlist in watch view * ! Fix prompt in playlist view (playlistinfo component) not above sidebar * Remove CSS top comments absent in other CSS files * Remove not useful comment for CSS * Float with variable Co-authored-by: Jason <84899178+jasonhenriquez@users.noreply.github.com> * Revert "! Fix clear text button style" This reverts commit 44ed286848e3cdf4c52f29a867fe09964adffd78. * Missing change for Revert "! Fix clear text button style" * $ Remove unused style for ft-playlist-selector * Apply changes from review * * Use $tc for translation entries with different value according to count values * ! Fix playlist link in watch view --------- Co-authored-by: Jason Henriquez <jasonhenriquez@protonmail.com> Co-authored-by: Jason <84899178+jasonhenriquez@users.noreply.github.com>
2024-01-03 19:44:57 +01:00
// Focus when prompt closed
this.addToPlaylistPromptCloseCallback = () => {
// Run once only
this.addToPlaylistPromptCloseCallback = null
(Multiple) Local Playlist (instead of saving video in one hidden list) (#4234) * ! Fix add/removing videos from favourite list * ! Fix playlist type not passed into video list item component * ! Fix playlist data loading issue on new windows * ! Fix user playlist data parsing * * Ensure playlist view rerender on video additonal removal for displayed playlist * ! Fix icons & moving videos up/down in user playlist * * Don't show move up/down buttons when cannot be done * * Make user playlist view filtering function now works for filtering playlists * ! Fix style of prompt from any button within playlist-info component * $ Refactor a function to use early return style * * Disallow empty playlist name when saving in playlist edit mode * * Update add video to playlist prompt to have simple filtering like user playlist view * * Update playlist view to only show video reorder/remove buttons in edit mode With notice message * ! Fix playlist view for remote playlist unnecessary reload on save * ! Fix add to playlist prompt behaviour when some playlists are hidden due to filtering * $ Remove unused watch function arguments * * Update user playlist view create new playlist button position * * Update playlist view to add transitions to video reorder/removal * * Allow playlist with different case to be created * * Update visibility of user playlist related action components according to hide playlist settings Only those visible on video, remote playlist are updated * * Update video items to only show add to playlist buttons on hover * - Remove add to favorites button from video list item component * * Update watch-video-info component to add "add to playlist" button * * Update watch-video-info component to remove "add to favourite" button * * Ensure video thumbnail image displayed in 16/9 aspect ratio Mainly due to YT missing video thumbnail image got different aspect ratio 4/3 * * Update new buttons theme * * Put edit playlist button before copy button * * Move "remove video from playlist" button to most right * * Make video reorder & remove button visible on hover in user playlist view, regardless of "edit mode" * ! Fix video count parsing for user playlist * * Update user playlist to allow duplicate video entries (per video ID) * * Remove extra attributes assignment to video object except `timeAdded` Unintended change * * Update copy playlist button to like adding multiple videos to playlists * * Update copy playlist prompt to prefill title if create new playlist prompt shown * * Ensure all playlists have `playlistName` * $- Remove unused playlist property `removeOnWatched` * * Update read all playlist code to ensure existing "default" playlist properties (_id, protected) have same values as those in default Also fix issue discovered during testing * *- Remove unnecessary code line * * Update playlists from default playlists to be deletable * ! Fix duplicate `timeAdded` value for videos copied from user playlist * ! Fix playlist import (tested with db file exported from this branch) * * Update grid view to only display playlist title up to 255 chars Still can see full title in single playlist view * * Update add video to playlist prompt to only display playlist title up to 255 chars * * Update text of new playlist button to be same as new profile button * * Ignore many extra keys from playlist objectrs Also make data import check for object keys against required keys not key counts * * Disallow playlist import from changing internal playlist ID of existing playlists Existing playlists are matched by playlist name, not by internal playlist ID * * Ensure playlist name & description trimmed when saved * * Add missing change for importing playlist to ignore `protected` * $ Refactor code for "video object has all require keys" * ! Fix style of prompt from any button within playlist-info component again z-index war * * Update some empty message & button text * * Ensure playlist item action buttons are hidden during animations * ! Fix other prompt z-index * * Update `showAddToPlaylistPromptForManyVideos` to throw error when required keys missing from passed in video data * *- Remove unused video property `paid` from playlist related code * *- Remove unused video property `type` from playlist related code * ! Fix duplicate playlist displayed on playlist conversion * *- Remove unused video property `published` from playlist related code * * Don't require & generate property `timeAdded` when display a prompt * *- Remove unused video property `isLive` from playlist related code * ! Fix text * ! Revert code change for debugging only * ! Fix CSS for "Ensure playlist item action buttons are hidden during animations" * * Update add playlist button to be shown for live videos * + Add clear all playlists button * * Update add video to playlist prompt to swap "save" & "create playlist" button * ! Fix playlist view won't load after default playlist added due to lack of playlist * * Show toast message when no playlist selected after pressing save button * * Update add video to playlist prompt to show latest updated playlist first Easier for copying playlist with new playlist(s) * ! Fix watch page when visited via history after viewing the video from a deleted user playlist * ! Fix share buttons emitting user playlist IDs * * Add toast message after removing all playlists * ! Fix remote playlist video list rendering with duplicate videos * ! Fix missing key for some direct child elements under `transition-group` * ! Fix animation introduced to unnecessary elements * ! Prevent video link click during animation * ! Fix playlist creation/removal not reflected in other windows * * Ensure playlist visual selected state in sync with data in parent * * Update add video to playlist prompt to auto select playlists created after prompt shown once * * Update copy playlist button to show warning about not loaded videos when some not loaded yet For remote playlist Won't work for Invidious though (coz no way to load more) * * Update add video prompt to make it easier to access buttons via keyboard * * Make video reorder & remove button always visible in user playlist view * * Make plus button can be focused with tab Side effect is thumbnail link can be focused too (otherwise can't make plus button visible) * * Update add video to playlist prompt to focus on search input on shown * * Accept playlist optional property `createdAt` when importing * * Update playlist view to always show add to playlist button * $ Refactor `inUserPlaylist` Only playlist view would supply `playlistType` * * Improve accessibility for new prompts * * Make edit playlist inputs focused on entering edit mode * * Make most prompts focus back to last focused element on close * $ Use tabindex 0 for prompts Possible tabindex values unnecessary with elements programatically focused * * Update add video to playlist prompt to focus back to search input after new playlist created * * Update ft-list-video to focus back on thumbnail link element after add to playlist prompt closed * ! Fix unable to import duplicate video entries into an existing playlist * ! Fix create playlist prompt looks unclosed after playlist created when opened via add video to playlist prompt * ! Fix duplicate video entry ID when playlist with duplicate videoId entries copied to another playlist * ! Fix issues caused by last merge in e291cc8b41b2273a0d77c9f35ea760f0e0f7ac10 * $ Remove unused imports * ! Fix default playlists added when no playlist stored had no required attributes added on 1st run * ! Fix invalid prop type warning * * Use v-if instead of v-show * $ Just assign bool value instead of if-else * + Update playlists view to add sorting option * $- Remove unnecessary property assignments * ! Fix issues caused by "Remove unnecessary property assignments" * ! Fix issues caused by "Remove unnecessary property assignments" * * Ensure sort by time also fallbacks to playlist name sorting * ! Fix add/remove video does not update playlist last created time * ! Fix multi window playlist sync * * Show filtering input & sorting element when no. of playlist > 1 * * Update upcoming video to allow saving in playlist * ! Fix unable to visit previous video when playing first video in a playlist * * Update sorting options labels * ! Fix add to play prompt max width * ! Fix user playlist view incorrectly sorted playlists by latest updated first when filtered * * Update add to playlist prompt to add sort options * $ Remove unused classname * ! Ensure new playlist button focused after add to playlist prompt closed while thumbnail link unselectable * * Add playlists sort order for last played at, update it on play * ! Fix bug introduced by last merge * ! Fix thumbnail not respecting backend preference * ! Fix empty playlist thumbnail in single playlist view * * Make adding large no. of videos faster * $ Remove unused mapActions entries * $ Remove unused and unusable playlist code for inserting video IDs into a playlist * * Update single playlist view to only show `Remove watched videos` btn when there is any video * ! Fix prompt style issue caused by old branch changes * ! Fix removing video from local playlist remove all entries with same video ID * ! Fix adding video does not have uniqueID & timeAdded set Caused by previous add many video performance fix * ! Fix navigation in user playlist between entries of same video * * Reflect playlist updates on watch page playlist panel * $- Remove outdated incorrect prompt style fix * ! Fix add video to playlist prompt too high when there are too many playlists * ! Fix watch page play next/prev video in local playlist * ! Fix error in online playlist playing * * Keep partial playlist backward compatibility by restoring `type` in persisted playlist videos * ! Fix grid item for playlist to hide external player button for local playlist * * Make history rememeber uniqueId (local playlist video entry) when playing video with local playlist * ! Fix grid item for video in user playlist to hide external player button * ! Fix grid item for video in history with user playlist to hide external player button * ! Fix grid item for video in watch page playlist component with user playlist to hide external player button * * Update watch page to clear `uniqueID` from query when not playing local playlist * ! Fix watch page about user playlist detection on new window * * Reflect playlist updates on watch page playlist panel, even for currently playing video * ! Allow video with local playlist to be played in external player, but without playlist Also add missing fix for WatchVideoInfo * ! Fix external player handling for video in local playlist * ! Fix ft-video having different URLs in links * yarn run lint-style-fix * $ Rename uniqueId to playlistItemId * * Ensure local playlist ID won't conflict with remote playlist ID * - Remove import video while creating playlist related code * * Make text translatable * * Make sort option text translatable * ! Fix reverse condition * $ Just use ?. * Code review changes * Spaces * beforeDestroy * Remove unused methods * Remove infoData * filter > find * avoid importing `crypto` from NodeJS * Compress CSS ruleset * $ Remove useless prefix from key * Use template for element with v-if only * Make playlist selector look more selectable (cursor: pointer) * Translate toast messages and fix remove watched videos from playlist * ! Fix translation * - Remove unused methods * $ Remove workaround for issue which cannot be reproduced anymore * $ Remove remaining useless code following last commit removing workaround * you have no playlist > you have no playlists * CSS use var --horizontal-directionality-coefficient * * Update danger buttons color to primary (like clear search cache button) * ! Fix playlist icon container size * ! Fix sorting in add video to playlist prompt when filtered * $- Update ft-inputs to removed prop input-tabindex * ! Fix vue warning * + Add toggle to export playlist for older FT * * Update tooltip text * ! Fix vue warning * * Update text align * * Remove the extra surrounding spaces * Backtick > quote * - Remove useless prop * Fix tootip in lower width view * Update default filename * * Make tooltip auto-wrap * Revert "* Make tooltip auto-wrap" This reverts commit 7d932b936c7814349e50204a7979d2d0f5b0ea73. * Adjust tooltip styling * * Wait for local playlist loading only when playing with a user playlist * * Wait for local playlist loading only when playing with a user playlist requested Request user playlist can still be absent (but not requested for no playlist or remote playlist) * ! Fix single playlist view cover image having link when no video * ! Workaround create playlist prompt won't close when enter pressed in input box * ! Fix clear text button style * ! Fix copying playlist twice to the same user playlist produces same playlistItemId * ! Fix add video to playlist prompt input box style * ! Fix workaround for "create playlist prompt won't close when enter pressed in input box" * ! Ensure add video to playlist prompt updated when a playlist deleted (in another window) * ! Avoid saving and displaying unwanted video attributes into playlists * ! Fix playlist view for deleted user playlists * ! Fix copying playlist twice to the same user playlist produces same playlistItemId Real fix Cause of issue: updating property of input objects (which is shared across multiple run) * ! Fix search suggestions being blocked by playlist info component in single playlist view * ! Fix warning when reversing playlist in watch view * ! Fix prompt in playlist view (playlistinfo component) not above sidebar * Remove CSS top comments absent in other CSS files * Remove not useful comment for CSS * Float with variable Co-authored-by: Jason <84899178+jasonhenriquez@users.noreply.github.com> * Revert "! Fix clear text button style" This reverts commit 44ed286848e3cdf4c52f29a867fe09964adffd78. * Missing change for Revert "! Fix clear text button style" * $ Remove unused style for ft-playlist-selector * Apply changes from review * * Use $tc for translation entries with different value according to count values * ! Fix playlist link in watch view --------- Co-authored-by: Jason Henriquez <jasonhenriquez@protonmail.com> Co-authored-by: Jason <84899178+jasonhenriquez@users.noreply.github.com>
2024-01-03 19:44:57 +01:00
// `thumbnailLink` is a `router-link`
// `focus()` can only be called on the actual element
this.$refs.addToPlaylistIcon?.$el?.focus()
}
},
hideChannel: function(channelName, channelId) {
const hiddenChannels = JSON.parse(this.$store.getters.getChannelsHidden)
hiddenChannels.push(channelId)
this.updateChannelsHidden(JSON.stringify(hiddenChannels))
showToast(this.$t('Channel Hidden', { channel: channelName }))
},
unhideChannel: function(channelName, channelId) {
const hiddenChannels = JSON.parse(this.$store.getters.getChannelsHidden)
this.updateChannelsHidden(JSON.stringify(hiddenChannels.filter(c => c !== channelId)))
showToast(this.$t('Channel Unhidden', { channel: channelName }))
},
toggleQuickBookmarked() {
if (!this.isQuickBookmarkEnabled) {
// This should be prevented by UI
return
}
if (this.isInQuickBookmarkPlaylist) {
this.removeFromQuickBookmarkPlaylist()
} else {
this.addToQuickBookmarkPlaylist()
}
},
addToQuickBookmarkPlaylist() {
const videoData = {
videoId: this.id,
title: this.title,
author: this.channelName,
authorId: this.channelId,
description: this.description,
viewCount: this.viewCount,
lengthSeconds: this.data.lengthSeconds,
}
this.addVideos({
_id: this.quickBookmarkPlaylist._id,
videos: [videoData],
})
// Update playlist's `lastUpdatedAt`
this.updatePlaylist({ _id: this.quickBookmarkPlaylist._id })
// TODO: Maybe show playlist name
showToast(this.$t('Video.Video has been saved'))
},
removeFromQuickBookmarkPlaylist() {
this.removeVideo({
_id: this.quickBookmarkPlaylist._id,
// Remove all playlist items with same videoId
videoId: this.id,
})
// Update playlist's `lastUpdatedAt`
this.updatePlaylist({ _id: this.quickBookmarkPlaylist._id })
// TODO: Maybe show playlist name
showToast(this.$t('Video.Video has been removed from your saved list'))
},
moveVideoUp: function() {
this.$emit('move-video-up')
},
moveVideoDown: function() {
this.$emit('move-video-down')
},
removeFromPlaylist: function() {
this.$emit('remove-from-playlist')
},
...mapActions([
Add support for External Players (closes #418) (#1271) * feat: add support for opening videos/playlists in external players (like mpv) #418 Signed-off-by: Randshot <randshot@norealm.xyz> * feat: move external player settings into own section feat: add warnings for when the external player doesn't support the current action (e.g. reversing playlists) feat: add toggle in settings for ignoring unsupported action warnings Signed-off-by: Randshot <randshot@norealm.xyz> * improvement: do not append start offset argument when the watch progress is 0 Signed-off-by: Randshot <randshot@norealm.xyz> * fix: fix undefined showToast error when clicking on the external player playlist button Signed-off-by: Randshot <randshot@norealm.xyz> * feat: add icon button for external player to watch-video-info (below video player) component improvement: refactor the code for opening the external player into a separate function in utils.js Signed-off-by: Randshot <randshot@norealm.xyz> * feat: add support for ytdl protocol urls (supportsYtdlProtocol) chore: fix lint error Signed-off-by: Randshot <randshot@norealm.xyz> * feat: add support for passing default playback rate to external player improvement: add warning message for when the external player does not support starting playback at a given offset chore: rename reverse, shuffle, and loopPlaylist fields for consistency Signed-off-by: Randshot <randshot@norealm.xyz> * feat: add setting for custom external player command line arguments Signed-off-by: Randshot <randshot@norealm.xyz> * chore: fix lint error Signed-off-by: Randshot <randshot@norealm.xyz> * improvement(watch-video-info.js): change the default for playlistId back to null (consistent with other occurrences) improvement(utils.js/openInExternalPlayer): also check for empty playlistId string fix(watch-video-info.js): fix merge error Signed-off-by: Randshot <randshot@norealm.xyz> * improvement(components/ft-list-video): check whether watch history is turned on, before adding a video to it fix(store/utils): fix playlistReverse typo, causing `undefined` being set as a command line argument fix(store/utils): check for 'string' type, instead of `null` and `undefined` fix(views/Watch): fix getPlaylistIndex returning an incorrect index, when reverse was turned on chore(locales/en-US): fix thumbnail and suppress typo chore(locales/en_GB): fix thumbnail and suppress typo Signed-off-by: Randshot <randshot@norealm.xyz> * feat: pause player when opening video in external player Signed-off-by: Randshot <randshot@norealm.xyz> * feat(externalPlayer): refactor externalPlayerCmdArguments into a separate static file `static/external-player-map.json` chore(components/ft-list-video): fix lint error Signed-off-by: Randshot <randshot@norealm.xyz> * Revert "feat: pause player when opening video in external player" This reverts commit 28b4713334bf941be9e403abf517bb4b89beb04f. * feat: pause the app's player when opening video in external player * This commit addresses above requested changes. improvement(components/external-player-settings): move `externalPlayer` check to `ft-flex-box` improvement(components/external-player-settings): use `update*` methods, instead of `handle*` improvement(store/utils): move child_process invocation to `main/index.js` via IPC call to renderer improvement(store/utils): use `dispatch` for calling actions improvement(store/utils): get external player related settings directly in the action improvement(renderer/App): move `checkExternalPlayer` call down into `usingElectron` if statement fix(renderer/App): fix lint error improvement(components/ft-list-playlist): remove unnecessary payload fields fix(components/ft-list-playlist): fix typo in component name improvement(components/ft-list-video): remove unnecessary payload fields improvement(components/watch-video-info): remove unnecessary payload fields improvement(views/Settings): add `usingElectron` condition Signed-off-by: Randshot <randshot@norealm.xyz> * fix(store/utils): fix toast message error Signed-off-by: Randshot <randshot@norealm.xyz> * fix(store/utils): fix a few code mess-ups Co-authored-by: Svallinn <41585298+Svallinn@users.noreply.github.com>
2021-06-13 17:31:43 +02:00
'openInExternalPlayer',
'updateHistory',
'removeFromHistory',
(Multiple) Local Playlist (instead of saving video in one hidden list) (#4234) * ! Fix add/removing videos from favourite list * ! Fix playlist type not passed into video list item component * ! Fix playlist data loading issue on new windows * ! Fix user playlist data parsing * * Ensure playlist view rerender on video additonal removal for displayed playlist * ! Fix icons & moving videos up/down in user playlist * * Don't show move up/down buttons when cannot be done * * Make user playlist view filtering function now works for filtering playlists * ! Fix style of prompt from any button within playlist-info component * $ Refactor a function to use early return style * * Disallow empty playlist name when saving in playlist edit mode * * Update add video to playlist prompt to have simple filtering like user playlist view * * Update playlist view to only show video reorder/remove buttons in edit mode With notice message * ! Fix playlist view for remote playlist unnecessary reload on save * ! Fix add to playlist prompt behaviour when some playlists are hidden due to filtering * $ Remove unused watch function arguments * * Update user playlist view create new playlist button position * * Update playlist view to add transitions to video reorder/removal * * Allow playlist with different case to be created * * Update visibility of user playlist related action components according to hide playlist settings Only those visible on video, remote playlist are updated * * Update video items to only show add to playlist buttons on hover * - Remove add to favorites button from video list item component * * Update watch-video-info component to add "add to playlist" button * * Update watch-video-info component to remove "add to favourite" button * * Ensure video thumbnail image displayed in 16/9 aspect ratio Mainly due to YT missing video thumbnail image got different aspect ratio 4/3 * * Update new buttons theme * * Put edit playlist button before copy button * * Move "remove video from playlist" button to most right * * Make video reorder & remove button visible on hover in user playlist view, regardless of "edit mode" * ! Fix video count parsing for user playlist * * Update user playlist to allow duplicate video entries (per video ID) * * Remove extra attributes assignment to video object except `timeAdded` Unintended change * * Update copy playlist button to like adding multiple videos to playlists * * Update copy playlist prompt to prefill title if create new playlist prompt shown * * Ensure all playlists have `playlistName` * $- Remove unused playlist property `removeOnWatched` * * Update read all playlist code to ensure existing "default" playlist properties (_id, protected) have same values as those in default Also fix issue discovered during testing * *- Remove unnecessary code line * * Update playlists from default playlists to be deletable * ! Fix duplicate `timeAdded` value for videos copied from user playlist * ! Fix playlist import (tested with db file exported from this branch) * * Update grid view to only display playlist title up to 255 chars Still can see full title in single playlist view * * Update add video to playlist prompt to only display playlist title up to 255 chars * * Update text of new playlist button to be same as new profile button * * Ignore many extra keys from playlist objectrs Also make data import check for object keys against required keys not key counts * * Disallow playlist import from changing internal playlist ID of existing playlists Existing playlists are matched by playlist name, not by internal playlist ID * * Ensure playlist name & description trimmed when saved * * Add missing change for importing playlist to ignore `protected` * $ Refactor code for "video object has all require keys" * ! Fix style of prompt from any button within playlist-info component again z-index war * * Update some empty message & button text * * Ensure playlist item action buttons are hidden during animations * ! Fix other prompt z-index * * Update `showAddToPlaylistPromptForManyVideos` to throw error when required keys missing from passed in video data * *- Remove unused video property `paid` from playlist related code * *- Remove unused video property `type` from playlist related code * ! Fix duplicate playlist displayed on playlist conversion * *- Remove unused video property `published` from playlist related code * * Don't require & generate property `timeAdded` when display a prompt * *- Remove unused video property `isLive` from playlist related code * ! Fix text * ! Revert code change for debugging only * ! Fix CSS for "Ensure playlist item action buttons are hidden during animations" * * Update add playlist button to be shown for live videos * + Add clear all playlists button * * Update add video to playlist prompt to swap "save" & "create playlist" button * ! Fix playlist view won't load after default playlist added due to lack of playlist * * Show toast message when no playlist selected after pressing save button * * Update add video to playlist prompt to show latest updated playlist first Easier for copying playlist with new playlist(s) * ! Fix watch page when visited via history after viewing the video from a deleted user playlist * ! Fix share buttons emitting user playlist IDs * * Add toast message after removing all playlists * ! Fix remote playlist video list rendering with duplicate videos * ! Fix missing key for some direct child elements under `transition-group` * ! Fix animation introduced to unnecessary elements * ! Prevent video link click during animation * ! Fix playlist creation/removal not reflected in other windows * * Ensure playlist visual selected state in sync with data in parent * * Update add video to playlist prompt to auto select playlists created after prompt shown once * * Update copy playlist button to show warning about not loaded videos when some not loaded yet For remote playlist Won't work for Invidious though (coz no way to load more) * * Update add video prompt to make it easier to access buttons via keyboard * * Make video reorder & remove button always visible in user playlist view * * Make plus button can be focused with tab Side effect is thumbnail link can be focused too (otherwise can't make plus button visible) * * Update add video to playlist prompt to focus on search input on shown * * Accept playlist optional property `createdAt` when importing * * Update playlist view to always show add to playlist button * $ Refactor `inUserPlaylist` Only playlist view would supply `playlistType` * * Improve accessibility for new prompts * * Make edit playlist inputs focused on entering edit mode * * Make most prompts focus back to last focused element on close * $ Use tabindex 0 for prompts Possible tabindex values unnecessary with elements programatically focused * * Update add video to playlist prompt to focus back to search input after new playlist created * * Update ft-list-video to focus back on thumbnail link element after add to playlist prompt closed * ! Fix unable to import duplicate video entries into an existing playlist * ! Fix create playlist prompt looks unclosed after playlist created when opened via add video to playlist prompt * ! Fix duplicate video entry ID when playlist with duplicate videoId entries copied to another playlist * ! Fix issues caused by last merge in e291cc8b41b2273a0d77c9f35ea760f0e0f7ac10 * $ Remove unused imports * ! Fix default playlists added when no playlist stored had no required attributes added on 1st run * ! Fix invalid prop type warning * * Use v-if instead of v-show * $ Just assign bool value instead of if-else * + Update playlists view to add sorting option * $- Remove unnecessary property assignments * ! Fix issues caused by "Remove unnecessary property assignments" * ! Fix issues caused by "Remove unnecessary property assignments" * * Ensure sort by time also fallbacks to playlist name sorting * ! Fix add/remove video does not update playlist last created time * ! Fix multi window playlist sync * * Show filtering input & sorting element when no. of playlist > 1 * * Update upcoming video to allow saving in playlist * ! Fix unable to visit previous video when playing first video in a playlist * * Update sorting options labels * ! Fix add to play prompt max width * ! Fix user playlist view incorrectly sorted playlists by latest updated first when filtered * * Update add to playlist prompt to add sort options * $ Remove unused classname * ! Ensure new playlist button focused after add to playlist prompt closed while thumbnail link unselectable * * Add playlists sort order for last played at, update it on play * ! Fix bug introduced by last merge * ! Fix thumbnail not respecting backend preference * ! Fix empty playlist thumbnail in single playlist view * * Make adding large no. of videos faster * $ Remove unused mapActions entries * $ Remove unused and unusable playlist code for inserting video IDs into a playlist * * Update single playlist view to only show `Remove watched videos` btn when there is any video * ! Fix prompt style issue caused by old branch changes * ! Fix removing video from local playlist remove all entries with same video ID * ! Fix adding video does not have uniqueID & timeAdded set Caused by previous add many video performance fix * ! Fix navigation in user playlist between entries of same video * * Reflect playlist updates on watch page playlist panel * $- Remove outdated incorrect prompt style fix * ! Fix add video to playlist prompt too high when there are too many playlists * ! Fix watch page play next/prev video in local playlist * ! Fix error in online playlist playing * * Keep partial playlist backward compatibility by restoring `type` in persisted playlist videos * ! Fix grid item for playlist to hide external player button for local playlist * * Make history rememeber uniqueId (local playlist video entry) when playing video with local playlist * ! Fix grid item for video in user playlist to hide external player button * ! Fix grid item for video in history with user playlist to hide external player button * ! Fix grid item for video in watch page playlist component with user playlist to hide external player button * * Update watch page to clear `uniqueID` from query when not playing local playlist * ! Fix watch page about user playlist detection on new window * * Reflect playlist updates on watch page playlist panel, even for currently playing video * ! Allow video with local playlist to be played in external player, but without playlist Also add missing fix for WatchVideoInfo * ! Fix external player handling for video in local playlist * ! Fix ft-video having different URLs in links * yarn run lint-style-fix * $ Rename uniqueId to playlistItemId * * Ensure local playlist ID won't conflict with remote playlist ID * - Remove import video while creating playlist related code * * Make text translatable * * Make sort option text translatable * ! Fix reverse condition * $ Just use ?. * Code review changes * Spaces * beforeDestroy * Remove unused methods * Remove infoData * filter > find * avoid importing `crypto` from NodeJS * Compress CSS ruleset * $ Remove useless prefix from key * Use template for element with v-if only * Make playlist selector look more selectable (cursor: pointer) * Translate toast messages and fix remove watched videos from playlist * ! Fix translation * - Remove unused methods * $ Remove workaround for issue which cannot be reproduced anymore * $ Remove remaining useless code following last commit removing workaround * you have no playlist > you have no playlists * CSS use var --horizontal-directionality-coefficient * * Update danger buttons color to primary (like clear search cache button) * ! Fix playlist icon container size * ! Fix sorting in add video to playlist prompt when filtered * $- Update ft-inputs to removed prop input-tabindex * ! Fix vue warning * + Add toggle to export playlist for older FT * * Update tooltip text * ! Fix vue warning * * Update text align * * Remove the extra surrounding spaces * Backtick > quote * - Remove useless prop * Fix tootip in lower width view * Update default filename * * Make tooltip auto-wrap * Revert "* Make tooltip auto-wrap" This reverts commit 7d932b936c7814349e50204a7979d2d0f5b0ea73. * Adjust tooltip styling * * Wait for local playlist loading only when playing with a user playlist * * Wait for local playlist loading only when playing with a user playlist requested Request user playlist can still be absent (but not requested for no playlist or remote playlist) * ! Fix single playlist view cover image having link when no video * ! Workaround create playlist prompt won't close when enter pressed in input box * ! Fix clear text button style * ! Fix copying playlist twice to the same user playlist produces same playlistItemId * ! Fix add video to playlist prompt input box style * ! Fix workaround for "create playlist prompt won't close when enter pressed in input box" * ! Ensure add video to playlist prompt updated when a playlist deleted (in another window) * ! Avoid saving and displaying unwanted video attributes into playlists * ! Fix playlist view for deleted user playlists * ! Fix copying playlist twice to the same user playlist produces same playlistItemId Real fix Cause of issue: updating property of input objects (which is shared across multiple run) * ! Fix search suggestions being blocked by playlist info component in single playlist view * ! Fix warning when reversing playlist in watch view * ! Fix prompt in playlist view (playlistinfo component) not above sidebar * Remove CSS top comments absent in other CSS files * Remove not useful comment for CSS * Float with variable Co-authored-by: Jason <84899178+jasonhenriquez@users.noreply.github.com> * Revert "! Fix clear text button style" This reverts commit 44ed286848e3cdf4c52f29a867fe09964adffd78. * Missing change for Revert "! Fix clear text button style" * $ Remove unused style for ft-playlist-selector * Apply changes from review * * Use $tc for translation entries with different value according to count values * ! Fix playlist link in watch view --------- Co-authored-by: Jason Henriquez <jasonhenriquez@protonmail.com> Co-authored-by: Jason <84899178+jasonhenriquez@users.noreply.github.com>
2024-01-03 19:44:57 +01:00
'updateChannelsHidden',
'showAddToPlaylistPromptForManyVideos',
'addVideos',
'updatePlaylist',
'removeVideo',
])
2020-02-16 19:30:00 +01:00
}
})