From f27bdf7523db24d34402bbd28dd5e0ce61e2a3a9 Mon Sep 17 00:00:00 2001 From: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com> Date: Wed, 23 Jul 2025 23:27:09 +0200 Subject: [PATCH] chore: migrate to UI modal manager (#20116) --- .../admin-page/jobs/jobs-panel.svelte | 2 +- .../settings/auth/auth-settings.svelte | 2 +- .../template-settings.svelte | 3 +- .../components/album-page/album-map.svelte | 3 +- .../components/album-page/albums-list.svelte | 2 +- .../actions/add-to-album-action.svelte | 2 +- .../actions/keep-this-delete-others.svelte | 3 +- .../actions/set-profile-picture-action.svelte | 2 +- .../actions/set-visibility-action.svelte | 3 +- .../asset-viewer/actions/share-action.svelte | 3 +- .../asset-viewer/detail-panel-tags.svelte | 2 +- .../face-editor/face-editor.svelte | 3 +- .../asset-viewer/slideshow-bar.svelte | 3 +- .../faces-page/merge-face-selector.svelte | 3 +- .../faces-page/person-side-panel.svelte | 3 +- .../forms/library-import-paths-form.svelte | 3 +- .../forms/library-scan-settings-form.svelte | 3 +- .../photos-page/actions/add-to-album.svelte | 2 +- .../actions/change-description-action.svelte | 6 +-- .../actions/create-shared-link.svelte | 3 +- .../actions/remove-from-album.svelte | 3 +- .../actions/remove-from-shared-link.svelte | 3 +- .../actions/set-visibility-action.svelte | 4 +- .../photos-page/actions/tag-action.svelte | 3 +- .../components/photos-page/asset-grid.svelte | 4 +- .../gallery-viewer/gallery-viewer.svelte | 2 +- .../shared-components/map/map.svelte | 2 +- .../shared-components/modal-header.svelte | 49 ----------------- .../navigation-bar/account-info-panel.svelte | 3 +- .../search-bar/search-bar.svelte | 3 +- .../side-bar/purchase-info.svelte | 5 +- .../side-bar/server-status.svelte | 2 +- .../user-settings-page/device-list.svelte | 3 +- .../partner-settings.svelte | 3 +- .../user-api-key-list.svelte | 3 +- .../user-purchase-settings.svelte | 3 +- web/src/lib/managers/modal-manager.svelte.ts | 53 ------------------- web/src/lib/modals/AlbumOptionsModal.svelte | 3 +- web/src/lib/modals/AlbumUsersModal.svelte | 3 +- ...AssetUpdateDescriptionConfirmModal.svelte} | 0 web/src/lib/utils/album-utils.ts | 2 +- .../[[assetId=id]]/+page.svelte | 3 +- web/src/routes/(user)/people/+page.svelte | 3 +- .../[[assetId=id]]/+page.svelte | 2 +- .../shared-links/[[id=id]]/+page.svelte | 2 +- .../[[assetId=id]]/+page.svelte | 3 +- .../[[assetId=id]]/+page.svelte | 5 +- .../routes/(user)/user-settings/+page.svelte | 3 +- .../[[assetId=id]]/+page.svelte | 5 +- web/src/routes/+layout.svelte | 3 +- web/src/routes/admin/jobs-status/+page.svelte | 3 +- .../admin/library-management/+page.svelte | 3 +- web/src/routes/admin/users/+page.svelte | 3 +- web/src/routes/admin/users/[id]/+page.svelte | 4 +- 54 files changed, 58 insertions(+), 196 deletions(-) delete mode 100644 web/src/lib/components/shared-components/modal-header.svelte delete mode 100644 web/src/lib/managers/modal-manager.svelte.ts rename web/src/lib/modals/{AssetUpdateDecriptionConfirmModal.svelte => AssetUpdateDescriptionConfirmModal.svelte} (100%) diff --git a/web/src/lib/components/admin-page/jobs/jobs-panel.svelte b/web/src/lib/components/admin-page/jobs/jobs-panel.svelte index 73dfb30908..463bcb3d20 100644 --- a/web/src/lib/components/admin-page/jobs/jobs-panel.svelte +++ b/web/src/lib/components/admin-page/jobs/jobs-panel.svelte @@ -3,11 +3,11 @@ notificationController, NotificationType, } from '$lib/components/shared-components/notification/notification'; - import { modalManager } from '$lib/managers/modal-manager.svelte'; import { featureFlags } from '$lib/stores/server-config.store'; import { getJobName } from '$lib/utils'; import { handleError } from '$lib/utils/handle-error'; import { JobCommand, JobName, sendJobCommand, type AllJobStatusResponseDto, type JobCommandDto } from '@immich/sdk'; + import { modalManager } from '@immich/ui'; import { mdiContentDuplicate, mdiFaceRecognition, diff --git a/web/src/lib/components/admin-page/settings/auth/auth-settings.svelte b/web/src/lib/components/admin-page/settings/auth/auth-settings.svelte index a1926b4020..ce6dc26171 100644 --- a/web/src/lib/components/admin-page/settings/auth/auth-settings.svelte +++ b/web/src/lib/components/admin-page/settings/auth/auth-settings.svelte @@ -6,9 +6,9 @@ import SettingSelect from '$lib/components/shared-components/settings/setting-select.svelte'; import SettingSwitch from '$lib/components/shared-components/settings/setting-switch.svelte'; import { SettingInputFieldType } from '$lib/constants'; - import { modalManager } from '$lib/managers/modal-manager.svelte'; import AuthDisableLoginConfirmModal from '$lib/modals/AuthDisableLoginConfirmModal.svelte'; import { OAuthTokenEndpointAuthMethod, type SystemConfigDto } from '@immich/sdk'; + import { modalManager } from '@immich/ui'; import { isEqual } from 'lodash-es'; import { t } from 'svelte-i18n'; import { fade } from 'svelte/transition'; diff --git a/web/src/lib/components/admin-page/settings/template-settings/template-settings.svelte b/web/src/lib/components/admin-page/settings/template-settings/template-settings.svelte index 872b4b9833..a337aab2ae 100644 --- a/web/src/lib/components/admin-page/settings/template-settings/template-settings.svelte +++ b/web/src/lib/components/admin-page/settings/template-settings/template-settings.svelte @@ -4,11 +4,10 @@ import LoadingSpinner from '$lib/components/shared-components/loading-spinner.svelte'; import SettingAccordion from '$lib/components/shared-components/settings/setting-accordion.svelte'; import SettingTextarea from '$lib/components/shared-components/settings/setting-textarea.svelte'; - import { modalManager } from '$lib/managers/modal-manager.svelte'; import EmailTemplatePreviewModal from '$lib/modals/EmailTemplatePreviewModal.svelte'; import { handleError } from '$lib/utils/handle-error'; import { type SystemConfigDto, type SystemConfigTemplateEmailsDto, getNotificationTemplateAdmin } from '@immich/sdk'; - import { Button } from '@immich/ui'; + import { Button, modalManager } from '@immich/ui'; import { mdiEyeOutline } from '@mdi/js'; import { t } from 'svelte-i18n'; import { fade } from 'svelte/transition'; diff --git a/web/src/lib/components/album-page/album-map.svelte b/web/src/lib/components/album-page/album-map.svelte index fbb831a38b..7d7060ac0a 100644 --- a/web/src/lib/components/album-page/album-map.svelte +++ b/web/src/lib/components/album-page/album-map.svelte @@ -1,9 +1,8 @@ - -
-
- {#if showLogo} - - {:else if icon} - - {/if} -

- {title} -

-
- - -
diff --git a/web/src/lib/components/shared-components/navigation-bar/account-info-panel.svelte b/web/src/lib/components/shared-components/navigation-bar/account-info-panel.svelte index b079ecb241..b1746932b1 100644 --- a/web/src/lib/components/shared-components/navigation-bar/account-info-panel.svelte +++ b/web/src/lib/components/shared-components/navigation-bar/account-info-panel.svelte @@ -3,13 +3,12 @@ import { focusTrap } from '$lib/actions/focus-trap'; import Icon from '$lib/components/elements/icon.svelte'; import { AppRoute } from '$lib/constants'; - import { modalManager } from '$lib/managers/modal-manager.svelte'; import AvatarEditModal from '$lib/modals/AvatarEditModal.svelte'; import HelpAndFeedbackModal from '$lib/modals/HelpAndFeedbackModal.svelte'; import { user } from '$lib/stores/user.store'; import { userInteraction } from '$lib/stores/user.svelte'; import { getAboutInfo, type ServerAboutResponseDto } from '@immich/sdk'; - import { Button, IconButton } from '@immich/ui'; + import { Button, IconButton, modalManager } from '@immich/ui'; import { mdiCog, mdiLogout, mdiPencil, mdiWrench } from '@mdi/js'; import { onMount } from 'svelte'; import { t } from 'svelte-i18n'; diff --git a/web/src/lib/components/shared-components/search-bar/search-bar.svelte b/web/src/lib/components/shared-components/search-bar/search-bar.svelte index 9f36431f19..4c807e7652 100644 --- a/web/src/lib/components/shared-components/search-bar/search-bar.svelte +++ b/web/src/lib/components/shared-components/search-bar/search-bar.svelte @@ -3,14 +3,13 @@ import { focusOutside } from '$lib/actions/focus-outside'; import { shortcuts } from '$lib/actions/shortcut'; import { AppRoute } from '$lib/constants'; - import { modalManager } from '$lib/managers/modal-manager.svelte'; import SearchFilterModal from '$lib/modals/SearchFilterModal.svelte'; import { searchStore } from '$lib/stores/search.svelte'; import { handlePromiseError } from '$lib/utils'; import { generateId } from '$lib/utils/generate-id'; import { getMetadataSearchQuery } from '$lib/utils/metadata-search'; import type { MetadataSearchDto, SmartSearchDto } from '@immich/sdk'; - import { IconButton } from '@immich/ui'; + import { IconButton, modalManager } from '@immich/ui'; import { mdiClose, mdiMagnify, mdiTune } from '@mdi/js'; import { onDestroy, tick } from 'svelte'; import { t } from 'svelte-i18n'; diff --git a/web/src/lib/components/shared-components/side-bar/purchase-info.svelte b/web/src/lib/components/shared-components/side-bar/purchase-info.svelte index 627292ea1b..f21cc7de4d 100644 --- a/web/src/lib/components/shared-components/side-bar/purchase-info.svelte +++ b/web/src/lib/components/shared-components/side-bar/purchase-info.svelte @@ -5,7 +5,6 @@ import Portal from '$lib/components/shared-components/portal/portal.svelte'; import SupporterBadge from '$lib/components/shared-components/side-bar/supporter-badge.svelte'; import { AppRoute } from '$lib/constants'; - import { modalManager } from '$lib/managers/modal-manager.svelte'; import PurchaseModal from '$lib/modals/PurchaseModal.svelte'; import { purchaseStore } from '$lib/stores/purchase.store'; import { preferences } from '$lib/stores/user.store'; @@ -13,11 +12,11 @@ import { handleError } from '$lib/utils/handle-error'; import { getButtonVisibility } from '$lib/utils/purchase-utils'; import { updateMyPreferences } from '@immich/sdk'; - import { Button, IconButton } from '@immich/ui'; + import { Button, IconButton, modalManager } from '@immich/ui'; import { mdiClose, mdiInformationOutline } from '@mdi/js'; import { t } from 'svelte-i18n'; - import { fade } from 'svelte/transition'; import { SvelteDate } from 'svelte/reactivity'; + import { fade } from 'svelte/transition'; let showMessage = $state(false); let hoverMessage = $state(false); diff --git a/web/src/lib/components/shared-components/side-bar/server-status.svelte b/web/src/lib/components/shared-components/side-bar/server-status.svelte index 0a9f3d9d8c..3c3da8eb5f 100644 --- a/web/src/lib/components/shared-components/side-bar/server-status.svelte +++ b/web/src/lib/components/shared-components/side-bar/server-status.svelte @@ -1,6 +1,5 @@