tMDB.ts 786 Bytes
import type { RuntimeConfig } from "nuxt/schema";

export const useTMDB = function() {
  const runtimeconfig: RuntimeConfig = useRuntimeConfig();
  const apiUrl = runtimeconfig.public.apiTMDBUrl;
  const apiKey = runtimeconfig.public.apiTMDBSecret;

  /**
   * Fetch popular movies.
   * @param page
   */
  const fetchPopularMovies = async (page: number) => {
    try {
      const response = await fetch(
        `${apiUrl}/movie/popular?api_key=${apiKey}&language=fr-FR&page=${page}`,
      );
      if (!response.ok) {
        console.error("An error occured when fetching popular movies:");
      } else {
        return await response.json();
      }
    } catch (error) {
      console.error("Error fetching popular movies:", error);
    }
  };

  return { fetchPopularMovies }
}