Commit graph

383 commits

Author SHA1 Message Date
saltycrys 75c6844b66 Improve storyboards
Instead of limiting the width of storyboards through CSS it is now done in the
VTT directly.
2020-12-21 17:02:36 +01:00
saltycrys eed78c960d Improve DASH quality preference
Besides `auto`, `best` and `worst` it is now possible to select a target height.
If the target height is not available the closest lower height is selected.
2020-12-19 18:37:41 +01:00
saltycrys eea7ca9b72 Add DASH quality preference
The options are `auto` (the current and default behavior), `best` and `worst`.

The UI is only updated once playback starts.
2020-12-19 18:37:30 +01:00
saltycrys fc67dd18d0 Increase color contrast of light theme links 2020-12-14 14:20:31 +01:00
saltycrys b3e9b92344 Fix pure-button hover color on a-tags 2020-12-14 14:15:03 +01:00
TheFrenchGhosty 5e8856e65b
Merge pull request #1551 from saltycrys/add-embed-link
Add embed link to watch page
2020-12-08 21:30:13 +00:00
Andrew Zhao 0cb442d40e do not proxy hls on supported browser 2020-12-08 00:53:48 -05:00
saltycrys 680dc1f962 Shuffle URL params
The `list` and `index` params are the most important and come first now.
2020-12-08 02:30:48 +01:00
TheFrenchGhosty fe73eccb90
Merge pull request #1479 from saltycrys/theme-flash
Apply dark theme immediately
2020-11-28 20:54:45 +00:00
saltycrys 5f932e9749 Fix CSS specificity issues 2020-11-18 00:10:32 +01:00
saltycrys ff46c18164 Move themes into default.css
Now that themes are controlled with a class instead of setting
media="none" on the stylesheet link and both themes already being
duplicated in default.css for the automatic themeing it makes sense
to have all theme related CSS in the same place.

This commit also fixes the missing dark theme on embeds.
2020-11-17 22:53:45 +01:00
saltycrys de777907f2 Apply dark theme immediately
Themes are now controlled with a class on the body element.

If a preference is set the body element will have either "dark-theme"
or "light-theme" class. If no preference is set or the preference is
empty the class will be "no-theme".

"dark-theme" and "light-theme" are handled by darktheme.css and
lighttheme.css respectively.

"no-theme" is handled by default.css where depending on the value of
"prefers-color-scheme" the styles corresponding to "dark-theme" or
"light-theme" are applied.

