diff --git a/web/src/lib/components/asset-viewer/asset-viewer.svelte b/web/src/lib/components/asset-viewer/asset-viewer.svelte
index e5b1377965..32894ad908 100644
--- a/web/src/lib/components/asset-viewer/asset-viewer.svelte
+++ b/web/src/lib/components/asset-viewer/asset-viewer.svelte
@@ -43,10 +43,10 @@
import DetailPanel from './detail-panel.svelte';
import CropArea from './editor/crop-tool/crop-area.svelte';
import EditorPanel from './editor/editor-panel.svelte';
- import PanoramaViewer from './panorama-viewer.svelte';
import PhotoViewer from './photo-viewer.svelte';
import SlideshowBar from './slideshow-bar.svelte';
import VideoViewer from './video-wrapper-viewer.svelte';
+ import ImagePanoramaViewer from './image-panorama-viewer.svelte';
interface Props {
assetStore?: AssetStore | null;
@@ -512,7 +512,7 @@
{:else if asset.exifInfo?.projectionType === ProjectionType.EQUIRECTANGULAR || (asset.originalPath && asset.originalPath
.toLowerCase()
.endsWith('.insp'))}
-
+
{:else if isShowEditor && selectedEditType === 'crop'}
{:else}
diff --git a/web/src/lib/components/asset-viewer/image-panorama-viewer.svelte b/web/src/lib/components/asset-viewer/image-panorama-viewer.svelte
new file mode 100644
index 0000000000..6da8cc33d3
--- /dev/null
+++ b/web/src/lib/components/asset-viewer/image-panorama-viewer.svelte
@@ -0,0 +1,32 @@
+
+
+
+ {#await Promise.all([loadAssetData(asset.id), import('./photo-sphere-viewer-adapter.svelte')])}
+
+ {:then [data, { default: PhotoSphereViewer }]}
+
+ {:catch}
+ {$t('errors.failed_to_load_asset')}
+ {/await}
+
diff --git a/web/src/lib/components/asset-viewer/panorama-viewer.svelte b/web/src/lib/components/asset-viewer/panorama-viewer.svelte
deleted file mode 100644
index b17f9fdea7..0000000000
--- a/web/src/lib/components/asset-viewer/panorama-viewer.svelte
+++ /dev/null
@@ -1,54 +0,0 @@
-
-
-
-
- {#await Promise.all([loadAssetData(), import('./photo-sphere-viewer-adapter.svelte'), ...photoSphereConfigs])}
-
- {:then [data, module, adapter, plugins, navbar]}
-
- {:catch}
- {$t('errors.failed_to_load_asset')}
- {/await}
-
diff --git a/web/src/lib/components/asset-viewer/photo-sphere-viewer-adapter.svelte b/web/src/lib/components/asset-viewer/photo-sphere-viewer-adapter.svelte
index c18e6bd14b..0c8f76a01e 100644
--- a/web/src/lib/components/asset-viewer/photo-sphere-viewer-adapter.svelte
+++ b/web/src/lib/components/asset-viewer/photo-sphere-viewer-adapter.svelte
@@ -12,7 +12,7 @@
interface Props {
panorama: string | { source: string };
- originalImageUrl: string | null;
+ originalImageUrl?: string;
adapter?: AdapterConstructor | [AdapterConstructor, unknown];
plugins?: (PluginConstructor | [PluginConstructor, unknown])[];
navbar?: boolean;
diff --git a/web/src/lib/components/asset-viewer/video-panorama-viewer.svelte b/web/src/lib/components/asset-viewer/video-panorama-viewer.svelte
new file mode 100644
index 0000000000..73315d661e
--- /dev/null
+++ b/web/src/lib/components/asset-viewer/video-panorama-viewer.svelte
@@ -0,0 +1,29 @@
+
+
+
+ {#await modules}
+
+ {:then [PhotoSphereViewer, adapter, videoPlugin]}
+
+ {:catch}
+ {$t('errors.failed_to_load_asset')}
+ {/await}
+
diff --git a/web/src/lib/components/asset-viewer/video-wrapper-viewer.svelte b/web/src/lib/components/asset-viewer/video-wrapper-viewer.svelte
index 3ee4791b07..7ee21e59a2 100644
--- a/web/src/lib/components/asset-viewer/video-wrapper-viewer.svelte
+++ b/web/src/lib/components/asset-viewer/video-wrapper-viewer.svelte
@@ -1,8 +1,7 @@
{#if projectionType === ProjectionType.EQUIRECTANGULAR}
-