Timeline is always rendered
This commit is contained in:
@@ -833,64 +833,62 @@
|
||||
bind:playerMaxKnownTime
|
||||
bind:playerIsBuffering
|
||||
/>
|
||||
{#if showControls}
|
||||
<div id="player-controls" transition:fade>
|
||||
<Timeline
|
||||
{playerElement}
|
||||
{currentTime}
|
||||
{showPlayerUI}
|
||||
{segments}
|
||||
video={data.video}
|
||||
content={data.content}
|
||||
bind:userManualSeeking
|
||||
bind:playerMaxKnownTime
|
||||
/>
|
||||
<nav>
|
||||
{#if !$isAndroidTvStore}
|
||||
<nav class="no-wrap">
|
||||
<button class="surface-container-highest" onclick={toggleVideoPlaybackStatus}>
|
||||
<i>
|
||||
{#if playerCurrentPlaybackState}
|
||||
pause
|
||||
{:else}
|
||||
play_arrow
|
||||
{/if}
|
||||
</i>
|
||||
</button>
|
||||
{#if !isMobile()}
|
||||
<div class="player-slider volume m l" {...playerVolumeSlider.root}>
|
||||
<div class="track">
|
||||
<div class="range"></div>
|
||||
<div {...playerVolumeSlider.thumb}></div>
|
||||
</div>
|
||||
</div>
|
||||
{/if}
|
||||
</nav>
|
||||
{/if}
|
||||
|
||||
<div class="max"></div>
|
||||
|
||||
<div id="player-controls" class="hide" class:show={showControls}>
|
||||
<Timeline
|
||||
{playerElement}
|
||||
{currentTime}
|
||||
{showPlayerUI}
|
||||
{segments}
|
||||
video={data.video}
|
||||
content={data.content}
|
||||
bind:userManualSeeking
|
||||
bind:playerMaxKnownTime
|
||||
/>
|
||||
<nav>
|
||||
{#if !$isAndroidTvStore}
|
||||
<nav class="no-wrap">
|
||||
<p class="chip m l" style="height: 100%;">
|
||||
{#if data.video.liveNow}
|
||||
{$_('thumbnail.live')}
|
||||
{:else}
|
||||
{videoLength(currentTime)} / {videoLength(data.video.lengthSeconds)}
|
||||
{/if}
|
||||
</p>
|
||||
{#if !$isAndroidTvStore}
|
||||
<CaptionSettings video={data.video} />
|
||||
{#if playerElement}
|
||||
<Settings {player} {playerElement} />
|
||||
<Airplay {playerElement} />
|
||||
<Pip {playerElement} />
|
||||
{/if}
|
||||
<FullscreenToggle {toggleFullscreen} {playerIsFullscreen} />
|
||||
<button class="surface-container-highest" onclick={toggleVideoPlaybackStatus}>
|
||||
<i>
|
||||
{#if playerCurrentPlaybackState}
|
||||
pause
|
||||
{:else}
|
||||
play_arrow
|
||||
{/if}
|
||||
</i>
|
||||
</button>
|
||||
{#if !isMobile()}
|
||||
<div class="player-slider volume m l" {...playerVolumeSlider.root}>
|
||||
<div class="track">
|
||||
<div class="range"></div>
|
||||
<div {...playerVolumeSlider.thumb}></div>
|
||||
</div>
|
||||
</div>
|
||||
{/if}
|
||||
</nav>
|
||||
{/if}
|
||||
|
||||
<div class="max"></div>
|
||||
|
||||
<nav class="no-wrap">
|
||||
<p class="chip m l" style="height: 100%;">
|
||||
{#if data.video.liveNow}
|
||||
{$_('thumbnail.live')}
|
||||
{:else}
|
||||
{videoLength(currentTime)} / {videoLength(data.video.lengthSeconds)}
|
||||
{/if}
|
||||
</p>
|
||||
{#if !$isAndroidTvStore}
|
||||
<CaptionSettings video={data.video} />
|
||||
{#if playerElement}
|
||||
<Settings {player} {playerElement} />
|
||||
<Airplay {playerElement} />
|
||||
<Pip {playerElement} />
|
||||
{/if}
|
||||
<FullscreenToggle {toggleFullscreen} {playerIsFullscreen} />
|
||||
{/if}
|
||||
</nav>
|
||||
</div>
|
||||
{/if}
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{#if showVideoRetry}
|
||||
|
||||
@@ -28,7 +28,17 @@ body {
|
||||
}
|
||||
|
||||
.hide {
|
||||
display: none !important;
|
||||
opacity: 0 !important;
|
||||
visibility: hidden !important;
|
||||
transition:
|
||||
opacity 200ms linear,
|
||||
visibility 0s linear 200ms !important;
|
||||
}
|
||||
|
||||
.show {
|
||||
opacity: 1 !important;
|
||||
visibility: visible !important;
|
||||
transition: opacity 200ms linear !important;
|
||||
}
|
||||
|
||||
article {
|
||||
|
||||
Reference in New Issue
Block a user