feat(web): update icons (#19831)

* 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
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
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>