PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / trunk
GiveWP – Donation Plugin and Fundraising Platform vtrunk
4.16.4 4.16.3 4.16.2 4.16.1 4.16.0 4.15.5 4.15.4 4.15.3 4.15.2 4.15.1 4.15.0 2.3.0 2.3.1 2.3.2 2.30.0 2.31.0 2.31.1 2.32.0 2.33.0 2.33.1 2.33.2 2.33.3 2.33.4 2.33.5 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.5.0 2.5.1 2.5.10 2.5.11 2.5.12 2.5.13 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.7 2.5.8 2.5.9 2.6.0 2.6.1 2.6.2 2.6.3 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.8.0 2.8.1 2.9.0 2.9.1 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.1.0 3.1.1 3.1.2 3.10.0 3.11.0 3.12.0 3.12.1 3.12.2 3.12.3 3.13.0 3.14.0 3.14.1 3.14.2 3.15.0 3.15.1 3.16.0 3.16.1 3.16.2 3.16.3 3.16.4 3.16.5 3.17.0 3.17.1 3.17.2 3.18.0 3.19.0 3.19.1 3.19.2 3.19.3 3.19.4 3.2.0 3.2.1 3.2.2 3.20.0 3.21.0 3.21.1 3.22.0 3.22.1 3.22.2 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.5.0 3.5.1 3.6.0 3.6.1 3.6.2 3.7.0 3.8.0 3.9.0 4.0.0 4.1.0 4.1.1 4.10.0 4.10.1 4.11.0 4.12.0 4.13.0 4.13.1 4.13.2 4.14.0 4.14.1 4.14.2 4.14.3 4.14.4 4.14.5 4.14.6 4.2.0 4.2.1 4.3.0 4.3.1 4.3.2 4.4.0 4.5.0 4.6.1 4.7.0 4.7.1 4.8.0 4.8.1 4.9.0 trunk 1.9.0 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.10.0 2.10.1 2.10.2 2.10.3 2.10.4 2.11.0 2.11.1 2.11.2 2.11.3 2.12.0 2.12.1 2.12.2 2.12.3 2.13.0 2.13.1 2.13.2 2.13.3 2.13.4 2.14.0 2.15.0 2.16.0 2.16.1 2.17.0 2.17.1 2.17.3 2.18.0 2.18.1 2.19.1 2.19.2 2.19.3 2.19.4 2.19.5 2.19.6 2.19.7 2.19.8 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.6 2.20.0 2.20.1 2.20.2 2.21.0 2.21.1 2.21.2 2.21.3 2.21.4 2.22.0 2.22.1 2.22.2 2.22.3 2.23.0 2.23.1 2.23.2 2.24.0 2.24.1 2.24.2 2.25.0 2.25.1 2.25.2 2.25.3 2.26.0 2.27.0 2.27.1 2.27.2 2.27.3 2.28.0 2.29.0 2.29.1 2.29.2
give / src / EventTickets / resources / admin / components / EventDetailsPage / AttendeesSection / index.tsx
give / src / EventTickets / resources / admin / components / EventDetailsPage / AttendeesSection Last commit date
AttendeesSection.module.scss 2 years ago index.tsx 1 year ago
index.tsx
59 lines
1 import {__, _x} from '@wordpress/i18n';
2 import styles from './AttendeesSection.module.scss';
3 import {GiveEventTicketsDetails} from '../types';
4 import {useState} from 'react';
5 import SectionTable from '../SectionTable';
6 import locale from '../../../../date-fns-locale';
7 import {format} from 'date-fns';
8
9 const dateFormat = _x("MM/dd/yyyy 'at' h:mmaaa", 'Date format for event details page', 'give');
10
11 /**
12 * Displays a blank slate for the Attendees table.
13 *
14 * @since 3.6.0
15 */
16 const BlankSlate = () => {
17 const imagePath = `${window.GiveEventTicketsDetails.pluginUrl}build/assets/dist/images/list-table/blank-slate-attendees-icon.svg`;
18 return (
19 <div className={styles.container}>
20 <img src={imagePath} alt={__('No attendees yet', 'give')} />
21 <h3>{__('No attendees yet', 'give')}</h3>
22 </div>
23 );
24 };
25
26 export default function AttendeesSection() {
27 const {
28 event: {ticketTypes, tickets},
29 }: GiveEventTicketsDetails = window.GiveEventTicketsDetails;
30 const [data, setData] = useState(tickets);
31
32 const getTicketTypeById = (id: number) =>
33 ticketTypes.find((type) => type.id === id)?.title || __('Unknown', 'give');
34
35 const tableHeaders = {
36 id: __('ID', 'give'),
37 attendeeName: __('Name', 'give'),
38 attendeeEmail: __('Email', 'give'),
39 ticketType: __('Ticket Type', 'give'),
40 date: __('Purchase Date', 'give'),
41 };
42
43 const formattedData = data.map((ticket) => {
44 return {
45 ...ticket,
46 attendeeName: ticket.attendee.name,
47 attendeeEmail: ticket.attendee.email,
48 ticketType: getTicketTypeById(ticket.ticketTypeId),
49 date: format(new Date(ticket.createdAt.date), dateFormat, {locale}),
50 };
51 });
52
53 return (
54 <section>
55 <SectionTable tableHeaders={tableHeaders} data={formattedData} blankSlate={<BlankSlate />} />
56 </section>
57 );
58 }
59