- commit
- d30115849d852fa55e18df505645e1d84361ff21
- parent
- af6cd63d4acaccf25e63428e32a5695981cf7ae4
- Author
- Tobias Bengfort <tobias.bengfort@posteo.de>
- Date
- 2025-02-10 13:04
highlight active video quality
Diffstat
| M | static/style.css | 4 | ++++ |
| M | static/video.js | 20 | ++++++++++++++++---- |
2 files changed, 20 insertions, 4 deletions
diff --git a/static/style.css b/static/style.css
@@ -51,6 +51,10 @@ button {
51 51 color: var(--fg2);
52 52 cursor: pointer;
53 53 }
-1 54 button.active {
-1 55 background-color: var(--border);
-1 56 color: var(--fg);
-1 57 }
54 58
55 59 body {
56 60 padding: 0;
diff --git a/static/video.js b/static/video.js
@@ -16,6 +16,9 @@ var applyQuality = function(quality, lazy) {
16 16 if (quality !== 'auto' && (!quality || !source)) {
17 17 return;
18 18 }
-1 19 Array.from(menu.querySelectorAll('button')).forEach(btn => {
-1 20 btn.classList.toggle('active', btn.dataset.quality == quality);
-1 21 });
19 22 var time = video.currentTime;
20 23 var paused = video.paused;
21 24 if (quality === 'auto') {
@@ -35,14 +38,22 @@ var applyQuality = function(quality, lazy) {
35 38 var createMenu = function() {
36 39 var sources = Array.from(video.querySelectorAll('[data-quality]')).reverse();
37 40 var ul = h('ul', {'class': 'quality'}, sources.map(source => h('li', {}, [
38 -1 h('button', {'type': 'button', 'title': source.dataset.co2}, [source.dataset.quality]),
-1 41 h('button', {
-1 42 'type': 'button',
-1 43 'title': source.dataset.co2,
-1 44 'data-quality': source.dataset.quality,
-1 45 }, [source.dataset.quality]),
39 46 ])));
40 47 ul.append(h('li', {}, [
41 -1 h('button', {'type': 'button'}, ['auto']),
-1 48 h('button', {
-1 49 'type': 'button',
-1 50 'class': 'active',
-1 51 'data-quality': 'auto',
-1 52 }, ['auto']),
42 53 ]));
43 54 ul.addEventListener('click', event => {
44 55 if (event.target.type === 'button') {
45 -1 var quality = event.target.textContent;
-1 56 var quality = event.target.dataset.quality;
46 57 localStorage.setItem('quality', quality);
47 58 applyQuality(quality);
48 59 }
@@ -50,5 +61,6 @@ var createMenu = function() {
50 61 return ul;
51 62 };
52 63
-1 64 var menu = createMenu();
-1 65 video.after(menu);
53 66 applyQuality(localStorage.getItem('quality'), true);
54 -1 video.after(createMenu());