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

View file

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

View file

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