diff --git a/web/src/lib/components/album-page/album-map.svelte b/web/src/lib/components/album-page/album-map.svelte new file mode 100644 index 00000000000..8230dea92e3 --- /dev/null +++ b/web/src/lib/components/album-page/album-map.svelte @@ -0,0 +1,158 @@ + + + + +{#if albumMapViewManager.isInMapView} +
+ +
+
+ {#await import('../shared-components/map/map.svelte')} + {#await delay(timeToLoadTheMap) then} + +
+ +
+ {/await} + {:then { default: Map }} + + {/await} +
+
+
+
+ + + {#if $showAssetViewer} + {#await import('../../../lib/components/asset-viewer/asset-viewer.svelte') then { default: AssetViewer }} + 1} + onNext={navigateNext} + onPrevious={navigatePrevious} + onRandom={navigateRandom} + onClose={() => { + assetViewingStore.showAssetViewer(false); + handlePromiseError(navigate({ targetRoute: 'current', assetId: null })); + }} + isShared={false} + /> + {/await} + {/if} + +{/if} diff --git a/web/src/lib/components/album-page/album-viewer.svelte b/web/src/lib/components/album-page/album-viewer.svelte index 09ec67e92bd..1f15e22d9e3 100644 --- a/web/src/lib/components/album-page/album-viewer.svelte +++ b/web/src/lib/components/album-page/album-viewer.svelte @@ -20,6 +20,7 @@ import { t } from 'svelte-i18n'; import { onDestroy } from 'svelte'; import { AssetInteraction } from '$lib/stores/asset-interaction.svelte'; + import AlbumMap from '$lib/components/album-page/album-map.svelte'; interface Props { sharedLink: SharedLinkResponseDto; @@ -91,7 +92,9 @@ icon={mdiFolderDownloadOutline} /> {/if} - + {#if sharedLink.showMetadata} + + {/if} {/snippet} diff --git a/web/src/lib/components/photos-page/asset-grid.svelte b/web/src/lib/components/photos-page/asset-grid.svelte index 7d496b7e3fd..b454d89217e 100644 --- a/web/src/lib/components/photos-page/asset-grid.svelte +++ b/web/src/lib/components/photos-page/asset-grid.svelte @@ -27,6 +27,7 @@ import type { AssetInteraction } from '$lib/stores/asset-interaction.svelte'; import { mobileDevice } from '$lib/stores/mobile-device.svelte'; import { focusNext } from '$lib/utils/focus-util'; + import { albumMapViewManager } from '$lib/managers/album-view-map.manager.svelte'; interface Props { isSelectionMode?: boolean; @@ -382,7 +383,6 @@ const handleNext = async () => { const nextAsset = await assetStore.getNextAsset($viewingAsset); - if (nextAsset) { const preloadAsset = await assetStore.getNextAsset(nextAsset); assetViewingStore.setAsset(nextAsset, preloadAsset ? [preloadAsset] : []); @@ -802,26 +802,28 @@ - - {#if $showAssetViewer} - {#await import('../asset-viewer/asset-viewer.svelte') then { default: AssetViewer }} - - {/await} - {/if} - +{#if !albumMapViewManager.isInMapView} + + {#if $showAssetViewer} + {#await import('../asset-viewer/asset-viewer.svelte') then { default: AssetViewer }} + + {/await} + {/if} + +{/if}