1
0
mirror of https://github.com/koloml/furbooru-tagging-assistant.git synced 2026-03-24 23:02:58 +00:00

Added missed deletion interface for the presets

This commit is contained in:
2026-03-14 19:37:10 +04:00
parent 71fb565247
commit 7821cebb1b
2 changed files with 50 additions and 1 deletions

View File

@@ -38,5 +38,5 @@
<Menu>
<hr>
<MenuItem href="/features/presets/{presetId}/edit" icon="wrench">Edit Preset</MenuItem>
<MenuItem href="/features/presets/{presetId}/delete">Delete Preset</MenuItem>
<MenuItem href="/features/presets/{presetId}/delete" icon="trash">Delete Preset</MenuItem>
</Menu>

View File

@@ -0,0 +1,49 @@
<script lang="ts">
import Menu from "$components/ui/menu/Menu.svelte";
import MenuItem from "$components/ui/menu/MenuItem.svelte";
import { page } from "$app/state";
import TagEditorPreset from "$entities/TagEditorPreset";
import { tagEditorPresets } from "$stores/entities/tag-editor-presets";
import { goto } from "$app/navigation";
import { popupTitle } from "$stores/popup";
const presetId = $derived(page.params.id);
const targetPreset = $derived<TagEditorPreset | null>(
$tagEditorPresets.find(preset => preset.id === presetId) || null
);
$effect(() => {
if (!targetPreset) {
goto('/features/presets');
} else {
$popupTitle = `Deleting Preset: ${targetPreset.settings.name}`
}
});
async function deletePreset() {
if (!targetPreset) {
console.warn('Attempting to delete the preset, but the preset is not loaded yet.');
return;
}
await targetPreset.delete();
await goto('/features/presets');
}
</script>
<Menu>
<MenuItem href="/features/presets/{presetId}" icon="arrow-left">Back</MenuItem>
<hr>
</Menu>
{#if targetPreset}
<p>
Do you want to remove preset "{targetPreset.settings.name}"? This action is irreversible.
</p>
<Menu>
<hr>
<MenuItem onclick={deletePreset}>Yes</MenuItem>
<MenuItem href="/features/presets/{presetId}">No</MenuItem>
</Menu>
{:else}
<p>Loading...</p>
{/if}