aboutsummaryrefslogtreecommitdiff
path: root/src/app/anime/videoLinkfetcher.js
diff options
context:
space:
mode:
authorreal-zephex <[email protected]>2024-04-10 01:19:20 +0530
committerreal-zephex <[email protected]>2024-04-10 01:19:20 +0530
commite5935c15af0375240fa7c711dc99101fa48048be (patch)
treee1807c8552c25b0f2f10d55dce59725606bb4b66 /src/app/anime/videoLinkfetcher.js
parentprolly the last update to dramalama. (diff)
downloaddramalama-e5935c15af0375240fa7c711dc99101fa48048be.tar.xz
dramalama-e5935c15af0375240fa7c711dc99101fa48048be.zip
UI changes
Diffstat (limited to 'src/app/anime/videoLinkfetcher.js')
-rw-r--r--src/app/anime/videoLinkfetcher.js32
1 files changed, 32 insertions, 0 deletions
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);
+ }
+}