From 5c870b148eaec8820d126797c9b610af26885cad Mon Sep 17 00:00:00 2001 From: Justin Edmund Date: Sun, 14 Dec 2025 13:17:34 -0800 Subject: [PATCH] use client-side wiki fetch for batch preview imports --- src/lib/api/adapters/entity.adapter.ts | 36 +++++++++++++++---- .../database/characters/import/+page.svelte | 11 +++++- .../database/summons/import/+page.svelte | 11 +++++- .../database/weapons/import/+page.svelte | 11 +++++- 4 files changed, 60 insertions(+), 9 deletions(-) diff --git a/src/lib/api/adapters/entity.adapter.ts b/src/lib/api/adapters/entity.adapter.ts index f259ba1b..c7d6e1fd 100644 --- a/src/lib/api/adapters/entity.adapter.ts +++ b/src/lib/api/adapters/entity.adapter.ts @@ -1192,13 +1192,21 @@ export class EntityAdapter extends BaseAdapter { * Fetches wiki data and suggestions for multiple character wiki pages * Requires editor role (>= 7) * @param wikiPages - Array of wiki page names (max 10) + * @param wikiData - Optional pre-fetched wiki text keyed by page name */ async batchPreviewCharacters( - wikiPages: string[] + wikiPages: string[], + wikiData?: Record ): Promise> { + const body: { wiki_pages: string[]; wiki_data?: Record } = { + wiki_pages: wikiPages + } + if (wikiData) { + body.wiki_data = wikiData + } return this.request>('/characters/batch_preview', { method: 'POST', - body: { wiki_pages: wikiPages } + body }) } @@ -1206,13 +1214,21 @@ export class EntityAdapter extends BaseAdapter { * Fetches wiki data and suggestions for multiple weapon wiki pages * Requires editor role (>= 7) * @param wikiPages - Array of wiki page names (max 10) + * @param wikiData - Optional pre-fetched wiki text keyed by page name */ async batchPreviewWeapons( - wikiPages: string[] + wikiPages: string[], + wikiData?: Record ): Promise> { + const body: { wiki_pages: string[]; wiki_data?: Record } = { + wiki_pages: wikiPages + } + if (wikiData) { + body.wiki_data = wikiData + } return this.request>('/weapons/batch_preview', { method: 'POST', - body: { wiki_pages: wikiPages } + body }) } @@ -1220,13 +1236,21 @@ export class EntityAdapter extends BaseAdapter { * Fetches wiki data and suggestions for multiple summon wiki pages * Requires editor role (>= 7) * @param wikiPages - Array of wiki page names (max 10) + * @param wikiData - Optional pre-fetched wiki text keyed by page name */ async batchPreviewSummons( - wikiPages: string[] + wikiPages: string[], + wikiData?: Record ): Promise> { + const body: { wiki_pages: string[]; wiki_data?: Record } = { + wiki_pages: wikiPages + } + if (wikiData) { + body.wiki_data = wikiData + } return this.request>('/summons/batch_preview', { method: 'POST', - body: { wiki_pages: wikiPages } + body }) } diff --git a/src/routes/(app)/database/characters/import/+page.svelte b/src/routes/(app)/database/characters/import/+page.svelte index f9369aa0..934aa038 100644 --- a/src/routes/(app)/database/characters/import/+page.svelte +++ b/src/routes/(app)/database/characters/import/+page.svelte @@ -3,6 +3,7 @@