add suggestion support to metadata section fields

- name en/jp now have suggestion badges in edit mode
- granblue id gets suggestions for characters
- summon metadata now includes summon id field
This commit is contained in:
Justin Edmund 2026-01-03 23:10:56 -08:00
parent 23527c727e
commit 89d4c9df7b
3 changed files with 43 additions and 7 deletions

View file

@ -78,19 +78,27 @@
<DetailsContainer title="Metadata">
{#if editMode}
<DetailItem
<SuggestionDetailItem
label="Name (EN)"
bind:value={editData.name}
editable={true}
type="text"
placeholder="English name"
suggestion={suggestions?.nameEn}
dismissedSuggestion={dismissedSuggestions?.has('name')}
onAcceptSuggestion={() => onAcceptSuggestion?.('name', suggestions?.nameEn)}
onDismissSuggestion={() => onDismissSuggestion?.('name')}
/>
<DetailItem
<SuggestionDetailItem
label="Name (JP)"
bind:value={editData.nameJp}
editable={true}
type="text"
placeholder="日本語名"
suggestion={suggestions?.nameJp}
dismissedSuggestion={dismissedSuggestions?.has('nameJp')}
onAcceptSuggestion={() => onAcceptSuggestion?.('nameJp', suggestions?.nameJp)}
onDismissSuggestion={() => onDismissSuggestion?.('nameJp')}
/>
<SuggestionDetailItem
label="Rarity"
@ -103,12 +111,16 @@
onAcceptSuggestion={() => onAcceptSuggestion?.('rarity', suggestions?.rarity)}
onDismissSuggestion={() => onDismissSuggestion?.('rarity')}
/>
<DetailItem
<SuggestionDetailItem
label="Granblue ID"
bind:value={editData.granblueId}
editable={true}
type="text"
placeholder="Granblue ID"
suggestion={suggestions?.granblueId}
dismissedSuggestion={dismissedSuggestions?.has('granblueId')}
onAcceptSuggestion={() => onAcceptSuggestion?.('granblueId', suggestions?.granblueId)}
onDismissSuggestion={() => onDismissSuggestion?.('granblueId')}
/>
<DetailItem
label="Character ID"

View file

@ -34,19 +34,27 @@
<DetailsContainer title="Metadata">
{#if editMode}
<DetailItem
<SuggestionDetailItem
label="Name (EN)"
bind:value={editData.name}
editable={true}
type="text"
placeholder="English name"
suggestion={suggestions?.nameEn}
dismissedSuggestion={dismissedSuggestions?.has('name')}
onAcceptSuggestion={() => onAcceptSuggestion?.('name', suggestions?.nameEn)}
onDismissSuggestion={() => onDismissSuggestion?.('name')}
/>
<DetailItem
<SuggestionDetailItem
label="Name (JP)"
bind:value={editData.nameJp}
editable={true}
type="text"
placeholder="日本語名"
suggestion={suggestions?.nameJp}
dismissedSuggestion={dismissedSuggestions?.has('nameJp')}
onAcceptSuggestion={() => onAcceptSuggestion?.('nameJp', suggestions?.nameJp)}
onDismissSuggestion={() => onDismissSuggestion?.('nameJp')}
/>
<SuggestionDetailItem
label="Rarity"
@ -65,6 +73,14 @@
editable={true}
type="text"
/>
<DetailItem
label="Summon ID"
sublabel="Internal game identifier (if known)"
bind:value={editData.summonId}
editable={true}
type="text"
placeholder="Optional"
/>
{:else}
<DetailItem label="Name (EN)" value={summon.name?.en || '—'} />
<DetailItem label="Name (JP)" value={summon.name?.ja || '—'} />

View file

@ -34,19 +34,27 @@
<DetailsContainer title="Metadata">
{#if editMode}
<DetailItem
<SuggestionDetailItem
label="Name (EN)"
bind:value={editData.name}
editable={true}
type="text"
placeholder="English name"
suggestion={suggestions?.nameEn}
dismissedSuggestion={dismissedSuggestions?.has('name')}
onAcceptSuggestion={() => onAcceptSuggestion?.('name', suggestions?.nameEn)}
onDismissSuggestion={() => onDismissSuggestion?.('name')}
/>
<DetailItem
<SuggestionDetailItem
label="Name (JP)"
bind:value={editData.nameJp}
editable={true}
type="text"
placeholder="日本語名"
suggestion={suggestions?.nameJp}
dismissedSuggestion={dismissedSuggestions?.has('nameJp')}
onAcceptSuggestion={() => onAcceptSuggestion?.('nameJp', suggestions?.nameJp)}
onDismissSuggestion={() => onDismissSuggestion?.('nameJp')}
/>
<SuggestionDetailItem
label="Rarity"