fix: QA round 2 — playhead guard, controls position, caption lift, Tauri fullscreen, timeline sync
- Guard drawPlayhead on session.duration > 0 in PlayerTimeline - Move floating controls pill from bottom: 24px to 48px - Add playerControlsVisible prop to VideoPlayer; captions slide up 160px when controls visible - Replace web Fullscreen API with Tauri getCurrentWindow().setFullscreen() (WKWebView compat) - Add core:window:allow-set-fullscreen and core:window:allow-is-fullscreen permissions - Tie PlayerTimeline visibility to showPlayerControls; remove unused proximity logic Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -115,11 +115,9 @@
|
||||
}, 100);
|
||||
}
|
||||
|
||||
function handleFullscreen() {
|
||||
toggleFullscreen();
|
||||
setTimeout(() => {
|
||||
fullscreenActive = isFullscreenActive();
|
||||
}, 100);
|
||||
async function handleFullscreen() {
|
||||
await toggleFullscreen();
|
||||
fullscreenActive = await isFullscreenActive();
|
||||
}
|
||||
|
||||
function handleCCContextMenu(e: MouseEvent) {
|
||||
@@ -129,9 +127,9 @@
|
||||
|
||||
// Sync PiP/fullscreen/rate state periodically
|
||||
$effect(() => {
|
||||
const interval = setInterval(() => {
|
||||
const interval = setInterval(async () => {
|
||||
pipActive = isPiPActive();
|
||||
fullscreenActive = isFullscreenActive();
|
||||
fullscreenActive = await isFullscreenActive();
|
||||
currentRate = getPlaybackRate();
|
||||
}, 500);
|
||||
return () => clearInterval(interval);
|
||||
@@ -279,7 +277,7 @@
|
||||
<style>
|
||||
.player-controls-overlay {
|
||||
position: absolute;
|
||||
bottom: 24px;
|
||||
bottom: 48px;
|
||||
left: 15%;
|
||||
right: 15%;
|
||||
pointer-events: none;
|
||||
|
||||
Reference in New Issue
Block a user