* Added toggle component to settings
* Setting to toggle this feature is now functional. Video volume can now be changed by scrolling anywhere on the video, or just on the slider, depending on this setting
* Added translation lines for en_US and en_GB
* Changed setting line from 'Scroll Volume Over Video' to 'Scroll Volume Over Video Player'
* Changed 'mousewheel' to 'wheel' event, as 'mousewheel' is deprecated
* Ran lint check in settings.js
Co-authored-by: Alex Stewart <albinexotech@gmail.com>
* ! Fix app unable to load due to missing `getLocale` in `mapActions`
* $ Update a function's name with incorrect name casing
* Update "open youtube link" button to open with playlist when playing a video with an active playlist
The `remote` module is deprecated and `@electron/remote` is unnecessary,
since the `ipcMain` and `ipcRenderer` can replace their functionality,
providing better performance and better security.
All other dangerous calls (mainly pulling main process constructs into
the renderer process) have also been removed.
Closes: #1299
Previously, the app would notified the user (with a toast) of a
sponsor segment skip repeatedly if the segment lasted
until the end of a video.
This commit fixes that behavior so that it's displayed only once.
Closes: #1205
* Added "Follow System" option to
`Settings -> General Settings -> Locale Preference`
and set it to default
* Changed double quotes to single quotes
* Removed unnecessary comment
* Changed `app` accessing method
* Cleaned up if/else statements
* Checks similar locales as fallback
* Changed label to "System Language"
* Changed locale filtering logic to use the filter() method
The interval to play the next video in a playlist was dynamic and
wasn't applied to the normal autoplay timer.
This commit merges the logic of these two scenarios so that they both
utilize the user-defined interval.
* $ Extract function which extract details from a Youtube URL
* * Update top nav handling to use extract function to handle input text if it's Youtube URL
* - Remove no longer used function
This allows users to specify the timestamp of a video (in seconds)
- by inputting a link into the search bar
- by making use of the protocol link (freetube://), p.e in a browser
When pulling video information from Invidious, hashtag-related links present in the description need to be replaced with valid links.
In this case, a freetube:// link was deemed the most appropriate.
Fixes#932
* Delete FtProfileAllChannelsList component
* Replace FtProfileAllChannelsList component with new filtered variant
* Add new locale for profile filter label
* Add FtProfileFilterChannelsList vue component with ft-select addition
* Add FtProfileFilterChannelsList script with profile filtering support
* Add css modifications to new FtProfileFilterChannelsList component
* Correctly bind theatre mode options
Theatre mode is now bound to both "recommended videos" and "live chat"
distraction settings, rather than just "recommended videos".
The settings switch, the button, and the layout have all been updated
to reflect this.
Most likely closes: https://github.com/FreeTubeApp/FreeTube/issues/910
* Fix watch layout when no sidebar
If there's nothing to display in the sidebar according to the
distraction settings and live status, the watch page will adopt a
single column layout. If the sidebar still exists due to faulty logic,
it will be placed at the very bottom of the page.
Most likely closes: https://github.com/FreeTubeApp/FreeTube/issues/909
* Unlink default theatre mode switch
* Normalise theatre calculation, consider playlists
* Reorder and resize playback rate menu
Reorder playback rate from 3->0.25 to 0.25->3 and resize to include an additional visible playback rate (0.25->1.5)
* Add Keybind (D) to Toggle Picture-In-Picture Mode
* Revert "Reorder and resize playback rate menu"
This reverts commit dacf1e9aa54e6d9d1bfe6ab79b561fd10f2b9ca3.
* Added (s) keybind to toggle Full Window
* Add description for (S) key
* Fixed weird Git things during rebase
Git injected some weird text during the rebase and duplicated a commit.
Hopefully that's just my messing up the rebase and it won't happen in the future.
* add functionality in fl-video-player and styles in videoJS.css, with the aim of having a full window button in the video player
Signed-off-by: CristianMartin <c.knoxville8@gmail.com>
* fixed up interposition with full screen
Signed-off-by: CristianMartin <c.knoxville8@gmail.com>
* incorporation of styles for the full window button, and general refactor of the functional code of the button in the ft-video-player.js class
Signed-off-by: CristianMartin <c.knoxville8@gmail.com>
* Incorporation of the icons for the full window button in the path src/renderer/assets/img/, incorporation of the icons to the css and style refactor in the code of the functionality window for the complete button
Signed-off-by: CristianMartin <c.knoxville8@gmail.com>
* final bug fix with npm run lint-fix and test run
Signed-off-by: CristianMartin <c.knoxville8@gmail.com>
* Update ft-video-player.js
Code refactor according to the suggestions of change in the extraction, modification of the position of the buttons of fullscreen and fullwindow as suggested.
* lint error repair
* Update videoJS.css
incorporation of css styles to correctly center the icon of the new fullwindow button
* Added frame by frame advance functionality.
* Changed keybindings for frame by frame advancing.
* Fix comments.
* On Invidious videos using dash at high qualities the default is now skipping 1 frame at 60fps instead of 30fps. Avoided error on trying to read non-local dash manifest.
* On dash reading error, defaults to 60fps within determineMaxFramerate. maxFrameRate initialised in data object.
* Cleanup of framebyframe logic.
* Update player-settings.vue
Replaced the LATIN SMALL LETTER X with the correct MULTIPLICATION SIGN
* Update ft-slider.js
Added a SPACE character as separator between "value" and "extension".
* Update ft-slider.vue
Changed the "SPACE" and "HYPHEN" characters with the "COLON" character, in order to prevent values to look like they where negative.
* Update ft-search-filters.vue
- Removed CSS class "radioMargin" for "Time" and "Type". This class does not seem to be defined anywhere!
- Substituted CSS class "radioMargin" with "searchRadio" for "Duration", so the div aligns correctly.
* Update ft-slider.js
Removed SPACE character between "currentValue" and "valueExtension"
Added:
Comment links - Links in comments are now clikcable and displayed in
blue
Fixed:
Comment display - Comments should now display the whole text. They were
cut of due to an issue in the module, which is now fixed
* Fix video card info bar for live video
* Lowercase publication date on video card
* Revert "Lowercase publication date on video card"
Due to problems in certain languages
* PR ready distraction free feature
Signed-off-by: Taylor <tayloraviets@gmail.com>
* presumably fixed linter issues
Signed-off-by: Taylor <tayloraviets@gmail.com>
* addressed PR issues and hopefully made the linter happy
Signed-off-by: Taylor <tayloraviets@gmail.com>
* fixed more linter issues
Signed-off-by: Taylor <tayloraviets@gmail.com>
* fixed more linter issues again
Signed-off-by: Taylor <tayloraviets@gmail.com>
* fixed more linter issues again.
Signed-off-by: Taylor <tayloraviets@gmail.com>
* moved bad quote
Signed-off-by: Taylor <tayloraviets@gmail.com>
Added:
No more comments - new toast with new string that is displayed when no
more comments are available
Fixed:
Comment repeat infinitely - comments now stop to load when all are
displayed.
Added:
Comment sorting - The comments can now be sorted by newest or most
popular (default)
Fixed:
1) Sorting Button - Now displays in the selected sorting method after
changing it
2) Comment publishedText - Comments published x day(s) ago should now
display their publish text correctly (upstream mistake)
Speed up list rendering by wrapping list elements in a lazy container.
Only the first 16 elements are loaded at first. The rest is rendered
after it becomes visible.
Added:
Local Video Search Results - The results returned from ytdl are now
transformed into the same format as with the Invidious API, so that no
distinction for these is require
Removed
List-Video Parsers - The differentiation between Invidious and Local
video data in yt-video-list.js is removed because of the transformation
videos
Added:
1) Local API Publication Strings - When using the local API, the
correctly translated strings stating how much time since publication has
passed are displayed
2) Localization Files 2 - Added additional strings for upcoming videos
as well as the missing strings to the third translation marked as
missing
Fixed:
Live and Upcoming videos - Livestreams were not handled before but are
now correctly implemented. Upcoming videos have a dummy string until the
relevant data is provided by the scraper
Added:
1) video publication string - The code now creates a correctly
translated string for the info on how far back the publication was
2) Localization files - Added the required template string as well as
the unit for second and seconds to the yaml files to be able to utilize
them in 1)