send wiki_raw when creating entities from import
This commit is contained in:
parent
cfb62447a0
commit
ed6a9fd2f4
4 changed files with 36 additions and 13 deletions
|
|
@ -424,6 +424,7 @@ export interface CreateSummonPayload {
|
||||||
transcendence_date?: string | null
|
transcendence_date?: string | null
|
||||||
wiki_en?: string
|
wiki_en?: string
|
||||||
wiki_ja?: string
|
wiki_ja?: string
|
||||||
|
wiki_raw?: string
|
||||||
gamewith?: string
|
gamewith?: string
|
||||||
kamigame?: string
|
kamigame?: string
|
||||||
nicknames_en?: string[]
|
nicknames_en?: string[]
|
||||||
|
|
@ -496,6 +497,7 @@ export interface CreateWeaponPayload {
|
||||||
transcendence_date?: string | null
|
transcendence_date?: string | null
|
||||||
wiki_en?: string
|
wiki_en?: string
|
||||||
wiki_ja?: string
|
wiki_ja?: string
|
||||||
|
wiki_raw?: string
|
||||||
gamewith?: string
|
gamewith?: string
|
||||||
kamigame?: string
|
kamigame?: string
|
||||||
recruits?: string | null // Character ID reference
|
recruits?: string | null // Character ID reference
|
||||||
|
|
|
||||||
|
|
@ -56,6 +56,9 @@
|
||||||
let dismissedByPage = $state<Record<string, Set<string>>>({})
|
let dismissedByPage = $state<Record<string, Set<string>>>({})
|
||||||
let savedEntities = $state<Set<string>>(new Set())
|
let savedEntities = $state<Set<string>>(new Set())
|
||||||
|
|
||||||
|
// Store wiki raw data per entity for sending with create request
|
||||||
|
let wikiRawByPage = $state<Record<string, string>>({})
|
||||||
|
|
||||||
// Saving state
|
// Saving state
|
||||||
let isSaving = $state(false)
|
let isSaving = $state(false)
|
||||||
let saveError = $state<string | null>(null)
|
let saveError = $state<string | null>(null)
|
||||||
|
|
@ -182,6 +185,9 @@
|
||||||
const wikiResults = await fetchWikiPages(pages)
|
const wikiResults = await fetchWikiPages(pages)
|
||||||
const wikiData = buildWikiDataMap(wikiResults)
|
const wikiData = buildWikiDataMap(wikiResults)
|
||||||
|
|
||||||
|
// Store wiki raw data for sending with create request
|
||||||
|
wikiRawByPage = { ...wikiData }
|
||||||
|
|
||||||
// Update pages array with any redirects
|
// Update pages array with any redirects
|
||||||
const finalPages = wikiResults.map((r) => r.wikiPage)
|
const finalPages = wikiResults.map((r) => r.wikiPage)
|
||||||
|
|
||||||
|
|
@ -299,7 +305,7 @@
|
||||||
kamigame: formData.kamigame,
|
kamigame: formData.kamigame,
|
||||||
nicknames_en: formData.nicknamesEn,
|
nicknames_en: formData.nicknamesEn,
|
||||||
nicknames_jp: formData.nicknamesJp,
|
nicknames_jp: formData.nicknamesJp,
|
||||||
wiki_raw: entity?.wikiRaw || null
|
wiki_raw: wikiRawByPage[selectedWikiPage] || undefined
|
||||||
}
|
}
|
||||||
|
|
||||||
const newCharacter = await entityAdapter.createCharacter(payload)
|
const newCharacter = await entityAdapter.createCharacter(payload)
|
||||||
|
|
|
||||||
|
|
@ -55,6 +55,9 @@
|
||||||
let dismissedByPage = $state<Record<string, Set<string>>>({})
|
let dismissedByPage = $state<Record<string, Set<string>>>({})
|
||||||
let savedEntities = $state<Set<string>>(new Set())
|
let savedEntities = $state<Set<string>>(new Set())
|
||||||
|
|
||||||
|
// Store wiki raw data per entity for sending with create request
|
||||||
|
let wikiRawByPage = $state<Record<string, string>>({})
|
||||||
|
|
||||||
// Saving state
|
// Saving state
|
||||||
let isSaving = $state(false)
|
let isSaving = $state(false)
|
||||||
let saveError = $state<string | null>(null)
|
let saveError = $state<string | null>(null)
|
||||||
|
|
@ -175,6 +178,9 @@
|
||||||
const wikiResults = await fetchWikiPages(pages)
|
const wikiResults = await fetchWikiPages(pages)
|
||||||
const wikiData = buildWikiDataMap(wikiResults)
|
const wikiData = buildWikiDataMap(wikiResults)
|
||||||
|
|
||||||
|
// Store wiki raw data for sending with create request
|
||||||
|
wikiRawByPage = { ...wikiData }
|
||||||
|
|
||||||
// Update pages array with any redirects
|
// Update pages array with any redirects
|
||||||
const finalPages = wikiResults.map((r) => r.wikiPage)
|
const finalPages = wikiResults.map((r) => r.wikiPage)
|
||||||
|
|
||||||
|
|
@ -278,7 +284,8 @@
|
||||||
gamewith: formData.gamewith,
|
gamewith: formData.gamewith,
|
||||||
kamigame: formData.kamigame,
|
kamigame: formData.kamigame,
|
||||||
nicknames_en: formData.nicknamesEn,
|
nicknames_en: formData.nicknamesEn,
|
||||||
nicknames_jp: formData.nicknamesJp
|
nicknames_jp: formData.nicknamesJp,
|
||||||
|
wiki_raw: wikiRawByPage[selectedWikiPage] || undefined
|
||||||
}
|
}
|
||||||
|
|
||||||
const newSummon = await entityAdapter.createSummon(payload)
|
const newSummon = await entityAdapter.createSummon(payload)
|
||||||
|
|
|
||||||
|
|
@ -17,6 +17,7 @@
|
||||||
import WeaponTaxonomySection from '$lib/features/database/weapons/sections/WeaponTaxonomySection.svelte'
|
import WeaponTaxonomySection from '$lib/features/database/weapons/sections/WeaponTaxonomySection.svelte'
|
||||||
import WeaponStatsSection from '$lib/features/database/weapons/sections/WeaponStatsSection.svelte'
|
import WeaponStatsSection from '$lib/features/database/weapons/sections/WeaponStatsSection.svelte'
|
||||||
import WeaponMetadataSection from '$lib/features/database/weapons/sections/WeaponMetadataSection.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 TabbedEntitySelector from '$lib/features/database/import/TabbedEntitySelector.svelte'
|
||||||
import type { EntityTab } 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'
|
import DetailsContainer from '$lib/components/ui/DetailsContainer.svelte'
|
||||||
|
|
@ -27,7 +28,6 @@
|
||||||
import Input from '$lib/components/ui/Input.svelte'
|
import Input from '$lib/components/ui/Input.svelte'
|
||||||
import Icon from '$lib/components/Icon.svelte'
|
import Icon from '$lib/components/Icon.svelte'
|
||||||
import TagInput from '$lib/components/ui/TagInput.svelte'
|
import TagInput from '$lib/components/ui/TagInput.svelte'
|
||||||
import CharacterTypeahead from '$lib/components/ui/CharacterTypeahead.svelte'
|
|
||||||
|
|
||||||
import type { PageData } from './$types'
|
import type { PageData } from './$types'
|
||||||
|
|
||||||
|
|
@ -56,6 +56,9 @@
|
||||||
let dismissedByPage = $state<Record<string, Set<string>>>({})
|
let dismissedByPage = $state<Record<string, Set<string>>>({})
|
||||||
let savedEntities = $state<Set<string>>(new Set())
|
let savedEntities = $state<Set<string>>(new Set())
|
||||||
|
|
||||||
|
// Store wiki raw data per entity for sending with create request
|
||||||
|
let wikiRawByPage = $state<Record<string, string>>({})
|
||||||
|
|
||||||
// Saving state
|
// Saving state
|
||||||
let isSaving = $state(false)
|
let isSaving = $state(false)
|
||||||
let saveError = $state<string | null>(null)
|
let saveError = $state<string | null>(null)
|
||||||
|
|
@ -177,6 +180,9 @@
|
||||||
const wikiResults = await fetchWikiPages(pages)
|
const wikiResults = await fetchWikiPages(pages)
|
||||||
const wikiData = buildWikiDataMap(wikiResults)
|
const wikiData = buildWikiDataMap(wikiResults)
|
||||||
|
|
||||||
|
// Store wiki raw data for sending with create request
|
||||||
|
wikiRawByPage = { ...wikiData }
|
||||||
|
|
||||||
// Update pages array with any redirects
|
// Update pages array with any redirects
|
||||||
const finalPages = wikiResults.map((r) => r.wikiPage)
|
const finalPages = wikiResults.map((r) => r.wikiPage)
|
||||||
|
|
||||||
|
|
@ -283,7 +289,8 @@
|
||||||
kamigame: formData.kamigame,
|
kamigame: formData.kamigame,
|
||||||
nicknames_en: formData.nicknamesEn,
|
nicknames_en: formData.nicknamesEn,
|
||||||
nicknames_jp: formData.nicknamesJp,
|
nicknames_jp: formData.nicknamesJp,
|
||||||
recruits: formData.recruits
|
recruits: formData.recruits,
|
||||||
|
wiki_raw: wikiRawByPage[selectedWikiPage] || undefined
|
||||||
}
|
}
|
||||||
|
|
||||||
const newWeapon = await entityAdapter.createWeapon(payload)
|
const newWeapon = await entityAdapter.createWeapon(payload)
|
||||||
|
|
@ -487,6 +494,16 @@
|
||||||
onDismissSuggestion={handleDismissSuggestion}
|
onDismissSuggestion={handleDismissSuggestion}
|
||||||
/>
|
/>
|
||||||
|
|
||||||
|
<WeaponGachaSection
|
||||||
|
weapon={emptyWeapon}
|
||||||
|
editMode={true}
|
||||||
|
bind:editData={formDataByPage[selectedWikiPage]}
|
||||||
|
{suggestions}
|
||||||
|
dismissedSuggestions={dismissed}
|
||||||
|
onAcceptSuggestion={handleAcceptSuggestion}
|
||||||
|
onDismissSuggestion={handleDismissSuggestion}
|
||||||
|
/>
|
||||||
|
|
||||||
<DetailsContainer title="Nicknames">
|
<DetailsContainer title="Nicknames">
|
||||||
<DetailItem label="Nicknames (EN)">
|
<DetailItem label="Nicknames (EN)">
|
||||||
<TagInput bind:value={formDataByPage[selectedWikiPage].nicknamesEn} placeholder="Add nickname..." contained />
|
<TagInput bind:value={formDataByPage[selectedWikiPage].nicknamesEn} placeholder="Add nickname..." contained />
|
||||||
|
|
@ -496,15 +513,6 @@
|
||||||
</DetailItem>
|
</DetailItem>
|
||||||
</DetailsContainer>
|
</DetailsContainer>
|
||||||
|
|
||||||
<DetailsContainer title="Recruits">
|
|
||||||
<DetailItem label="Recruits Character" sublabel="Character recruited by this weapon">
|
|
||||||
<CharacterTypeahead
|
|
||||||
bind:value={formDataByPage[selectedWikiPage].recruits}
|
|
||||||
placeholder="Search for character..."
|
|
||||||
/>
|
|
||||||
</DetailItem>
|
|
||||||
</DetailsContainer>
|
|
||||||
|
|
||||||
<DetailsContainer title="Dates">
|
<DetailsContainer title="Dates">
|
||||||
<SuggestionDetailItem
|
<SuggestionDetailItem
|
||||||
label="Release Date"
|
label="Release Date"
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue