diff --git a/web/src/lib/components/asset-viewer/video-native-viewer.svelte b/web/src/lib/components/asset-viewer/video-native-viewer.svelte
index 8205c8c353..4b8bb40f77 100644
--- a/web/src/lib/components/asset-viewer/video-native-viewer.svelte
+++ b/web/src/lib/components/asset-viewer/video-native-viewer.svelte
@@ -2,6 +2,7 @@
import FaceEditor from '$lib/components/asset-viewer/face-editor/face-editor.svelte';
import VideoRemoteViewer from '$lib/components/asset-viewer/video-remote-viewer.svelte';
import LoadingSpinner from '$lib/components/shared-components/loading-spinner.svelte';
+ import { assetViewerFadeDuration } from '$lib/constants';
import { castManager } from '$lib/managers/cast-manager.svelte';
import { isFaceEditMode } from '$lib/stores/face-edit.svelte';
import { loopVideo as loopVideoPreference, videoViewerMuted, videoViewerVolume } from '$lib/stores/preferences.store';
@@ -41,8 +42,11 @@
let assetFileUrl = $state('');
let forceMuted = $state(false);
let isScrubbing = $state(false);
+ let showVideo = $state(false);
onMount(() => {
+ // Show video after mount to ensure fading in.
+ showVideo = true;
assetFileUrl = getAssetPlaybackUrl({ id: assetId, cacheKey });
if (videoPlayer) {
forceMuted = false;
@@ -102,59 +106,61 @@
});
-
- {#if castManager.isCasting}
-
-
+ {#if castManager.isCasting}
+
+
+
+ {:else}
+
- {:else}
-
+ src={assetFileUrl}
+ >
+
- {#if isLoading}
-
-
-
- {/if}
+ {#if isLoading}
+
+
+
+ {/if}
- {#if isFaceEditMode.value}
-
+ {#if isFaceEditMode.value}
+
+ {/if}
{/if}
- {/if}
-
+
+{/if}
diff --git a/web/src/lib/components/memory-page/memory-photo-viewer.svelte b/web/src/lib/components/memory-page/memory-photo-viewer.svelte
new file mode 100644
index 0000000000..b0b1dc98a6
--- /dev/null
+++ b/web/src/lib/components/memory-page/memory-photo-viewer.svelte
@@ -0,0 +1,69 @@
+
+
+{#if !imageLoaded}
+
+
-
handlePromiseError(handleAction('PlayPauseButtonClick', paused ? 'play' : 'pause'))}
- class="hover:text-black"
- />
+
+ handlePromiseError(handleAction('PlayPauseButtonClick', paused ? 'play' : 'pause'))}
+ />
+
{#each current.memory.assets as asset, index (asset.id)}
@@ -385,20 +386,23 @@
{(current.assetIndex + 1).toLocaleString($locale)}/{current.memory.assets.length.toLocaleString($locale)}
-