Fix player UI: sports Highlights pane, scrubber knob, volume knob, description + save-to-playlist
Player/UI fixes:
- Sports (match) Highlights pane: move the toggle click-handler script out of
the always-false @if(false ...) legacy block so the "Highlights" button opens,
and emit videoId/isOwner with @json instead of {{ json_encode() }} (escaped
quotes crashed the data/tab/CRUD block once route keys became hashid strings).
- Progress scrubber knob (video + audio players): center on the track line with
translate(-50%, -50%); drop the margin-top hack that floated it above the line.
- Music player volume: give the slider wrap height so overflow:hidden no longer
crops the knob; add a subtle thumb shadow for visibility.
- Music language menu: cap height to available space above the header, sticky
header, internal scroll; keep controls from auto-hiding while the menu is open.
- Description box: re-check "Show more" overflow at every settle point (fonts,
images, rAF, tab reopen) so SPA autonext keeps the expand button.
Also bundles pending work: save-to-playlist button component, playlist/channel
views, PlaylistController + NasSyncService, and component-usage tracker updates.
Co-Authored-By: Claude Opus 4.8 <[email protected]>
This commit is contained in:
1 parent
80948efff7
commit
6b43a7060a
14 files changed
+236
-136
No files matched your search
@@ -1860,18 +1860,7 @@ function openLightbox(src) {
|
||||
lb.style.display = 'flex';
|
||||
}
|
||||
|
||||
/* ── Video hover-preview ── */
|
||||
document.querySelectorAll('.yt-video-card').forEach(card => {
|
||||
card.addEventListener('mouseenter', () => {
|
||||
if ('ontouchstart' in window) return;
|
||||
const v = card.querySelector('video');
|
||||
if (v) { v.currentTime = 0; v.volume = 0.1; v.play().catch(()=>{}); v.classList.add('active'); }
|
||||
});
|
||||
card.addEventListener('mouseleave', () => {
|
||||
const v = card.querySelector('video');
|
||||
if (v) { v.pause(); v.currentTime = 0; v.classList.remove('active'); }
|
||||
});
|
||||
});
|
||||
/* Video hover-preview is wired by the video-card component's inline onmouseenter/onmouseleave (playVideo/stopVideo). Those handlers are audio-aware and keep the thumbnail visible for music tracks. Don't add a second listener here that overrides them. */
|
||||
|
||||
/* ── Subscribe toggle ── */
|
||||
(function () {
|
||||
|
||||
Reference in new issue
Block a user