1
0
mirror of https://github.com/koloml/philomena-tagging-assistant.git synced 2026-05-09 15:12:21 +00:00

Presets: Added flag for making it "exclusive"

This will make it so only one tag will be active from marked preset.
This can be useful for some tags that cannot be together in the editor,
for example, rating tags.
This commit is contained in:
2026-03-22 04:09:18 +04:00
parent f0083169f3
commit 83c7608e99
7 changed files with 84 additions and 1 deletions

View File

@@ -10,6 +10,7 @@
import FormControl from "$components/ui/forms/FormControl.svelte";
import TextField from "$components/ui/forms/TextField.svelte";
import TagsEditor from "$components/tags/TagsEditor.svelte";
import CheckboxField from "$components/ui/forms/CheckboxField.svelte";
let presetId = $derived(page.params.id);
@@ -23,6 +24,7 @@
let presetName = $state('');
let tagsList = $state<string[]>([]);
let isExclusive = $state(false);
$effect(() => {
if (presetId === 'new') {
@@ -39,6 +41,7 @@
presetName = targetPreset.settings.name;
tagsList = [...targetPreset.settings.tags].sort((a, b) => a.localeCompare(b));
isExclusive = targetPreset.settings.exclusive;
});
async function savePreset() {
@@ -49,6 +52,7 @@
targetPreset.settings.name = presetName;
targetPreset.settings.tags = [...tagsList];
targetPreset.settings.exclusive = isExclusive;
await targetPreset.save();
await goto(`/features/presets/${targetPreset.id}`);
@@ -67,6 +71,11 @@
<FormControl label="Tags">
<TagsEditor bind:tags={tagsList}></TagsEditor>
</FormControl>
<FormControl>
<CheckboxField bind:checked={isExclusive}>
Keep only one tag from this preset active at a time.
</CheckboxField>
</FormControl>
</FormContainer>
<Menu>
<hr>