feat(web): update icons (#19831)
Some checks are pending
CodeQL / Analyze (javascript) (push) Waiting to run
CodeQL / Analyze (python) (push) Waiting to run
Docker / pre-job (push) Waiting to run
Docker / Re-Tag ML () (push) Blocked by required conditions
Docker / Re-Tag ML (-armnn) (push) Blocked by required conditions
Docker / Re-Tag ML (-cuda) (push) Blocked by required conditions
Docker / Re-Tag ML (-openvino) (push) Blocked by required conditions
Docker / Re-Tag ML (-rknn) (push) Blocked by required conditions
Docker / Re-Tag ML (-rocm) (push) Blocked by required conditions
Docker / Re-Tag Server () (push) Blocked by required conditions
Docker / Build and Push ML (armnn, linux/arm64, -armnn) (push) Blocked by required conditions
Docker / Build and Push ML (cpu, ) (push) Blocked by required conditions
Docker / Build and Push ML (cuda, linux/amd64, -cuda) (push) Blocked by required conditions
Docker / Build and Push ML (openvino, linux/amd64, -openvino) (push) Blocked by required conditions
Docker / Build and Push ML (rknn, linux/arm64, -rknn) (push) Blocked by required conditions
Docker / Build and Push ML (rocm, linux/amd64, {"linux/amd64": "mich"}, -rocm) (push) Blocked by required conditions
Docker / Build and Push Server (push) Blocked by required conditions
Docker / Docker Build & Push Server Success (push) Blocked by required conditions
Docker / Docker Build & Push ML Success (push) Blocked by required conditions
Docs build / pre-job (push) Waiting to run
Docs build / Docs Build (push) Blocked by required conditions
Static Code Analysis / pre-job (push) Waiting to run
Static Code Analysis / Run Dart Code Analysis (push) Blocked by required conditions
Static Code Analysis / zizmor (push) Waiting to run
Test / pre-job (push) Waiting to run
Test / Test & Lint Server (push) Blocked by required conditions
Test / Unit Test CLI (push) Blocked by required conditions
Test / Unit Test CLI (Windows) (push) Blocked by required conditions
Test / Lint Web (push) Blocked by required conditions
Test / Test Web (push) Blocked by required conditions
Test / Test i18n (push) Blocked by required conditions
Test / End-to-End Lint (push) Blocked by required conditions
Test / Medium Tests (Server) (push) Blocked by required conditions
Test / End-to-End Tests (Server & CLI) (ubuntu-24.04-arm) (push) Blocked by required conditions
Test / End-to-End Tests (Server & CLI) (ubuntu-latest) (push) Blocked by required conditions
Test / End-to-End Tests (Web) (ubuntu-24.04-arm) (push) Blocked by required conditions
Test / End-to-End Tests (Web) (ubuntu-latest) (push) Blocked by required conditions
Test / End-to-End Tests Success (push) Blocked by required conditions
Test / Unit Test Mobile (push) Blocked by required conditions
Test / Unit Test ML (push) Blocked by required conditions
Test / .github Files Formatting (push) Blocked by required conditions
Test / ShellCheck (push) Waiting to run
Test / OpenAPI Clients (push) Waiting to run
Test / SQL Schema Checks (push) Waiting to run

* fix: update password icon in user settings

* feat: add icons to more modals
This commit is contained in:
Hamish
2025-07-09 12:12:16 +10:00
committed by GitHub
parent d03eb87058
commit 4db76ddcf0
8 changed files with 20 additions and 3 deletions

View File

@@ -25,6 +25,7 @@
prompt: isLocked ? $t('remove_from_locked_folder_confirmation') : $t('move_to_locked_folder_confirmation'), prompt: isLocked ? $t('remove_from_locked_folder_confirmation') : $t('move_to_locked_folder_confirmation'),
confirmText: $t('move'), confirmText: $t('move'),
confirmColor: isLocked ? 'danger' : 'primary', confirmColor: isLocked ? 'danger' : 'primary',
icon: isLocked ? mdiLockOpenVariantOutline : mdiLockOutline,
}); });
if (!isConfirmed) { if (!isConfirmed) {

View File

@@ -26,6 +26,7 @@
prompt: unlock ? $t('remove_from_locked_folder_confirmation') : $t('move_to_locked_folder_confirmation'), prompt: unlock ? $t('remove_from_locked_folder_confirmation') : $t('move_to_locked_folder_confirmation'),
confirmText: $t('move'), confirmText: $t('move'),
confirmColor: unlock ? 'danger' : 'primary', confirmColor: unlock ? 'danger' : 'primary',
icon: unlock ? mdiLockOpenVariantOutline : mdiLockOutline,
}); });
if (!isConfirmed) { if (!isConfirmed) {

View File

@@ -3,6 +3,7 @@
import ConfirmModal from '$lib/modals/ConfirmModal.svelte'; import ConfirmModal from '$lib/modals/ConfirmModal.svelte';
import { showDeleteModal } from '$lib/stores/preferences.store'; import { showDeleteModal } from '$lib/stores/preferences.store';
import { Checkbox, Label } from '@immich/ui'; import { Checkbox, Label } from '@immich/ui';
import { mdiDeleteForeverOutline } from '@mdi/js';
import { t } from 'svelte-i18n'; import { t } from 'svelte-i18n';
interface Props { interface Props {
@@ -26,6 +27,7 @@
<ConfirmModal <ConfirmModal
title={$t('permanently_delete_assets_count', { values: { count: size } })} title={$t('permanently_delete_assets_count', { values: { count: size } })}
confirmText={$t('delete')} confirmText={$t('delete')}
icon={mdiDeleteForeverOutline}
onClose={(confirmed) => (confirmed ? handleConfirm() : onCancel())} onClose={(confirmed) => (confirmed ? handleConfirm() : onCancel())}
> >
{#snippet promptSnippet()} {#snippet promptSnippet()}

View File

@@ -1,5 +1,6 @@
<script lang="ts"> <script lang="ts">
import ConfirmModal from '$lib/modals/ConfirmModal.svelte'; import ConfirmModal from '$lib/modals/ConfirmModal.svelte';
import { mdiCalendarEditOutline } from '@mdi/js';
import { DateTime, Duration } from 'luxon'; import { DateTime, Duration } from 'luxon';
import { t } from 'svelte-i18n'; import { t } from 'svelte-i18n';
import DateInput from '../elements/date-input.svelte'; import DateInput from '../elements/date-input.svelte';
@@ -178,6 +179,7 @@
<ConfirmModal <ConfirmModal
confirmColor="primary" confirmColor="primary"
{title} {title}
icon={mdiCalendarEditOutline}
prompt="Please select a new date:" prompt="Please select a new date:"
disabled={!date.isValid} disabled={!date.isValid}
onClose={(confirmed) => (confirmed ? handleConfirm() : onCancel())} onClose={(confirmed) => (confirmed ? handleConfirm() : onCancel())}

View File

@@ -11,6 +11,7 @@
import { delay } from '$lib/utils/asset-utils'; import { delay } from '$lib/utils/asset-utils';
import { handleError } from '$lib/utils/handle-error'; import { handleError } from '$lib/utils/handle-error';
import { searchPlaces, type AssetResponseDto, type PlacesResponseDto } from '@immich/sdk'; import { searchPlaces, type AssetResponseDto, type PlacesResponseDto } from '@immich/sdk';
import { mdiMapMarkerMultipleOutline } from '@mdi/js';
import { t } from 'svelte-i18n'; import { t } from 'svelte-i18n';
import { get } from 'svelte/store'; import { get } from 'svelte/store';
interface Point { interface Point {
@@ -113,6 +114,7 @@
<ConfirmModal <ConfirmModal
confirmColor="primary" confirmColor="primary"
title={$t('change_location')} title={$t('change_location')}
icon={mdiMapMarkerMultipleOutline}
size="medium" size="medium"
onClose={(confirmed) => (confirmed ? handleConfirm() : onCancel())} onClose={(confirmed) => (confirmed ? handleConfirm() : onCancel())}
> >

View File

@@ -22,7 +22,7 @@
mdiFeatureSearchOutline, mdiFeatureSearchOutline,
mdiKeyOutline, mdiKeyOutline,
mdiLockSmart, mdiLockSmart,
mdiOnepassword, mdiFormTextboxPassword,
mdiServerOutline, mdiServerOutline,
mdiTwoFactorAuthentication, mdiTwoFactorAuthentication,
} from '@mdi/js'; } from '@mdi/js';
@@ -124,7 +124,12 @@
</SettingAccordion> </SettingAccordion>
{/if} {/if}
<SettingAccordion icon={mdiOnepassword} key="password" title={$t('password')} subtitle={$t('change_your_password')}> <SettingAccordion
icon={mdiFormTextboxPassword}
key="password"
title={$t('password')}
subtitle={$t('change_your_password')}
>
<ChangePasswordSettings /> <ChangePasswordSettings />
</SettingAccordion> </SettingAccordion>

View File

@@ -1,6 +1,7 @@
<script lang="ts"> <script lang="ts">
import ConfirmModal from '$lib/modals/ConfirmModal.svelte'; import ConfirmModal from '$lib/modals/ConfirmModal.svelte';
import { Input } from '@immich/ui'; import { Input } from '@immich/ui';
import { mdiText } from '@mdi/js';
import { t } from 'svelte-i18n'; import { t } from 'svelte-i18n';
interface Props { interface Props {
@@ -15,6 +16,7 @@
<ConfirmModal <ConfirmModal
confirmColor="primary" confirmColor="primary"
title={$t('edit_description')} title={$t('edit_description')}
icon={mdiText}
prompt={$t('edit_description_prompt')} prompt={$t('edit_description_prompt')}
onClose={(confirmed) => (confirmed ? onClose(description) : onClose())} onClose={(confirmed) => (confirmed ? onClose(description) : onClose())}
> >

View File

@@ -10,6 +10,7 @@
confirmColor?: Color; confirmColor?: Color;
disabled?: boolean; disabled?: boolean;
size?: 'small' | 'medium'; size?: 'small' | 'medium';
icon?: string;
onClose: (confirmed: boolean) => void; onClose: (confirmed: boolean) => void;
promptSnippet?: Snippet; promptSnippet?: Snippet;
} }
@@ -21,6 +22,7 @@
confirmColor = 'danger', confirmColor = 'danger',
disabled = false, disabled = false,
size = 'small', size = 'small',
icon = undefined,
onClose, onClose,
promptSnippet, promptSnippet,
}: Props = $props(); }: Props = $props();
@@ -30,7 +32,7 @@
}; };
</script> </script>
<Modal {title} onClose={() => onClose(false)} {size}> <Modal {title} {icon} onClose={() => onClose(false)} {size}>
<ModalBody> <ModalBody>
{#if promptSnippet}{@render promptSnippet()}{:else} {#if promptSnippet}{@render promptSnippet()}{:else}
<p>{prompt}</p> <p>{prompt}</p>