From a4c2377011eddb580aa6df8dd56127259381e01b Mon Sep 17 00:00:00 2001 From: Factiven Date: Fri, 14 Apr 2023 16:26:42 +0700 Subject: Update 7th --- components/footer.js | 18 +- components/hero/content.js | 7 +- components/layout.js | 4 +- components/navbar.js | 43 ++-- lib/useAnilist.js | 2 +- pages/anime/[...id].js | 18 +- pages/anime/watch/[...info].js | 382 +++++++++++++++---------------- pages/index.js | 34 ++- pages/search.js | 502 +++++++++++++++++++++-------------------- pages/testing.js | 20 +- tailwind.config.js | 3 +- 11 files changed, 536 insertions(+), 497 deletions(-) diff --git a/components/footer.js b/components/footer.js index 4284dcf..77cf643 100644 --- a/components/footer.js +++ b/components/footer.js @@ -5,7 +5,7 @@ import Image from "next/image"; function Footer() { return ( -
+

moopa

@@ -27,30 +27,30 @@ function Footer() {
    -
  • +
  • API
  • -
  • +
  • Staff
  • -
  • +
  • Contact
  • -
  • +
  • DMCA
diff --git a/components/hero/content.js b/components/hero/content.js index b7515d2..96f49fd 100644 --- a/components/hero/content.js +++ b/components/hero/content.js @@ -52,13 +52,17 @@ export default function Content({ ids, section, data }) { > + {/*
+ {anime.title.romaji || anime.title.english} +
*/} {anime.title.romaji diff --git a/components/navbar.js b/components/navbar.js index e0c1047..6bc5504 100644 --- a/components/navbar.js +++ b/components/navbar.js @@ -29,7 +29,7 @@ function Navbar(props) { return (
-
+
moopa
@@ -186,7 +186,7 @@ function Navbar(props) {
diff --git a/lib/useAnilist.js b/lib/useAnilist.js index 12317f8..71882c0 100644 --- a/lib/useAnilist.js +++ b/lib/useAnilist.js @@ -78,7 +78,7 @@ export function useAniList(session) { const progressWatched = ` mutation($mediaId: Int, $progress: Int) { - SaveMediaListEntry(mediaId: $mediaId, progress: $progress) { + SaveMediaListEntry(mediaId: $mediaId, progress: $progress, status: CURRENT) { id mediaId progress diff --git a/pages/anime/[...id].js b/pages/anime/[...id].js index dd9a3d8..81e5706 100644 --- a/pages/anime/[...id].js +++ b/pages/anime/[...id].js @@ -120,17 +120,15 @@ export default function Himitsu({ - -
+ +
-
- -
-
+
+
{isLoading ? (

Loading cuy sabar...

diff --git a/pages/anime/watch/[...info].js b/pages/anime/watch/[...info].js index 075f730..552102c 100644 --- a/pages/anime/watch/[...info].js +++ b/pages/anime/watch/[...info].js @@ -153,45 +153,27 @@ export default function Info({ info }) {
- -
-
-
- -
-
-
- {data.episodes.length > 0 ? ( - data.episodes - .filter((items) => items.id == info.id) - .map((item) => ( -
-
- - {item.title} - -
-

- Episode {item.number} -

-
- )) - ) : ( - <> - {fallback - .filter((item) => item.id == info.id) +
+ +
+
+
+ +
+
+
+ {data.episodes.length > 0 ? ( + data.episodes + .filter((items) => items.id == info.id) .map((item) => (
@@ -199,175 +181,195 @@ export default function Info({ info }) { href={`/anime/${data.id}`} className="inline hover:underline" > - {title} + {item.title}

Episode {item.number}

- ))} - - )} -
-
-
-
-
- Anime Cover -
-
-
-

- Studios -

-
{data.studios}
-
-
setOpen(true)}> - - - - {/* - Save to My List - */} -
-
-
-
-

- Status -

-
{data.status}
+ )) + ) : ( + <> + {fallback + .filter((item) => item.id == info.id) + .map((item) => ( +
+
+ + {title} + +
+

+ Episode {item.number} +

+
+ ))} + + )} +
+
+
+
+
+ Anime Cover
-
-

- Titles -

-
-
- {data.title.romaji || ""} -
-
- {data.title.english || ""} +
+
+

+ Studios +

+
{data.studios}
+
+
setOpen(true)}> + + + + {/* + Save to My List + */} +
-
- {data.title.native || ""} +
+
+

+ Status +

+
{data.status}
+
+
+

+ Titles +

+
+
+ {data.title.romaji || ""} +
+
+ {data.title.english || ""} +
+
+ {data.title.native || ""} +
-
-
- {data.genres.map((item, index) => ( -
- {item} -
- ))} -
-
-

+

+ {data.genres.map((item, index) => ( +
+ {item} +
+ ))} +
+
+

+

-
-
-

- Episodes -

-
- {data.episodes.length > 0 - ? data.episodes.map((item) => { - return ( - -
- image +

+ Up Next +

+
+ {data.episodes.length > 0 + ? data.episodes.map((item) => { + return ( + +
+ image + + Episode {item.number} + + {item.id == info.id && ( +
+ + + +
+ )} +
+
- - Episode {item.number} - - {item.id == info.id && ( -
- - - -
- )} -
-
+

+ {item.title} +

+

+ {item.description} +

+
+ + ); + }) + : fallback.map((item) => { + return ( + -

- {item.title} -

-

- {item.description} -

-
- - ); - }) - : fallback.map((item) => { - return ( - - Episode {item.number} - - ); - })} + Episode {item.number} + + ); + })} +
diff --git a/pages/index.js b/pages/index.js index 5813363..a9aca07 100644 --- a/pages/index.js +++ b/pages/index.js @@ -11,6 +11,7 @@ import { useRouter } from "next/router"; import { motion } from "framer-motion"; import { useSession, signIn } from "next-auth/react"; +import { useAniList } from "../lib/useAnilist"; export function Navigasi() { const { data: session, status } = useSession(); @@ -94,8 +95,11 @@ export function Navigasi() { export default function Home({ detail, populars }) { const { data: session, status } = useSession(); + const { media } = useAniList(session); + const [isVisible, setIsVisible] = useState(false); const [recently, setRecently] = useState(null); + const [plan, setPlan] = useState(null); const [user, setUser] = useState(null); const [array, setArray] = useState([]); const popular = populars?.data; @@ -112,13 +116,21 @@ export default function Home({ detail, populars }) { }; // const reversed = user?.recentWatch.reverse(); - // console.log(array); + // console.log(plan); useEffect(() => { async function userData() { if (!session) return; const res = await fetch(`/api/get-user?userName=${session?.user.name}`); const data = await res.json(); + + const getMedia = + media.filter((item) => item.status === "PAUSED")[0] || null; + const plan = getMedia?.entries + .map(({ media }) => media) + .filter((media) => media); + + setPlan(plan); setArray(data?.recentWatch.reverse()); setUser(data); } @@ -409,6 +421,22 @@ export default function Home({ detail, populars }) { )} + {session && plan && ( + + + + )} + {/* SECTION 2 */} {detail && ( = 12 && time < 18) { greeting = "Good afternoon"; - } else { + } else if (time >= 18 && time < 22) { greeting = "Good evening"; + } else if (time >= 22 && time < 5) { + greeting = "Good night"; } return greeting; diff --git a/pages/search.js b/pages/search.js index 4bb32af..e398e9e 100644 --- a/pages/search.js +++ b/pages/search.js @@ -153,269 +153,271 @@ export default function Card() { Moopa - search - -
-
-
-

- TITLE -

- -
- - {/* TYPE */} -
-

TYPE

- -
- - {/* SORT */} -
-

SORT

- -
+
+ +
+
+
+

+ TITLE +

+ +
- {/* OPTIONS */} -
-
- +

TYPE

+
- {/* TRASH ICON */} -
- +

SORT

+
-
-
-
- - {isVisible && ( - +
-
-

- GENRE -

- -
-
-

- TYPE -

- -
+ + + +
-
-

- SORT -

- -
-
- )} -
-
- -
- {loading ? ( - <> - -
- - -
-
- - -
-
- - -
-
- - -
-
- - -
-
- - + {/* TRASH ICON */} +
+ + + +
+
+
+
+ + {isVisible && ( + +
+

+ GENRE +

+
-
- - +
+

+ TYPE +

+
- - - ) : data && data.media.length === 0 ? ( -
- Oops!

Nothing's Found... -
- ) : ( - data.media.map((anime) => { - return ( - - +

+ SORT +

+ +
+
+ )} +
-
+ +
+ {loading ? ( + <> + +
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + ) : data && data.media.length === 0 ? ( +
+ Oops!

Nothing's Found... +
+ ) : ( + data.media.map((anime) => { + return ( + + +
+ + +

+ {anime.title.userPreferred} +

+ +

+ {anime.format ||

-

} ·{" "} + {anime.status ||

-

} · {anime.episodes || 0}{" "} + Episodes +

+ + ); + }) + )} +
+ +
+
-