import {__, _x} from '@wordpress/i18n';
import styles from './AttendeesSection.module.scss';
import {GiveEventTicketsDetails} from '../types';
import {useState} from 'react';
import SectionTable from '../SectionTable';
import locale from '../../../../date-fns-locale';
import {format} from 'date-fns';
const dateFormat = _x("MM/dd/yyyy 'at' h:mmaaa", 'Date format for event details page', 'give');
/**
* Displays a blank slate for the Attendees table.
*
* @since 3.6.0
*/
const BlankSlate = () => {
const imagePath = `${window.GiveEventTicketsDetails.pluginUrl}build/assets/dist/images/list-table/blank-slate-attendees-icon.svg`;
return (
{__('No attendees yet', 'give')}
);
};
export default function AttendeesSection() {
const {
event: {ticketTypes, tickets},
}: GiveEventTicketsDetails = window.GiveEventTicketsDetails;
const [data, setData] = useState(tickets);
const getTicketTypeById = (id: number) =>
ticketTypes.find((type) => type.id === id)?.title || __('Unknown', 'give');
const tableHeaders = {
id: __('ID', 'give'),
attendeeName: __('Name', 'give'),
attendeeEmail: __('Email', 'give'),
ticketType: __('Ticket Type', 'give'),
date: __('Purchase Date', 'give'),
};
const formattedData = data.map((ticket) => {
return {
...ticket,
attendeeName: ticket.attendee.name,
attendeeEmail: ticket.attendee.email,
ticketType: getTicketTypeById(ticket.ticketTypeId),
date: format(new Date(ticket.createdAt.date), dateFormat, {locale}),
};
});
return (
);
}