From a02e1f5e7c85d1ca1454bc2f35f99835a7c3854b Mon Sep 17 00:00:00 2001 From: Brandon Wees Date: Mon, 2 Jun 2025 09:47:23 -0500 Subject: [PATCH] chore(web): migrate CircleIconButton to @immich/ui IconButton (#18486) * remove import and referenced file * first pass at replacing all CircleIconButtons * fix linting issues * fix combobox formatting issues * fix button context menu coloring * remove circle icon button from search history box * use theme switcher from UI lib * dark mode force the asset viewer icons * fix forced dark mode icons * dark mode memory viewer icons * fix: back button in memory viewer --------- Co-authored-by: Alex --- web/src/lib/cast/cast-button.svelte | 39 ++----- .../admin-page/jobs/job-tile.svelte | 10 +- .../machine-learning-settings.svelte | 14 ++- .../components/album-page/album-card.svelte | 13 +-- .../components/album-page/album-map.svelte | 12 ++- .../album-page/album-options.svelte | 2 +- .../album-page/album-shared-link.svelte | 12 ++- .../components/album-page/album-viewer.svelte | 18 ++-- .../asset-viewer/actions/close-action.svelte | 11 +- .../asset-viewer/actions/delete-action.svelte | 10 +- .../actions/download-action.svelte | 10 +- .../actions/favorite-action.svelte | 10 +- .../actions/motion-photo-action.svelte | 9 +- .../asset-viewer/actions/share-action.svelte | 11 +- .../actions/show-detail-action.svelte | 11 +- .../asset-viewer/activity-viewer.svelte | 23 ++-- .../asset-viewer/asset-viewer-nav-bar.svelte | 44 ++++---- .../asset-viewer/detail-panel.svelte | 53 ++++++---- .../asset-viewer/download-panel.svelte | 11 +- .../editor/crop-tool/crop-tool.svelte | 28 ++++- .../asset-viewer/editor/editor-panel.svelte | 18 +++- .../asset-viewer/slideshow-bar.svelte | 8 +- .../asset-viewer/video-remote-viewer.svelte | 10 +- .../__test__/circle-icon-button.spec.ts | 29 ----- .../buttons/circle-icon-button.svelte | 100 ------------------ .../lib/components/elements/search-bar.svelte | 24 +++-- .../faces-page/assign-face-side-panel.svelte | 45 ++++++-- .../manage-people-visibility.svelte | 30 +++++- .../faces-page/merge-face-selector.svelte | 12 ++- .../components/faces-page/people-card.svelte | 5 +- .../components/faces-page/people-list.svelte | 16 +-- .../faces-page/person-side-panel.svelte | 37 ++++--- .../forms/library-import-paths-form.svelte | 10 +- .../forms/library-scan-settings-form.svelte | 9 +- .../lib/components/layouts/ErrorLayout.svelte | 7 +- .../memory-page/memory-viewer.svelte | 68 ++++++++---- .../photos-page/actions/archive-action.svelte | 13 ++- .../actions/create-shared-link.svelte | 11 +- .../photos-page/actions/delete-assets.svelte | 20 +++- .../actions/download-action.svelte | 11 +- .../actions/favorite-action.svelte | 15 ++- .../actions/link-live-photo-action.svelte | 14 ++- .../actions/remove-from-album.svelte | 11 +- .../actions/remove-from-shared-link.svelte | 11 +- .../actions/select-all-assets.svelte | 10 +- .../photos-page/actions/tag-action.svelte | 13 ++- .../individual-shared-viewer.svelte | 27 ++++- .../shared-components/combobox.svelte | 12 ++- .../context-menu/button-context-menu.svelte | 20 ++-- .../shared-components/control-app-bar.svelte | 15 ++- .../shared-components/modal-header.svelte | 14 ++- .../navigation-bar/account-info-panel.svelte | 12 +-- .../navigation-bar/navigation-bar.svelte | 4 +- .../notification/notification-card.svelte | 12 ++- .../search-bar/search-bar.svelte | 33 +++++- .../search-bar/search-history-box.svelte | 12 ++- .../side-bar/purchase-info.svelte | 12 ++- .../shared-components/theme-button.svelte | 26 ++--- .../shared-components/tree/breadcrumbs.svelte | 20 ++-- .../shared-components/upload-panel.svelte | 32 +++--- .../actions/shared-link-copy.svelte | 11 +- .../actions/shared-link-delete.svelte | 11 +- .../actions/shared-link-edit.svelte | 11 +- .../sharedlinks-page/shared-link-card.svelte | 5 +- .../user-settings-page/device-card.svelte | 12 ++- .../partner-settings.svelte | 12 ++- .../user-api-key-list.svelte | 17 +-- web/src/lib/modals/AlbumUsersModal.svelte | 2 +- .../modals/PersonMergeSuggestionModal.svelte | 10 +- .../[[assetId=id]]/+page.svelte | 73 +++++++++---- .../[[assetId=id]]/+page.svelte | 11 +- .../[[assetId=id]]/+page.svelte | 20 +++- .../routes/(user)/user-settings/+page.svelte | 10 +- .../[[assetId=id]]/+page.svelte | 11 +- .../admin/library-management/+page.svelte | 3 +- 75 files changed, 822 insertions(+), 556 deletions(-) delete mode 100644 web/src/lib/components/elements/buttons/__test__/circle-icon-button.spec.ts delete mode 100644 web/src/lib/components/elements/buttons/circle-icon-button.svelte diff --git a/web/src/lib/cast/cast-button.svelte b/web/src/lib/cast/cast-button.svelte index c6be1c11d7..392418daa5 100644 --- a/web/src/lib/cast/cast-button.svelte +++ b/web/src/lib/cast/cast-button.svelte @@ -2,44 +2,23 @@ import { t } from 'svelte-i18n'; import { onMount } from 'svelte'; import { mdiCast, mdiCastConnected } from '@mdi/js'; - import CircleIconButton from '$lib/components/elements/buttons/circle-icon-button.svelte'; import { CastDestinationType, castManager } from '$lib/managers/cast-manager.svelte'; import { GCastDestination } from '$lib/utils/cast/gcast-destination.svelte'; import { IconButton } from '@immich/ui'; - interface Props { - whiteHover?: boolean; - navBar?: boolean; - } - - let { whiteHover, navBar }: Props = $props(); - onMount(async () => { await castManager.initialize(); }); - - const getButtonColor = () => { - return castManager.isCasting ? 'primary' : whiteHover ? undefined : 'opaque'; - }; {#if castManager.availableDestinations.length > 0 && castManager.availableDestinations[0].type === CastDestinationType.GCAST} - {#if navBar} - void GCastDestination.showCastDialog()} - aria-label={$t('cast')} - /> - {:else} - - {/if} + void GCastDestination.showCastDialog()} + aria-label={$t('cast')} + /> {/if} diff --git a/web/src/lib/components/admin-page/jobs/job-tile.svelte b/web/src/lib/components/admin-page/jobs/job-tile.svelte index c77ff60f22..e85232deaa 100644 --- a/web/src/lib/components/admin-page/jobs/job-tile.svelte +++ b/web/src/lib/components/admin-page/jobs/job-tile.svelte @@ -1,6 +1,5 @@ - + {#if albumMapViewManager.isInMapView} diff --git a/web/src/lib/components/album-page/album-options.svelte b/web/src/lib/components/album-page/album-options.svelte index 9fbcf4e2ad..3a20e10602 100644 --- a/web/src/lib/components/album-page/album-options.svelte +++ b/web/src/lib/components/album-page/album-options.svelte @@ -167,7 +167,7 @@ {$t('role_editor')} {/if} {#if user.id !== album.ownerId} - + {#if role === AlbumUserRole.Viewer} handleUpdateSharedUserRole(user, AlbumUserRole.Editor)} 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 b56aa11b6d..e7d6503da3 100644 --- a/web/src/lib/components/album-page/album-shared-link.svelte +++ b/web/src/lib/components/album-page/album-shared-link.svelte @@ -1,9 +1,8 @@ - onClick(!isPlaying)} /> diff --git a/web/src/lib/components/asset-viewer/actions/share-action.svelte b/web/src/lib/components/asset-viewer/actions/share-action.svelte index 7e2ffa1b94..5ab60fcb4c 100644 --- a/web/src/lib/components/asset-viewer/actions/share-action.svelte +++ b/web/src/lib/components/asset-viewer/actions/share-action.svelte @@ -1,10 +1,10 @@ - + diff --git a/web/src/lib/components/asset-viewer/actions/show-detail-action.svelte b/web/src/lib/components/asset-viewer/actions/show-detail-action.svelte index 5f6ac715db..8ac087bca6 100644 --- a/web/src/lib/components/asset-viewer/actions/show-detail-action.svelte +++ b/web/src/lib/components/asset-viewer/actions/show-detail-action.svelte @@ -1,6 +1,6 @@ - - - - - - diff --git a/web/src/lib/components/elements/search-bar.svelte b/web/src/lib/components/elements/search-bar.svelte index c852be3b68..2440285704 100644 --- a/web/src/lib/components/elements/search-bar.svelte +++ b/web/src/lib/components/elements/search-bar.svelte @@ -1,9 +1,9 @@ - + diff --git a/web/src/lib/components/photos-page/actions/delete-assets.svelte b/web/src/lib/components/photos-page/actions/delete-assets.svelte index 5cdcffb937..b16e046523 100644 --- a/web/src/lib/components/photos-page/actions/delete-assets.svelte +++ b/web/src/lib/components/photos-page/actions/delete-assets.svelte @@ -1,5 +1,4 @@ - + diff --git a/web/src/lib/components/photos-page/actions/select-all-assets.svelte b/web/src/lib/components/photos-page/actions/select-all-assets.svelte index 8fa7351609..f07bfd53cc 100644 --- a/web/src/lib/components/photos-page/actions/select-all-assets.svelte +++ b/web/src/lib/components/photos-page/actions/select-all-assets.svelte @@ -1,9 +1,8 @@ {#if !themeManager.theme.system} - themeManager.toggleTheme()} - {padding} + themeManager.setTheme(theme == 'dark' ? Theme.DARK : Theme.LIGHT)} /> {/if} diff --git a/web/src/lib/components/shared-components/tree/breadcrumbs.svelte b/web/src/lib/components/shared-components/tree/breadcrumbs.svelte index a0d4d250f7..135dda0aca 100644 --- a/web/src/lib/components/shared-components/tree/breadcrumbs.svelte +++ b/web/src/lib/components/shared-components/tree/breadcrumbs.svelte @@ -1,6 +1,6 @@