diff --git a/src/routes/(app)/database/characters/[id]/+page.svelte b/src/routes/(app)/database/characters/[id]/+page.svelte
index 47d8c416..7d7a8c6a 100644
--- a/src/routes/(app)/database/characters/[id]/+page.svelte
+++ b/src/routes/(app)/database/characters/[id]/+page.svelte
@@ -10,6 +10,7 @@
import { entityQueries } from '$lib/api/queries/entity.queries'
import { entityAdapter } from '$lib/api/adapters/entity.adapter'
import { withInitialData } from '$lib/query/ssr'
+ import { fetchWikiPage } from '$lib/api/wiki'
// Components
import DetailScaffold, { type DetailTab } from '$lib/features/database/detail/DetailScaffold.svelte'
@@ -275,11 +276,17 @@
gameRawJp={rawDataQuery.data?.gameRawJp}
isLoading={rawDataQuery.isLoading}
{canEdit}
- onFetchWiki={canEdit && character?.id
+ onFetchWiki={canEdit && character?.id && character?.wiki?.en
? async () => {
- const result = await entityAdapter.fetchCharacterWiki(character.id)
+ // Fetch wiki data client-side (bypasses CloudFlare)
+ const wikiResult = await fetchWikiPage(character.wiki!.en!)
+ if (wikiResult.error) {
+ throw new Error(wikiResult.error)
+ }
+ // Update the character with the wiki_raw data
+ await entityAdapter.updateCharacter(character.id, { wiki_raw: wikiResult.wikiRaw })
rawDataQuery.refetch()
- return result
+ return { wikiRaw: wikiResult.wikiRaw ?? null, gameRawEn: null, gameRawJp: null }
}
: undefined}
/>
diff --git a/src/routes/(app)/database/summons/[id]/+page.svelte b/src/routes/(app)/database/summons/[id]/+page.svelte
index 02cd9af8..c3fe8caf 100644
--- a/src/routes/(app)/database/summons/[id]/+page.svelte
+++ b/src/routes/(app)/database/summons/[id]/+page.svelte
@@ -10,6 +10,7 @@
import { entityQueries } from '$lib/api/queries/entity.queries'
import { entityAdapter } from '$lib/api/adapters/entity.adapter'
import { withInitialData } from '$lib/query/ssr'
+ import { fetchWikiPage } from '$lib/api/wiki'
// Components
import DetailScaffold, { type DetailTab } from '$lib/features/database/detail/DetailScaffold.svelte'
@@ -303,11 +304,17 @@
gameRawJp={rawDataQuery.data?.gameRawJp}
isLoading={rawDataQuery.isLoading}
{canEdit}
- onFetchWiki={canEdit && summon?.id
+ onFetchWiki={canEdit && summon?.id && summon?.wiki?.en
? async () => {
- const result = await entityAdapter.fetchSummonWiki(summon.id)
+ // Fetch wiki data client-side (bypasses CloudFlare)
+ const wikiResult = await fetchWikiPage(summon.wiki!.en!)
+ if (wikiResult.error) {
+ throw new Error(wikiResult.error)
+ }
+ // Update the summon with the wiki_raw data
+ await entityAdapter.updateSummon(summon.id, { wiki_raw: wikiResult.wikiRaw })
rawDataQuery.refetch()
- return result
+ return { wikiRaw: wikiResult.wikiRaw ?? null, gameRawEn: null, gameRawJp: null }
}
: undefined}
/>
diff --git a/src/routes/(app)/database/weapons/[id]/+page.svelte b/src/routes/(app)/database/weapons/[id]/+page.svelte
index ec82e48b..afb4402f 100644
--- a/src/routes/(app)/database/weapons/[id]/+page.svelte
+++ b/src/routes/(app)/database/weapons/[id]/+page.svelte
@@ -10,6 +10,7 @@
import { entityQueries } from '$lib/api/queries/entity.queries'
import { entityAdapter } from '$lib/api/adapters/entity.adapter'
import { withInitialData } from '$lib/query/ssr'
+ import { fetchWikiPage } from '$lib/api/wiki'
// Components
import DetailScaffold, { type DetailTab } from '$lib/features/database/detail/DetailScaffold.svelte'
@@ -17,6 +18,7 @@
import WeaponUncapSection from '$lib/features/database/weapons/sections/WeaponUncapSection.svelte'
import WeaponTaxonomySection from '$lib/features/database/weapons/sections/WeaponTaxonomySection.svelte'
import WeaponStatsSection from '$lib/features/database/weapons/sections/WeaponStatsSection.svelte'
+ import WeaponGachaSection from '$lib/features/database/weapons/sections/WeaponGachaSection.svelte'
import EntityImagesTab from '$lib/features/database/detail/tabs/EntityImagesTab.svelte'
import EntityRawDataTab from '$lib/features/database/detail/tabs/EntityRawDataTab.svelte'
import DetailsContainer from '$lib/components/ui/DetailsContainer.svelte'
@@ -189,6 +191,7 @@
+
{#if weapon.releaseDate || weapon.flbDate || weapon.ulbDate || weapon.transcendenceDate}
@@ -272,11 +275,17 @@
gameRawJp={rawDataQuery.data?.gameRawJp}
isLoading={rawDataQuery.isLoading}
{canEdit}
- onFetchWiki={canEdit && weapon?.id
+ onFetchWiki={canEdit && weapon?.id && weapon?.wiki?.en
? async () => {
- const result = await entityAdapter.fetchWeaponWiki(weapon.id)
+ // Fetch wiki data client-side (bypasses CloudFlare)
+ const wikiResult = await fetchWikiPage(weapon.wiki!.en!)
+ if (wikiResult.error) {
+ throw new Error(wikiResult.error)
+ }
+ // Update the weapon with the wiki_raw data
+ await entityAdapter.updateWeapon(weapon.id, { wiki_raw: wikiResult.wikiRaw })
rawDataQuery.refetch()
- return result
+ return { wikiRaw: wikiResult.wikiRaw ?? null, gameRawEn: null, gameRawJp: null }
}
: undefined}
/>