diff --git a/web/src/lib/components/album-page/album-map.svelte b/web/src/lib/components/album-page/album-map.svelte index 8230dea92e..871e26b4f9 100644 --- a/web/src/lib/components/album-page/album-map.svelte +++ b/web/src/lib/components/album-page/album-map.svelte @@ -130,6 +130,7 @@ clickable={false} bind:mapMarkers onSelect={onViewAssets} + showSettings={false} /> {/await} diff --git a/web/src/lib/components/asset-viewer/detail-panel.svelte b/web/src/lib/components/asset-viewer/detail-panel.svelte index 15bc42d001..d672b1a8b0 100644 --- a/web/src/lib/components/asset-viewer/detail-panel.svelte +++ b/web/src/lib/components/asset-viewer/detail-panel.svelte @@ -494,6 +494,7 @@ }, ]} center={latlng} + showSettings={false} zoom={12.5} simplified useLocationPin diff --git a/web/src/lib/components/map-page/map-settings-modal.svelte b/web/src/lib/components/map-page/map-settings-modal.svelte deleted file mode 100644 index c1ee1e0b80..0000000000 --- a/web/src/lib/components/map-page/map-settings-modal.svelte +++ /dev/null @@ -1,133 +0,0 @@ - - -
- - - - - - - - - - - - - - - - - - - {#if customDateRange} -
-
- - -
-
- - -
-
- -
-
- {:else} -
- -
- -
-
- {/if} -
- - {#snippet stickyBottom()} - - - {/snippet} -
-
diff --git a/web/src/lib/components/shared-components/change-location.svelte b/web/src/lib/components/shared-components/change-location.svelte index 3539945911..e502d9aeda 100644 --- a/web/src/lib/components/shared-components/change-location.svelte +++ b/web/src/lib/components/shared-components/change-location.svelte @@ -190,6 +190,7 @@ simplified={true} clickable={true} onClickPoint={(selected) => (point = selected)} + showSettings={false} /> {/await} diff --git a/web/src/lib/components/shared-components/map/map.svelte b/web/src/lib/components/shared-components/map/map.svelte index 5adeb2f00f..5742799409 100644 --- a/web/src/lib/components/shared-components/map/map.svelte +++ b/web/src/lib/components/shared-components/map/map.svelte @@ -9,15 +9,20 @@ + + + +
+ + + + + + + + + + + + + + + + + + {#if customDateRange} +
+
+ + +
+
+ + +
+
+ +
+
+ {:else} +
+ +
+ +
+
+ {/if} +
+
+
+ + +
+ + +
+
+
diff --git a/web/src/routes/(user)/map/[[photos=photos]]/[[assetId=id]]/+page.svelte b/web/src/routes/(user)/map/[[photos=photos]]/[[assetId=id]]/+page.svelte index 0a71f35ff2..b1fff3a0cd 100644 --- a/web/src/routes/(user)/map/[[photos=photos]]/[[assetId=id]]/+page.svelte +++ b/web/src/routes/(user)/map/[[photos=photos]]/[[assetId=id]]/+page.svelte @@ -3,21 +3,15 @@ import { goto } from '$app/navigation'; import UserPageLayout from '$lib/components/layouts/user-page-layout.svelte'; - import MapSettingsModal from '$lib/components/map-page/map-settings-modal.svelte'; import Map from '$lib/components/shared-components/map/map.svelte'; import Portal from '$lib/components/shared-components/portal/portal.svelte'; import { AppRoute } from '$lib/constants'; import { assetViewingStore } from '$lib/stores/asset-viewing.store'; - import type { MapSettings } from '$lib/stores/preferences.store'; - import { mapSettings } from '$lib/stores/preferences.store'; import { featureFlags } from '$lib/stores/server-config.store'; - import { getMapMarkers, type MapMarkerResponseDto } from '@immich/sdk'; - import { isEqual } from 'lodash-es'; - import { DateTime, Duration } from 'luxon'; - import { onDestroy, onMount } from 'svelte'; - import type { PageData } from './$types'; import { handlePromiseError } from '$lib/utils'; import { navigate } from '$lib/utils/navigation'; + import { onDestroy } from 'svelte'; + import type { PageData } from './$types'; interface Props { data: PageData; @@ -27,18 +21,10 @@ let { isViewing: showAssetViewer, asset: viewingAsset, setAssetId } = assetViewingStore; - let abortController: AbortController; - let mapMarkers: MapMarkerResponseDto[] = $state([]); let viewingAssets: string[] = $state([]); let viewingAssetCursor = 0; - let showSettingsModal = $state(false); - - onMount(async () => { - mapMarkers = await loadMapMarkers(); - }); onDestroy(() => { - abortController?.abort(); assetViewingStore.showAssetViewer(false); }); @@ -47,55 +33,6 @@ handlePromiseError(goto(AppRoute.PHOTOS)); } }); - const omit = (obj: MapSettings, key: string) => { - return Object.fromEntries(Object.entries(obj).filter(([k]) => k !== key)); - }; - - async function loadMapMarkers() { - if (abortController) { - abortController.abort(); - } - abortController = new AbortController(); - - const { includeArchived, onlyFavorites, withPartners, withSharedAlbums } = $mapSettings; - const { fileCreatedAfter, fileCreatedBefore } = getFileCreatedDates(); - - return await getMapMarkers( - { - isArchived: includeArchived && undefined, - isFavorite: onlyFavorites || undefined, - fileCreatedAfter: fileCreatedAfter || undefined, - fileCreatedBefore, - withPartners: withPartners || undefined, - withSharedAlbums: withSharedAlbums || undefined, - }, - { - signal: abortController.signal, - }, - ); - } - - function getFileCreatedDates() { - const { relativeDate, dateAfter, dateBefore } = $mapSettings; - - if (relativeDate) { - const duration = Duration.fromISO(relativeDate); - return { - fileCreatedAfter: duration.isValid ? DateTime.now().minus(duration).toISO() : undefined, - }; - } - - try { - return { - fileCreatedAfter: dateAfter ? new Date(dateAfter).toISOString() : undefined, - fileCreatedBefore: dateBefore ? new Date(dateBefore).toISOString() : undefined, - }; - } catch { - $mapSettings.dateAfter = ''; - $mapSettings.dateBefore = ''; - return {}; - } - } async function onViewAssets(assetIds: string[]) { viewingAssets = assetIds; @@ -135,7 +72,7 @@ {#if $featureFlags.loaded && $featureFlags.map}
- +
@@ -156,20 +93,4 @@ {/await} {/if} - - {#if showSettingsModal} - (showSettingsModal = false)} - onSave={async (settings) => { - const shouldUpdate = !isEqual(omit(settings, 'allowDarkMode'), omit($mapSettings, 'allowDarkMode')); - showSettingsModal = false; - $mapSettings = settings; - - if (shouldUpdate) { - mapMarkers = await loadMapMarkers(); - } - }} - /> - {/if} {/if}