mirror of
https://github.com/immich-app/immich.git
synced 2026-05-18 03:10:24 +03:00
refactor: actionable toasts (#27203)
This commit is contained in:
@@ -1,4 +1,3 @@
|
||||
import ToastAction from '$lib/components/ToastAction.svelte';
|
||||
import { TimelineManager } from '$lib/managers/timeline-manager/timeline-manager.svelte';
|
||||
import type { TimelineAsset } from '$lib/managers/timeline-manager/types';
|
||||
import type { StackResponse } from '$lib/utils/asset-utils';
|
||||
@@ -32,24 +31,15 @@ export const deleteAssets = async (
|
||||
await deleteBulk({ assetBulkDeleteDto: { ids, force } });
|
||||
onAssetDelete(ids);
|
||||
|
||||
toastManager.custom(
|
||||
toastManager.primary(
|
||||
{
|
||||
component: ToastAction,
|
||||
props: {
|
||||
title: $t('success'),
|
||||
description: force
|
||||
? $t('assets_permanently_deleted_count', { values: { count: ids.length } })
|
||||
: $t('assets_trashed_count', { values: { count: ids.length } }),
|
||||
color: 'success',
|
||||
button:
|
||||
onUndoDelete && !force
|
||||
? {
|
||||
color: 'secondary',
|
||||
text: $t('undo'),
|
||||
onClick: () => undoDeleteAssets(onUndoDelete, assets),
|
||||
}
|
||||
: undefined,
|
||||
},
|
||||
description: force
|
||||
? $t('assets_permanently_deleted_count', { values: { count: ids.length } })
|
||||
: $t('assets_trashed_count', { values: { count: ids.length } }),
|
||||
button:
|
||||
onUndoDelete && !force
|
||||
? { label: $t('undo'), color: 'secondary', onclick: () => undoDeleteAssets(onUndoDelete, assets) }
|
||||
: undefined,
|
||||
},
|
||||
{ timeout: 5000 },
|
||||
);
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
import ToastAction from '$lib/components/ToastAction.svelte';
|
||||
import { authManager } from '$lib/managers/auth-manager.svelte';
|
||||
import { downloadManager } from '$lib/managers/download-manager.svelte';
|
||||
import { TimelineManager } from '$lib/managers/timeline-manager/timeline-manager.svelte';
|
||||
@@ -326,16 +325,11 @@ export const stackAssets = async (assets: { id: string }[], showNotification = t
|
||||
try {
|
||||
const stack = await createStack({ stackCreateDto: { assetIds: assets.map(({ id }) => id) } });
|
||||
if (showNotification) {
|
||||
toastManager.custom({
|
||||
component: ToastAction,
|
||||
props: {
|
||||
title: $t('success'),
|
||||
description: $t('stacked_assets_count', { values: { count: stack.assets.length } }),
|
||||
color: 'success',
|
||||
button: {
|
||||
text: $t('view_stack'),
|
||||
onClick: () => navigate({ targetRoute: 'current', assetId: stack.primaryAssetId }),
|
||||
},
|
||||
toastManager.primary({
|
||||
description: $t('stacked_assets_count', { values: { count: stack.assets.length } }),
|
||||
button: {
|
||||
label: $t('view_stack'),
|
||||
onclick: () => navigate({ targetRoute: 'current', assetId: stack.primaryAssetId }),
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user