diff --git a/web/src/lib/components/album-page/share-info-modal.svelte b/web/src/lib/components/album-page/share-info-modal.svelte index 5f60d2b40..b96974e0e 100644 --- a/web/src/lib/components/album-page/share-info-modal.svelte +++ b/web/src/lib/components/album-page/share-info-modal.svelte @@ -66,13 +66,7 @@ {#if !selectedRemoveUser} - dispatch('close')}> - - -

Options

-
-
- +
diff --git a/web/src/lib/components/album-page/user-selection-modal.svelte b/web/src/lib/components/album-page/user-selection-modal.svelte index b7c0b53b6..d7b7cc514 100644 --- a/web/src/lib/components/album-page/user-selection-modal.svelte +++ b/web/src/lib/components/album-page/user-selection-modal.svelte @@ -13,7 +13,6 @@ import { createEventDispatcher, onMount } from 'svelte'; import Button from '../elements/buttons/button.svelte'; import BaseModal from '../shared-components/base-modal.svelte'; - import ImmichLogo from '../shared-components/immich-logo.svelte'; import UserAvatar from '../shared-components/user-avatar.svelte'; export let album: AlbumResponseDto; @@ -55,14 +54,7 @@ }; - dispatch('close')}> - - - -

Invite to album

-
-
- + {#if selectedUsers.length > 0}

To

diff --git a/web/src/lib/components/asset-viewer/asset-viewer.svelte b/web/src/lib/components/asset-viewer/asset-viewer.svelte index d81f00068..523642a9e 100644 --- a/web/src/lib/components/asset-viewer/asset-viewer.svelte +++ b/web/src/lib/components/asset-viewer/asset-viewer.svelte @@ -737,7 +737,6 @@ on:newAlbum={({ detail }) => handleAddToNewAlbum(detail)} on:album={({ detail }) => handleAddToAlbum(detail)} on:close={() => (isShowAlbumPicker = false)} - on:escape={() => (isShowAlbumPicker = false)} /> {/if} @@ -751,19 +750,11 @@ {/if} {#if isShowProfileImageCrop} - (isShowProfileImageCrop = false)} - on:escape={() => (isShowProfileImageCrop = false)} - /> + (isShowProfileImageCrop = false)} /> {/if} {#if isShowShareModal} - (isShowShareModal = false)} - on:escape={() => (isShowShareModal = false)} - /> + (isShowShareModal = false)} /> {/if}
diff --git a/web/src/lib/components/photos-page/actions/create-shared-link.svelte b/web/src/lib/components/photos-page/actions/create-shared-link.svelte index b3e68d303..ef9121ced 100644 --- a/web/src/lib/components/photos-page/actions/create-shared-link.svelte +++ b/web/src/lib/components/photos-page/actions/create-shared-link.svelte @@ -2,26 +2,14 @@ import CircleIconButton from '$lib/components/elements/buttons/circle-icon-button.svelte'; import CreateSharedLinkModal from '$lib/components/shared-components/create-share-link-modal/create-shared-link-modal.svelte'; import { mdiShareVariantOutline } from '@mdi/js'; - import { createEventDispatcher } from 'svelte'; import { getAssetControlContext } from '../asset-select-control-bar.svelte'; let showModal = false; - const dispatch = createEventDispatcher<{ - escape: void; - }>(); const { getAssets } = getAssetControlContext(); - const escape = () => { - dispatch('escape'); - showModal = false; - }; (showModal = true)} /> {#if showModal} - id)} - on:close={() => (showModal = false)} - on:escape={escape} - /> + id)} on:close={() => (showModal = false)} /> {/if} diff --git a/web/src/lib/components/shared-components/album-selection-modal.svelte b/web/src/lib/components/shared-components/album-selection-modal.svelte index 9e3caf00e..f86ede716 100644 --- a/web/src/lib/components/shared-components/album-selection-modal.svelte +++ b/web/src/lib/components/shared-components/album-selection-modal.svelte @@ -43,17 +43,16 @@ const handleNew = () => { dispatch('newAlbum', search.length > 0 ? search : ''); }; + + const getTitle = () => { + if (shared) { + return 'Add to shared album'; + } + return 'Add to album'; + }; - - - -

- Add to {shared ? 'Shared ' : ''}Album -

-
-
- +
{#if loading} {#each { length: 3 } as _} @@ -69,11 +68,9 @@
{/each} {:else} -
diff --git a/web/src/lib/components/shared-components/base-modal.svelte b/web/src/lib/components/shared-components/base-modal.svelte index c5bf5380a..4ffc91368 100644 --- a/web/src/lib/components/shared-components/base-modal.svelte +++ b/web/src/lib/components/shared-components/base-modal.svelte @@ -7,12 +7,26 @@ import { clickOutside } from '$lib/utils/click-outside'; import { mdiClose } from '@mdi/js'; import FocusTrap from '$lib/components/shared-components/focus-trap.svelte'; + import ImmichLogo from '$lib/components/shared-components/immich-logo.svelte'; + import Icon from '$lib/components/elements/icon.svelte'; const dispatch = createEventDispatcher<{ - escape: void; close: void; }>(); + /** + * Unique identifier for the modal. + */ + export let id: string; + export let title: string; export let zIndex = 9999; + /** + * If true, the logo will be displayed next to the modal title. + */ + export let showLogo = false; + /** + * Optional icon to display next to the modal title, if `showLogo` is false. + */ + export let icon: string | undefined = undefined; onMount(() => { if (browser) { @@ -36,7 +50,8 @@
dispatch('close'), - onEscape: () => dispatch('escape'), + onEscape: () => dispatch('close'), }} class="max-h-[800px] min-h-[200px] w-[450px] overflow-y-auto rounded-lg bg-immich-bg shadow-md dark:bg-immich-dark-gray dark:text-immich-dark-fg immich-scrollbar" tabindex="-1" >
-
- -

Modal Title

-
+
+ {#if showLogo} + +
+ {:else if icon} + +
+ {/if} +

+ {title} +

dispatch('close')} icon={mdiClose} size={'20'} title="Close" /> 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 801cb9f3e..fcc7c792f 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 @@ -143,20 +143,16 @@ handleError(error, 'Failed to edit shared link'); } }; + + const getTitle = () => { + if (editingLink) { + return 'Edit link'; + } + return 'Create link to share'; + }; - dispatch('close')} on:escape={() => dispatch('escape')}> - - - - {#if editingLink} -

Edit link

- {:else} -

Create link to share

- {/if} -
-
- +
{#if shareType === SharedLinkType.Album} {#if !editingLink} diff --git a/web/src/lib/components/shared-components/profile-image-cropper.svelte b/web/src/lib/components/shared-components/profile-image-cropper.svelte index 36cb6152f..de583e0a0 100644 --- a/web/src/lib/components/shared-components/profile-image-cropper.svelte +++ b/web/src/lib/components/shared-components/profile-image-cropper.svelte @@ -71,12 +71,7 @@ }; - - - -

Set profile picture

-
-
+
- dispatch('close')}> - - - -

Add partner

-
-
- +
{#if availableUsers.length > 0} {#each availableUsers as user} diff --git a/web/src/routes/(user)/photos/+page.svelte b/web/src/routes/(user)/photos/+page.svelte index ffc30d656..00409cdc1 100644 --- a/web/src/routes/(user)/photos/+page.svelte +++ b/web/src/routes/(user)/photos/+page.svelte @@ -53,7 +53,7 @@ assets={$selectedAssets} clearSelect={() => assetInteractionStore.clearMultiselect()} > - (handleEscapeKey = true)} /> +