import React, { useState, useEffect } from "react"; import { Link } from "react-router-dom"; import { useMedia } from "../contexts/MediaContext"; import { useAuth } from "../contexts/AuthContext"; import { listMedia } from "../services/supabase"; import { mediaTypes } from "../services/mediaService"; import { FiTrendingUp, FiCalendar, FiAward } from "react-icons/fi"; import MediaCarousel from "../components/media/MediaCarousel"; import { getImageUrl } from "../services/tmdbApi"; const HomePage = () => { const [media, setMedia] = useState([]); const [loading, setLoading] = useState(true); const [error, setError] = useState(null); const { user } = useAuth(); useEffect(() => { const loadMedia = async () => { try { setLoading(true); setError(null); const { data, error } = await listMedia(); if (error) { throw new Error(error); } setMedia(data || []); } catch (err) { console.error("Error loading media:", err); setError("Не удалось загрузить контент"); } finally { setLoading(false); } }; loadMedia(); }, []); if (loading) { return (
); } if (error) { return (
{error}
); } return (

Добро пожаловать в CampFire

{user?.role === "admin" && ( Управление контентом )}
{media.length > 0 ? (
{media.map((item) => (
{item.title}
{item.type === "movie" ? "Фильм" : "Сериал"} {new Date(item.release_date).getFullYear()}

{item.title}

{item.description}

))}
) : (

Пока нет доступного контента

{user?.role === "admin" && ( Добавить контент )}
)}
); }; export default HomePage;