// REQ0042/event-detail // // PURPOSE: // - Provides functionality view event detail // // RULES: // - T.B.A. // import React, { useEffect, useState } from 'react'; import { IonHeader, IonToolbar, IonContent, IonPage, IonButtons, IonMenuButton, IonButton, IonIcon, IonDatetime, IonSelectOption, IonList, IonItem, IonLabel, IonSelect, IonPopover, IonText, IonFooter, useIonRouter, } from '@ionic/react'; import './style.scss'; import { chevronBackOutline, ellipsisHorizontal, ellipsisVertical, heart, logoIonic, } from 'ionicons/icons'; import AboutPopover from '../../components/AboutPopover'; import { format, parseISO } from 'date-fns'; import { TestContent } from './TestContent'; import { Helloworld } from '../../api/Helloworld'; import { getEventById } from '../../api/getEventById'; import { connect } from '../../data/connect'; import * as selectors from '../../data/selectors'; import { Event } from '../../models/Event'; import { RouteComponentProps } from 'react-router'; interface OwnProps extends RouteComponentProps { event?: Event; } interface StateProps {} interface DispatchProps {} interface SpeakerDetailProps extends OwnProps, StateProps, DispatchProps {} interface AboutProps {} const EventDetail: React.FC = () => { const [showPopover, setShowPopover] = useState(false); const [popoverEvent, setPopoverEvent] = useState(); const [location, setLocation] = useState< 'madison' | 'austin' | 'chicago' | 'seattle' >('madison'); const [conferenceDate, setConferenceDate] = useState( '2047-05-17T00:00:00-05:00' ); const selectOptions = { header: 'Select a Location', }; const presentPopover = (e: React.MouseEvent) => { setPopoverEvent(e.nativeEvent); setShowPopover(true); }; function displayDate(date: string, dateFormat: string) { return format(parseISO(date), dateFormat); } const [eventDetail, setEventDetail] = useState(null); useEffect(() => { Helloworld(); getEventById('1').then(({ data }) => { console.log({ data }); setEventDetail(data); }); }, []); const router = useIonRouter(); function handleBackOnClick() { router.goBack(); } if (!eventDetail) return <>loading; return ( {/* */} handleBackOnClick()}>
{eventDetail.avatar}
{format(new Date(eventDetail.eventDate), 'yyyy-MM-dd')}

{eventDetail.title}

members place holder
More
{eventDetail.currency}
{eventDetail.price}
per person
{eventDetail.duration_m}
{eventDetail.ageBottom}
{eventDetail.ageTop}
years old
{eventDetail.location}
40
20
20
Join
setShowPopover(false)} > setShowPopover(false)} />
); }; export default connect({ mapStateToProps: (state, ownProps) => ({ event: selectors.getEvent(state, ownProps), }), component: EventDetail, });