mirror of
https://github.com/immich-app/immich
synced 2025-11-14 17:36:12 +00:00
fix: prevent trashing of trashed assets (#10028)
* 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
This commit is contained in:
parent
e1e7de4d4c
commit
d8d64ecc45
6 changed files with 129 additions and 8 deletions
27
web/src/lib/components/asset-viewer/delete-button.svelte
Normal file
27
web/src/lib/components/asset-viewer/delete-button.svelte
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
<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}
|
||||
Loading…
Add table
Add a link
Reference in a new issue