From 37f2178d4adcc99aeb59fd0ec9a4a6fbdfdbd106 Mon Sep 17 00:00:00 2001 From: Justin Edmund Date: Sun, 14 Dec 2025 17:01:16 -0800 Subject: [PATCH] pre-fill summon ID from wiki data in batch import --- src/lib/api/adapters/entity.adapter.ts | 1 + .../database/summons/import/+page.svelte | 42 +++++++++++-------- 2 files changed, 25 insertions(+), 18 deletions(-) diff --git a/src/lib/api/adapters/entity.adapter.ts b/src/lib/api/adapters/entity.adapter.ts index c7d6e1fd..d5fb5478 100644 --- a/src/lib/api/adapters/entity.adapter.ts +++ b/src/lib/api/adapters/entity.adapter.ts @@ -590,6 +590,7 @@ export interface SummonSuggestions { nameEn?: string nameJp?: string granblueId?: string + summonId?: string rarity?: number element?: number minHp?: number diff --git a/src/routes/(app)/database/summons/import/+page.svelte b/src/routes/(app)/database/summons/import/+page.svelte index 64502081..89edd2d5 100644 --- a/src/routes/(app)/database/summons/import/+page.svelte +++ b/src/routes/(app)/database/summons/import/+page.svelte @@ -4,7 +4,7 @@ import { goto } from '$app/navigation' import { entityAdapter, type SummonSuggestions } from '$lib/api/adapters/entity.adapter' import { fetchWikiPages, buildWikiDataMap } from '$lib/api/wiki' - import { getSummonImage, getPlaceholderImage } from '$lib/utils/images' + import { getGameCdnSummonImage, getPlaceholderImage } from '$lib/utils/images' // Components import SummonUncapSection from '$lib/features/database/summons/sections/SummonUncapSection.svelte' @@ -80,7 +80,7 @@ granblueId: entity.granblueId, status: entity.status, imageUrl: entity.granblueId - ? getSummonImage(entity.granblueId, 'square') + ? getGameCdnSummonImage(entity.granblueId) : getPlaceholderImage('summon', 'square'), error: entity.error, saved: savedEntities.has(wikiPage) @@ -93,7 +93,7 @@ name: suggestions?.nameEn ?? '', nameJp: suggestions?.nameJp ?? '', granblue_id: suggestions?.granblueId ?? '', - summonId: '', + summonId: suggestions?.summonId ?? '', rarity: suggestions?.rarity ?? 3, element: suggestions?.element ?? 0, series: '', @@ -283,7 +283,9 @@ savedEntities = new Set(savedEntities) // Select next unsaved entity - const unsaved = entityTabs.find((e) => !savedEntities.has(e.wikiPage) && e.status === 'success') + const unsaved = entityTabs.find( + (e) => !savedEntities.has(e.wikiPage) && e.status === 'success' + ) if (unsaved) { selectedWikiPage = unsaved.wikiPage } @@ -345,17 +347,12 @@ {#if entities.size === 0} -
+
{ e.preventDefault(); fetchWikiData(); }}>

Enter up to 10 wiki page names to import data

{#each wikiPagesInputs as _, index}
- + {#if wikiPagesInputs.length > 1} +
{#if fetchError}

{fetchError}

{/if}
-
-
+
{:else}
@@ -500,7 +501,8 @@ placeholder="YYYY-MM-DD" suggestion={suggestions?.releaseDate} dismissedSuggestion={dismissed.has('releaseDate')} - onAcceptSuggestion={() => handleAcceptSuggestion('releaseDate', suggestions?.releaseDate)} + onAcceptSuggestion={() => + handleAcceptSuggestion('releaseDate', suggestions?.releaseDate)} onDismissSuggestion={() => handleDismissSuggestion('releaseDate')} /> {#if formData.flb} @@ -619,6 +621,10 @@ align-items: center; } + :global(.wiki-inputs .add-input-button) { + width: fit-content; + } + .remove-button { display: flex; align-items: center;