import React, { useState, useEffect } from 'react';
import { Link } from 'react-router-dom';
import api from '../utils/api';
import { Card } from '../components/ui/card';
import { Badge } from '../components/ui/badge';
import Navbar from '../components/Navbar';
import { Calendar, MapPin, Users, ArrowRight } from 'lucide-react';
const Events = () => {
const [events, setEvents] = useState([]);
const [loading, setLoading] = useState(true);
useEffect(() => {
fetchEvents();
}, []);
const fetchEvents = async () => {
try {
const response = await api.get('/events');
setEvents(response.data);
} catch (error) {
console.error('Failed to fetch events:', error);
} finally {
setLoading(false);
}
};
const getRSVPBadge = (rsvpStatus) => {
if (!rsvpStatus) return null;
const config = {
yes: { label: 'Going', className: 'bg-[#81B29A] text-white' },
no: { label: 'Not Going', className: 'bg-gray-400 text-white' },
maybe: { label: 'Maybe', className: 'bg-orange-100 text-orange-700' }
};
const rsvpConfig = config[rsvpStatus];
if (!rsvpConfig) return null;
return (
Browse and RSVP to our community events.
Loading events...
{event.description}
)}There are no upcoming events at the moment. Check back later!