This function made use of a switch statement that was hundred of
lines in height and a majority of cases had similar logic.
This commit generalizes the logic of the majority of the cases into
a condensed for loop, which additionally handles the few existing
oddball cases in an easy-to-understand manner.
The 'grabUserSettings' action calls the 'updateInvidiousInstance'
action whenever the database returns an empty value for this setting.
However, that scenario should never happen in the first place.
In addition, a default value is already provided directly in the state.
The settings' store module has had a lot of duplicated logic for
the majority of its getters, mutations and actions.
This commit serves to remedy that duplication substantially
by auto generating all getters, mutations and the majority
of actions, using a predictable pattern.
* * Update Youtube URL handling to recongnize playlist ID in URL
Only for format of `https://www.youtube.com/watch?v=vid&list=lid`
* ! Fix vue component prop declaration
A prop where the value can be undefined cannot be declared "required"
* 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>
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.
* $ 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
* 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>
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)