import React from 'react'; import { Event, Membership, Payment } from '../../services/membershipService'; import { utcToLondonTimeInput } from '../../utils/timezone'; interface MemberOverviewPageProps { activeMembership?: Membership; formatDate: (dateString: string) => string; getStatusClass: (status: string) => string; handleMembershipSetup: () => void; handleRSVP: (eventId: number, status: 'attending' | 'maybe' | 'not_attending') => void; payments: Payment[]; rsvpLoading: { [eventId: number]: boolean }; upcomingEvents: Event[]; } const MemberOverviewPage: React.FC = ({ activeMembership, formatDate, getStatusClass, handleMembershipSetup, handleRSVP, payments, rsvpLoading, upcomingEvents }) => ( <>

Member Dashboard

Everything you need for your SASA membership

Track your status, respond to upcoming events, and keep your details current from one place.

Membership {activeMembership ? activeMembership.status : 'Not set up'}
Events {upcomingEvents.length}
Payments {payments.length}
{activeMembership ? (

Membership

Your Membership

{activeMembership.status.toUpperCase()}

{activeMembership.tier.name}

Membership Number{activeMembership.id}
Annual Fee£{activeMembership.tier.annual_fee.toFixed(2)}
Valid From{formatDate(activeMembership.start_date)}
Valid Until{formatDate(activeMembership.end_date)}
Auto Renew{activeMembership.auto_renew ? 'Yes' : 'No'}
Benefits:

{activeMembership.tier.benefits}

) : (

Membership

Set Up Your Membership

Choose from our membership tiers to get started with SASA benefits.

Available tiers include Personal, Aircraft Owners, and Corporate memberships.

)}

Calendar

Upcoming Events

{upcomingEvents.length > 0 ? (
{upcomingEvents.map((event) => (

{event.title}

{formatDate(event.event_date)} at {utcToLondonTimeInput(event.event_date)}

{event.location &&

{event.location}

}
{event.description &&

{event.description}

} {event.rsvp_status && (
Your RSVP: {event.rsvp_status.replace('_', ' ')}
)}
))}
) : (

No upcoming events at this time.

)}

Billing

Payment History

{payments.length > 0 ? (
{payments.map((payment) => ( ))}
Date Amount Method Status
{payment.payment_date ? formatDate(payment.payment_date) : 'Pending'} £{payment.amount.toFixed(2)} {payment.payment_method} {payment.status.toUpperCase()}
) : (

No payment history available.

)}
); export default MemberOverviewPage;