aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFactiven <[email protected]>2023-07-19 23:43:41 +0700
committerFactiven <[email protected]>2023-07-19 23:43:41 +0700
commit2e1766d335e5b87e6414e4cb52a562e04c7894ca (patch)
tree390eb5998ec4f64dbf2f6982f45e15d48c3f9d33
parentUpdate README.md (diff)
downloadmoopa-2e1766d335e5b87e6414e4cb52a562e04c7894ca.tar.xz
moopa-2e1766d335e5b87e6414e4cb52a562e04c7894ca.zip
speed up schedule load
-rw-r--r--components/home/schedule.js8
-rw-r--r--pages/en/index.js57
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,
},
};
}