1
0
mirror of https://github.com/koloml/philomena-tagging-assistant.git synced 2026-09-23 04:19:39 +00:00

Presets: Added conditional presets option

Now presets can be configured to show up only when specific tag is
provided.
This commit is contained in:
2026-04-05 17:52:15 +04:00
parent f0083169f3
commit f581f84065
4 changed files with 25 additions and 0 deletions

View File

@@ -3,6 +3,8 @@ import StorageEntity from "$lib/extension/base/StorageEntity";
interface TagEditorPresetSettings {
name: string;
tags: string[];
conditional: boolean;
requiredTags: string[];
}
export default class TagEditorPreset extends StorageEntity<TagEditorPresetSettings> {
@@ -10,6 +12,8 @@ export default class TagEditorPreset extends StorageEntity<TagEditorPresetSettin
super(id, {
name: settings.name || '',
tags: settings.tags || [],
conditional: settings.conditional || false,
requiredTags: settings.requiredTags || [],
});
}

View File

@@ -42,6 +42,8 @@ const entitiesExporters: ExportersMap = {
id: entity.id,
name: entity.settings.name,
tags: entity.settings.tags,
conditional: entity.settings.conditional,
requiredTags: entity.settings.requiredTags,
}
}
};

View File

@@ -73,6 +73,8 @@ const entitiesValidators: EntitiesValidationMap = {
!validateRequiredString(importedObject?.id)
|| !validateRequiredString(importedObject?.name)
|| !validateOptionalArray(importedObject?.tags)
|| typeof importedObject.conditional !== 'boolean'
|| !validateOptionalArray(importedObject?.requiredTags)
) {
throw new Error('Invalid preset format detected!');
}