Server IP : 192.158.238.246 / Your IP : 3.142.94.158 Web Server : LiteSpeed System : Linux uniform.iwebfusion.net 4.18.0-553.27.1.lve.1.el8.x86_64 #1 SMP Wed Nov 20 15:58:00 UTC 2024 x86_64 User : jenniferflocom ( 1321) PHP Version : 8.1.32 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /proc/7779/cwd/plugins/give/src/EventTickets/resources/admin/components/CreateEventModal/ |
Upload File : |
import {useState} from 'react'; import {__} from '@wordpress/i18n'; import styles from './CreateEventModal.module.scss'; import EventFormModal from '../EventFormModal'; /** * Auto open modal if the URL has the query parameter id as new * * @since 3.6.0 */ const autoOpenModal = () => { const queryParams = new URLSearchParams(window.location.search); const newParam = queryParams.get('new'); return newParam === 'event'; }; /** * Create Event Modal component * * @since 3.6.0 */ export default function CreateEventModal() { const [isOpen, setOpen] = useState<boolean>(autoOpenModal()); const openModal = () => setOpen(true); const closeModal = (response: ResponseProps = {}) => { setOpen(false); if (response?.id) { window.location.href = window.GiveEventTickets.adminUrl + 'edit.php?post_type=give_forms&page=give-event-tickets&id=' + response?.id; } }; const apiSettings = window.GiveEventTickets; // Remove the /list-table from the apiRoot. This is a hack to make the API work while we don't refactor other list tables. apiSettings.apiRoot = apiSettings.apiRoot.replace('/list-table', ''); return ( <> <a className={`button button-primary ${styles.createEventButton}`} onClick={openModal}> {__('Create event', 'give')} </a> <EventFormModal isOpen={isOpen} handleClose={closeModal} title={__('Create your event', 'give')} apiSettings={apiSettings} /> </> ); } type ResponseProps = { id?: string; };