diff options
| author | Factiven <[email protected]> | 2023-07-19 23:43:41 +0700 |
|---|---|---|
| committer | Factiven <[email protected]> | 2023-07-19 23:43:41 +0700 |
| commit | 2e1766d335e5b87e6414e4cb52a562e04c7894ca (patch) | |
| tree | 390eb5998ec4f64dbf2f6982f45e15d48c3f9d33 | |
| parent | Update README.md (diff) | |
| download | moopa-2e1766d335e5b87e6414e4cb52a562e04c7894ca.tar.xz moopa-2e1766d335e5b87e6414e4cb52a562e04c7894ca.zip | |
speed up schedule load
| -rw-r--r-- | components/home/schedule.js | 8 | ||||
| -rw-r--r-- | pages/en/index.js | 57 |
2 files changed, 25 insertions, 40 deletions
diff --git a/components/home/schedule.js b/components/home/schedule.js index 92315be..f5aa44f 100644 --- a/components/home/schedule.js +++ b/components/home/schedule.js @@ -65,13 +65,11 @@ export default function Schedule({ data, scheduleData, time }) { <div className="rounded mb-5 shadow-md shadow-black"> <div className="overflow-hidden w-full h-[96px] lg:h-[10rem] rounded relative"> <div className="absolute flex flex-col justify-center pl-5 lg:pl-16 rounded z-20 bg-gradient-to-r from-30% from-[#0c0c0c] to-transparent w-full h-full"> - <h1 className="text-xs lg:text-lg">Coming Up Next!</h1> - <div - className="w-1/2 lg:w-2/5 hidden lg:block font-medium font-karla leading-[2.9rem] text-white line-clamp-1" - > + <h1 className="text-xs xl:text-lg">Coming Up Next!</h1> + <div className="w-1/2 lg:w-2/5 hidden lg:block font-medium font-karla leading-[2.9rem] text-white line-clamp-1"> <Link href={`/en/anime/${data.id}`} - className="hover:underline underline-offset-4 decoration-2" + className="hover:underline underline-offset-4 decoration-2 lg:text-lg xl:text-2xl 2xl:text-3xl" > {data.title.romaji || data.title.english || data.title.native} </Link> diff --git a/pages/en/index.js b/pages/en/index.js index e5a69e2..9cb516c 100644 --- a/pages/en/index.js +++ b/pages/en/index.js @@ -18,31 +18,26 @@ import Schedule from "../../components/home/schedule"; import getUpcomingAnime from "../../lib/anilist/getUpcomingAnime"; import { useCountdown } from "../../lib/useCountdownSeconds"; -import dotenv from "dotenv"; import Navigasi from "../../components/home/staticNav"; // Filter schedules for each day -const filterByCountryOfOrigin = (schedule, country) => { - const filteredSchedule = {}; - for (const day in schedule) { - filteredSchedule[day] = schedule[day].filter( - (anime) => anime.countryOfOrigin === country - ); - } - return filteredSchedule; -}; - -export default function Home({ - detail, - populars, - sessions, - upComing, - schedules, -}) { +// const filterByCountryOfOrigin = (schedule, country) => { +// const filteredSchedule = {}; +// for (const day in schedule) { +// filteredSchedule[day] = schedule[day].filter( +// (anime) => anime.countryOfOrigin === country +// ); +// } +// return filteredSchedule; +// }; + +export default function Home({ detail, populars, sessions, upComing }) { const { media: current } = useAniList(sessions, { stats: "CURRENT" }); const { media: plan } = useAniList(sessions, { stats: "PLANNING" }); const { media: release } = useAniList(sessions); + const [schedules, setSchedules] = useState(null); + const [anime, setAnime] = useState([]); const update = () => { @@ -60,9 +55,16 @@ export default function Home({ } }, [upComing]); - const [releaseData, setReleaseData] = useState([]); + useEffect(() => { + const getSchedule = async () => { + const res = await fetch(`https://ruka.moopa.live/api/schedules`); + const data = await res.json(); + setSchedules(data); + }; + getSchedule(); + }, []); - // console.log(schedules); + const [releaseData, setReleaseData] = useState([]); useEffect(() => { function getRelease() { @@ -542,8 +544,6 @@ export default function Home({ } export async function getServerSideProps(context) { - dotenv.config(); - const session = await getServerSession(context.req, context.res, authOptions); const trendingDetail = await aniListData({ @@ -556,18 +556,6 @@ export async function getServerSideProps(context) { }); const genreDetail = await aniListData({ sort: "TYPE", page: 1 }); - const apikey = process.env.API_KEY; - - let schedules; - if (apikey) { - const res = await fetch(`https://api.anify.tv/schedule?apikey=${apikey}`); - if (res.error) { - schedules = null; - } else { - schedules = await res.json(); - } - } - const upComing = await getUpcomingAnime(); return { @@ -577,7 +565,6 @@ export async function getServerSideProps(context) { populars: popularDetail.props, sessions: session, upComing, - schedules: schedules || null, }, }; } |