From 1fcdd9f7d859b925bf92265f441655d5522e351c Mon Sep 17 00:00:00 2001 From: Factiven Date: Tue, 11 Apr 2023 23:23:29 +0700 Subject: initial commit --- components/manga/chapters.js | 61 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 components/manga/chapters.js (limited to 'components/manga/chapters.js') diff --git a/components/manga/chapters.js b/components/manga/chapters.js new file mode 100644 index 0000000..7997a73 --- /dev/null +++ b/components/manga/chapters.js @@ -0,0 +1,61 @@ +import axios from "axios"; +import Link from "next/link"; +import React, { useEffect, useState } from "react"; + +export default function Content({ ids, providers }) { + const [data, setData] = useState([]); + const [isLoading, setIsLoading] = useState(true); + const [error, setError] = useState(null); + + async function fetchData() { + setIsLoading(true); + try { + const res = await axios.get( + `https://api.eucrypt.my.id/meta/anilist-manga/info/${ids}?provider=${providers}` + ); + const data = res.data; + setData(data); + setError(null); // Reset error state if data is successfully fetched + } catch (error) { + setError(error); + } + + setIsLoading(false); + } + useEffect(() => { + fetchData(); + }, [providers]); + useEffect(() => { + // console.log("Data changed:", data); + }, [data]); + + if (error) { + // Handle 404 Not Found error + return
Chapters Not Available
; + } + // console.log(isLoading); + return ( + <> +
+ {isLoading ? ( +

Loading...

+ ) : data.chapters?.length > 0 ? ( + data.chapters?.map((chapter, index) => { + return ( +
+ + Chapters {index + 1} + +
+ ); + }) + ) : ( +

No Chapters Available

+ )} +
+ + ); +} -- cgit v1.2.3