From 3e31ad51be242c7b1c543976bb15c9b68bdf9955 Mon Sep 17 00:00:00 2001 From: Jason Rasmussen Date: Fri, 18 Aug 2023 23:19:42 -0400 Subject: [PATCH] feat: shared link album time buckets (#3776) --- .../repositories/shared-link.repository.ts | 7 -- .../components/album-page/album-viewer.svelte | 114 ++++++++++-------- .../photos-page/asset-date-group.svelte | 2 + .../components/photos-page/asset-grid.svelte | 2 + .../routes/(user)/share/[key]/+page.svelte | 12 +- 5 files changed, 73 insertions(+), 64 deletions(-) diff --git a/server/src/infra/repositories/shared-link.repository.ts b/server/src/infra/repositories/shared-link.repository.ts index a295a42fb4..127efee439 100644 --- a/server/src/infra/repositories/shared-link.repository.ts +++ b/server/src/infra/repositories/shared-link.repository.ts @@ -62,15 +62,8 @@ export class SharedLinkRepository implements ISharedLinkRepository { key, }, relations: { - assets: true, - album: { - assets: true, - }, user: true, }, - order: { - createdAt: 'DESC', - }, }); } diff --git a/web/src/lib/components/album-page/album-viewer.svelte b/web/src/lib/components/album-page/album-viewer.svelte index c0ad198a4a..2597bf8bff 100644 --- a/web/src/lib/components/album-page/album-viewer.svelte +++ b/web/src/lib/components/album-page/album-viewer.svelte @@ -1,48 +1,66 @@ -
- {#if isMultiSelectionMode} - (multiSelectAsset = new Set())}> - +
+ {#if $isMultiSelectState} + assetInteractionStore.clearMultiselect()}> + {#if sharedLink.allowDownload} {/if} @@ -116,29 +130,33 @@ {/if} +
-
- -

- {album.albumName} -

+
+ +
+ +

+ {album.albumName} +

- - {#if album.assetCount > 0} - -

{getDateRange()}

-

·

-

{album.assetCount} items

-
- {/if} + + {#if album.assetCount > 0} + +

{getDateRange()}

+

·

+

{album.assetCount} items

+
+ {/if} - -

- {album.description} -

- - -
-
+ +

+ {album.description} +

+
+ + diff --git a/web/src/lib/components/photos-page/asset-date-group.svelte b/web/src/lib/components/photos-page/asset-date-group.svelte index 0a89599002..267f212b9c 100644 --- a/web/src/lib/components/photos-page/asset-date-group.svelte +++ b/web/src/lib/components/photos-page/asset-date-group.svelte @@ -21,6 +21,7 @@ export let isSelectionMode = false; export let viewport: Viewport; export let singleSelect = false; + export let publicSharedKey: string | undefined = undefined; export let assetStore: AssetStore; export let assetInteractionStore: AssetInteractionStore; @@ -189,6 +190,7 @@ disabled={$assetStore.albumAssets.has(asset.id)} thumbnailWidth={box.width} thumbnailHeight={box.height} + {publicSharedKey} /> {/each} diff --git a/web/src/lib/components/photos-page/asset-grid.svelte b/web/src/lib/components/photos-page/asset-grid.svelte index 1246817161..730c072c13 100644 --- a/web/src/lib/components/photos-page/asset-grid.svelte +++ b/web/src/lib/components/photos-page/asset-grid.svelte @@ -23,6 +23,7 @@ export let assetStore: AssetStore; export let assetInteractionStore: AssetInteractionStore; export let removeAction: AssetAction | null = null; + export let publicSharedKey: string | undefined = undefined; const { assetSelectionCandidates, assetSelectionStart, selectedGroup, selectedAssets, isMultiSelectState } = assetInteractionStore; @@ -349,6 +350,7 @@ bucketDate={bucket.bucketDate} bucketHeight={bucket.bucketHeight} {viewport} + {publicSharedKey} /> {/if} diff --git a/web/src/routes/(user)/share/[key]/+page.svelte b/web/src/routes/(user)/share/[key]/+page.svelte index bece11c329..3982221697 100644 --- a/web/src/routes/(user)/share/[key]/+page.svelte +++ b/web/src/routes/(user)/share/[key]/+page.svelte @@ -1,23 +1,17 @@ -{#if sharedLink.type == SharedLinkType.Album && album} -
- -
+{#if sharedLink.type == SharedLinkType.Album} + {/if} {#if sharedLink.type == SharedLinkType.Individual}