The Events section has replaced the old About section and provides a clean, card-based layout for upcoming shows and tour dates.
- Component:
app/components/Events.tsx- Main Events component - Configuration:
app/config/events.ts- Events data and management functions - Navigation: Updated in
app/components/Hero.tsx(both desktop and mobile)
Open app/config/events.ts and modify the eventsData array:
export const eventsData: Event[] = [
{
id: 1,
date: "March 15, 2025",
city: "Lagos",
location: "Nigeria",
venue: "The Terra Kulture Arena",
status: "upcoming",
action: "RSVP",
actionType: "rsvp",
description: "ShineTTW Live in Lagos - The Chosen One EP Tour"
},
// Add more events here...
]| Property | Type | Description | Options |
|---|---|---|---|
id |
number | Unique identifier | Auto-increment |
date |
string | Event date | "March 15, 2025" |
city |
string | City name | "Lagos" |
location |
string | Country/State | "Nigeria" |
venue |
string | Venue name | "The Terra Kulture Arena" |
status |
string | Event status | "upcoming", "sold-out", "cancelled", "completed" |
action |
string | Button text | "RSVP", "Buy Tickets", "Remind Me" |
actionType |
string | Button style | "rsvp", "tickets", "reminder", "sold-out" |
ticketUrl |
string | Optional ticket link | "https://example.com/tickets" |
description |
string | Event description | "ShineTTW Live in Lagos..." |
Different action types automatically get different button styles:
- RSVP: Chrome background with black text
- Buy Tickets: Red background with white text
- Remind Me: Gray background with white text
- Sold Out: Gray background with white text
Event status is displayed as a colored badge:
- Upcoming: Green badge
- Sold Out: Red badge
- Cancelled: Gray badge
- Completed: Blue badge
The configuration file includes helper functions:
// Get events by status
getEventsByStatus('upcoming')
// Get all upcoming events
getUpcomingEvents()
// Search events by location
getEventsByLocation('Lagos')The Events section is fully responsive:
- Mobile: Single column layout
- Desktop: Two-column grid layout
- Hover Effects: Chrome border highlights and subtle animations
To add new event types or modify button styles, edit the getActionButtonStyle function in Events.tsx:
const getActionButtonStyle = (actionType: string) => {
switch (actionType) {
case 'rsvp':
return 'bg-chrome text-black hover:bg-white'
case 'tickets':
return 'bg-red-600 hover:bg-red-700 text-white'
case 'reminder':
return 'bg-gray-700 hover:bg-gray-600 text-white'
case 'new-type': // Add new type here
return 'bg-blue-600 hover:bg-blue-700 text-white'
default:
return 'bg-chrome text-black hover:bg-white'
}
}The navigation has been automatically updated:
- Desktop: Top navigation bar shows "EVENTS" instead of "ABOUT"
- Mobile: Side drawer shows "EVENTS" instead of "ABOUT"
- Links: All navigation links point to
#eventssection
After updating events:
- Save the configuration file
- The website will automatically reload
- Navigate to the Events section to see changes
- Test on both desktop and mobile views
Potential improvements for the Events section:
- Event filtering by location/date
- Calendar view integration
- Ticket purchasing flow
- Event reminders and notifications
- Social media sharing
- Event photos and galleries