handleUserInteraction(false)} on:touchend|preventDefault={() => handleUserInteraction(true)} in:fade|global={{ duration: 500, delay: 1200, easing: linear }} >
(displayedTime = !seeking && videoLoaded ? video.currentTime : displayedTime)} on:progress={() => handleBuffer()} on:play={() => { if (seeking) video?.pause(); }} on:loadeddata={() => { video.currentTime = displayedTime; videoLoaded = true; }} bind:volume bind:muted={mute} class="sm:w-full sm:h-full" playsinline={true} on:dblclick|preventDefault={() => (fullscreen = !fullscreen)} on:click={() => (paused = !paused)} /> {#if uiVisible}
{secondsToTime(displayedTime, duration > 3600)}
{secondsToTime(duration)}
(paused = !paused)}> {#if (!seeking && paused) || (seeking && playerStateBeforeSeek)}
{:else}
{/if}
{#each getQualities(resolution) as quality}
handleSelectQuality(quality.maxBitrate)} > {quality.name}
{/each}
{ mute = !mute; }} > {#if volume == 0 || mute}
{:else if volume < 0.25}
{:else if volume < 0.9}
{:else}
{/if}
{#if fullscreen}
{:else if !fullscreen && exitFullscreen}
{/if}
{/if}
{#if uiVisible}
{/if}