summaryrefslogtreecommitdiffstats
path: root/assets
diff options
context:
space:
mode:
Diffstat (limited to 'assets')
-rw-r--r--assets/css/default.css16
-rw-r--r--assets/css/player.css12
-rw-r--r--assets/css/search.css5
-rw-r--r--assets/js/player.js27
4 files changed, 44 insertions, 16 deletions
diff --git a/assets/css/default.css b/assets/css/default.css
index 61b7819f..ab2b79e6 100644
--- a/assets/css/default.css
+++ b/assets/css/default.css
@@ -204,7 +204,8 @@ img.thumbnail {
margin: 1px;
border: 1px solid;
- border-color: #0000 #0000 #CCC #0000;
+ border-color: rgba(0,0,0,0);
+ border-bottom-color: #CCC;
border-radius: 0;
box-shadow: none;
@@ -212,9 +213,10 @@ img.thumbnail {
}
.searchbar input[type="search"]:focus {
- margin: 0 0 0.5px 0;
+ margin: 0;
border: 2px solid;
- border-color: #0000 #0000 #FED #0000;
+ border-color: rgba(0,0,0,0);
+ border-bottom-color: #FED;
}
/* https://stackoverflow.com/a/55170420 */
@@ -234,7 +236,7 @@ input[type="search"]::-webkit-search-cancel-button {
}
.user-field div {
- width: initial;
+ width: auto;
}
.user-field div:not(:last-child) {
@@ -527,3 +529,9 @@ p,
/* Center the "invidious" logo on the search page */
#logo > h1 { text-align: center; }
+
+/* IE11 fixes */
+:-ms-input-placeholder { color: #888; }
+
+/* Wider settings name to less word wrap */
+.pure-form-aligned .pure-control-group label { width: 19em; }
diff --git a/assets/css/player.css b/assets/css/player.css
index 304375b5..8a7cfdab 100644
--- a/assets/css/player.css
+++ b/assets/css/player.css
@@ -101,21 +101,25 @@ ul.vjs-menu-content::-webkit-scrollbar {
order: 2;
}
+.vjs-audio-button {
+ order: 3;
+}
+
.vjs-quality-selector,
.video-js .vjs-http-source-selector {
- order: 3;
+ order: 4;
}
.vjs-playback-rate {
- order: 4;
+ order: 5;
}
.vjs-share-control {
- order: 5;
+ order: 6;
}
.vjs-fullscreen-control {
- order: 6;
+ order: 7;
}
.vjs-playback-rate > .vjs-menu {
diff --git a/assets/css/search.css b/assets/css/search.css
index 5ca141d0..7036fd28 100644
--- a/assets/css/search.css
+++ b/assets/css/search.css
@@ -68,7 +68,10 @@ fieldset, legend {
.filter-options label { margin: 0 10px; }
-#filters-apply { text-align: end; }
+#filters-apply {
+ text-align: right; /* IE11 only */
+ text-align: end; /* Override for compatible browsers */
+}
/* Error message */
diff --git a/assets/js/player.js b/assets/js/player.js
index 7d099e66..ee678663 100644
--- a/assets/js/player.js
+++ b/assets/js/player.js
@@ -17,6 +17,7 @@ var options = {
'remainingTimeDisplay',
'Spacer',
'captionsButton',
+ 'audioTrackButton',
'qualitySelector',
'playbackRateMenuButton',
'fullscreenToggle'
@@ -67,6 +68,7 @@ player.on('error', function () {
// add local=true to all current sources
player.src(player.currentSources().map(function (source) {
source.src += '&local=true';
+ return source;
}));
} else if (reloadMakesSense) {
setTimeout(function () {
@@ -145,11 +147,12 @@ function isMobile() {
}
if (isMobile()) {
- player.mobileUi();
+ player.mobileUi({ touchControls: { seekSeconds: 5 * player.playbackRate() } });
var buttons = ['playToggle', 'volumePanel', 'captionsButton'];
- if (video_data.params.quality !== 'dash') buttons.push('qualitySelector');
+ if (!video_data.params.listen && video_data.params.quality === 'dash') buttons.push('audioTrackButton');
+ if (video_data.params.listen || video_data.params.quality !== 'dash') buttons.push('qualitySelector');
// Create new control bar object for operation buttons
const ControlBar = videojs.getComponent('controlBar');
@@ -176,7 +179,7 @@ if (isMobile()) {
var share_element = document.getElementsByClassName('vjs-share-control')[0];
operations_bar_element.append(share_element);
- if (video_data.params.quality === 'dash') {
+ if (!video_data.params.listen && video_data.params.quality === 'dash') {
var http_source_selector = document.getElementsByClassName('vjs-http-source-selector vjs-menu-button')[0];
operations_bar_element.append(http_source_selector);
}
@@ -256,7 +259,7 @@ function updateCookie(newVolume, newSpeed) {
// Set expiration in 2 year
var date = new Date();
- date.setTime(date.getTime() + 63115200);
+ date.setFullYear(date.getFullYear() + 2);
var ipRegex = /^((\d+\.){3}\d+|[A-Fa-f0-9]*:[A-Fa-f0-9:]*:[A-Fa-f0-9:]+)$/;
var domainUsed = location.hostname;
@@ -265,8 +268,10 @@ function updateCookie(newVolume, newSpeed) {
if (domainUsed.charAt(0) !== '.' && !ipRegex.test(domainUsed) && domainUsed !== 'localhost')
domainUsed = '.' + location.hostname;
- document.cookie = 'PREFS=' + cookieData + '; SameSite=Strict; path=/; domain=' +
- domainUsed + '; expires=' + date.toGMTString() + ';';
+ var secure = location.protocol.startsWith("https") ? " Secure;" : "";
+
+ document.cookie = 'PREFS=' + cookieData + '; SameSite=Lax; path=/; domain=' +
+ domainUsed + '; expires=' + date.toGMTString() + ';' + secure;
video_data.params.volume = volumeValue;
video_data.params.speed = speedValue;
@@ -274,6 +279,9 @@ function updateCookie(newVolume, newSpeed) {
player.on('ratechange', function () {
updateCookie(null, player.playbackRate());
+ if (isMobile()) {
+ player.mobileUi({ touchControls: { seekSeconds: 5 * player.playbackRate() } });
+ }
});
player.on('volumechange', function () {
@@ -673,7 +681,12 @@ if (player.share) player.share(shareOptions);
// show the preferred caption by default
if (player_data.preferred_caption_found) {
player.ready(function () {
- player.textTracks()[1].mode = 'showing';
+ if (!video_data.params.listen && video_data.params.quality === 'dash') {
+ // play.textTracks()[0] on DASH mode is showing some debug messages
+ player.textTracks()[1].mode = 'showing';
+ } else {
+ player.textTracks()[0].mode = 'showing';
+ }
});
}