diff --git a/src/pages/card/CardDetail.tsx b/src/pages/card/CardDetail.tsx index be8b7485..0f1e43e9 100644 --- a/src/pages/card/CardDetail.tsx +++ b/src/pages/card/CardDetail.tsx @@ -378,7 +378,7 @@ const CardDetail: React.FC = observer(() => { const getCardImages: () => ImageDecorator[] = useCallback( () => - card + (card ? isTrainableCard ? [ { @@ -386,21 +386,25 @@ const CardDetail: React.FC = observer(() => { downloadUrl: normalImg.replace(".webp", ".png"), src: normalImg, }, - { - alt: "card normal trim", - downloadUrl: normalTrimImg.replace(".webp", ".png"), - src: normalTrimImg, - }, + normalTrimImg + ? { + alt: "card normal trim", + downloadUrl: normalTrimImg.replace(".webp", ".png"), + src: normalTrimImg, + } + : undefined, { alt: "card after training", downloadUrl: trainedImg.replace(".webp", ".png"), src: trainedImg, }, - { - alt: "card after training trim", - downloadUrl: trainedTrimImg.replace(".webp", ".png"), - src: trainedTrimImg, - }, + trainedTrimImg + ? { + alt: "card after training trim", + downloadUrl: trainedTrimImg.replace(".webp", ".png"), + src: trainedTrimImg, + } + : undefined, ] : [ { @@ -414,7 +418,8 @@ const CardDetail: React.FC = observer(() => { src: normalTrimImg, }, ] - : [], + : [] + ).filter((img) => !!img) as ImageDecorator[], [ card, isTrainableCard, @@ -449,13 +454,15 @@ const CardDetail: React.FC = observer(() => { scrollButtons > - - {isTrainableCard && !isBirthdayCard ? ( + {!!normalTrimImg && ( + + )} + {isTrainableCard && !isBirthdayCard && ( - ) : null} - {isTrainableCard && !isBirthdayCard ? ( + )} + {isTrainableCard && !isBirthdayCard && !!trainedTrimImg && ( - ) : null} + )} = observer(() => { - - { - setActiveIdx(1); - setVisible(true); - }} - > - - - - - { - setActiveIdx(3); - setVisible(true); - }} - > - - - + {!!normalTrimImg && ( + + { + setActiveIdx(1); + setVisible(true); + }} + > + + + + )} + {!!trainedTrimImg && ( + + { + setActiveIdx(3); + setVisible(true); + }} + > + + + + )} diff --git a/src/utils/index.ts b/src/utils/index.ts index e1609f0e..2029b536 100644 --- a/src/utils/index.ts +++ b/src/utils/index.ts @@ -335,25 +335,13 @@ export async function getRemoteAssetURL( // const isWebpSupported = Modernizr.webplossless; const url = `${assetUrl[domainKey][server]}/${endpoint}`; - // if (endpoint.endsWith(".webp") && !isWebpSupported) { - // let dataUrl = await localforage.getItem(url); - // if (!dataUrl) { - // const res = await Axios.get(url, { responseType: "arraybuffer" }); - // dataUrl = await queue.add(() => - // webpMachine.decode(new Uint8Array(res.data)) - // ); - // await localforage.setItem(url, dataUrl); - // if (setFunc) setFunc(dataUrl); - // return dataUrl; - // } else { - // // await Axios.head(url); - // if (setFunc) setFunc(dataUrl); - // return dataUrl; - // } - // } else - // await Axios.head(url); - if (setFunc) setFunc(url); - return url; + const headRes = await Axios.head(url); + // console.log(headRes.status, url); + if (headRes.status <= 400) { + if (setFunc) setFunc(url); + return url; + } + return ""; } // export async function getMovieUrl(stringVal: string) {