From e5935c15af0375240fa7c711dc99101fa48048be Mon Sep 17 00:00:00 2001 From: real-zephex Date: Wed, 10 Apr 2024 01:19:20 +0530 Subject: UI changes --- src/app/anime/videoLinkfetcher.js | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 src/app/anime/videoLinkfetcher.js (limited to 'src/app/anime/videoLinkfetcher.js') diff --git a/src/app/anime/videoLinkfetcher.js b/src/app/anime/videoLinkfetcher.js new file mode 100644 index 0000000..3963bd3 --- /dev/null +++ b/src/app/anime/videoLinkfetcher.js @@ -0,0 +1,32 @@ +"use server"; +export async function fetch_video_link(id) { + try { + const res = await fetch( + `https://consumet-jade.vercel.app/anime/gogoanime/watch/${id}`, + { cache: "force-cache" } + ); + const data = await res.json(); + let vidLink = data.sources[data.sources.length - 2].url; + return vidLink; + } catch (error) { + console.log("Mehh Error", error); + } +} + +export async function preFetchAnimeLinks(data, n = 40) { + const limit = Math.min(n, data.episodes.length); + + try { + const fetchPromises = []; + for (let i = 0; i < limit; i++) { + const element = data.episodes[i]; + const link = `https://consumet-jade.vercel.app/anime/gogoanime/watch/${element.id}`; + fetchPromises.push(fetch(link, { cache: "force-cache" })); + } + + await Promise.all(fetchPromises); + console.log("Video links pre-fetched successfully!"); + } catch (error) { + console.error("Error occurred while pre-fetching video links:", error); + } +} -- cgit v1.2.3