'use client' import Link from 'next/link' import moment from "moment"; import { useState } from "react" import { events } from "@/utility/constant.utils"; // <-- import the events array here export default function UpcomingEventData() { const [currentMonth, setCurrentMonth] = useState(moment()); // Get start and end of current month const startOfMonth = currentMonth.clone().startOf("month"); const endOfMonth = currentMonth.clone().endOf("month"); // Generate calendar days const daysInMonth = []; for (let i = 0; i < startOfMonth.day(); i++) { daysInMonth.push(null); } for (let i = 1; i <= endOfMonth.date(); i++) { daysInMonth.push(moment(currentMonth).date(i)); } // Get events for a given date const getEventForDate = (date) => { if (!date) return []; const dateString = date.format("YYYY-MM-DD"); const dateStringDMY = date.format("DD/MM/YYYY"); return events.filter(event => { if (!event.date) return false; return event.date === dateString || event.date.includes(dateString) || event.date.includes(dateStringDMY); }); }; const formatEventDate = (dateStr) => { if (!dateStr) return ""; return dateStr.replace(/\d{4}-\d{2}-\d{2}/g, (date) => { const m = moment(date, "YYYY-MM-DD", true); return m.isValid() ? m.format("ddd, MMM DD, YYYY") : date; }); }; // Navigate months const handleMonthChange = (direction) => { setCurrentMonth(currentMonth.clone().add(direction, "months")); }; return (
| {day} | ))}
|---|
| 0 ? "#ce2029" : "white",
color: eventList.length > 0 ? "white" : "black",
}}
title={
eventList.length > 0
? eventList.map(e => e.title).join("\n")
: ""
}
>
{day ? (
{day.date()}
) : (
""
)}
|
);
})}
{event.desc}
{event.desc}