mirror of
				https://github.com/immich-app/immich.git
				synced 2025-10-31 02:27:08 -04:00 
			
		
		
		
	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.
This commit is contained in:
		
							parent
							
								
									972c66d467
								
							
						
					
					
						commit
						48eede59b9
					
				| @ -2,7 +2,7 @@ | ||||
|   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 { mdiDeleteOutline, mdiDeleteForeverOutline } from '@mdi/js'; | ||||
|   import { type AssetResponseDto } from '@immich/sdk'; | ||||
| 
 | ||||
|   export let asset: AssetResponseDto; | ||||
| @ -18,7 +18,7 @@ | ||||
| {#if asset.isTrashed} | ||||
|   <CircleIconButton | ||||
|     color="opaque" | ||||
|     icon={mdiDeleteOutline} | ||||
|     icon={mdiDeleteForeverOutline} | ||||
|     on:click={() => dispatch('permanentlyDelete')} | ||||
|     title={$t('permanently_delete')} | ||||
|   /> | ||||
|  | ||||
| @ -3,7 +3,7 @@ | ||||
|   import MenuOption from '../../shared-components/context-menu/menu-option.svelte'; | ||||
|   import { getAssetControlContext } from '../asset-select-control-bar.svelte'; | ||||
|   import { featureFlags } from '$lib/stores/server-config.store'; | ||||
|   import { mdiTimerSand, mdiDeleteOutline } from '@mdi/js'; | ||||
|   import { mdiTimerSand, mdiDeleteOutline, mdiDeleteForeverOutline } from '@mdi/js'; | ||||
|   import { type OnDelete, deleteAssets } from '$lib/utils/actions'; | ||||
|   import DeleteAssetDialog from '../delete-asset-dialog.svelte'; | ||||
|   import { t } from 'svelte-i18n'; | ||||
| @ -43,7 +43,7 @@ | ||||
| {:else if loading} | ||||
|   <CircleIconButton title={$t('loading')} icon={mdiTimerSand} /> | ||||
| {:else} | ||||
|   <CircleIconButton title={label} icon={mdiDeleteOutline} on:click={handleTrash} /> | ||||
|   <CircleIconButton title={label} icon={mdiDeleteForeverOutline} on:click={handleTrash} /> | ||||
| {/if} | ||||
| 
 | ||||
| {#if isShowConfirmation} | ||||
|  | ||||
| @ -20,7 +20,7 @@ | ||||
|   import { featureFlags, serverConfig } from '$lib/stores/server-config.store'; | ||||
|   import { handleError } from '$lib/utils/handle-error'; | ||||
|   import { emptyTrash, restoreTrash } from '@immich/sdk'; | ||||
|   import { mdiDeleteOutline, mdiHistory } from '@mdi/js'; | ||||
|   import { mdiDeleteForeverOutline, mdiHistory } from '@mdi/js'; | ||||
|   import type { PageData } from './$types'; | ||||
|   import { handlePromiseError } from '$lib/utils'; | ||||
|   import { dialogController } from '$lib/components/shared-components/dialog/dialog'; | ||||
| @ -106,7 +106,7 @@ | ||||
|       </LinkButton> | ||||
|       <LinkButton on:click={() => handleEmptyTrash()} disabled={$isMultiSelectState}> | ||||
|         <div class="flex place-items-center gap-2 text-sm"> | ||||
|           <Icon path={mdiDeleteOutline} size="18" /> | ||||
|           <Icon path={mdiDeleteForeverOutline} size="18" /> | ||||
|           Empty trash | ||||
|         </div> | ||||
|       </LinkButton> | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user