diff --git a/i18n/en.json b/i18n/en.json index 454b776aac..e9d4652d4e 100644 --- a/i18n/en.json +++ b/i18n/en.json @@ -1371,6 +1371,7 @@ "view_next_asset": "View next asset", "view_previous_asset": "View previous asset", "view_stack": "View Stack", + "view_qr_code": "View QR code", "visibility_changed": "Visibility changed for {count, plural, one {# person} other {# people}}", "waiting": "Waiting", "warning": "Warning", diff --git a/web/src/lib/components/album-page/album-shared-link.svelte b/web/src/lib/components/album-page/album-shared-link.svelte index 2b02eb8e07..b56aa11b6d 100644 --- a/web/src/lib/components/album-page/album-shared-link.svelte +++ b/web/src/lib/components/album-page/album-shared-link.svelte @@ -1,17 +1,20 @@ - - {#if Object.keys(selectedUsers).length > 0} - - {$t('selected')} - - {#each Object.values(selectedUsers) as { user } (user.id)} - {#key user.id} - - - - +{#if sharedLinkUrl} + (sharedLinkUrl = '')} value={sharedLinkUrl} /> +{:else} + + {#if Object.keys(selectedUsers).length > 0} + + {$t('selected')} + + {#each Object.values(selectedUsers) as { user } (user.id)} + {#key user.id} + + + + - - - - {user.name} - - - {user.email} - - - - ({ title, icon })} - onSelect={({ value }) => handleChangeRole(user, value)} - /> - - {/key} - {/each} - - - {/if} - - {#if users.length + Object.keys(selectedUsers).length === 0} - - {$t('album_share_no_users')} - - {/if} - - - {#if users.length > 0 && users.length !== Object.keys(selectedUsers).length} - {$t('users')} - - - {#each users as user (user.id)} - {#if !Object.keys(selectedUsers).includes(user.id)} - - handleToggle(user)} class="flex w-full place-items-center gap-4 p-4"> - + {user.name} @@ -129,44 +102,87 @@ {user.email} - - - {/if} - {/each} + + ({ title, icon })} + onSelect={({ value }) => handleChangeRole(user, value)} + /> + + {/key} + {/each} + {/if} - - {#if users.length > 0} - - - onSelect(Object.values(selectedUsers).map(({ user, ...rest }) => ({ userId: user.id, ...rest })))} - >{$t('add')} + {#if users.length + Object.keys(selectedUsers).length === 0} + + {$t('album_share_no_users')} + + {/if} + + + {#if users.length > 0 && users.length !== Object.keys(selectedUsers).length} + {$t('users')} + + + {#each users as user (user.id)} + {#if !Object.keys(selectedUsers).includes(user.id)} + + handleToggle(user)} + class="flex w-full place-items-center gap-4 p-4" + > + + + + {user.name} + + + {user.email} + + + + + {/if} + {/each} + + {/if} - {/if} - - - - {#if sharedLinks.length > 0} - - {$t('shared_links')} - {$t('view_all')} + {#if users.length > 0} + + + onSelect(Object.values(selectedUsers).map(({ user, ...rest }) => ({ userId: user.id, ...rest })))} + >{$t('add')} - - - {#each sharedLinks as sharedLink (sharedLink.id)} - - {/each} - {/if} - {$t('create_link')} - - + + + + {#if sharedLinks.length > 0} + + {$t('shared_links')} + {$t('view_all')} + + + + {#each sharedLinks as sharedLink (sharedLink.id)} + handleViewQrCode(sharedLink)} /> + {/each} + + {/if} + + {$t('create_link')} + + +{/if} diff --git a/web/src/lib/components/shared-components/create-share-link-modal/create-shared-link-modal.svelte b/web/src/lib/components/shared-components/create-share-link-modal/create-shared-link-modal.svelte index 19bef9c7db..a87ca3da4a 100644 --- a/web/src/lib/components/shared-components/create-share-link-modal/create-shared-link-modal.svelte +++ b/web/src/lib/components/shared-components/create-share-link-modal/create-shared-link-modal.svelte @@ -1,20 +1,20 @@ + + + + + + + + + + + + (value ? copyToClipboard(value) : '')} + aria-label={$t('copy_link_to_clipboard')} + /> + + + +
{$t('selected')}
- {user.name} -
- {user.email} -
- {$t('album_share_no_users')} -
{user.name} @@ -129,44 +102,87 @@ {user.email}
+ {$t('album_share_no_users')} +
+ {user.name} +
+ {user.email} +