(function() { const UICard = window.UICard; const UIModal = window.UIModal; const Search = window.createIcon('Search'); const ViewHome = () => { const { fetchAPI, isLoading } = window.useApp(); const [movies, setMovies] = React.useState([]); const [selectedMovie, setSelectedMovie] = React.useState(null); const [searchTerm, setSearchTerm] = React.useState(''); // Fetch Data saat Mount React.useEffect(() => { const loadMovies = async () => { try { const data = await fetchAPI('/movies'); if(Array.isArray(data)) setMovies(data); } catch (err) { console.error("Gagal load film", err); } }; loadMovies(); }, []); // Filter Logic const filteredMovies = movies.filter(m => m.title.toLowerCase().includes(searchTerm.toLowerCase()) || (m.category && m.category.toLowerCase().includes(searchTerm.toLowerCase())) ); return (
{/* Hero Section */}
Official App

Cilacap
Film Festival

{/* Search Bar */}
setSearchTerm(e.target.value)} />
{/* Content Grid */}

Sedang Tayang

{isLoading && movies.length === 0 ? (
Memuat data...
) : filteredMovies.length > 0 ? ( filteredMovies.map(movie => ( )) ) : (

Tidak ada film ditemukan.

)}
{/* Modal Detail */} setSelectedMovie(null)} item={selectedMovie} />
); }; window.ViewHome = ViewHome; })();