From d58aa441e59f4f04f126c23da0864a5ff682e50a Mon Sep 17 00:00:00 2001 From: zephex-alt <166333351+zephex-alt@users.noreply.github.com> Date: Mon, 6 May 2024 22:02:15 +0000 Subject: minor fixes --- src/app/movies/components/cacher.js | 17 +++++++++++++++++ src/app/movies/components/popular.jsx | 3 +++ src/app/movies/components/search_2.jsx | 3 +++ src/app/movies/components/trending.jsx | 3 +++ src/app/movies/styles/info.module.css | 3 ++- src/app/movies/styles/pop_trend.module.css | 17 +++++++++++++++-- src/app/movies/styles/search.module.css | 13 +++++++++++++ 7 files changed, 56 insertions(+), 3 deletions(-) create mode 100644 src/app/movies/components/cacher.js (limited to 'src/app') diff --git a/src/app/movies/components/cacher.js b/src/app/movies/components/cacher.js new file mode 100644 index 0000000..169508a --- /dev/null +++ b/src/app/movies/components/cacher.js @@ -0,0 +1,17 @@ +import { getInfoURL } from "../../../../utils/movie_urls"; + +const PreFetchMovieInfo = async (data) => { + try { + const fetchPromises = data.results.map(async (element) => { + const link = `${getInfoURL(element.id)}`; + await fetch(link, { next: { revalidate: 21600 } }); + }); + + await Promise.all(fetchPromises); + console.log("Movie info pre-fetched successfully!"); + } catch (error) { + console.error("Error occurred while pre-fetching video links:", error); + } +}; + +export default PreFetchMovieInfo; diff --git a/src/app/movies/components/popular.jsx b/src/app/movies/components/popular.jsx index 0773780..04d9cf8 100644 --- a/src/app/movies/components/popular.jsx +++ b/src/app/movies/components/popular.jsx @@ -1,10 +1,12 @@ import { POPULAR } from "../../../../utils/movie_urls"; +import PreFetchMovieInfo from "./cacher"; import styles from "../styles/pop_trend.module.css"; import Image from "next/image"; import Link from "next/link"; export default async function POPULAR_MOVIES() { const data = await get_popular(); + PreFetchMovieInfo(data); return (
@@ -29,6 +31,7 @@ export default async function POPULAR_MOVIES() { backgroundRepeat: "no-repeat", backgroundSize: "cover", }} + className={styles.MovieEntryPrev} >
{ const data = await get_search_results(title); + PreFetchMovieInfo(data); return (
{data && @@ -26,6 +28,7 @@ const SearchResults = async (title) => { borderRadius: "0.5rem", overflow: "hidden", }} + className={styles.MovieResultsPrev} >

{item.title || item.original_title}

diff --git a/src/app/movies/components/trending.jsx b/src/app/movies/components/trending.jsx index b12d068..be2a2e1 100644 --- a/src/app/movies/components/trending.jsx +++ b/src/app/movies/components/trending.jsx @@ -1,10 +1,12 @@ import { TRENDING } from "../../../../utils/movie_urls"; +import PreFetchMovieInfo from "./cacher"; import styles from "../styles/pop_trend.module.css"; import Link from "next/link"; import Image from "next/image"; export default async function TREDNING_MOVIES() { const data = await get_popular(); + PreFetchMovieInfo(data); return (
@@ -29,6 +31,7 @@ export default async function TREDNING_MOVIES() { backgroundRepeat: "no-repeat", backgroundSize: "cover", }} + className={styles.MovieEntryPrev} >