characters: add nicknames to creation page

Backfill nicknames support to character creation page:
- Add nicknamesEn and nicknamesJp fields to editData
- Import and use TagInput component for nickname entry
- Add nicknames section to form UI
- Update CreateCharacterPayload interface with nickname fields

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Justin Edmund 2025-12-01 03:10:31 -08:00
parent fdc50906dc
commit 0d0163edec
2 changed files with 22 additions and 2 deletions

View file

@ -240,6 +240,8 @@ export interface CreateCharacterPayload {
wiki_ja?: string
gamewith?: string
kamigame?: string
nicknames_en?: string[]
nicknames_jp?: string[]
}
/**

View file

@ -13,6 +13,7 @@
import SidebarHeader from '$lib/components/ui/SidebarHeader.svelte'
import Button from '$lib/components/ui/Button.svelte'
import ValidatedInput from '$lib/components/ui/ValidatedInput.svelte'
import TagInput from '$lib/components/ui/TagInput.svelte'
import { entityAdapter } from '$lib/api/adapters/entity.adapter'
import { getRarityOptions } from '$lib/utils/rarity'
@ -93,7 +94,11 @@
wikiEn: '',
wikiJa: '',
gamewith: '',
kamigame: ''
kamigame: '',
// Nicknames
nicknamesEn: [] as string[],
nicknamesJp: [] as string[]
})
const rarityOptions = getRarityOptions()
@ -201,7 +206,11 @@
wiki_en: editData.wikiEn,
wiki_ja: editData.wikiJa,
gamewith: editData.gamewith,
kamigame: editData.kamigame
kamigame: editData.kamigame,
// Nicknames
nicknames_en: editData.nicknamesEn,
nicknames_jp: editData.nicknamesJp
}
const newCharacter = await entityAdapter.createCharacter(payload)
@ -287,6 +296,15 @@
<CharacterTaxonomySection character={emptyCharacter} {editMode} bind:editData />
<CharacterStatsSection character={emptyCharacter} {editMode} bind:editData />
<DetailsContainer title="Nicknames">
<DetailItem label="Nicknames (EN)">
<TagInput bind:value={editData.nicknamesEn} placeholder="Add nickname..." />
</DetailItem>
<DetailItem label="Nicknames (JP)">
<TagInput bind:value={editData.nicknamesJp} placeholder="ニックネーム..." />
</DetailItem>
</DetailsContainer>
<DetailsContainer title="Dates">
<DetailItem
label="Release Date"