diff --git a/web/src/lib/components/album-page/album-viewer.svelte b/web/src/lib/components/album-page/album-viewer.svelte index 3bbfaf21bc..ddc165c188 100644 --- a/web/src/lib/components/album-page/album-viewer.svelte +++ b/web/src/lib/components/album-page/album-viewer.svelte @@ -5,7 +5,7 @@ import { dragAndDropFilesStore } from '$lib/stores/drag-and-drop-files.store'; import { locale } from '$lib/stores/preferences.store'; import { fileUploadHandler, openFileUploadDialog } from '$lib/utils/file-uploader'; - import { TimeBucketSize, type AlbumResponseDto, type SharedLinkResponseDto } from '@api'; + import type { AlbumResponseDto, SharedLinkResponseDto } from '@api'; import { onDestroy, onMount } from 'svelte'; import { dateFormats } from '../../constants'; import { createAssetInteractionStore } from '../../stores/asset-interaction.store'; @@ -27,7 +27,7 @@ let { isViewing: showAssetViewer } = assetViewingStore; - const assetStore = new AssetStore({ size: TimeBucketSize.Month, albumId: album.id }); + const assetStore = new AssetStore({ albumId: album.id }); const assetInteractionStore = createAssetInteractionStore(); const { isMultiSelectState, selectedAssets } = assetInteractionStore; diff --git a/web/src/lib/stores/assets.store.ts b/web/src/lib/stores/assets.store.ts index c641931cef..56b897b57d 100644 --- a/web/src/lib/stores/assets.store.ts +++ b/web/src/lib/stores/assets.store.ts @@ -1,4 +1,4 @@ -import { api, AssetApiGetTimeBucketsRequest, AssetResponseDto } from '@api'; +import { api, AssetApiGetTimeBucketsRequest, AssetResponseDto, TimeBucketSize } from '@api'; import { throttle } from 'lodash-es'; import { DateTime } from 'luxon'; import { Unsubscriber, writable } from 'svelte/store'; @@ -12,7 +12,7 @@ export enum BucketPosition { Unknown = 'unknown', } -export type AssetStoreOptions = AssetApiGetTimeBucketsRequest; +export type AssetStoreOptions = Omit; export interface Viewport { width: number; @@ -64,6 +64,7 @@ export class AssetStore { private assetToBucket: Record = {}; private pendingChanges: PendingChange[] = []; private unsubscribers: Unsubscriber[] = []; + private options: AssetApiGetTimeBucketsRequest; initialized = false; timelineHeight = 0; @@ -71,7 +72,8 @@ export class AssetStore { assets: AssetResponseDto[] = []; albumAssets: Set = new Set(); - constructor(private options: AssetStoreOptions, private albumId?: string) { + constructor(options: AssetStoreOptions, private albumId?: string) { + this.options = { ...options, size: TimeBucketSize.Month }; this.store$.set(this); } diff --git a/web/src/routes/(user)/albums/[albumId]/+page.svelte b/web/src/routes/(user)/albums/[albumId]/+page.svelte index 5bf09dddc4..f29c26fa0e 100644 --- a/web/src/routes/(user)/albums/[albumId]/+page.svelte +++ b/web/src/routes/(user)/albums/[albumId]/+page.svelte @@ -34,7 +34,7 @@ import { downloadArchive } from '$lib/utils/asset-utils'; import { openFileUploadDialog } from '$lib/utils/file-uploader'; import { handleError } from '$lib/utils/handle-error'; - import { TimeBucketSize, UserResponseDto, api } from '@api'; + import { UserResponseDto, api } from '@api'; import Icon from '$lib/components/elements/icon.svelte'; import type { PageData } from './$types'; import { clickOutside } from '$lib/utils/click-outside'; @@ -76,11 +76,11 @@ let currentAlbumName = ''; let contextMenuPosition: { x: number; y: number } = { x: 0, y: 0 }; - const assetStore = new AssetStore({ size: TimeBucketSize.Month, albumId: album.id }); + const assetStore = new AssetStore({ albumId: album.id }); const assetInteractionStore = createAssetInteractionStore(); const { isMultiSelectState, selectedAssets } = assetInteractionStore; - const timelineStore = new AssetStore({ size: TimeBucketSize.Month, isArchived: false }, album.id); + const timelineStore = new AssetStore({ isArchived: false }, album.id); const timelineInteractionStore = createAssetInteractionStore(); const { selectedAssets: timelineSelected } = timelineInteractionStore; diff --git a/web/src/routes/(user)/archive/+page.svelte b/web/src/routes/(user)/archive/+page.svelte index c625ea95eb..845d36619c 100644 --- a/web/src/routes/(user)/archive/+page.svelte +++ b/web/src/routes/(user)/archive/+page.svelte @@ -14,13 +14,12 @@ import { AssetAction } from '$lib/constants'; import { createAssetInteractionStore } from '$lib/stores/asset-interaction.store'; import { AssetStore } from '$lib/stores/assets.store'; - import { TimeBucketSize } from '@api'; import type { PageData } from './$types'; import { mdiPlus, mdiDotsVertical } from '@mdi/js'; export let data: PageData; - const assetStore = new AssetStore({ size: TimeBucketSize.Month, isArchived: true }); + const assetStore = new AssetStore({ isArchived: true }); const assetInteractionStore = createAssetInteractionStore(); const { isMultiSelectState, selectedAssets } = assetInteractionStore; diff --git a/web/src/routes/(user)/favorites/+page.svelte b/web/src/routes/(user)/favorites/+page.svelte index fd954984d3..28d81e5a67 100644 --- a/web/src/routes/(user)/favorites/+page.svelte +++ b/web/src/routes/(user)/favorites/+page.svelte @@ -14,13 +14,12 @@ import { AssetAction } from '$lib/constants'; import { createAssetInteractionStore } from '$lib/stores/asset-interaction.store'; import { AssetStore } from '$lib/stores/assets.store'; - import { TimeBucketSize } from '@api'; import type { PageData } from './$types'; import { mdiDotsVertical, mdiPlus } from '@mdi/js'; export let data: PageData; - const assetStore = new AssetStore({ size: TimeBucketSize.Month, isFavorite: true }); + const assetStore = new AssetStore({ isFavorite: true }); const assetInteractionStore = createAssetInteractionStore(); const { isMultiSelectState, selectedAssets } = assetInteractionStore; diff --git a/web/src/routes/(user)/partners/[userId]/+page.svelte b/web/src/routes/(user)/partners/[userId]/+page.svelte index c1b1247981..a52303d835 100644 --- a/web/src/routes/(user)/partners/[userId]/+page.svelte +++ b/web/src/routes/(user)/partners/[userId]/+page.svelte @@ -10,14 +10,13 @@ import { AppRoute } from '$lib/constants'; import { createAssetInteractionStore } from '$lib/stores/asset-interaction.store'; import { AssetStore } from '$lib/stores/assets.store'; - import { TimeBucketSize } from '@api'; import { onDestroy } from 'svelte'; import type { PageData } from './$types'; import { mdiPlus, mdiArrowLeft } from '@mdi/js'; export let data: PageData; - const assetStore = new AssetStore({ size: TimeBucketSize.Month, userId: data.partner.id, isArchived: false }); + const assetStore = new AssetStore({ userId: data.partner.id, isArchived: false }); const assetInteractionStore = createAssetInteractionStore(); const { isMultiSelectState, selectedAssets } = assetInteractionStore; diff --git a/web/src/routes/(user)/people/[personId]/+page.svelte b/web/src/routes/(user)/people/[personId]/+page.svelte index 007ded7629..7c8f2b9f22 100644 --- a/web/src/routes/(user)/people/[personId]/+page.svelte +++ b/web/src/routes/(user)/people/[personId]/+page.svelte @@ -27,7 +27,7 @@ import { AssetStore } from '$lib/stores/assets.store'; import { websocketStore } from '$lib/stores/websocket'; import { handleError } from '$lib/utils/handle-error'; - import { AssetResponseDto, PersonResponseDto, TimeBucketSize, api } from '@api'; + import { AssetResponseDto, PersonResponseDto, api } from '@api'; import { onMount } from 'svelte'; import type { PageData } from './$types'; import { clickOutside } from '$lib/utils/click-outside'; @@ -49,7 +49,6 @@ } let assetStore = new AssetStore({ - size: TimeBucketSize.Month, isArchived: false, personId: data.person.id, }); @@ -153,7 +152,6 @@ } if (previousPersonId !== data.person.id) { assetStore = new AssetStore({ - size: TimeBucketSize.Month, isArchived: false, personId: data.person.id, }); diff --git a/web/src/routes/(user)/photos/+page.svelte b/web/src/routes/(user)/photos/+page.svelte index 0eb2375b06..8db2e43879 100644 --- a/web/src/routes/(user)/photos/+page.svelte +++ b/web/src/routes/(user)/photos/+page.svelte @@ -17,7 +17,6 @@ import { createAssetInteractionStore } from '$lib/stores/asset-interaction.store'; import { AssetStore } from '$lib/stores/assets.store'; import { openFileUploadDialog } from '$lib/utils/file-uploader'; - import { TimeBucketSize } from '@api'; import type { PageData } from './$types'; import { assetViewingStore } from '$lib/stores/asset-viewing.store'; import { mdiDotsVertical, mdiPlus } from '@mdi/js'; @@ -26,7 +25,7 @@ let { isViewing: showAssetViewer } = assetViewingStore; let handleEscapeKey = false; - const assetStore = new AssetStore({ size: TimeBucketSize.Month, isArchived: false }); + const assetStore = new AssetStore({ isArchived: false }); const assetInteractionStore = createAssetInteractionStore(); const { isMultiSelectState, selectedAssets } = assetInteractionStore; diff --git a/web/src/routes/(user)/trash/+page.svelte b/web/src/routes/(user)/trash/+page.svelte index 5d0f6cc2f8..5eaeb237d2 100644 --- a/web/src/routes/(user)/trash/+page.svelte +++ b/web/src/routes/(user)/trash/+page.svelte @@ -15,7 +15,7 @@ } from '$lib/components/shared-components/notification/notification'; import LinkButton from '$lib/components/elements/buttons/link-button.svelte'; import { AssetStore } from '$lib/stores/assets.store'; - import { api, TimeBucketSize } from '@api'; + import { api } from '@api'; import Icon from '$lib/components/elements/icon.svelte'; import type { PageData } from './$types'; import { featureFlags, serverConfig } from '$lib/stores/server-config.store'; @@ -28,7 +28,7 @@ $: $featureFlags.trash || goto(AppRoute.PHOTOS); - const assetStore = new AssetStore({ size: TimeBucketSize.Month, isTrashed: true }); + const assetStore = new AssetStore({ isTrashed: true }); const assetInteractionStore = createAssetInteractionStore(); const { isMultiSelectState, selectedAssets } = assetInteractionStore; let isShowEmptyConfirmation = false;