import React from 'react'; import { Card, CardHeader, CardTitle, CardContent } from '@/components/ui/card'; const Calendar = () => { const events = [ { date: '2025-01-03', title: 'GRAMMYs Voting FINAL ENDS', artist: 'Cosmica' }, { date: '2025-01-16', title: '"Pink Lemonade" Presave', artist: 'Rhiannon' }, { date: '2025-01-22', title: '"Best Kept Secret" Single + Video', artist: 'Sedona' }, { date: '2025-01-24', title: 'Single Release Show', artist: 'Sedona' }, { date: '2025-01-31', title: '"Pink Lemonade" Single + Visualizer', artist: 'Rhiannon' }, { date: '2025-02-21', title: '"Can\'t Deny" Presave', artist: 'Rhiannon' }, { date: '2025-02-28', title: '"Can\'t Deny" Single + Visualizer', artist: 'Rhiannon' }, { date: '2025-03-05', title: '"Every Once In A While" + "The Culprit" Double Single', artist: 'Sedona' }, { date: '2025-03-07', title: 'SXSW Start', artist: 'Multiple Artists' }, { date: '2025-03-15', title: 'SXSW End', artist: 'Multiple Artists' }, { date: '2025-03-21', title: '"If I Could" Presave + Visualizer', artist: 'Rhiannon' }, { date: '2025-03-24', title: '"The Culprit" Visualizer', artist: 'Sedona' }, { date: '2025-03-28', title: '"If I Could" Single + EP Release', artist: 'Rhiannon' }, { date: '2025-04-16', title: '"Underneath" Single + Video', artist: 'Sedona' }, { date: '2025-05-23', title: '"Knock on Wood" + Album Release', artist: 'Sedona' }, { date: '2025-07-08', title: 'LAMC Start', artist: 'Cosmica' }, { date: '2025-07-12', title: 'LAMC End', artist: 'Cosmica' }, ]; const months = [ 'January', 'February', 'March', 'April', 'May', 'June', 'July' ]; const getArtistColor = (artist) => { const colors = { 'Cosmica': 'bg-blue-100 border-blue-300 text-blue-800', 'Rhiannon': 'bg-pink-100 border-pink-300 text-pink-800', 'Sedona': 'bg-purple-100 border-purple-300 text-purple-800', 'Multiple Artists': 'bg-green-100 border-green-300 text-green-800' }; return colors[artist] || 'bg-gray-100 border-gray-300 text-gray-800'; }; const getDaysInMonth = (year, month) => { return new Date(year, month + 1, 0).getDate(); }; const getFirstDayOfMonth = (year, month) => { return new Date(year, month, 1).getDay(); }; const getEventsForDate = (year, month, day) => { const dateStr = `${year}-${String(month + 1).padStart(2, '0')}-${String(day).padStart(2, '0')}`; return events.filter(event => event.date === dateStr); }; const monthHasEvents = (monthIndex) => { return events.some(event => { const eventMonth = parseInt(event.date.split('-')[1]) - 1; return eventMonth === monthIndex; }); }; return ( 2025 Calendar
Cosmica
Rhiannon
Sedona
Multiple Artists
{months.map((month, monthIndex) => { if (!monthHasEvents(monthIndex)) return null; const daysInMonth = getDaysInMonth(2025, monthIndex); const firstDay = getFirstDayOfMonth(2025, monthIndex); const days = []; for (let i = 0; i < firstDay; i++) { days.push(null); } for (let day = 1; day <= daysInMonth; day++) { days.push(day); } return (

{month} 2025

{['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'].map(day => (
{day}
))} {days.map((day, index) => { const dayEvents = day ? getEventsForDate(2025, monthIndex, day) : []; return (
{day && ( <>
{day}
{dayEvents.map((event, eventIndex) => (
{event.title}
))}
)}
); })}
); })}
); }; export default Calendar;
top of page
bottom of page