From 276101ee82ef61e285e1da8fdafcc29bc7f64f39 Mon Sep 17 00:00:00 2001 From: Michel Heusschen <59014050+michelheusschen@users.noreply.github.com> Date: Tue, 13 Aug 2024 16:37:47 +0200 Subject: [PATCH] feat(web): improve shared link management on mobile (#11720) * feat(web): improve shared link management on mobile * fix format --- .../album-page/__tests__/album-cover.spec.ts | 4 +- .../components/album-page/album-cover.svelte | 12 +- .../context-menu/button-context-menu.svelte | 53 +++---- .../actions/shared-link-copy.svelte | 22 +++ .../actions/shared-link-delete.svelte | 15 ++ .../actions/shared-link-edit.svelte | 15 ++ .../covers/__tests__/asset-cover.spec.ts | 2 +- .../covers/__tests__/no-cover.spec.ts | 2 +- .../covers/__tests__/share-cover.spec.ts | 6 +- .../covers/asset-cover.svelte | 2 +- .../sharedlinks-page/covers/no-cover.svelte | 2 +- .../covers/share-cover.svelte | 2 +- .../sharedlinks-page/shared-link-card.svelte | 134 ++++++++++-------- web/src/lib/i18n/en.json | 2 +- .../(user)/sharing/sharedlinks/+page.svelte | 22 +-- 15 files changed, 174 insertions(+), 121 deletions(-) create mode 100644 web/src/lib/components/sharedlinks-page/actions/shared-link-copy.svelte create mode 100644 web/src/lib/components/sharedlinks-page/actions/shared-link-delete.svelte create mode 100644 web/src/lib/components/sharedlinks-page/actions/shared-link-edit.svelte diff --git a/web/src/lib/components/album-page/__tests__/album-cover.spec.ts b/web/src/lib/components/album-page/__tests__/album-cover.spec.ts index 1688283116dce..ec4878cd15044 100644 --- a/web/src/lib/components/album-page/__tests__/album-cover.spec.ts +++ b/web/src/lib/components/album-page/__tests__/album-cover.spec.ts @@ -19,7 +19,7 @@ describe('AlbumCover component', () => { const img = component.getByTestId('album-image') as HTMLImageElement; expect(img.alt).toBe('someName'); expect(img.getAttribute('loading')).toBe('lazy'); - expect(img.className).toBe('z-0 rounded-xl object-cover text'); + expect(img.className).toBe('z-0 rounded-xl object-cover aspect-square text'); expect(img.getAttribute('src')).toBe('/asdf'); expect(getAssetThumbnailUrl).toHaveBeenCalledWith({ id: '123' }); }); @@ -36,7 +36,7 @@ describe('AlbumCover component', () => { const img = component.getByTestId('album-image') as HTMLImageElement; expect(img.alt).toBe('unnamed_album'); expect(img.getAttribute('loading')).toBe('eager'); - expect(img.className).toBe('z-0 rounded-xl object-cover asdf'); + expect(img.className).toBe('z-0 rounded-xl object-cover aspect-square asdf'); expect(img.getAttribute('src')).toStrictEqual(expect.any(String)); }); }); diff --git a/web/src/lib/components/album-page/album-cover.svelte b/web/src/lib/components/album-page/album-cover.svelte index d6afba0a8b4c4..d0444f35990e2 100644 --- a/web/src/lib/components/album-page/album-cover.svelte +++ b/web/src/lib/components/album-page/album-cover.svelte @@ -14,10 +14,8 @@ $: thumbnailUrl = album.albumThumbnailAssetId ? getAssetThumbnailUrl({ id: album.albumThumbnailAssetId }) : null; -
{$t('expired')}
- {:else if expiresAt} -- {$t('expires_date', { values: { date: getCountDownExpirationDate(expiresAt, now) } })} -
- {:else} -{$t('expires_date', { values: { date: '∞' } })}
- {/if} -{$t('expired')}
+ {:else if expiresAt}- {link.album?.albumName.toUpperCase()} + {$t('expires_date', { values: { date: getCountDownExpirationDate(expiresAt, now) } })}
- {:else if link.type === SharedLinkType.Individual} -{$t('individual_share').toUpperCase()}
- {/if} - - {#if !isExpired} - -{$t('expires_date', { values: { date: '∞' } })}
{/if}{link.description ?? ''}
++ {#if link.type === SharedLinkType.Album} + {link.album?.albumName} + {:else if link.type === SharedLinkType.Individual} + {$t('individual_share')} + {/if} +
+ +{link.description ?? ''}
+{$t('manage_shared_links')}
{$t('you_dont_have_any_shared_links')}