import React, { useEffect, useState } from 'react' import { useAuth } from '../../../tikexModule/hooks/useAuth' import AdminCalendar from '../../../tikexModule/components/AdminCalendar' import useLocalStorage from '../../../tikexModule/hooks/useLocalStorageTX' import DatePicker from 'react-datepicker' import { EventTime } from '../../../tikexModule/Types/models/team' import { formatISO, parseISO } from 'date-fns' import SwitchBase from '../../../tikexModule/components/inputs/SwitchPass' import randomString from '../../../tikexModule/utils/randomString' export default function EventTimeEditorContent({ children, buttonClassName = 'btn btn-sm full-width-sm', }: { children?: React.ReactNode buttonClassName?: string }) { const auth = useAuth() const [isModalOpened, setIsModalOpened] = useState(false) const [eventIdQuery, setEventIdQuery] = useState( undefined ) const [eventId, setEventId] = useState(undefined) const [productId, setProductId] = useLocalStorage( 'productIdDashboard', '' ) const [eventTimeId, setEventTimeId] = useState(undefined) // TODO: Rename teamIdDashboard to teamSlugDashboard const [teamSlug, setTeamSlug] = useLocalStorage('teamIdDashboard', '') const team = useAuth().userDTO?.teams?.[teamSlug] const [formState, setFormState] = useState>({}) useEffect(() => { const urlParams = new URLSearchParams(window.location.search) const _eventId = urlParams.get('eventId') if (_eventId) { setEventIdQuery(_eventId) const _eventTimeId = urlParams.get('eventTimeId') if (_eventTimeId) { setEventTimeId(_eventTimeId) const eventTime = team?.ads[_eventId]?.eventTimes[_eventTimeId] if (eventTime) { setFormState(eventTime) } } } }, [team, eventIdQuery, eventTimeId]) useEffect(() => { const url = new URL(window.location.href) const existingEventId = url.searchParams.get('eventId') if (isModalOpened && eventId && eventId != existingEventId) { url.searchParams.append('eventId', eventId) const existingEventTimeId = url.searchParams.get('eventTimeId') if (eventTimeId && existingEventTimeId != eventTimeId) { url.searchParams.append('eventTimeId', eventTimeId) } window.location.href = url.href } }, [isModalOpened, eventTimeId, eventId]) if (auth.userDTO) { return (
{!isModalOpened && !eventIdQuery && ( <>

Időpontok

Naptár oldalba beágyazható shortkódja, amiben a csapat összes időpontja megjelenik:{' '} [tikex_calendar team_slug="{teamSlug} ad_slug=" {productId}" "]


)} {(isModalOpened || eventIdQuery) && (
{ if (!isNaN(date?.getTime())) { setFormState({ ...formState, startTime: formatISO(date), }) } }} showTimeSelect dateFormat="Pp" />
{ if (!isNaN(date?.getTime())) { setFormState({ ...formState, endTime: formatISO(date), }) } }} showTimeSelect dateFormat="Pp" />
{ setFormState({ ...formState, additionalInfo: e?.target?.value, }) }} value={formState.additionalInfo} className="regular-text" type="text" placeholder="pl. salsa" />
{ let v = e?.target?.value let i = parseInt(v) if (i !== undefined) { setFormState({ ...formState, numOfParticipantsInOtherChannel: i, }) } }} value={formState.numOfParticipantsInOtherChannel} className="regular-text" type="text" placeholder="pl. 12" />
{ setFormState({ ...formState, enableSale: newSwitchValue, }) }} />
)}
) } else if (auth.isUpdateUserDTOCompleted) { return <>{children} } else { return <> } }