Commit Graph

1493 Commits

Author SHA1 Message Date
PikachuEXE bf4f6e42b4
Make chapter section scroll to current chapter when scroll into view port when expanded (#4725)
* * Make chapter section scroll to current chapter when scroll into view port when expanded

* * Use existing element instead of new dummy element
2024-04-02 12:53:43 -04:00
PikachuEXE 4dea7746c5
Update icons for add to/remove from quick bookmark button (#4825)
* * Update icons for add to/remove from quick bookmark target button

* * Change quick bookmarked indicator to green

* * Stop importing star icon which is now unused
2024-04-01 21:54:19 -04:00
absidue f25753c164
Add support for sorting the shorts tab by oldest on the local API (#4832) 2024-04-01 21:54:02 -04:00
absidue 455216c6cd
Add support for CommentViews in video comments (#4806) 2024-04-02 09:30:41 +08:00
absidue 52e605d8cd
Add support for LockupViews on the channel podcasts tab (#4767) 2024-04-02 09:03:58 +08:00
absidue 5f2a998331
Fix v-observe-visibility error when playlist items are updated (#4774) 2024-03-26 21:36:34 -04:00
absidue b04e349b06
Fix extracting the subscriber count from channel PageHeader nodes (#4804) 2024-03-26 21:35:34 -04:00
absidue 598d970b93
Create empty subscriptions cache objects directly instead of cloning (#4814) 2024-03-27 08:37:19 +08:00
absidue b1244b7dab
Parse compact numbers without using floating point numbers to avoid accuracy issues (#4817) 2024-03-27 08:34:21 +08:00
absidue d8a3ab337d
Fix the left arrow key not working on the first button in prompts (#4816) 2024-03-27 08:32:21 +08:00
absidue b65b1a6be9
Move usingElectron from computed into data (#4810) 2024-03-26 20:27:57 -04:00
absidue 31c813ddfd
Stop setting node modules path now that we bundle the modules (#4809) 2024-03-26 20:27:35 -04:00
PikachuEXE 8fa8e1fd99
! Fix handling of video data without `published` (#4788) 2024-03-25 15:23:01 +00:00
absidue cac1d6be09
Keep the video options button visible when the dropdown is open (#4771) 2024-03-25 10:21:10 -04:00
absidue 4c47987bde
Undo context menu widget layering workaround now that the issue is fixed (#4768) 2024-03-19 08:47:47 +08:00
absidue 32080cc8e3
Hide ft-icon-button and ft-profile-selector dropdowns when the escape key is pressed (#4770) 2024-03-18 08:30:02 -04:00
absidue 29d6c87bed
Fix hardcoded FreeTube string on the watch page (#4772) 2024-03-18 08:20:42 -04:00
PikachuEXE 65a5b0c045
Add search playlists with matching videos function (#4537)
* * Update user playlists page to add search playlists with matching videos function

* * Update add videos to playlists prompt to add search playlists with matching videos function

* * Update UI & label text

* * Click on playlist link with search matching video enabled now also search for video when view switched

* * Only auto enable search video mode for playlists with video(s)

* * Make new toggle vertically align center

* * Make new toggle vertically align center
2024-03-14 17:16:15 -04:00
absidue 98aded9701
Fix handling of video published date in video lists (#4752)
* Fix handling of video published date in video lists

* Use same date format on the history page as before

* Switch to months at 30 days instead of 32 and correct thresholds

* Add support for formatting as weeks

* According to Invidious everything on the popular tab is a short???
2024-03-13 02:26:12 -04:00
Emma 551b51341c
Improve touch controls for dash quality selector (#4750)
* Improve touch input on dash quality selector

- Add `touchstart` event to quality button which toggles the `vjs-lock-showing` class used on other quality selectors
- Call `this.handleClick` from touchstart (fixes issue with `e.target` not being correct)

MarmadileManteater/FreeTubeCordova#239

* Hide the dash quality selector on `focusout`

* Use `classList.*` methods over manually editing the attributes

* De-duplicate code

* Add back line break

* Allow scroll on dash quality selector when screen is narrow

* Use flag to determine if user is scrolling or tapping

* hide the quality selector on select

(just like the other quality selectors do on mobile)
2024-03-10 18:00:42 -04:00
absidue 3c26450e43
Fix playlists database import and export not using the actual database format (#4664)
* Fix playlists database import and export not using the actual database format

* Support importing both the db format and the legacy array one
2024-03-07 10:51:04 -05:00
absidue 064170be22
Fix visible toast messages flickering when one disappears (#4749) 2024-03-07 14:16:53 +00:00
absidue 393f889d9b
Update channel names and thumbnails when refreshing subscriptions (#4688) 2024-03-07 13:49:54 +00:00
PikachuEXE 672803d30c
Add video search in user playlist feature (#4622)
* * Update single playlist view for user playlists to add search video function

* ! Fix load more button appears when searching & visible items under pagination limit

* * Show message when search returns no result

* * Make search button focused after existing search mode

* * Make search result show search result show original playlist item indexes

* * Make search button only appear with video count > 0
2024-03-06 15:27:01 -05:00
Emma 4a5e479bdf
Split view count and published date into two lines on small displays (#4736)
* Split view count and published date into two lines on small displays

* Add blank line

Co-authored-by: PikachuEXE <git@pikachuexe.net>

* Add blank line back

---------

Co-authored-by: PikachuEXE <git@pikachuexe.net>
2024-03-04 08:11:04 +00:00
PikachuEXE fcd7291beb
Fix URL copied via right click menu (#4690)
* ! Fix URL copied via right click menu

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

* * Make copy link entry in right click menu to only show for non user playlists
2024-03-03 21:28:26 +00:00
Emma 9c2c4a9316
Wrap ft-icon buttons below before they go fully vertical (#4735) 2024-03-03 09:16:28 +08:00
PikachuEXE 6472c0374f
* Make activating a chapter selector makes window scroll to top like clicking on timestamp links (#4722) 2024-03-02 13:59:04 -05:00
PikachuEXE c386841e78
Make video thumbnails have certain height before image loading starts to avoid layout shifts (#4723)
* * Make video thumbnails have certain height before image loading starts to avoid layout shifts

* * Use "fallback to natural aspect ratio" feature of `aspect-ratio`
2024-03-01 13:34:35 +00:00
absidue 4020139840
Update subscription cache when visiting a channel (#4667) 2024-03-01 13:27:28 +00:00
absidue 1bdeb5f67a
Fix fallback to Invidious for the podcasts channel tab (#4731) 2024-03-01 12:38:49 +00:00
PikachuEXE 0afc78314f
Update add video ot playlist prompt to show presence count when adding one video (#4561)
* $ Rename props for ft-playlist-selector

* * Update add video ot playlist prompt to show presence count when adding one video
2024-02-28 09:15:59 -05:00
absidue 81ce77598f
Prevent layout shifts when thumbnails load in the chapter selector (#4713) 2024-02-26 12:02:08 -05:00
absidue 259f7a6ef6
Support opening video timestamps in a new window (#4687)
* Support opening video timestamps in a new window

* Scroll to top when clicking on a timestamp
2024-02-26 09:17:13 +00:00
absidue 414003336d
Fix local API search erroring, because the default parameter values were not getting applied (#4704) 2024-02-22 21:42:37 +00:00
absidue a6cb20be40
Hide date and views separator on the watch page when views are hidden (#4697) 2024-02-21 17:13:37 +00:00
absidue 2f29084d4f
Remove unused isLoading from ft-community-post (#4684) 2024-02-19 11:02:32 +00:00
absidue 161633d1d9
Include swiper version in CSS file name, for cache busting (#4685) 2024-02-19 10:58:59 +00:00
absidue 7b74099b24
Fix local API erroring when the view count is missing on the channel shorts tab (#4689) 2024-02-19 09:35:13 +08:00
absidue 48e2f0c290
Change the default download behaviour to the better "Open in web browser" value (#4683) 2024-02-17 08:13:30 +00:00
ChunkyProgrammer 6cbe6b5e9d
Fix some translation issues (#4674)
* fix some locale issues

* change local API to Local API

* update translation keys to `Falling back to Local API`

* fix translation key for local api in js files
2024-02-16 22:20:22 +01:00
ChunkyProgrammer d15dd43d07
fix loading invidious instances from static file for electron builds (#4681) 2024-02-16 20:39:59 +00:00
ChunkyProgrammer fb724a67c5
Fix loading IV playlists (#4680) 2024-02-16 07:29:38 +01:00
Emma 821d5ca73e
Fix overflow issue with share playlist icon drop-down (#4677)
* Set share playlist dropdown position to `center` w/ media query

* Remove overflow-y as it causes the overflow issue

Originally, when this overflow-y was added, the share playlist dropdown went straight down, so there would no need for the content to be able to overflow in the y direction. (FreeTubeApp/FreeTube#2281)

Now, the dropdown swings out to the left by default, and even when it is centered, it still overflows the width of the container as an intentional part of the design.

* Remove unnecessary whitespace
2024-02-15 09:02:21 +01:00
absidue c15f28681d
Fix the Invidious DASH manifest generation (#4672) 2024-02-14 19:27:23 -05:00
Emma d335151d04
Hide channel sidebar label under `more` when setting is enabled (#4678) 2024-02-14 19:26:21 -05:00
Mitchel Paulin 82965211b7
Remove excessive punctuation as part of distraction settings (#4673)
* Remove excessive punctuation

* Update static/locales/en-US.yaml

Co-authored-by: PikachuEXE <git@pikachuexe.net>

* Remove pipe

---------

Co-authored-by: PikachuEXE <git@pikachuexe.net>
2024-02-13 22:34:31 +01:00
Emma 1a9a6b9d5e
Adjust margins and flow on Channel view (on narrow displays) (#4662)
* Adjust margins and media queries on Channel view

* Remove redundant CSS
2024-02-11 14:23:57 +00:00
absidue 30248d6bbc
Support YouTube using PageHeader on user channels not just auto-generated ones (#4543)
* Support YouTube using PageHeader on user channels not just auto-generated ones

* Bump YouTube.js to 9.0.2 as requested
2024-02-09 11:39:01 -05:00
Emma deb2f99125
Hang icon dropdowns to left on `watch-video-info` on mobile (#4660) 2024-02-09 16:50:16 +01:00
PikachuEXE bf83faa322
! Fix comment channel link display w/ local API (#4652) 2024-02-09 03:26:28 +00:00
absidue 01f9b7a4e0
Hide subscription refresh button when there are no subscriptions (#4631) 2024-02-05 09:50:51 +08:00
absidue e0942ea8d9
Remove existence checks and fallbacks for files that always exist (#4544) 2024-02-04 20:45:37 +00:00
JonahFoster 0663a29f39
Added a Nordic base theme (#4542)
* Added a Nordic base theme

* Added Nordic icon

* Added Nordic theme to switch

* Update src/renderer/themes.css

Co-authored-by: Jason <84899178+jasonhenriquez@users.noreply.github.com>

---------

Co-authored-by: Jason <84899178+jasonhenriquez@users.noreply.github.com>
2024-02-03 11:25:15 -05:00
Jason ad9cabd5e4
Make video info section more concise (#4338)
* Implement proposed formatting changes

* Increase font-size of video metrics to 14px

* More closely colocate title and channel to compensate for larger video metrics font size

* Update breakpoint for single column template to 1000px to minimize icon wrapping

* Fix like icon being on a different line from the text on smaller screen widths

* Update all Watch breakpoints to 1050px from 900px
2024-02-01 08:03:22 -05:00
absidue 351fdb951d
Playlist performance improvements (#4597)
* Implement pagination for user playlists on the Playlist page

* Fix the load more loading icon being displayed off-screen

* Caching user playlists is unnecessary as they are already in the store

* ft-list-video: Only render description element if there is a description

* Minor speed ups in the playlists store

* ft-list-video: Remove superfluous template around view count

* ft-list-video: Replace watched property with historyEntryExists computed property

* playlist-info: Fix copying partially loaded user playlists

* Fix the playlist number not getting lazy loaded

* Reduce nesting levels

Co-authored-by: PikachuEXE <git@pikachuexe.net>

---------

Co-authored-by: PikachuEXE <git@pikachuexe.net>
2024-02-01 07:08:47 -05:00
PikachuEXE 5a6d4d5038
! Fix playlist type not passed when playing next/prev item in a user playlist (#4623) 2024-01-31 17:16:29 +01:00
ChunkyProgrammer cec2d3647f
Properly localize playlist view and video counts (#4620) 2024-01-31 14:54:25 +00:00
absidue 50bf28f94e
Fix search bar handling of Invidious channel URLs (#4568) 2024-01-30 00:39:10 +00:00
absidue d0e33fbc7b
Local API: List related games in featured channels section (#4562) 2024-01-30 00:37:29 +00:00
absidue 205924c33b
Workaround community post slider dependency incorrectly calculating its size (#4598) 2024-01-30 00:32:49 +00:00
ChunkyProgrammer c983e02011
Add support for viewing movie trailers with local api (#4391)
* Add support for viewing movie trailers with local api

* add support for age restricted trailers

* remove unused changes

* always show trailer, regardless of video playability status

* Improve movie parsing logic

Co-authored-by: absidue <48293849+absidue@users.noreply.github.com>

* check for null instead of truthy

* Exclude unneeded properties

Co-authored-by: absidue <48293849+absidue@users.noreply.github.com>

---------

Co-authored-by: absidue <48293849+absidue@users.noreply.github.com>
2024-01-30 00:30:50 +00:00
dependabot[bot] 6d58410f39
Bump the eslint group with 4 updates (#4581)
* Bump the eslint group with 4 updates

Bumps the eslint group with 4 updates: [eslint-plugin-jsonc](https://github.com/ota-meshi/eslint-plugin-jsonc), [eslint-plugin-vuejs-accessibility](https://github.com/vue-a11y/eslint-plugin-vuejs-accessibility), [eslint-plugin-yml](https://github.com/ota-meshi/eslint-plugin-yml) and [vue-eslint-parser](https://github.com/vuejs/vue-eslint-parser).


Updates `eslint-plugin-jsonc` from 2.11.2 to 2.12.2
- [Release notes](https://github.com/ota-meshi/eslint-plugin-jsonc/releases)
- [Changelog](https://github.com/ota-meshi/eslint-plugin-jsonc/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ota-meshi/eslint-plugin-jsonc/compare/v2.11.2...v2.12.2)

Updates `eslint-plugin-vuejs-accessibility` from 2.2.0 to 2.2.1
- [Release notes](https://github.com/vue-a11y/eslint-plugin-vuejs-accessibility/releases)
- [Changelog](https://github.com/vue-a11y/eslint-plugin-vuejs-accessibility/blob/main/CHANGELOG.md)
- [Commits](https://github.com/vue-a11y/eslint-plugin-vuejs-accessibility/compare/v2.2.0...v2.2.1)

Updates `eslint-plugin-yml` from 1.11.0 to 1.12.2
- [Release notes](https://github.com/ota-meshi/eslint-plugin-yml/releases)
- [Changelog](https://github.com/ota-meshi/eslint-plugin-yml/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ota-meshi/eslint-plugin-yml/compare/v1.11.0...v1.12.2)

Updates `vue-eslint-parser` from 9.4.0 to 9.4.1
- [Release notes](https://github.com/vuejs/vue-eslint-parser/releases)
- [Commits](https://github.com/vuejs/vue-eslint-parser/compare/v9.4.0...v9.4.1)

---
updated-dependencies:
- dependency-name: eslint-plugin-jsonc
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: eslint
- dependency-name: eslint-plugin-vuejs-accessibility
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: eslint
- dependency-name: eslint-plugin-yml
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: eslint
- dependency-name: vue-eslint-parser
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: eslint
...

Signed-off-by: dependabot[bot] <support@github.com>

* v Revert eslint-plugin-vuejs-accessibility update

* ! Fix `progress` missing label

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: PikachuEXE <git@pikachuexe.net>
2024-01-29 18:01:12 +01:00
PikachuEXE e560a8fb60
Update places generating sharable YT video URLs to always return prefix https://youtu.be/ (#4547)
* * Update places generating sharable YT video URLs to always return prefix https://youtu.be/

* ! Fix short form URL
2024-01-25 08:37:35 -05:00
Jason f763b00066
Fix quick bookmark buttons appearing for remote playlists (#4592) 2024-01-23 06:36:03 +01:00
Jason 64e3f32f78
Video title filter / blacklist (#4202)
* Implement hiding of videos with user-inputted text

* Implement ft-input minInputLength

* Enable for playlists

* Enable feature on channel pages

The premise for this change is that users would not want to see that forbidden content anywhere, as opposed to hidden channels, where you're clearly on a channel page to see things from that channel.

* Fix 'Play Next Video' playing forbiddenTitle videos and hidden channel videos

* Fix issue of hidden recommended videos taking up vertical space

* Rename variables to better match non-video-specific function, and remove blocks from History and videos in playlists

* Fix to respect hideForbiddenTitles value

* Modify label

* Clarify restriction affecting original titles

* Add toast for entered input of length below min input length

* Add toast for element already exists

* Update to not clear if duplicate tag is entered for Hide Forbidden feature
2024-01-22 17:59:46 -05:00
ChunkyProgrammer 1becb8eaf2
Fix system locale setting logic (#4570) 2024-01-19 19:24:57 +01:00
ChunkyProgrammer 0f60880738
remove dearrow markers from titles (#4569) 2024-01-18 23:14:26 +00:00
PikachuEXE 32a2ad9479
Add feature to set a playlist as quick bookmark target (#4518)
* + Add feature to set a playlist as quick bookmark target

* Add back button to watch page

* focus behavior style update

* * Different button text when video saved

* ! Fix mutation function `removeVideos` (still unused)

* * Make default generated favorites playlist as default quick bookmark target

* ! Add fix for `deleteVideoIdsByPlaylistId`

* * Update button text

* * Update quick bookmark playlist first allow revert later

* * Update single playlist view to hide fav button when viewing the target playlist

* - Remove unused code
2024-01-17 22:52:42 -05:00
PikachuEXE 251abe4241
* Make top nav able to parse sharable video URL with playlist param (#4548) 2024-01-15 20:46:24 +00:00
ChunkyProgrammer ae7a2fa221
Add dearrow support for thumbnails (#4520)
* Add dearrow support for thumbnails

* add translations

* add missing tooltip

* make hidden thumbnails take a higher priority over dearrowed thumbnails

* Implement code suggestions

Co-authored-by: absidue <48293849+absidue@users.noreply.github.com>

---------

Co-authored-by: absidue <48293849+absidue@users.noreply.github.com>
2024-01-15 04:20:15 +00:00
sp1cyf0x d2f14b072a
Fix hardware acceleration flag for Linux (#4532)
* Fix hardware acceleration flags

* Update index.js

* Make flag only enabled on Linux

Co-authored-by: absidue <48293849+absidue@users.noreply.github.com>

---------

Co-authored-by: absidue <48293849+absidue@users.noreply.github.com>
2024-01-14 10:48:19 -05:00
trostboot 40ff63abbb
Add toggle to suppress sending additional args to external players (#4515)
* Add toggle to supress sending additional args to ext. players

* Reverse ignoreArgs conditional logic

* Disable custom arg input if args are disabled

* Keep custom arguments, rename option accordingly
2024-01-12 23:06:52 -05:00
PikachuEXE dfbb12c444
! Fix comment sort breakpoint (#4514) 2024-01-07 20:52:24 +01:00
PikachuEXE f25b537901
* Update playlist view to auto load next page for local API to workaround issue of useless continuation data (#4519) 2024-01-06 11:27:17 +01:00
Jason baa7b014eb
Fix caption sorting & label (#4513)
* Fix auto-translated captions not being ordered properly in non-English languages

* Fix locale showing as 'locale name' in captions list
2024-01-06 11:25:16 +01:00
PikachuEXE c40b4a69d5
(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 7d932b936c.

* 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 44ed286848.

* 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
pkrasicki ead8fc23a9
Fix style for the Select component (#4405)
* Fix style for the Select component

Fixes #1804

Fixes the width of dropdowns and changes their style a little bit

* Fix lint

* Fix comments partially obscuring the sort dropdown

* Move select tooltip
2024-01-03 09:11:10 +08:00
Jason bed4af1c46
Setting to turn on subtitles by default (#4450)
* Add back 'Turn on Subtitles by Default'

* Update variable name

* Fix double-selection issue when auto-generated & native tracks exist, & fix similar pre-existing bug

Also fixes pre-existing bug with pressing 'c' having the effect of multiple tracks (inaccurately) showing as selected.
2024-01-03 08:28:13 +08:00
efb4f5ff-1298-471a-8973-3d47447115dc 9a4637c2b2
Update player-settings.vue (#4511) 2024-01-02 15:10:09 -05:00
absidue b2e1ae0c70
Cleanup shorts duration parsing now that YouTube has removed it (#4509) 2024-01-02 18:08:59 +00:00
absidue bb83a9dea5
Fix the local API about tab for channels without a joined date (#4508) 2024-01-02 16:54:51 +00:00
Jason 57930d8439
Fix forward button being enabled after clicking on forward button (#4462) 2023-12-20 23:21:28 -05:00
absidue 6541695c41
Local API: Support extracting about information from YouTube's new about popup (#4370)
* Support extracting about information from YouTube's new about popup

* Update YouTube.js from 7.0.0 to 8.0.0
2023-12-20 22:27:49 -05:00
absidue 02ee4c8148
Only bundle the Swiper modules that we use (#4455) 2023-12-16 13:50:09 +00:00
Simon Epstein ca94bcef87
Hide playlists in channel search results if "hide channel playlist" preference selected. (#4454)
* Hide playlists in channel search results if "hide channel playlist"
preference selected.

* Apply filtering to invidious api response.

* Correct playlist filtering predicate for invidious API.

---------

Co-authored-by: Simon Epstein <simon.epstein@67bricks.com>
2023-12-16 00:35:17 +00:00
Jason 3c3a83e69d
Fix issue with subscribe button styling in specific views (#4451) 2023-12-15 22:35:22 +00:00
PikachuEXE b945cecb62
! Fix ft-input style (#4437) 2023-12-11 14:03:18 -05:00
absidue 446c6441d2
Work around context menus in the devtools being displayed behind the window (#4264) 2023-12-09 13:57:22 +00:00
Shroomy bc1757e009
Search input keyboard focus enhancements (#4282)
* Search input keyboard focus enhancements

Select text in search input when using Ctrl-L/Meta-L or Alt-D to focus
search input

Add new Slash key shortcut to focus input without selecting text

* Fix search input focus interfering with KDE clipboard sync

* Remove Slash shortcut for focusing search input

* Remove unused function
2023-12-09 12:49:13 +01:00
ChunkyProgrammer d6a6cc0349
use swiper.js instead of tinyslider (#4427) 2023-12-08 20:24:08 +01:00
absidue 695f1d7c89
Various small watch page changes (#4423) 2023-12-05 16:22:57 +08:00
Jason fc210aa663
Order watched recommended videos last (#4394)
* Implement change

* Update to use local variable to potentially improve performance in  non-first load case
2023-12-02 10:19:25 +01:00
ChunkyProgrammer a67541ed03
IV: check for 404 and 500 for subscriptions (#4410) 2023-12-01 17:00:11 +00:00
Jason 71addd2a47
Channel subscribe button in search results (#4376)
* Add subscribe button to channel search result

* Fix description logic not accounting for forceListType

* Fix video list item width issues on smaller viewport widths (esp. when in List mode)

* Expand link area for hashtag and channel list items

* Equalize thumbnail width of different element types (channel, playlist, hashtag, video) in list view

* Fix ft-list-playlist not actually respecting imposed appearance prop

* Add pointer-events: none to # of videos in playlist bar

* Adjust channel click area to be full width in grid view

* Adjust list item sizing for mobile devices

* Implement least-changes fix to subscribe button wrap, & fix channel icon resizing on smaller device sizes
2023-11-28 17:06:35 -05:00
Mitchel Paulin 1838f1e7df
Use F5 to refresh subscriptions (#4399)
* Use F5 to refresh subscriptions

* Add it in other spots as well
2023-11-28 00:26:06 +00:00
Mitchel Paulin 245fb122a5
Miscellaneous improvements to settings page styling (#4235)
* Miscellaneous improvements to settings page styling

* remove superfluous flex box

* Leave buttons as primary color

* PR suggestions
2023-11-28 08:14:32 +08:00
Jason c547c15fd4
Fix bug (#4392) 2023-11-26 20:36:25 -05:00
absidue cb883f254f
Cleanup SponsorBlock video id hashing (#4384) 2023-11-26 08:30:56 +08:00
Jason 6af85b3726
Show latest from channel (#4352)
* Implement 'show latest video from channel' feature

* Apply suggestions from code review

Co-authored-by: PikachuEXE <pikachuexe@gmail.com>

* Adjust ordering to maximize chance of content being presented

---------

Co-authored-by: PikachuEXE <pikachuexe@gmail.com>
2023-11-26 08:27:29 +08:00