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} />