diff --git a/src/lib/components/mods/ModForm.svelte b/src/lib/components/mods/ModForm.svelte index a62f7e055..30aa98ab8 100644 --- a/src/lib/components/mods/ModForm.svelte +++ b/src/lib/components/mods/ModForm.svelte @@ -45,14 +45,13 @@ onSubmit: (submitted: ModData) => onSubmit(trimNonSchema(submitted, modSchema)) }); - let tags = []; - $: { - const anyData = $data; - if (anyData.tags) { - tags = anyData.tags; - delete anyData.tags; - } + let tags = $data.tags; + const computeTags = () => { $data.tagIDs = tags.map((tag) => tag.id); + }; + + $: if (tags) { + computeTags(); } // The GQL type NewMod does not have a compatibility field. diff --git a/src/lib/components/utils/TagList.svelte b/src/lib/components/utils/TagList.svelte index ac88464da..ff16f85fa 100644 --- a/src/lib/components/utils/TagList.svelte +++ b/src/lib/components/utils/TagList.svelte @@ -32,7 +32,6 @@ target: 'popupAutocomplete', placement: 'bottom-start' }; - let tagList = []; const loadTagList = () => (tagList = tags.map((t: Tag) => t.name)); @@ -55,7 +54,6 @@ const removeTag = (label: string) => { const idx = tags.findIndex((t) => t.name === label); tags = [...tags.slice(0, idx), ...tags.slice(idx + 1)]; - loadTagList(); }; @@ -64,7 +62,7 @@