diff --git a/src/lib/api.ts b/src/lib/api.ts index 9f734ef..2ca3bec 100644 --- a/src/lib/api.ts +++ b/src/lib/api.ts @@ -9,15 +9,16 @@ export async function decompress(blob: ReadableStream | null) { export async function fetch_zipped( url: string, - { unzip = true } = {}, -): Promise { + { unzip = true, fetch = window.fetch } = {}, +): Promise { const response = await fetch(url) if (!response.ok) { - throw new Error( + console.error( `${response.status} ${response.statusText} for ${response.url}`, ) + return null } - if (!unzip) return await response.blob() + if (!unzip) return (await response.blob()) as T return JSON.parse(await decompress(response.body)) } diff --git a/src/lib/structure/StructureScene.svelte b/src/lib/structure/StructureScene.svelte index b29adc9..4388305 100644 --- a/src/lib/structure/StructureScene.svelte +++ b/src/lib/structure/StructureScene.svelte @@ -94,8 +94,8 @@ /> - - + + {#if show_atoms && structure?.sites} diff --git a/src/routes/mp-[slug]/+page.ts b/src/routes/mp-[slug]/+page.ts index c4d4424..fbcc544 100644 --- a/src/routes/mp-[slug]/+page.ts +++ b/src/routes/mp-[slug]/+page.ts @@ -3,15 +3,15 @@ import type { RobocrystallogapherDoc, SimilarityDoc, SummaryDoc } from '$types' export const prerender = false -export const load = async ({ params }) => { +export const load = async ({ params, fetch }) => { const file = `mp-${params.slug}.json.gz` const summary_url = `${mp_build_bucket}/summary/${file}` const similarity_url = `${mp_build_bucket}/similarity/${file}` const robocrys_url = `${mp_build_bucket}/robocrys/${file}` return { - summary: fetch_zipped(summary_url), - similarity: fetch_zipped(similarity_url), - robocrys: fetch_zipped(robocrys_url), + summary: fetch_zipped(summary_url, { fetch }), + similarity: fetch_zipped(similarity_url, { fetch }), + robocrys: fetch_zipped(robocrys_url, { fetch }), } }