From 48f8b468273092bf91e59b3f45c6eb388887c9ce Mon Sep 17 00:00:00 2001 From: lew Date: Tue, 24 Mar 2026 01:45:39 +0000 Subject: [PATCH] fix(state): force species selection to conform to template species options --- src/lib/state.svelte.ts | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/lib/state.svelte.ts b/src/lib/state.svelte.ts index 2c8c4d5..7230481 100644 --- a/src/lib/state.svelte.ts +++ b/src/lib/state.svelte.ts @@ -35,6 +35,9 @@ export const roster = { async migrateToPreset(char: Character, preset: Template) { migrateData(char, preset); + if (preset.species?.length === 1) { + char.data[slugify('Species')] = preset.species[0]; + } char.template = $state.snapshot(preset); await saveCharacter($state.snapshot(char)); }, @@ -62,10 +65,14 @@ export const roster = { }, async create(template: Template, data: Record = {}) { + const initial: Record = { ...data }; + if (template.species?.length === 1) { + initial[slugify('Species')] ??= template.species[0]; + } const char: Character = { id: crypto.randomUUID(), template: $state.snapshot(template), - data: { ...data } + data: initial }; characters.push(char); activeId = char.id;