immich/web/src/lib/components/asset-viewer/delete-button.svelte
Robert Schäfer 48eede59b9
refactor: dedicated icon for permanently delete (#10052)
Motivation
----------
It's a follow up to #10028. I think it would be better user experience if one can tell by the icon what the delete button is about to do.

I hope I caught all the occurences where one can permanently delete assets.

How to test
-----------
1. Visit e.g. `/trash`
2. If you select some assets, the delete button in the top right corner
   looks different.
2024-06-09 14:25:27 -05:00

27 lines
827 B
Svelte

<script lang="ts">
import CircleIconButton from '$lib/components/elements/buttons/circle-icon-button.svelte';
import { createEventDispatcher } from 'svelte';
import { t } from 'svelte-i18n';
import { mdiDeleteOutline, mdiDeleteForeverOutline } from '@mdi/js';
import { type AssetResponseDto } from '@immich/sdk';
export let asset: AssetResponseDto;
type EventTypes = {
delete: void;
permanentlyDelete: void;
};
const dispatch = createEventDispatcher<EventTypes>();
</script>
{#if asset.isTrashed}
<CircleIconButton
color="opaque"
icon={mdiDeleteForeverOutline}
on:click={() => dispatch('permanentlyDelete')}
title={$t('permanently_delete')}
/>
{:else}
<CircleIconButton color="opaque" icon={mdiDeleteOutline} on:click={() => dispatch('delete')} title={$t('delete')} />
{/if}