mirror of
https://github.com/mountain-loop/yaak.git
synced 2026-04-17 22:39:42 +02:00
Generalized frontend model store (#193)
This commit is contained in:
29
src-web/lib/deleteModelWithConfirm.tsx
Normal file
29
src-web/lib/deleteModelWithConfirm.tsx
Normal file
@@ -0,0 +1,29 @@
|
||||
import type { AnyModel } from '@yaakapp-internal/models';
|
||||
import { deleteModel, modelTypeLabel } from '@yaakapp-internal/models';
|
||||
import { InlineCode } from '../components/core/InlineCode';
|
||||
import { showConfirmDelete } from './confirm';
|
||||
import { resolvedModelName } from './resolvedModelName';
|
||||
|
||||
export async function deleteModelWithConfirm(model: AnyModel | null): Promise<boolean> {
|
||||
if (model == null ) {
|
||||
console.warn('Tried to delete null model');
|
||||
return false;
|
||||
}
|
||||
|
||||
const confirmed = await showConfirmDelete({
|
||||
id: 'delete-model-' + model.model,
|
||||
title: 'Delete ' + modelTypeLabel(model),
|
||||
description: (
|
||||
<>
|
||||
Permanently delete <InlineCode>{resolvedModelName(model)}</InlineCode>?
|
||||
</>
|
||||
),
|
||||
});
|
||||
|
||||
if (!confirmed) {
|
||||
return false;
|
||||
}
|
||||
|
||||
await deleteModel(model);
|
||||
return true;
|
||||
}
|
||||
Reference in New Issue
Block a user