diff options
| author | Factiven <[email protected]> | 2023-07-26 18:24:23 +0700 |
|---|---|---|
| committer | Factiven <[email protected]> | 2023-07-26 18:24:23 +0700 |
| commit | 0df9454123aab9862b1e6fd81b109513b777e2e2 (patch) | |
| tree | 5a8c07b454ff4e0d8b10ec789eb1c3d97f9455a4 | |
| parent | Update_v3.6.7-beta-v1.4 (diff) | |
| download | moopa-3.6.7-beta-v1.5.tar.xz moopa-3.6.7-beta-v1.5.zip | |
Update v3.6.7-beta-v1.5v3.6.7-beta-v1.5
small patch
| -rw-r--r-- | components/anime/episode.js | 125 | ||||
| -rw-r--r-- | components/disqus.js | 1 | ||||
| -rw-r--r-- | pages/en/anime/[...id].js | 34 |
3 files changed, 93 insertions, 67 deletions
diff --git a/components/anime/episode.js b/components/anime/episode.js index d68ea54..730ade5 100644 --- a/components/anime/episode.js +++ b/components/anime/episode.js @@ -26,22 +26,27 @@ export default function AnimeEpisode({ info, progress }) { setLoading(true); setProviders(null); const fetchData = async () => { - const res = await fetch( - `https://ruka.moopa.live/consumet/episode/${info.id}` - ); - const firstResponse = await res.json(); - if (firstResponse.data.length > 0) { - const defaultProvider = firstResponse.data?.find( - (x) => x.providerId === "gogoanime" + try { + const res = await fetch( + `https://ruka.moopa.live/consumet/episode/${info.id}` ); - setProviderId( - defaultProvider?.providerId || firstResponse.data[0].providerId - ); // set to first provider id - } + const firstResponse = await res.json(); + if (firstResponse.data.length > 0) { + const defaultProvider = firstResponse.data?.find( + (x) => x.providerId === "gogoanime" + ); + setProviderId( + defaultProvider?.providerId || firstResponse.data[0].providerId + ); // set to first provider id + } - setArtStorage(JSON.parse(localStorage.getItem("artplayer_settings"))); - setProviders(firstResponse.data); - setLoading(false); + setArtStorage(JSON.parse(localStorage.getItem("artplayer_settings"))); + setProviders(firstResponse.data); + setLoading(false); + } catch (error) { + setLoading(false); + setProviders([]); + } }; fetchData(); }, [info.id]); @@ -121,7 +126,7 @@ export default function AnimeEpisode({ info, progress }) { visible ? "" : "hidden" }`} > - {providers && ( + {providers && providers.length > 0 && ( <div className="flex gap-5"> <div className="relative flex gap-2 items-center"> <select @@ -178,45 +183,57 @@ export default function AnimeEpisode({ info, progress }) { : `flex flex-col gap-3` } > - {currentEpisodes.map((episode, index) => { - return ( - <Fragment key={index}> - {view === 1 && ( - <ThumbnailOnly - key={index} - index={index} - info={info} - providerId={providerId} - episode={episode} - artStorage={artStorage} - progress={progress} - // image={thumbnail} - /> - )} - {view === 2 && ( - <ThumbnailDetail - key={index} - index={index} - epi={episode} - provider={providerId} - info={info} - artStorage={artStorage} - progress={progress} - /> - )} - {view === 3 && ( - <ListMode - key={index} - info={info} - episode={episode} - index={index} - providerId={providerId} - progress={progress} - /> - )} - </Fragment> - ); - })} + {Array.isArray(providers) ? ( + providers.length > 0 ? ( + currentEpisodes.map((episode, index) => { + return ( + <Fragment key={index}> + {view === 1 && ( + <ThumbnailOnly + key={index} + index={index} + info={info} + providerId={providerId} + episode={episode} + artStorage={artStorage} + progress={progress} + // image={thumbnail} + /> + )} + {view === 2 && ( + <ThumbnailDetail + key={index} + index={index} + epi={episode} + provider={providerId} + info={info} + artStorage={artStorage} + progress={progress} + /> + )} + {view === 3 && ( + <ListMode + key={index} + info={info} + episode={episode} + index={index} + providerId={providerId} + progress={progress} + /> + )} + </Fragment> + ); + }) + ) : ( + <div className="h-[20vh] lg:w-full flex-center flex-col gap-5"> + <p className="text-center font-karla font-bold lg:text-lg"> + Oops!<br></br> It looks like this anime is not available. + </p> + </div> + ) + ) : ( + <p>{providers.message}</p> + )} </div> ) : ( <div className="flex justify-center"> diff --git a/components/disqus.js b/components/disqus.js index ee15b98..724bec3 100644 --- a/components/disqus.js +++ b/components/disqus.js @@ -1,5 +1,4 @@ import { DiscussionEmbed } from "disqus-react"; -require("dotenv").config(); const DisqusComments = ({ post }) => { const disqusShortname = post.name || "your_disqus_shortname"; diff --git a/pages/en/anime/[...id].js b/pages/en/anime/[...id].js index 6255e5a..0b83f24 100644 --- a/pages/en/anime/[...id].js +++ b/pages/en/anime/[...id].js @@ -163,18 +163,28 @@ export default function Info({ info, color }) { <div className="bg-image w-screen"> <div className="bg-gradient-to-t from-primary from-10% to-transparent absolute h-[300px] w-screen z-10 inset-0" /> {info ? ( - <Image - src={ - info?.bannerImage || - info?.coverImage?.extraLarge || - info?.coverImage.large - } - priority={true} - alt="banner anime" - height={1000} - width={1000} - className="object-cover bg-image w-screen absolute top-0 left-0 h-[300px] brightness-[70%] z-0" - /> + <> + <Image + src={ + info?.bannerImage || + info?.coverImage?.extraLarge || + info?.coverImage.large + } + priority={true} + alt="banner anime" + height={1000} + width={1000} + className="hidden md:block object-cover bg-image w-screen absolute top-0 left-0 h-[300px] brightness-[70%] z-0" + /> + <Image + src={info?.coverImage.extraLarge || info?.coverImage.large} + priority={true} + alt="banner anime" + height={1000} + width={1000} + className="md:hidden object-cover bg-image w-screen absolute top-0 left-0 h-[300px] brightness-[70%] z-0" + /> + </> ) : ( <div className="bg-image w-screen absolute top-0 left-0 h-[300px]" /> )} |