mirror of
https://github.com/immich-app/immich
synced 2025-11-14 17:36:12 +00:00
* fix: prevent trashing of trashed assets Motivation ---------- This will improve user experience by hiding a pointless action. You can not trash a trashed asset again. It won't get any trashier than it already is. How to test ----------- 1. Visit route `/trash` 2. Click on an asset 3. Press "Delete" on your keyboard 4. Nothing happens 5. Try to find the trash button in the top right 6. You can't find it * refactor: follow @michelheusschen's review See: https://github.com/immich-app/immich/pull/10028#pullrequestreview-2105296755 * refactor: follow @michelheusschen's 2nd review See: https://github.com/immich-app/immich/pull/10028#discussion_r1632057833
27 lines
795 B
Svelte
27 lines
795 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 } 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={mdiDeleteOutline}
|
|
on:click={() => dispatch('permanentlyDelete')}
|
|
title={$t('permanently_delete')}
|
|
/>
|
|
{:else}
|
|
<CircleIconButton color="opaque" icon={mdiDeleteOutline} on:click={() => dispatch('delete')} title={$t('delete')} />
|
|
{/if}
|