Film Semi Barat -
If you don't want to use TMDB API, use a static JSON file:
// drama-films.json
[
"id": 1,
"title": "The Shawshank Redemption",
"year": 1994,
"rating": 9.3,
"synopsis": "Two imprisoned men bond over a number of years...",
"poster": "/images/shawshank.jpg",
"reviews": []
]
Then import it: import films from "./drama-films.json"
Bagi pembaca yang ingin menonton film semi Barat secara legal, berikut rekomendasinya (pastikan usia 21+):
Peringatan: Hindari situs ilegal karena berisiko malware dan melanggar undang-undang ITE Indonesia. Film semi barat
// useDramaFilms.js (custom hook) import useEffect, useState from "react";const API_KEY = "YOUR_TMDB_API_KEY"; const DRAMA_GENRE_ID = 18;
export function useDramaFilms() const [films, setFilms] = useState([]); const [loading, setLoading] = useState(true);
useEffect(() => fetch(
https://api.themoviedb.org/3/discover/movie?api_key=$API_KEY&with_genres=$DRAMA_GENRE_ID&sort_by=popularity.desc) .then(res => res.json()) .then(data => const formatted = data.results.map(movie => ( id: movie.id, title: movie.title, year: movie.release_date?.split("-")[0], rating: movie.vote_average, synopsis: movie.overview, poster:https://image.tmdb.org/t/p/w500$movie.poster_path, reviews: [] // load from localStorage or backend )); setFilms(formatted); setLoading(false); ); , []); If you don't want to use TMDB API,
return films, loading ;
import useState from "react";
export function FilmCard( film ) const [reviews, setReviews] = useState(film.reviewsThen import it: import films from "
Beberapa nama yang wajib diketahui penggemar film semi Barat: