import React, { useState, useEffect } from "react"; import { X } from "lucide-react"; const ActivityModal = () => { const [isOpen, setIsOpen] = useState(false); const [activityContent, setActivityContent] = useState(null); const [isLoading, setIsLoading] = useState(true); useEffect(() => { const fetchActivityContent = async () => { try { setIsLoading(true); const response = await fetch("/api/activity", { headers: { "x-from-frontend": "true", }, }); if (!response.ok) { throw new Error("Failed to fetch activity content"); } const data = await response.json(); console.log("data", data); if (data.success && data.data) { setActivityContent(data.data[0]); setIsOpen(true); } else { console.log(data.message || "No active activity"); setActivityContent(null); } } catch (error) { console.error("Error fetching activity content:", error); setActivityContent(null); } finally { setIsLoading(false); } }; fetchActivityContent(); }, []); if (!isOpen || !activityContent || isLoading) return null; console.log("activityContent", activityContent); const hasBackgroundImage = !!activityContent?.backgroundImage; const hasBackgroundImageLink = !!activityContent?.backgroundImageLink; const CardContent = () => (
); return ( <> {hasBackgroundImage ? (
{hasBackgroundImageLink ? ( ) : ( )}
) : (
)} ); }; export default ActivityModal;