diff --git a/web/src/lib/components/asset-viewer/asset-viewer-nav-bar.svelte b/web/src/lib/components/asset-viewer/asset-viewer-nav-bar.svelte index 3f31459ab8..ec7218ebbd 100644 --- a/web/src/lib/components/asset-viewer/asset-viewer-nav-bar.svelte +++ b/web/src/lib/components/asset-viewer/asset-viewer-nav-bar.svelte @@ -1,5 +1,6 @@
- downloadFile(asset)} - on:delete={() => (isShowDeleteConfirmation = true)} - on:favorite={toggleFavorite} - on:addToAlbum={() => openAlbumPicker(false)} - on:addToSharedAlbum={() => openAlbumPicker(true)} - on:playMotionPhoto={() => (shouldPlayMotionPhoto = true)} - on:stopMotionPhoto={() => (shouldPlayMotionPhoto = false)} - on:toggleArchive={toggleArchive} - on:asProfileImage={() => (isShowProfileImageCrop = true)} - on:runJob={({ detail: job }) => handleRunJob(job)} - /> + {#if isSlideshowMode} + +
+
+ + (progressBarStatus === ProgressBarStatus.Paused ? progressBar.play() : progressBar.pause())} + title={progressBarStatus === ProgressBarStatus.Paused ? 'Play' : 'Pause'} + /> + + +
+ +
+ {:else} + downloadFile(asset)} + on:delete={() => (isShowDeleteConfirmation = true)} + on:favorite={toggleFavorite} + on:addToAlbum={() => openAlbumPicker(false)} + on:addToSharedAlbum={() => openAlbumPicker(true)} + on:playMotionPhoto={() => (shouldPlayMotionPhoto = true)} + on:stopMotionPhoto={() => (shouldPlayMotionPhoto = false)} + on:toggleArchive={toggleArchive} + on:asProfileImage={() => (isShowProfileImageCrop = true)} + on:runJob={({ detail: job }) => handleRunJob(job)} + on:playSlideShow={handlePlaySlideshow} + /> + {/if}
- {#if showNavigation} + {#if !isSlideshowMode && showNavigation}
@@ -323,18 +409,23 @@ {/if} {:else} - + {/if} {/key} - {#if showNavigation} + {#if !isSlideshowMode && showNavigation}
{/if} - {#if $isShowDetail} + {#if !isSlideshowMode && $isShowDetail}
(); + const dispatch = createEventDispatcher<{ onVideoEnded: void; onVideoStarted: void }>(); const handleCanPlay = async (event: Event) => { try { @@ -17,6 +17,7 @@ video.muted = true; await video.play(); video.muted = false; + dispatch('onVideoStarted'); } catch (error) { handleError(error, 'Unable to play video'); } finally { diff --git a/web/src/lib/components/shared-components/progress-bar/progress-bar.svelte b/web/src/lib/components/shared-components/progress-bar/progress-bar.svelte new file mode 100644 index 0000000000..ca99f77595 --- /dev/null +++ b/web/src/lib/components/shared-components/progress-bar/progress-bar.svelte @@ -0,0 +1,83 @@ + + + + +