Unfortunately this means that both themes are duplicated, once in the
theme .css and once in default.css.
2020-11-16 04:19:41 +01:00
saltycrys 0530045536
Remove double empty line 2020-11-12 16:53:31 +01:00
saltycrys d3e4739745 Improve storyboard display 2020-11-08 22:23:24 +01:00
saltycrys 3379f3ef61 Update videojs-vtt-thumbnails to latest upstream version
Note that the latest version on NPM is over two years old so this was built from source.
2020-11-08 22:02:25 +01:00
Matthew McGarvey 5937e0289e Fix feed menu overlap at ipad screen widths 2020-10-07 23:01:18 -05:00
TheFrenchGhosty 3ab3a5a236
Merge pull request #713 from leonklingele/keydown-mediakeys-detection
js: add support to detect media keys in keydown handler
2020-09-09 03:15:21 +00:00
Omar Roth 3f97bebd69
Support adding video to playlist from watch page 2020-04-09 10:55:32 -05:00
Omar Roth 0e58d99f4e Fix player mouseover events 2020-03-27 09:47:46 -05:00
Omar Roth bd7950b757
Add toggle_parent to dynamic handlers 2020-03-15 18:52:49 -04:00
leonklingele 70cbe91776
Migrate to a good Content Security Policy (#1023)
So attacks such as XSS (see [0]) will no longer be of an issue.

[0]: https://github.com/omarroth/invidious/issues/1022
2020-03-15 16:46:08 -05:00
Kyle Copperfield a3045a3953
Use a MediaQueryListener to toggle on demand. Tested on OSX. (#925)
Closes #867.
2020-03-02 09:33:47 -06:00
Leon Klingele e3593fe197
js: add support to detect media keys in keydown handler
See [0] for all the relevant codes.

[0]: https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key/Key_Values#Multimedia_keys

Fixes a regression introduced in e6b4e12689.
Fixes https://github.com/omarroth/invidious/issues/712.
2020-03-01 17:43:19 +01:00
Jorge Maldonado Ventura dd9f1024f4 Remove invalid HTML from embed player 2020-02-01 19:25:03 +01:00
Omar Roth 72bfdfd925
Merge pull request #975 from jorgesumle/embed
Change embed code
2020-02-01 11:11:12 -05:00
Omar Roth 0560d2cfb7
Bump video.js 2020-01-08 20:19:47 -05:00
Jorge Maldonado Ventura 58c1a68ad9 Change embed code 2020-01-04 15:27:45 +01:00
Omar Roth 23ccaea2ff
Fix comment event listener 2019-10-18 12:44:11 -04:00
Omar Roth be055d9dcb
Add support for custom playlists 2019-10-15 21:17:14 -04:00
Omar Roth 330ffb803f
Remove invalid source map directive for videojs-quality-selector 2019-10-14 21:07:07 -04:00
Omar Roth e03b4b7505
Hide scrollbar for player menus 2019-10-05 11:51:31 -04:00
Omar Roth e61c8046f4
Fix z-index, scrollbar in player 2019-10-04 12:50:44 -04:00
agony affeeb39de Fixed bug that made the whole 'Invidious' div clickable. Solves #691 2019-10-02 14:05:58 +02:00
Omar Roth 553d52a45e
Update silvermine quality selector 2019-09-26 17:11:10 -04:00
Omar Roth be2ee33273
Fix overflow for player controls 2019-09-24 13:38:50 -04:00
Omar Roth 9766322e99
Update videojs-quality-selector 2019-09-21 22:22:20 -04:00
Omar Roth 7d3ecd2297
Bump JS/CSS dependencies 2019-08-27 08:01:33 -05:00
leonklingele acaf7b969a js: add support to detect alt, meta and control key in keydown handler (#704)
This fixes a quite severe user experience issue where pressing the
'alt', 'meta' and/or 'ctrl' key along with one of the supported keys
(e.g. 'f' to enter video fullscreen mode) would overwrite the default
browser behavior. In the case of 'f+meta' we would enter fullscreen
mode, and not open the browser search panel as one might expect.

This change is required to stay consistent with the way YouTube
handles keydown events.
2019-08-18 23:22:39 -05:00
Omar Roth 2b94975345
Fix playlist_thumbnail extractor 2019-08-16 20:06:21 -05:00
leonklingele e6b4e12689 js: add support for keydown events (#678)
* js: add support for keydown events

This will modify the player behavior even if the player element is unfocused.

Based on the YouTube key bindings, allow to

- toggle playback with space and 'k' key
- increase and decrease player volume with up / down arrow key
- mute and unmute player with 'm' key
- jump forwards and backwards by 5 seconds with right / left arrow key
- jump forwards and backwards by 10 seconds with 'l' / 'j'  key
- set video progress with number keys 0–9
- toggle captions with 'c' key
- toggle fullscreen mode with 'f' key
- play next video with 'N' key
- increase and decrease playback speed with '>' / '<' key

* js: remove unused dependency 'videojs.hotkeys.min.js'

Support for controlling the player volume by scrolling over it is
still retained by copying over the relevant code part from the
aforementioned library.
2019-08-16 16:01:14 -05:00
Dragnucs 7eaac995bd Change font family to better native selection (#679) 2019-08-16 15:59:05 -05:00
psvenk f54fbd057e Add prefers-color-scheme support (#601)
* Add prefers-color-scheme support

This should fix <https://github.com/omarroth/invidious/issues/559>.
The cookie storage format has been changed from boolean
("true"/"false") to tri-state ("dark"/"light"/""), so that users
without a cookie set will get dark mode if they have enabled the dark
theme in their operating system. The code for handling the cookie
state, along with the user's operating system theme, has been factored
out into a new function `update_mode`, which is called both at window
load and at the "storage" event listener, because the "storage" event
listener is only trigerred when a change is made to the localStorage
from another tab/window (for more info - see
<https://stackoverflow.com/a/4679754>).
2019-08-15 11:29:55 -05:00
Omar Roth f6f176afc1
Merge pull request #680 from leonklingele/add-player-styles
Add support for player styles
2019-08-09 13:49:51 -05:00
Omar Roth 3de37a61c5
Update videojs-http-source-selector 2019-08-09 10:36:41 -05:00
Leon Klingele 46577fb128
Add support for player styles
This currently includes the following styles:

- Invidious, the default
- YouTube, using a centered play button and always visible video control bar

Implements https://github.com/omarroth/invidious/issues/670.
Supersedes https://github.com/omarroth/invidious/pull/661.
2019-08-09 02:04:36 +02:00
Leon Klingele fe2cffb25b
Fix jumpy page on search field focus 2019-08-01 09:35:57 +02:00
Omar Roth d034fecc89
Remove default arguments from function definitions 2019-07-20 20:33:44 -05:00
Omar Roth e8a56e0fea
Add '1.75' playback speed 2019-07-14 10:13:40 -05:00
Omar Roth bcd239ac2b
Add community page 2019-07-09 09:31:04 -05:00
Omar Roth aac240fe41
Resize comment thumbnails 2019-07-01 12:08:29 -05:00
Omar Roth 8fad0af935
Add caption styling 2019-06-30 22:46:08 -05:00
Omar Roth a3cc3c57fd
Add cursor: none to player 2019-06-28 20:55:23 -05:00
Omar Roth 0d0d3edeae
Add thumbnail and banners to channel page 2019-06-28 20:48:24 -05:00
Omar Roth cc6d6ddd66
Prevent firing _onStreamProgress after aborting 2019-06-22 20:08:37 -05:00
Omar Roth bbb40aef51
Fix event listener for notifications.js 2019-06-16 18:11:34 -05:00
Omar Roth 485a3e29e7
Optimize get_subscriptions AJAX 2019-06-16 17:33:24 -05:00
Omar Roth 1477f99c2c
Add target="_blank" to embed titles 2019-06-16 14:49:00 -05:00
Omar Roth 2e1f9d5fa9
Fix title URL for embedded videos 2019-06-16 13:14:56 -05:00
Omar Roth 9dea251862
Fix typo in notifications.js 2019-06-16 12:57:56 -05:00
Omar Roth 17edfd6573
Shorten timeout for AJAX 2019-06-16 12:55:17 -05:00
Omar Roth 485459b8b2
Add clickable title for embedded videos 2019-06-16 09:41:33 -05:00
Omar Roth 552f616305
Fix retry on timeout for AJAX requests 2019-06-15 10:09:32 -05:00
Omar Roth 9122f8acee
Add title overlay to embedded videos 2019-06-08 10:52:47 -05:00
Omar Roth ef8c9f093c
Add premiere date to watch page 2019-06-08 10:18:45 -05:00
Omar Roth 8c944815bc
Minor refactor 2019-06-07 21:13:50 -05:00
Omar Roth 8521f04087
Use short URL for sharing videos 2019-06-05 11:10:23 -05:00
Omar Roth e23bab0103
Only add notification event listener after onload 2019-06-01 17:38:49 -05:00
Omar Roth 0338fd42e1
Add support for Web notifications 2019-06-01 16:09:17 -05:00
Omar Roth efd54b7523
Add 'comments' as URL parameter 2019-05-29 14:24:30 -05:00
Omar Roth d68baf08cb
Shrink h1 on mobile 2019-05-28 10:04:04 -05:00
Omar Roth a7578aa709
Update videojs-vtt-thumbnails version 2019-05-27 20:55:34 -05:00
Omar Roth de77c71042
Add "local" to "next video" URLs 2019-05-27 12:16:22 -05:00
Omar Roth 4345b1d930
Reset playbackRate once player has caught up to source 2019-05-20 12:15:48 -05:00
Omar Roth 7d2e1f63b5
Refactor watched_widget.js 2019-05-16 20:51:17 -05:00
Omar Roth e833ccf309
Fix comments for age-restricted videos 2019-05-14 08:18:57 -05:00
Omar Roth bb15dc57a4
Fix font color for captions button 2019-05-11 11:09:45 -05:00
Omar Roth bfa488f77d
Add option to toggle theme without reload 2019-05-09 11:50:44 -05:00
Omar Roth 03be793930
Fix typo in player.js 2019-05-09 08:36:36 -05:00
Omar Roth 37d88d5ff7
Remove referer from XHR 2019-05-08 09:16:11 -05:00
Omar Roth 058711d3a8
Refactor player.js 2019-05-06 11:23:14 -05:00
Omar Roth 2ddc61fa5c
Refactor embed.js 2019-05-06 10:37:22 -05:00
Omar Roth 2faa2ed1f4
Refactor watch.js 2019-05-06 09:48:33 -05:00
Omar Roth 5bda36fb28
Remove source map URL from videojs.hotkeys.min.js 2019-05-05 20:45:46 -05:00
Omar Roth 0099a9822e
Refactor subscribe_widget 2019-05-05 08:38:55 -05:00
Omar Roth 716705aa15
Add mouse hover for video previews 2019-05-04 08:43:41 -05:00
Omar Roth 3f738cf905
Tweak styling for thumbnail video length 2019-05-04 08:43:34 -05:00
Omar Roth 6d92775ab5
Add video previews 2019-05-02 14:36:32 -05:00
Omar Roth 1a9360ca75
Minor formatting changes 2019-05-01 20:03:39 -05:00
Omar Roth 6fb44083ec
Update source and licenses 2019-05-01 07:40:18 -05:00
glmdgrielson e48a000784 Add annotation player
This addresses issue #110 from master. Yay for adding annotations back!
2019-04-30 21:19:13 -05:00
Omar Roth 075adb4f03 Add http-source-selector 2019-04-28 10:05:15 -05:00
Omar Roth f6d8df1e83 Update videojs-share 2019-04-24 08:48:34 -05:00
Omar Roth d20a4a8bfc Fix grid size for smaller devices 2019-04-14 17:04:52 -05:00
Omar Roth e8c5246645 Fix share button 2019-04-12 09:31:05 -05:00
Omar Roth 6fd24ad54f Add cancel button to search bar 2019-03-26 17:45:39 -05:00
Omar Roth ce4b07d7d7 Fix thumbnail for deleted videos 2019-03-23 12:56:52 -05:00
Omar Roth 56b0952cd1 Update sources 2019-03-23 11:09:31 -05:00
Omar Roth 1c152f6cad Add padding to thumbnails 2019-03-23 10:24:52 -05:00
Omar Roth d5c6d74f14 Fix loading icon size 2019-03-20 09:20:31 -05:00
Omar Roth 7a54b1d36a Fix player size with JS disabled 2019-03-19 20:13:26 -05:00
Omar Roth 956dc382ea Clean up player CSS 2019-03-17 12:21:55 -05:00
Omar Roth cf3f0fcc39 Add max-aspect-ratio to player 2019-03-12 10:12:47 -05:00
Omar Roth 19c32bf993 Calculate player height based on viewport 2019-03-12 10:01:36 -05:00
Omar Roth 79c1040796 Remove sourceMap link for JS source 2019-03-08 10:36:14 -06:00
Omar Roth eaf55bf12c Fix styling for watch indicator 2019-03-08 10:35:18 -06:00
Omar Roth 1d6c763e92
Merge pull request #397 from dimqua/patch-1
(preferences) fix word wrap
2019-03-07 13:29:44 -06:00
Omar Roth 7557ffcda1 Mark deleted channels in /subscription_manager 2019-03-06 09:54:56 -06:00
dimqua f16273772e
(preferences) fix word wrap 2019-03-04 23:14:24 +03:00
Omar Roth a03958d937 Add -webkit-appearance to default.css 2019-02-26 12:21:19 -06:00
Omar Roth 1692f7640c Remove JS from download widget 2019-02-24 11:04:46 -06:00
Omar Roth a283c3143d Adjust size of player 2019-02-21 18:17:02 -06:00
Omar Roth 57635c0d24 Add scroll to control bar when it's possible to overflow 2019-02-21 18:13:40 -06:00
Omar Roth 7ed4485717 Format CSS 2019-02-21 17:43:49 -06:00
Omar Roth 394952a86a Revert "Fix control bar overflow on mobile"
This reverts commit e25249ce4d.
2019-02-21 16:20:58 -06:00
Omar Roth e25249ce4d Fix control bar overflow on mobile 2019-02-21 14:01:12 -06:00
Agustin Ferrari b04a2d4f61 Just a couple of adjustments (#350)
* Added icons tooltips in local/en-US.json, corrected link tooltip to switch to video mode and changed heart symbol by icon in comments
2019-02-16 17:46:04 -06:00
Omar Roth f8467fcda6 Fix locale text for "Show replies" 2019-02-16 14:26:08 -06:00
Agustin Ferrari ceaddbc821 Minor fixes in CSS colors 2019-02-02 20:13:40 -03:00
Agustin Ferrari b0ba670c91 Comments now show if they were edited and if they received a heart from the uploader (plus additional classes in default.css). The isEdited attribute was also added in the comments API and new strings in en-US.json 2019-02-01 09:09:10 -03:00
Agustin Ferrari e9ea365f2f Add additional parameters in the API comments, highlight the user name in the uploader comments and I finished permalink of the comments. 2019-01-31 08:21:26 -03:00
Agustin Ferrari 55118a6768 Change color to the links and add a couple of improvements in the comments 2019-01-30 09:28:28 -03:00
Omar Roth c0fdc28a84 Fix colors and data-url in download widget 2019-01-27 21:20:52 -06:00
Omar Roth 1a9057a175 Add fix to download widget for titles with unescaped characters 2019-01-24 00:01:56 -06:00
Omar Roth 08e8d0f56f Fix typo in default.css 2019-01-23 19:25:09 -06:00
Omar Roth fb535ad6bb Add download widget 2019-01-23 19:05:24 -06:00
Omar Roth 827e68acf5 Resize player to better fit larger screens 2019-01-23 12:54:19 -06:00
Omar Roth 2ea580e18e Format default.css 2018-11-25 19:01:19 -06:00
Omar Roth 60c6778344 Make 'watched' icon smaller 2018-11-20 22:57:51 -06:00
Omar Roth 6b12f11e10 Add ability to mark videos as watched in subscription feed 2018-11-19 22:06:59 -06:00
Omar Roth 9aeb9ec00f Merge branch 'pr/229' 2018-11-12 22:59:56 -06:00
WAZAAAAA 0f58f872ac image size losslessly reduced with FileOptimizer 2018-11-12 22:59:39 -06:00
Omar Roth dcddb6fb83 Update license information 2018-11-11 08:47:42 -06:00
Omar Roth 7f868ecdf9 Add unminimized sources and license information 2018-11-10 11:08:03 -06:00
Omar Roth 0c8a1d46bd Fix whitespace in dnt-policy.txt 2018-11-10 07:54:13 -06:00
Omar Roth 31a9abc03a Add favicon 2018-11-08 15:58:10 -06:00
Omar Roth 6c19f0f242 Revert "Update robots.txt"
This reverts commit b26b6b9bdf.
2018-11-08 00:41:03 -06:00
Omar Roth b26b6b9bdf Update robots.txt 2018-11-06 23:13:31 -06:00
Omar Roth ad57247a5f Fix location of dnt-policy.txt 2018-11-04 23:15:01 -06:00
Omar Roth 9194f47ee4 Add DNT policy 2018-11-04 23:10:46 -06:00
Omar Roth 4875aa1d7e Add partial support for video duration in thumbnails 2018-10-20 20:37:55 -05:00
Omar Roth 3ee7201f5d Comma seperate comment scores 2018-10-20 13:52:06 -05:00
Omar Roth 3c634d9f66 Update styling for subscribe buttons 2018-10-20 13:51:52 -05:00
Omar Roth 57d88ffcc8 Fix fallback for comments 2018-10-15 11:15:23 -05:00
Omar Roth 1a39faee75 Add subCountText and add XHR alternative for subscribing to channels 2018-10-12 21:17:37 -05:00
Omar Roth 88430a6fc0 Add playlist playback support 2018-10-07 21:11:33 -05:00
Omar Roth f7125c1204 Move watch page JS into seperate file 2018-10-06 22:20:40 -05:00
Omar Roth b3ca3922a9 Add experimental dash support 2018-09-24 19:28:36 -05:00
Omar Roth b6adeb80e6 Fix player margin 2018-09-15 13:04:13 -05:00
Omar Roth c74cc1123f Maintain aspect ratio even when JS is disabled 2018-09-15 12:15:39 -05:00
Omar Roth 6753294ee1 Fix poster resize 2018-09-14 22:38:53 -05:00
Omar Roth f9881ebaab Update videojs-share.css 2018-09-14 21:49:05 -05:00
Omar Roth 429a4b2dec Proxy thumbnails 2018-09-14 21:24:28 -05:00
Omar Roth c1f17f2f82 Show quality selector even if only one source 2018-09-09 14:23:37 -05:00
Omar Roth bd820b9b48 Update videojs-share.js 2018-09-07 15:55:11 -05:00
Omar Roth 3ec684ae71 Host assets locally 2018-09-06 09:59:17 -05:00
dimqua eda5beaed5 Change the color of progressBar marker 2018-08-31 16:49:02 +03:00
Omar Roth 9cd193f108 Remove padding from time divider 2018-08-07 08:04:23 -05:00
dimqua 9c7c5cafd4
Make load-progress color solid 2018-08-07 03:23:49 +03:00
dimqua 2177aff370
Make play-progress color solid 2018-08-07 02:54:39 +03:00
Omar Roth 06af43c95e Add timeDisplay to player 2018-08-05 08:58:03 -05:00
dimqua eaded6cbda minor color scheme changes 2018-08-04 02:26:12 +03:00
Omar Roth 5ddf7889fe Add color scheme for player 2018-08-03 18:17:19 -05:00
Omar Roth b49456da97 Switch from using fontawesome to ionicons 2018-07-30 18:38:55 -05:00
Fredrik August Madsen-Malmo 24538b7296 Clean up navigation bar code
And update README so that arch users don't have to update their entire
system to install the required packages.
2018-07-26 16:46:43 +02:00
Omar Roth c7a46cd3d5 Split Reddit comments into separate request 2018-07-20 14:36:23 -05:00
Omar Roth 96c520b02b Add user preferences 2018-07-16 11:24:24 -05:00
Omar Roth 7d3ecf7567 Put word-wrap in default.css 2018-04-17 15:53:12 -05:00
Omar Roth 2aca7f7c19 Use darker color for links 2018-04-16 19:05:45 -05:00
Omar Roth 4bf0e538e4 Add dark theme 2018-04-13 21:32:14 -05:00
Omar Roth 252f1c0af3 Remove sources for quality selector 2018-03-25 00:21:22 -05:00
Omar Roth 5df7c43e5d Ignore login in robots.txt 2018-03-24 23:15:03 -05:00
Omar Roth e37e9a0b8e Add qualityselector 2018-03-13 18:37:56 -05:00
Omar Roth 9480c6f806 Use horizontal padding 2018-03-12 18:37:01 -05:00
Omar Roth 052fa400a2 Add padding for watch page 2018-03-11 12:05:56 -05:00
Omar Roth 8a3056d0e3 Make link styling default for anchor tags 2018-03-06 22:03:45 -06:00
Omar Roth 567856363b Remove assets from repo 2018-02-06 18:52:01 -06:00
Omar Roth d88b60979b Add robots.txt 2018-02-05 18:11:59 -06:00
Omar Roth 9e4d0bd3a5 Add video,js, Genesis 3:6 2018-01-16 16:28:49 -06:00
Omar Roth 38cff5a752 Freshen up for the big dance 2018-01-14 21:16:09 -06:00
Omar Roth c4c1b43e5c Add thumbnail to search 2018-01-07 11:43:13 -06:00
Omar Roth 15cc2ff622 Remove jquery 2017-12-30 15:22:06 -06:00
Omar Roth 127e140130 Add fontawesome 2017-12-30 15:20:13 -06:00
Omar Roth 26959020b7 Initial commit 2017-11-23 01:48:55 -06:00