From ed6a9fd2f4d2e0abe7090caf780654d55d3da7eb Mon Sep 17 00:00:00 2001 From: Justin Edmund Date: Sun, 14 Dec 2025 21:50:40 -0800 Subject: [PATCH] send wiki_raw when creating entities from import --- src/lib/api/adapters/entity.adapter.ts | 2 ++ .../database/characters/import/+page.svelte | 8 ++++- .../database/summons/import/+page.svelte | 9 +++++- .../database/weapons/import/+page.svelte | 30 ++++++++++++------- 4 files changed, 36 insertions(+), 13 deletions(-) diff --git a/src/lib/api/adapters/entity.adapter.ts b/src/lib/api/adapters/entity.adapter.ts index ae5ca78c..f9ad5157 100644 --- a/src/lib/api/adapters/entity.adapter.ts +++ b/src/lib/api/adapters/entity.adapter.ts @@ -424,6 +424,7 @@ export interface CreateSummonPayload { transcendence_date?: string | null wiki_en?: string wiki_ja?: string + wiki_raw?: string gamewith?: string kamigame?: string nicknames_en?: string[] @@ -496,6 +497,7 @@ export interface CreateWeaponPayload { transcendence_date?: string | null wiki_en?: string wiki_ja?: string + wiki_raw?: string gamewith?: string kamigame?: string recruits?: string | null // Character ID reference diff --git a/src/routes/(app)/database/characters/import/+page.svelte b/src/routes/(app)/database/characters/import/+page.svelte index 57cf16d1..9a7341ef 100644 --- a/src/routes/(app)/database/characters/import/+page.svelte +++ b/src/routes/(app)/database/characters/import/+page.svelte @@ -56,6 +56,9 @@ let dismissedByPage = $state>>({}) let savedEntities = $state>(new Set()) + // Store wiki raw data per entity for sending with create request + let wikiRawByPage = $state>({}) + // Saving state let isSaving = $state(false) let saveError = $state(null) @@ -182,6 +185,9 @@ const wikiResults = await fetchWikiPages(pages) const wikiData = buildWikiDataMap(wikiResults) + // Store wiki raw data for sending with create request + wikiRawByPage = { ...wikiData } + // Update pages array with any redirects const finalPages = wikiResults.map((r) => r.wikiPage) @@ -299,7 +305,7 @@ kamigame: formData.kamigame, nicknames_en: formData.nicknamesEn, nicknames_jp: formData.nicknamesJp, - wiki_raw: entity?.wikiRaw || null + wiki_raw: wikiRawByPage[selectedWikiPage] || undefined } const newCharacter = await entityAdapter.createCharacter(payload) diff --git a/src/routes/(app)/database/summons/import/+page.svelte b/src/routes/(app)/database/summons/import/+page.svelte index c3f1d05b..5c86f8ee 100644 --- a/src/routes/(app)/database/summons/import/+page.svelte +++ b/src/routes/(app)/database/summons/import/+page.svelte @@ -55,6 +55,9 @@ let dismissedByPage = $state>>({}) let savedEntities = $state>(new Set()) + // Store wiki raw data per entity for sending with create request + let wikiRawByPage = $state>({}) + // Saving state let isSaving = $state(false) let saveError = $state(null) @@ -175,6 +178,9 @@ const wikiResults = await fetchWikiPages(pages) const wikiData = buildWikiDataMap(wikiResults) + // Store wiki raw data for sending with create request + wikiRawByPage = { ...wikiData } + // Update pages array with any redirects const finalPages = wikiResults.map((r) => r.wikiPage) @@ -278,7 +284,8 @@ gamewith: formData.gamewith, kamigame: formData.kamigame, nicknames_en: formData.nicknamesEn, - nicknames_jp: formData.nicknamesJp + nicknames_jp: formData.nicknamesJp, + wiki_raw: wikiRawByPage[selectedWikiPage] || undefined } const newSummon = await entityAdapter.createSummon(payload) diff --git a/src/routes/(app)/database/weapons/import/+page.svelte b/src/routes/(app)/database/weapons/import/+page.svelte index b2bc1c97..badd84cd 100644 --- a/src/routes/(app)/database/weapons/import/+page.svelte +++ b/src/routes/(app)/database/weapons/import/+page.svelte @@ -17,6 +17,7 @@ import WeaponTaxonomySection from '$lib/features/database/weapons/sections/WeaponTaxonomySection.svelte' import WeaponStatsSection from '$lib/features/database/weapons/sections/WeaponStatsSection.svelte' import WeaponMetadataSection from '$lib/features/database/weapons/sections/WeaponMetadataSection.svelte' + import WeaponGachaSection from '$lib/features/database/weapons/sections/WeaponGachaSection.svelte' import TabbedEntitySelector from '$lib/features/database/import/TabbedEntitySelector.svelte' import type { EntityTab } from '$lib/features/database/import/TabbedEntitySelector.svelte' import DetailsContainer from '$lib/components/ui/DetailsContainer.svelte' @@ -27,7 +28,6 @@ import Input from '$lib/components/ui/Input.svelte' import Icon from '$lib/components/Icon.svelte' import TagInput from '$lib/components/ui/TagInput.svelte' - import CharacterTypeahead from '$lib/components/ui/CharacterTypeahead.svelte' import type { PageData } from './$types' @@ -56,6 +56,9 @@ let dismissedByPage = $state>>({}) let savedEntities = $state>(new Set()) + // Store wiki raw data per entity for sending with create request + let wikiRawByPage = $state>({}) + // Saving state let isSaving = $state(false) let saveError = $state(null) @@ -177,6 +180,9 @@ const wikiResults = await fetchWikiPages(pages) const wikiData = buildWikiDataMap(wikiResults) + // Store wiki raw data for sending with create request + wikiRawByPage = { ...wikiData } + // Update pages array with any redirects const finalPages = wikiResults.map((r) => r.wikiPage) @@ -283,7 +289,8 @@ kamigame: formData.kamigame, nicknames_en: formData.nicknamesEn, nicknames_jp: formData.nicknamesJp, - recruits: formData.recruits + recruits: formData.recruits, + wiki_raw: wikiRawByPage[selectedWikiPage] || undefined } const newWeapon = await entityAdapter.createWeapon(payload) @@ -487,6 +494,16 @@ onDismissSuggestion={handleDismissSuggestion} /> + + @@ -496,15 +513,6 @@ - - - - - -