From 37eea2d353aa95fbcd982e0acdd217fc6a3a7b2d Mon Sep 17 00:00:00 2001 From: Ben <45583362+ben-basten@users.noreply.github.com> Date: Thu, 11 Apr 2024 09:01:16 +0000 Subject: [PATCH] chore(web): move BaseModal to callback pattern (#8696) * chore(web): move BaseModal to callback to close * chore: add question mark --- web/src/lib/components/album-page/albums-list.svelte | 4 ++-- .../components/album-page/share-info-modal.svelte | 6 +++--- .../album-page/user-selection-modal.svelte | 4 ++-- .../lib/components/asset-viewer/asset-viewer.svelte | 6 +++--- .../photos-page/actions/add-to-album.svelte | 2 +- .../photos-page/actions/create-shared-link.svelte | 2 +- .../shared-components/album-selection-modal.svelte | 4 ++-- .../components/shared-components/base-modal.svelte | 12 +++++------- .../create-shared-link-modal.svelte | 7 +++---- .../shared-components/full-screen-modal.svelte | 2 +- .../components/shared-components/modal-header.svelte | 8 ++------ .../shared-components/profile-image-cropper.svelte | 10 ++++------ .../partner-selection-modal.svelte | 5 +++-- .../user-settings-page/partner-settings.svelte | 2 +- web/src/routes/(user)/albums/[albumId]/+page.svelte | 6 +++--- .../routes/(user)/sharing/sharedlinks/+page.svelte | 2 +- 16 files changed, 37 insertions(+), 45 deletions(-) diff --git a/web/src/lib/components/album-page/albums-list.svelte b/web/src/lib/components/album-page/albums-list.svelte index 12b55cc0c9..4c2e2a8a96 100644 --- a/web/src/lib/components/album-page/albums-list.svelte +++ b/web/src/lib/components/album-page/albums-list.svelte @@ -442,7 +442,7 @@ {#if showShareByURLModal} closeShareModal()} + onClose={() => closeShareModal()} on:created={() => albumToShare && handleSharedLinkCreated(albumToShare)} /> {:else} @@ -450,7 +450,7 @@ album={albumToShare} on:select={({ detail: users }) => handleAddUsers(users)} on:share={() => (showShareByURLModal = true)} - on:close={() => closeShareModal()} + onClose={() => closeShareModal()} /> {/if} {/if} 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 01a5a0a234..2249d20510 100644 --- a/web/src/lib/components/album-page/share-info-modal.svelte +++ b/web/src/lib/components/album-page/share-info-modal.svelte @@ -13,10 +13,10 @@ import UserAvatar from '../shared-components/user-avatar.svelte'; export let album: AlbumResponseDto; + export let onClose: () => void; const dispatch = createEventDispatcher<{ remove: string; - close: void; }>(); let currentUser: UserResponseDto; @@ -66,7 +66,7 @@ {#if !selectedRemoveUser} - +
@@ -134,7 +134,7 @@ (selectedRemoveUser = null)} 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 d7b7cc5142..87caa822ec 100644 --- a/web/src/lib/components/album-page/user-selection-modal.svelte +++ b/web/src/lib/components/album-page/user-selection-modal.svelte @@ -16,13 +16,13 @@ import UserAvatar from '../shared-components/user-avatar.svelte'; export let album: AlbumResponseDto; + export let onClose: () => void; let users: UserResponseDto[] = []; let selectedUsers: UserResponseDto[] = []; const dispatch = createEventDispatcher<{ select: UserResponseDto[]; share: void; - close: void; }>(); let sharedLinks: SharedLinkResponseDto[] = []; onMount(async () => { @@ -54,7 +54,7 @@ }; - + {#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 d3a2deb450..3ba687a63e 100644 --- a/web/src/lib/components/asset-viewer/asset-viewer.svelte +++ b/web/src/lib/components/asset-viewer/asset-viewer.svelte @@ -756,7 +756,7 @@ shared={addToSharedAlbum} on:newAlbum={({ detail }) => handleAddToNewAlbum(detail)} on:album={({ detail }) => handleAddToAlbum(detail)} - on:close={() => (isShowAlbumPicker = false)} + onClose={() => (isShowAlbumPicker = false)} /> {/if} @@ -770,11 +770,11 @@ {/if} {#if isShowProfileImageCrop} - (isShowProfileImageCrop = false)} /> + (isShowProfileImageCrop = false)} /> {/if} {#if isShowShareModal} - (isShowShareModal = false)} /> + (isShowShareModal = false)} /> {/if}
diff --git a/web/src/lib/components/photos-page/actions/add-to-album.svelte b/web/src/lib/components/photos-page/actions/add-to-album.svelte index 7068688ba0..1a0b2efd62 100644 --- a/web/src/lib/components/photos-page/actions/add-to-album.svelte +++ b/web/src/lib/components/photos-page/actions/add-to-album.svelte @@ -46,6 +46,6 @@ {shared} on:newAlbum={({ detail }) => handleAddToNewAlbum(detail)} on:album={({ detail }) => handleAddToAlbum(detail)} - on:close={handleHideAlbumPicker} + onClose={handleHideAlbumPicker} /> {/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 ef9121ced6..0bd00b9566 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 @@ -11,5 +11,5 @@ (showModal = true)} /> {#if showModal} - id)} on:close={() => (showModal = false)} /> + id)} onClose={() => (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 f86ede716b..2628dbe285 100644 --- a/web/src/lib/components/shared-components/album-selection-modal.svelte +++ b/web/src/lib/components/shared-components/album-selection-modal.svelte @@ -16,10 +16,10 @@ const dispatch = createEventDispatcher<{ newAlbum: string; album: AlbumResponseDto; - close: void; }>(); export let shared: boolean; + export let onClose: () => void; onMount(async () => { albums = await getAllAlbums({ shared: shared || undefined }); @@ -52,7 +52,7 @@ }; - +
{#if loading} {#each { length: 3 } as _} diff --git a/web/src/lib/components/shared-components/base-modal.svelte b/web/src/lib/components/shared-components/base-modal.svelte index 8187fc79e8..ba9eb2bd55 100644 --- a/web/src/lib/components/shared-components/base-modal.svelte +++ b/web/src/lib/components/shared-components/base-modal.svelte @@ -1,20 +1,18 @@ - +
{#if shareType === SharedLinkType.Album} {#if !editingLink} diff --git a/web/src/lib/components/shared-components/full-screen-modal.svelte b/web/src/lib/components/shared-components/full-screen-modal.svelte index 3c851b8398..ae4d3214a0 100644 --- a/web/src/lib/components/shared-components/full-screen-modal.svelte +++ b/web/src/lib/components/shared-components/full-screen-modal.svelte @@ -55,7 +55,7 @@ aria-modal="true" aria-labelledby={titleId} > - onClose?.()} /> +
diff --git a/web/src/lib/components/shared-components/modal-header.svelte b/web/src/lib/components/shared-components/modal-header.svelte index 75b6622b86..db2961c53b 100644 --- a/web/src/lib/components/shared-components/modal-header.svelte +++ b/web/src/lib/components/shared-components/modal-header.svelte @@ -2,18 +2,14 @@ import ImmichLogo from '$lib/components/shared-components/immich-logo.svelte'; import Icon from '$lib/components/elements/icon.svelte'; import CircleIconButton from '$lib/components/elements/buttons/circle-icon-button.svelte'; - import { createEventDispatcher } from 'svelte'; import { mdiClose } from '@mdi/js'; - const dispatch = createEventDispatcher<{ - close: void; - }>(); - /** * Unique identifier for the header text. */ export let id: string; export let title: string; + export let onClose: () => void; /** * If true, the logo will be displayed next to the modal title. */ @@ -36,5 +32,5 @@
- dispatch('close')} icon={mdiClose} size={'20'} title="Close" /> + 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 de583e0a01..f8a31f1c2e 100644 --- a/web/src/lib/components/shared-components/profile-image-cropper.svelte +++ b/web/src/lib/components/shared-components/profile-image-cropper.svelte @@ -3,17 +3,15 @@ import { handleError } from '$lib/utils/handle-error'; import { createProfileImage, type AssetResponseDto } from '@immich/sdk'; import domtoimage from 'dom-to-image'; - import { createEventDispatcher, onMount } from 'svelte'; + import { onMount } from 'svelte'; import PhotoViewer from '../asset-viewer/photo-viewer.svelte'; import Button from '../elements/buttons/button.svelte'; import BaseModal from './base-modal.svelte'; import { NotificationType, notificationController } from './notification/notification'; export let asset: AssetResponseDto; + export let onClose: () => void; - const dispatch = createEventDispatcher<{ - close: void; - }>(); let imgElement: HTMLDivElement; onMount(() => { @@ -67,11 +65,11 @@ } catch (error) { handleError(error, 'Error setting profile picture.'); } - dispatch('close'); + onClose(); }; - +
void; let availableUsers: UserResponseDto[] = []; let selectedUsers: UserResponseDto[] = []; - const dispatch = createEventDispatcher<{ close: void; 'add-users': UserResponseDto[] }>(); + const dispatch = createEventDispatcher<{ 'add-users': UserResponseDto[] }>(); onMount(async () => { // TODO: update endpoint to have a query param for deleted users @@ -32,7 +33,7 @@ }; - +
{#if availableUsers.length > 0} {#each availableUsers as user} diff --git a/web/src/lib/components/user-settings-page/partner-settings.svelte b/web/src/lib/components/user-settings-page/partner-settings.svelte index cf1d0ad281..8a34b3062a 100644 --- a/web/src/lib/components/user-settings-page/partner-settings.svelte +++ b/web/src/lib/components/user-settings-page/partner-settings.svelte @@ -182,7 +182,7 @@ {#if createPartnerFlag} (createPartnerFlag = false)} + onClose={() => (createPartnerFlag = false)} on:add-users={(event) => handleCreatePartners(event.detail)} /> {/if} diff --git a/web/src/routes/(user)/albums/[albumId]/+page.svelte b/web/src/routes/(user)/albums/[albumId]/+page.svelte index c6dc8dedc2..421e47ac50 100644 --- a/web/src/routes/(user)/albums/[albumId]/+page.svelte +++ b/web/src/routes/(user)/albums/[albumId]/+page.svelte @@ -665,17 +665,17 @@ {album} on:select={({ detail: users }) => handleAddUsers(users)} on:share={() => (viewMode = ViewMode.LINK_SHARING)} - on:close={() => (viewMode = ViewMode.VIEW)} + onClose={() => (viewMode = ViewMode.VIEW)} /> {/if} {#if viewMode === ViewMode.LINK_SHARING} - (viewMode = ViewMode.VIEW)} /> + (viewMode = ViewMode.VIEW)} /> {/if} {#if viewMode === ViewMode.VIEW_USERS} (viewMode = ViewMode.VIEW)} + onClose={() => (viewMode = ViewMode.VIEW)} {album} on:remove={({ detail: userId }) => handleRemoveUser(userId)} /> diff --git a/web/src/routes/(user)/sharing/sharedlinks/+page.svelte b/web/src/routes/(user)/sharing/sharedlinks/+page.svelte index 86f2cc3eaa..58fe56cfe0 100644 --- a/web/src/routes/(user)/sharing/sharedlinks/+page.svelte +++ b/web/src/routes/(user)/sharing/sharedlinks/+page.svelte @@ -83,7 +83,7 @@ {#if editSharedLink} - + {/if} {#if deleteLinkId}