From 8923d5b0a398bb05a266820da81525fe284eaaa1 Mon Sep 17 00:00:00 2001 From: Jason Rasmussen Date: Thu, 12 Jun 2025 19:06:38 -0400 Subject: [PATCH] refactor: css variables (#19146) --- web/package-lock.json | 10 +++++----- web/package.json | 2 +- web/src/app.css | 12 ----------- .../admin-page/jobs/job-tile.svelte | 6 +++--- .../asset-viewer/detail-panel-tags.svelte | 2 +- web/src/lib/components/elements/badge.svelte | 19 +++--------------- .../forms/library-import-paths-form.svelte | 14 ++----------- .../notification/notification-card.svelte | 20 +++++++++---------- .../scrubber/scrubber.svelte | 5 +---- .../search-bar/search-tags-section.svelte | 14 ++++++------- .../side-bar/storage-space.svelte | 6 +++--- .../upload-asset-preview.svelte | 12 +++++------ .../shared-components/upload-panel.svelte | 12 +++++------ .../shared-components/user-avatar.svelte | 20 +++++++++---------- web/src/lib/modals/AlbumShareModal.svelte | 2 +- web/src/lib/modals/AssetTagModal.svelte | 2 +- .../lib/modals/UserDeleteConfirmModal.svelte | 2 +- web/src/routes/admin/users/[id]/+page.svelte | 2 +- web/src/routes/auth/onboarding/+page.svelte | 2 +- 19 files changed, 63 insertions(+), 101 deletions(-) diff --git a/web/package-lock.json b/web/package-lock.json index 034604130e..09514baa4e 100644 --- a/web/package-lock.json +++ b/web/package-lock.json @@ -11,7 +11,7 @@ "dependencies": { "@formatjs/icu-messageformat-parser": "^2.9.8", "@immich/sdk": "file:../open-api/typescript-sdk", - "@immich/ui": "^0.22.4", + "@immich/ui": "^0.22.7", "@mapbox/mapbox-gl-rtl-text": "0.2.3", "@mdi/js": "^7.4.47", "@photo-sphere-viewer/core": "^5.11.5", @@ -90,7 +90,7 @@ "@oazapfts/runtime": "^1.0.2" }, "devDependencies": { - "@types/node": "^22.15.21", + "@types/node": "^22.15.29", "typescript": "^5.3.3" } }, @@ -1330,9 +1330,9 @@ "link": true }, "node_modules/@immich/ui": { - "version": "0.22.4", - "resolved": "https://registry.npmjs.org/@immich/ui/-/ui-0.22.4.tgz", - "integrity": "sha512-l0H8G8XZ3YaP/pA8NsLhGsNZpTAwcOyEFmF88D5HZkK3nFTZOQFxvzcMfyOeMS6Nevv0CHdvJp3ns0zajfvNzw==", + "version": "0.22.7", + "resolved": "https://registry.npmjs.org/@immich/ui/-/ui-0.22.7.tgz", + "integrity": "sha512-FdA0RDSOO1IDSTQmCbW9u5yXFl59EHu++tYonDR/FEZUKrMwfmQEanePSW5g5KofdumKEuxBN1fWFym3NbB0jQ==", "license": "GNU Affero General Public License version 3", "dependencies": { "@mdi/js": "^7.4.47", diff --git a/web/package.json b/web/package.json index 0aa70a4b73..4a15dc1634 100644 --- a/web/package.json +++ b/web/package.json @@ -28,7 +28,7 @@ "dependencies": { "@formatjs/icu-messageformat-parser": "^2.9.8", "@immich/sdk": "file:../open-api/typescript-sdk", - "@immich/ui": "^0.22.4", + "@immich/ui": "^0.22.7", "@mapbox/mapbox-gl-rtl-text": "0.2.3", "@mdi/js": "^7.4.47", "@photo-sphere-viewer/core": "^5.11.5", diff --git a/web/src/app.css b/web/src/app.css index b45926c0c4..db6c43652b 100644 --- a/web/src/app.css +++ b/web/src/app.css @@ -41,17 +41,11 @@ --color-immich-bg: rgb(var(--immich-bg)); --color-immich-fg: rgb(var(--immich-fg)); --color-immich-gray: rgb(var(--immich-gray)); - --color-immich-error: rgb(var(--immich-error)); - --color-immich-success: rgb(var(--immich-success)); - --color-immich-warning: rgb(var(--immich-warning)); --color-immich-dark-primary: rgb(var(--immich-dark-primary)); --color-immich-dark-bg: rgb(var(--immich-dark-bg)); --color-immich-dark-fg: rgb(var(--immich-dark-fg)); --color-immich-dark-gray: rgb(var(--immich-dark-gray)); - --color-immich-dark-error: rgb(var(--immich-dark-error)); - --color-immich-dark-success: rgb(var(--immich-dark-success)); - --color-immich-dark-warning: rgb(var(--immich-dark-warning)); } @theme { @@ -74,18 +68,12 @@ --immich-primary: 66 80 175; --immich-bg: 255 255 255; --immich-fg: 0 0 0; - --immich-error: 229 115 115; - --immich-success: 129 199 132; - --immich-warning: 255 183 77; /* dark */ --immich-dark-primary: 172 203 250; --immich-dark-bg: 10 10 10; --immich-dark-fg: 229 231 235; --immich-dark-gray: 33 33 33; - --immich-dark-error: 211 47 47; - --immich-dark-success: 56 142 60; - --immich-dark-warning: 245 124 0; } *, 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 e85232deaa..d2e0ca3ac4 100644 --- a/web/src/lib/components/admin-page/jobs/job-tile.svelte +++ b/web/src/lib/components/admin-page/jobs/job-tile.svelte @@ -3,6 +3,7 @@ import Icon from '$lib/components/elements/icon.svelte'; import { locale } from '$lib/stores/preferences.store'; import { JobCommand, type JobCommandDto, type JobCountsDto, type QueueStatusDto } from '@immich/sdk'; + import { IconButton } from '@immich/ui'; import { mdiAlertCircle, mdiAllInclusive, @@ -17,7 +18,6 @@ import { t } from 'svelte-i18n'; import JobTileButton from './job-tile-button.svelte'; import JobTileStatus from './job-tile-status.svelte'; - import { IconButton } from '@immich/ui'; interface Props { title: string; @@ -71,7 +71,7 @@
{#if jobCounts.failed > 0} - +
{$t('admin.jobs_failed', { values: { jobCount: jobCounts.failed.toLocaleString($locale) } })} @@ -88,7 +88,7 @@ {/if} {#if jobCounts.delayed > 0} - + {$t('admin.jobs_delayed', { values: { jobCount: jobCounts.delayed.toLocaleString($locale) } })} diff --git a/web/src/lib/components/asset-viewer/detail-panel-tags.svelte b/web/src/lib/components/asset-viewer/detail-panel-tags.svelte index 2ce6d3d17f..a6a080d52b 100644 --- a/web/src/lib/components/asset-viewer/detail-panel-tags.svelte +++ b/web/src/lib/components/asset-viewer/detail-panel-tags.svelte @@ -46,7 +46,7 @@ {#each tags as tag (tag.id)}

diff --git a/web/src/lib/components/elements/badge.svelte b/web/src/lib/components/elements/badge.svelte index 0db6e3fa40..b19136aab5 100644 --- a/web/src/lib/components/elements/badge.svelte +++ b/web/src/lib/components/elements/badge.svelte @@ -1,29 +1,16 @@ - - diff --git a/web/src/lib/components/forms/library-import-paths-form.svelte b/web/src/lib/components/forms/library-import-paths-form.svelte index c6042d5ce5..f83057bf67 100644 --- a/web/src/lib/components/forms/library-import-paths-form.svelte +++ b/web/src/lib/components/forms/library-import-paths-form.svelte @@ -169,19 +169,9 @@ > {#if validatedPath.isValid} - + {:else} - + {/if} diff --git a/web/src/lib/components/shared-components/notification/notification-card.svelte b/web/src/lib/components/shared-components/notification/notification-card.svelte index d4fc4023d3..e5755fc016 100644 --- a/web/src/lib/components/shared-components/notification/notification-card.svelte +++ b/web/src/lib/components/shared-components/notification/notification-card.svelte @@ -7,7 +7,7 @@ type ComponentNotification, type Notification, } from '$lib/components/shared-components/notification/notification'; - import { IconButton } from '@immich/ui'; + import { Button, IconButton, type Color } from '@immich/ui'; import { mdiCloseCircleOutline, mdiInformationOutline, mdiWindowClose } from '@mdi/js'; import { onMount } from 'svelte'; import { t } from 'svelte-i18n'; @@ -40,10 +40,10 @@ [NotificationType.Warning]: '#D08613', }; - const buttonStyle: Record = { - [NotificationType.Info]: 'text-white bg-immich-primary hover:bg-immich-primary/75', - [NotificationType.Error]: 'text-white bg-immich-error hover:bg-immich-error/75', - [NotificationType.Warning]: 'text-white bg-immich-warning hover:bg-immich-warning/75', + const colors: Record = { + [NotificationType.Info]: 'primary', + [NotificationType.Error]: 'danger', + [NotificationType.Warning]: 'warning', }; onMount(() => { @@ -111,16 +111,16 @@

{#if notification.button} -

- +

{/if}
diff --git a/web/src/lib/components/shared-components/scrubber/scrubber.svelte b/web/src/lib/components/shared-components/scrubber/scrubber.svelte index c65dbc258b..17e39f1739 100644 --- a/web/src/lib/components/shared-components/scrubber/scrubber.svelte +++ b/web/src/lib/components/shared-components/scrubber/scrubber.svelte @@ -505,10 +505,7 @@ {/if} {#if !usingMobileDevice && !isDragging} -
+
{#if timelineManager.scrolling && scrollHoverLabel && !isHover}

- import Combobox, { type ComboBoxOption } from '$lib/components/shared-components/combobox.svelte'; - import { getAllTags, type TagResponseDto } from '@immich/sdk'; - import { t } from 'svelte-i18n'; - import { onMount } from 'svelte'; - import { SvelteSet } from 'svelte/reactivity'; import Icon from '$lib/components/elements/icon.svelte'; - import { mdiClose } from '@mdi/js'; + import Combobox, { type ComboBoxOption } from '$lib/components/shared-components/combobox.svelte'; import { preferences } from '$lib/stores/user.store'; + import { getAllTags, type TagResponseDto } from '@immich/sdk'; + import { mdiClose } from '@mdi/js'; + import { onMount } from 'svelte'; + import { t } from 'svelte-i18n'; + import { SvelteSet } from 'svelte/reactivity'; interface Props { selectedTags: SvelteSet; @@ -57,7 +57,7 @@ {#if tag}

{tag.value} diff --git a/web/src/lib/components/shared-components/side-bar/storage-space.svelte b/web/src/lib/components/shared-components/side-bar/storage-space.svelte index 4a40cbc1e7..fdcec683e7 100644 --- a/web/src/lib/components/shared-components/side-bar/storage-space.svelte +++ b/web/src/lib/components/shared-components/side-bar/storage-space.svelte @@ -1,12 +1,12 @@