tf-checkout-react 1.6.6-beta.17 → 1.6.6-beta.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/dist/adapters/customFields.d.ts +1 -0
  2. package/dist/api/common.d.ts +1 -0
  3. package/dist/api/index.d.ts +1 -0
  4. package/dist/components/addonsContainer/AddonComponent.d.ts +5 -1
  5. package/dist/components/addonsContainer/index.d.ts +3 -1
  6. package/dist/components/billing-info-container/index.d.ts +1 -0
  7. package/dist/components/ticketsContainer/TimeSlotsSection.d.ts +17 -0
  8. package/dist/tf-checkout-react.cjs.development.js +891 -638
  9. package/dist/tf-checkout-react.cjs.development.js.map +1 -1
  10. package/dist/tf-checkout-react.cjs.production.min.js +1 -1
  11. package/dist/tf-checkout-react.cjs.production.min.js.map +1 -1
  12. package/dist/tf-checkout-react.esm.js +892 -639
  13. package/dist/tf-checkout-react.esm.js.map +1 -1
  14. package/dist/types/checkoutPageConfigs.d.ts +1 -1
  15. package/dist/utils/customFields.d.ts +11 -0
  16. package/package.json +1 -1
  17. package/src/adapters/customFields.ts +7 -1
  18. package/src/api/common.ts +6 -0
  19. package/src/api/index.ts +1 -1
  20. package/src/components/addonsContainer/AddonComponent.tsx +65 -11
  21. package/src/components/addonsContainer/index.tsx +15 -2
  22. package/src/components/billing-info-container/index.tsx +79 -72
  23. package/src/components/common/CheckboxField/index.tsx +1 -1
  24. package/src/components/ticketsContainer/TicketRow.tsx +1 -1
  25. package/src/components/ticketsContainer/TicketsSection.tsx +2 -2
  26. package/src/components/ticketsContainer/TimeSlotsSection.tsx +118 -0
  27. package/src/components/ticketsContainer/index.tsx +49 -12
  28. package/src/hoc/CustomFields/index.tsx +8 -0
  29. package/src/types/api/common.d.ts +4 -0
  30. package/src/types/checkoutPageConfigs.ts +1 -1
  31. package/src/utils/customFields.ts +22 -0
@@ -1 +1 @@
1
- {"version":3,"file":"tf-checkout-react.esm.js","sources":["../src/api/publicRequest.ts","../src/constants/index.ts","../src/utils/setConfigs.ts","../src/utils/getQueryVariable.ts","../src/utils/formikErrorFocus.ts","../src/utils/cookies.ts","../src/utils/downloadPDF.tsx","../src/utils/createCheckoutDataBodyWithDefaultHolder.ts","../src/utils/createMarkup.ts","../src/utils/replaceVarInString.ts","../src/utils/isBrowser.ts","../src/utils/form.ts","../src/utils/auth.ts","../src/utils/customFields.ts","../src/utils/jsonUtils.ts","../src/api/interceptors.ts","../src/adapters/customFields.ts","../src/api/auth.ts","../src/api/orders.ts","../src/api/cart.ts","../src/api/checkout.ts","../src/api/common.ts","../src/api/payment.ts","../src/api/resale.ts","../src/api/guestTicketDelegation.ts","../src/api/index.ts","../src/hoc/CustomFields/index.tsx","../src/hooks/usePixel.ts","../src/normalizers/index.ts","../src/components/common/ModalComponent/index.tsx","../src/components/idVerificationContainer/VerificationPendingModal.tsx","../src/components/ticketsContainer/InfoIcon.tsx","../src/utils/showZero.tsx","../src/components/timerWidget/index.tsx","../src/components/addonsContainer/adapters/index.tsx","../src/components/common/CheckboxField/index.tsx","../src/components/common/Checkbox.tsx","../src/components/common/CustomField.tsx","../src/components/common/PhoneNumberField.tsx","../src/components/common/Loader.tsx","../src/components/common/SelectField/index.tsx","../src/components/common/CopyMessageModal.tsx","../src/components/common/DatePickerField.tsx","../src/components/common/NativeSelectFeild/index.tsx","../src/components/common/RadioGroupField/index.tsx","../src/components/addonsContainer/AddonComponent.tsx","../src/components/addonsContainer/normalizers/index.ts","../src/components/addonsContainer/utils/index.tsx","../src/components/addonsContainer/index.tsx","../src/components/common/SnackbarAlert.tsx","../src/components/common/PoweredBy.tsx","../src/components/forgotPasswordModal/index.tsx","../src/validators/index.ts","../src/components/loginModal/index.tsx","../src/components/signupModal/index.tsx","../src/components/billing-info-container/utils.ts","../src/components/billing-info-container/index.tsx","../src/utils/adaptStripeErrors.ts","../src/components/confirmModal/index.tsx","../src/components/stripePayment/index.tsx","../src/components/paymentContainer/PaymentPlanSection.tsx","../src/components/paymentContainer/index.tsx","../src/utils/isValidNumber.ts","../src/utils/getImage.ts","../src/components/common/socials.tsx","../src/components/confirmationContainer/config.ts","../src/components/confirmationContainer/social-buttons.tsx","../src/components/confirmationContainer/index.tsx","../src/api/preRegistrationComplete.ts","../src/hooks/useCookieListener.ts","../src/hooks/useLocalStorageListener.ts","../src/components/countdown/index.tsx","../src/components/waitingList/index.tsx","../src/components/ticketsContainer/AccessCodeSection.tsx","../src/components/ticketsContainer/PromoCodeSection.tsx","../src/components/ticketsContainer/ReferralLogic.tsx","../src/components/ticketsContainer/utils.ts","../src/components/ticketsContainer/TicketRow.tsx","../src/components/ticketsContainer/TicketsSection.tsx","../src/components/ticketsContainer/index.tsx","../src/components/myTicketsContainer/tableConfig.tsx","../src/components/myTicketsContainer/row.tsx","../src/components/myTicketsContainer/index.tsx","../src/components/common/RadioField.tsx","../src/components/ticketResaleModal/index.tsx","../src/components/orderDetailsContainer/CustomFieldsForm.tsx","../src/components/orderDetailsContainer/utils/index.tsx","../src/components/orderDetailsContainer/TicketHolderCustomFields.tsx","../src/components/orderDetailsContainer/ticketsTable.tsx","../src/components/orderDetailsContainer/index.tsx","../src/components/resetPasswordContainer/index.tsx","../src/components/ticketResale/index.tsx","../src/components/loginForm/index.tsx","../src/components/common/FieldSection/utils/index.tsx","../src/components/common/FieldSection/index.tsx","../src/components/registerForm/adapters/index.tsx","../src/components/registerForm/constants.tsx","../src/components/registerForm/index.tsx","../src/components/idVerificationContainer/constants.ts","../src/components/delegationsContainer/IssueTicketForm.tsx","../src/components/delegationsContainer/TicketsAssignedTable.tsx","../src/components/delegationsContainer/TicketsAvailableTable.tsx","../src/components/delegationsContainer/IssueComponent.tsx","../src/components/delegationsContainer/index.tsx","../src/hooks/useOnline.ts","../src/components/seatMapContainer/addToCart.ts","../src/components/seatMapContainer/utils.ts","../src/components/seatMapContainer/SeatMapComponent.tsx","../src/components/seatMapContainer/TicketsSection.tsx","../src/components/seatMapContainer/index.tsx","../src/components/idVerificationContainer/index.tsx","../src/components/common/RedirectModal.tsx","../src/components/rsvpContainer/index.tsx","../src/components/preRegistration/constants.tsx","../src/components/preRegistration/utils.ts","../src/components/preRegistration/FieldsSection.tsx","../src/components/preRegistration/index.tsx","../src/components/preRegistration/Prewards.tsx","../src/components/common/CopyField.tsx","../src/components/preRegistration/ShareOptions.tsx","../src/components/preRegistration/PreRegistrationComplete.tsx","../src/components/preRegistration/Influancers.tsx","../src/components/preRegistration/PreRegistrationInformations.tsx"],"sourcesContent":["import axios, { AxiosInstance } from 'axios'\n\nconst headers: { [key: string]: string } = {\n Accept: 'application/vnd.api+json',\n 'Content-Type': 'application/vnd.api+json',\n}\n\nconst isWindowDefined = typeof window !== 'undefined'\nconst authGuestToken = isWindowDefined ? localStorage.getItem('auth_guest_token') : ''\nif (isWindowDefined && authGuestToken) {\n headers['Authorization-Guest'] = authGuestToken\n}\n\nexport const setAxiosHeader = (key: string, value: string | number) => {\n headers[key] = `${value}`\n}\n\ninterface IPublicRequest extends AxiosInstance {\n setBaseUrl: (baseUrl: string) => void;\n setGuestToken: (guestToken: string) => void;\n}\n\nexport const publicRequest: IPublicRequest = axios.create({\n baseURL: 'https://www.ticketfairy.com/api',\n headers,\n}) as IPublicRequest\n\npublicRequest.setBaseUrl = (baseUrl: string) =>\n (publicRequest.defaults.baseURL = baseUrl + '/api')\n\npublicRequest.setGuestToken = (guestToken: string) =>\n (publicRequest.defaults.headers.common['Authorization-Guest'] = guestToken)\n\nexport const setBaseUrl = (baseUrl: string) => {\n publicRequest.setBaseUrl(baseUrl)\n}\n","export const X_TF_ECOMMERCE = 'X-TF-ECOMMERCE'\nexport const FEES_STYLES = {TRADITIONAL: 'TRADITIONAL', DISPLAY_BOTH: 'DISPLAY_BOTH'};\nexport const DEFAULT_FEES_STYLE = FEES_STYLES.TRADITIONAL;","import _forEach from 'lodash/forEach'\n\nimport { publicRequest } from '../api/publicRequest'\nimport {DEFAULT_FEES_STYLE} from \"../constants\";\n\nexport interface IConfigs {\n BASE_URL: string;\n CLIENT_ID: string;\n CLIENT_SECRET: string;\n STRIPE_PUBLISHABLE_KEY: string;\n X_SOURCE_ORIGIN: string;\n FEES_STYLE: string;\n [key: string]: string | number;\n}\n\nexport const CONFIGS: IConfigs = {FEES_STYLE: DEFAULT_FEES_STYLE} as IConfigs\n\nexport const setConfigs = (configs: IConfigs) => {\n _forEach(configs, (value, key) => {\n CONFIGS[key] = value\n })\n\n publicRequest.setBaseUrl(CONFIGS.BASE_URL)\n}\n","export const getQueryVariable = (variable: string) => {\n if (typeof window !== 'undefined') {\n const query = window.location.search.substring(1)\n const vars = query.split('&')\n for (let i = 0; i < vars.length; i++) {\n const pair = vars[i].split('=')\n if (pair[0] === variable) {\n return decodeURIComponent(pair[1])\n }\n }\n }\n return false\n}\n","import { connect, FormikContextType } from 'formik'\nimport { Component } from 'react'\n\ninterface IProps {\n formik: FormikContextType<any>;\n}\n\nclass ErrorFocusInternal extends Component<IProps> {\n public componentDidUpdate(prevProps: IProps) {\n const { isSubmitting, isValidating, errors } = prevProps.formik\n const keys = Object.keys(errors)\n if (keys.length > 0 && isSubmitting && !isValidating) {\n const selector = `[name=\"${keys[0]}\"]`\n const errorElement = document.querySelector(selector) as HTMLElement\n if (errorElement) {\n errorElement.focus()\n }\n }\n }\n\n public render = () => null;\n}\n\nexport const ErrorFocus = connect<{}>(ErrorFocusInternal)\n","\nexport function setCustomCookie(name: string, value: string, days = 5) {\n let expires = ''\n if (days) {\n const date = new Date()\n date.setTime(date.getTime() + days * 24 * 60 * 60 * 1000)\n expires = '; expires=' + date.toUTCString()\n }\n if (typeof window !== 'undefined') {\n const domain = window.location.hostname\n document.cookie =\n name + '=' + (value || '') + expires + `; path=/; domain=${domain}`\n }\n}\n\nexport function getCookieByName(cname: string) {\n if (typeof window === 'undefined') return ''\n const name = cname + '='\n const ca = document.cookie.split(';')\n for (let i = 0; i < ca.length; i++) {\n let c = ca[i]\n while (c.charAt(0) === ' ') {\n c = c.substring(1)\n }\n if (c.indexOf(name) === 0) {\n return c.substring(name.length, c.length)\n }\n }\n return ''\n}\n\nexport function deleteCookieByName(name: string) {\n if (typeof window !== 'undefined') {\n const domain = window.location.hostname\n document.cookie =\n name +\n '=; Path=/' +\n `; domain=${domain}` +\n '; Expires=Thu, 01 Jan 1970 00:00:01 GMT;'\n }\n}\n","import { getCookieByName } from './cookies'\n\nexport const downloadPDF = (pdfUrl: string) => {\n if (typeof window === 'undefined') return\n\n const xtfCookie = getCookieByName('X-TF-ECOMMERCE')\n\n if (!xtfCookie) return\n\n let headers = {}\n\n if (xtfCookie) {\n headers = {\n 'X-TF-ECOMMERCE': xtfCookie,\n }\n }\n\n return fetch(pdfUrl, {\n headers,\n credentials: 'include',\n })\n .then(async response => {\n const blobValue = await response.blob()\n const fileNameHeader = response.headers.get('content-disposition') || ''\n const fileName = fileNameHeader.split('\"')[1]\n return { blobValue, fileName }\n })\n .then(({ blobValue, fileName }) => {\n if (!fileName) {\n throw Error('Something went wrong.')\n }\n const file = new Blob([blobValue], { type: 'application/pdf' })\n const fileURL = URL.createObjectURL(file)\n const link = document.createElement('a')\n link.href = fileURL\n link.setAttribute('download', fileName)\n document.body.appendChild(link)\n link.click()\n document.body.removeChild(link)\n })\n .catch(error => error)\n}\n","import _get from 'lodash/get'\n\ntype Type1 = string | number | null | undefined\ninterface ICheckoutBody {\n attributes: {\n [key: string]:\n | Type1\n | Record<string | number, Type1>\n | Array<Type1 | IticketHolder>;\n };\n data_capture?: {\n [key: string]: any;\n };\n}\n\ninterface IticketHolder {\n first_name?: string;\n last_name?: string;\n phone?: string;\n email?: string;\n}\n\ninterface IUserCredentialsValues {\n emailLogged?: string;\n firstNameLogged?: string;\n lastNameLogged?: string;\n}\n\nexport const createCheckoutDataBodyWithDefaultHolder = (\n ticketsQuantity: number,\n logedInValues: Record<string, string | undefined>,\n includeDob = false,\n userCredentials: IUserCredentialsValues = {}\n): ICheckoutBody => {\n const ticket_holders: IticketHolder[] = []\n\n const first_name =\n _get(logedInValues, 'firstName') ||\n _get(logedInValues, 'first_name') ||\n _get(userCredentials, 'firstNameLogged') ||\n ''\n\n const last_name =\n _get(logedInValues, 'lastName') ||\n _get(logedInValues, 'last_name') ||\n _get(userCredentials, 'lastNameLogged') ||\n ''\n const phone = _get(logedInValues, 'phone', '')\n const email =\n _get(logedInValues, 'email') || _get(userCredentials, 'emailLogged') || ''\n\n for (let i = 0; i <= ticketsQuantity - 1; i++) {\n const individualHolder = i\n ? { first_name: '', last_name: '', phone: '', email: '' }\n : { first_name, last_name, phone, email }\n\n ticket_holders.push(individualHolder)\n }\n\n const body: ICheckoutBody = {\n attributes: {\n ...logedInValues,\n email,\n confirm_email: email,\n first_name,\n last_name,\n ticket_holders,\n },\n }\n\n if (includeDob) {\n const holderAgeDate = new Date(_get(logedInValues, 'holderAge', ''))\n body.attributes.dob_day = holderAgeDate.getDate()\n body.attributes.dob_month = holderAgeDate.getMonth() + 1\n body.attributes.dob_year = holderAgeDate.getFullYear()\n }\n\n return body\n}\n","export const createMarkup = (data: string) => ({ __html: data })","export const replaceVarInString = (message = '', varArray: Array<string>) => {\n const re = new RegExp(/\\{.*?\\}/g)\n let index = 0\n return message.replace(re, _ => {\n const value = varArray[index] || ''\n index++\n return value\n })\n}\n","export const isBrowser =\n typeof window !== 'undefined' && typeof window.document !== 'undefined'\n","import _forEach from 'lodash/forEach'\nimport _get from 'lodash/get'\n\nexport const getFormInitialValues = (fieldsSections: IFormFieldsSection[]) => {\n const initialValues: { [key: string]: string | number | boolean } = {}\n const isWindowDefined = typeof window !== 'undefined'\n const userData = JSON.parse(\n isWindowDefined ? window.localStorage.getItem('user_data') || '{}' : '{}'\n ) as IProfileData\n\n _forEach(fieldsSections, item => {\n _forEach(item.fields, fieldItem => {\n switch (fieldItem.name) {\n case 'country':\n case 'numTickets':\n case 'state':\n initialValues[fieldItem.name] = ''\n break\n case 'brandOptIn':\n initialValues[fieldItem.name] = true\n break\n case 'confirmEmail':\n initialValues[fieldItem.name] =\n _get(userData, fieldItem.name) || _get(userData, 'email') || ''\n break\n default:\n initialValues[fieldItem.name] = _get(userData, fieldItem.name) || ''\n break\n }\n })\n })\n\n return initialValues\n}\n","export const setLoggedUserData = (data: IProfileData) => ({\n id: data.id,\n first_name: data.firstName,\n last_name: data.lastName,\n email: data.email,\n confirmEmail: data.email,\n city: data?.city || '',\n country: data?.countryId || '',\n phone: data?.phone || '',\n street_address: data?.streetAddress || '',\n state: data?.stateId || '',\n zip: data?.zipCode || '',\n})\n","import _isEmpty from 'lodash/isEmpty'\nimport _map from 'lodash/map'\n\nimport { IBillingInfoData } from '../types'\n\nexport const getDataWithCustomFields = (\n initialData: IBillingInfoData[],\n ticketHoldersFields: IBillingInfoData,\n customFields: any\n) => {\n // Custom Fields are not specified case\n if (_isEmpty(customFields)) {\n const dataWithCustomFields = { ...initialData }\n const ticketHoldersWithCustomFields = { ...ticketHoldersFields }\n return { dataWithCustomFields, ticketHoldersWithCustomFields }\n }\n\n // Add Custom Fields for Order\n const orderWithCustomFields = {\n groupClassname: 'billing-info-container__customFields',\n groupItems: [...customFields.orderFields],\n }\n const initialDataFields = [...initialData[0].fields]\n\n // Add Custom Fields to penultimate position\n initialDataFields.splice(initialDataFields.length - 1, 0, {\n ...orderWithCustomFields,\n })\n\n const dataWithCustomFields = [\n {\n ...initialData[0],\n fields: initialDataFields,\n },\n ]\n\n // Add Custom Fields for Ticket Holders\n const ticketHoldersFieldsArr = ticketHoldersFields.fields || []\n\n const ticketHoldersCustomFieldsBlueprint = {\n id: ticketHoldersFieldsArr.length + 1,\n customFields: true,\n groupClassname: 'billing-info-container__customFields',\n groupItems: [...customFields.ticketsFields],\n }\n\n const ticketHoldersWithCustomFields = {\n ...ticketHoldersFields,\n fields: _isEmpty(ticketHoldersFieldsArr)\n ? []\n : [...ticketHoldersFieldsArr, ticketHoldersCustomFieldsBlueprint],\n }\n\n return { dataWithCustomFields, ticketHoldersWithCustomFields }\n}\n\nexport const getFieldsKeys = (customFields: any) =>\n _map(customFields, field => field.name)\n","export const isJson = (value: any): boolean => {\n try {\n JSON.parse(value)\n } catch (e) {\n return false\n }\n return true\n}\n","import { AxiosError, AxiosRequestConfig, AxiosResponse } from 'axios'\nimport _get from 'lodash/get'\n\nimport { CONFIGS, isBrowser } from '../utils'\nimport { getCookieByName, setCustomCookie } from '../utils/cookies'\nimport { publicRequest } from './publicRequest'\n\npublicRequest.interceptors.request.use((config: AxiosRequestConfig) => {\n const guestToken = isBrowser ? window.localStorage.getItem('auth_guest_token') : null\n if (guestToken) {\n const updatedHeaders = {\n ...config.headers,\n 'Authorization-Guest': guestToken,\n }\n config.headers = updatedHeaders\n }\n\n const xtfCookie = getCookieByName('X-TF-ECOMMERCE')\n if (xtfCookie) {\n const updatedHeaders = {\n ...config.headers,\n 'X-TF-ECOMMERCE': xtfCookie,\n }\n config.headers = updatedHeaders\n }\n\n const additionalCookiesHeaderValue = isBrowser ? document.cookie ?? '' : ''\n if (additionalCookiesHeaderValue !== '') {\n const updatedHeaders = {\n ...config.headers,\n 'Additional-Cookies': additionalCookiesHeaderValue,\n }\n config.headers = updatedHeaders\n }\n\n if (CONFIGS.X_SOURCE_ORIGIN) {\n const updatedHeaders = {\n ...config.headers,\n 'X-Source-Origin': CONFIGS.X_SOURCE_ORIGIN,\n }\n config.headers = updatedHeaders\n }\n\n if (CONFIGS.BASE_URL) {\n config.baseURL = CONFIGS.BASE_URL + '/api'\n }\n\n return config\n})\n\npublicRequest.interceptors.response.use(\n (response: AxiosResponse) => {\n const authGuestToken: string | null = _get(\n response,\n 'headers.authorization-guest',\n ''\n )\n\n if (isBrowser && authGuestToken) {\n window.localStorage.setItem('auth_guest_token', authGuestToken)\n publicRequest.setGuestToken(authGuestToken)\n }\n\n const xtfCookie = _get(response, 'headers.x-tf-ecommerce')\n const url = _get(response, 'config.url')\n const method = _get(response, 'config.method')\n\n if (xtfCookie && !(url === '/auth' && method === 'delete')) {\n setCustomCookie('X-TF-ECOMMERCE', xtfCookie)\n }\n\n return response\n },\n (error: AxiosError) => {\n if (error?.response?.status === 401) {\n if (isBrowser) {\n window.localStorage.removeItem('user_data')\n const errorType = _get(error, 'response.data.error')\n if (errorType === 'invalid_token') {\n window.location.href = '/'\n }\n }\n }\n\n const authGuestToken = _get(error, 'response.headers.authorization-guest')\n if (isBrowser && authGuestToken) {\n window.localStorage.setItem('auth_guest_token', authGuestToken)\n publicRequest.setGuestToken(authGuestToken)\n }\n\n return Promise.reject(error)\n }\n)\n","import _forEach from 'lodash/forEach'\nimport _get from 'lodash/get'\nimport _map from 'lodash/map'\n\nimport { IGroupItem } from '../types'\n\nexport const optionsAdapter = (options: any) => {\n const adaptedOptions = _map(options, option => ({\n id: option.id,\n label: option.name,\n value: option.value,\n }))\n return adaptedOptions\n}\n\nexport const fieldDataAdapter = (field: IGroupItem) => {\n const {\n name,\n label,\n required,\n description,\n type,\n options,\n ...restValues\n } = field\n\n const adaptedField: IGroupItem = {\n name,\n label,\n required,\n description,\n type,\n className: _get(restValues, 'settings.className', ''),\n value: _get(restValues, 'defaultValue'),\n }\n\n switch (type) {\n case 'textarea':\n adaptedField.type = 'text'\n adaptedField.multiline = true\n break\n case 'radio':\n adaptedField.radios = optionsAdapter(options)\n break\n case 'select_multi':\n adaptedField.isMultiple = true\n adaptedField.options = optionsAdapter(options)\n break\n case 'select':\n adaptedField.type = 'select_multi'\n adaptedField.isMultiple = false\n adaptedField.options = optionsAdapter(options)\n break\n default:\n break\n }\n\n return adaptedField\n}\n\nexport const customFieldsDataAdapter = (data: any) => {\n const adaptedTicketFields: Array<IGroupItem> = []\n const adaptedOrderFields: Array<IGroupItem> = []\n\n _forEach(data, field => {\n const ticketFields = _get(field, 'ticket.group.fields')\n const orderFields = _get(field, 'order.group.fields')\n\n _forEach(ticketFields, ticketField => {\n adaptedTicketFields.push(fieldDataAdapter(ticketField))\n })\n\n _forEach(orderFields, orderField => {\n adaptedOrderFields.push(fieldDataAdapter(orderField))\n })\n })\n\n return { ticketsFields: adaptedTicketFields, orderFields: adaptedOrderFields }\n}\n","import { AxiosRequestConfig, AxiosResponse } from 'axios'\n\nimport { CONFIGS } from '../utils'\nimport { publicRequest } from './publicRequest'\n\nexport const authorize = async (\n data: IAuthorizeRequestData\n): Promise<IProfileResponse> => {\n const response: AxiosResponse<IProfileResponse, AxiosRequestConfig> =\n await publicRequest.post(\n `/auth?clientId=${CONFIGS.CLIENT_ID || 'e9d8f8922797b4621e562255afe90dbf'}`,\n data\n )\n return response.data\n}\n\nexport const signUp = async (data: ISignupRequestData): Promise<IProfileResponse> => {\n const response: AxiosResponse<IProfileResponse, AxiosRequestConfig> =\n await publicRequest.post('auth/signup', { ...data })\n return response.data\n}\n\nexport const register = async (data: FormData): Promise<IProfileResponse> => {\n const response: AxiosResponse<IProfileResponse, AxiosRequestConfig> =\n await publicRequest.post('v1/oauth/register-rn', data)\n return response.data\n}\n\nexport const getProfileData = async (): Promise<IProfileResponse> => {\n const response: AxiosResponse<IProfileResponse, AxiosRequestConfig> = await publicRequest.get('/customer/profile/')\n return response.data\n}\n\nexport const logout = async (): Promise<IAxiosResponseData> => {\n const response: AxiosResponse<IAxiosResponseData, AxiosRequestConfig> =\n await publicRequest.delete('/auth')\n return response.data\n}\n","import { AxiosRequestConfig, AxiosResponse } from 'axios'\n\nimport { CONFIGS } from '../utils'\nimport { publicRequest } from './publicRequest'\n\nexport const getOrders = async (\n page: number,\n limit: number,\n eventSlug: string\n): Promise<IOrdersResponse> => {\n const slug = eventSlug || CONFIGS.EVENT_SLUG || ''\n\n const response: AxiosResponse<IOrdersResponse, AxiosRequestConfig> =\n await publicRequest.get(\n `v1/account/orders/?page=${page}&limit=${limit}&filter[event]=${slug}&${\n CONFIGS.BRAND_SLUG\n ? `filter[brand]=${CONFIGS.BRAND_SLUG}&filter[subbrands]=true`\n : ''\n }`\n )\n\n return response.data\n}\n\nexport const getOrderDetails = async (orderId: string): Promise<IOrderResponse> => {\n const response: AxiosResponse<IOrderResponse, AxiosRequestConfig> =\n await publicRequest.get(`v1/account/order/${orderId}`)\n\n return response.data\n}\n","import { AxiosRequestConfig, AxiosResponse } from 'axios'\n\nimport { isBrowser } from '../utils'\nimport { publicRequest } from './publicRequest'\n\nexport const addToCart = async (\n id: string | number,\n data: ICartRequestData\n): Promise<ICartResponse> => {\n const response: AxiosResponse<ICartResponse, AxiosRequestConfig> =\n await publicRequest.post(\n `v1/event/${id}/add-to-cart/`,\n { data },\n {\n headers: {\n ...publicRequest.defaults.headers.common,\n 'Referer-Url': isBrowser ? document.referrer : '',\n },\n }\n )\n return response.data\n}\n\nexport const getCart = async (): Promise<IGetCartResponse> => {\n const response: AxiosResponse<IGetCartResponse, AxiosRequestConfig> =\n await publicRequest.get(`v1/cart`)\n return response.data\n}\n","import { AxiosRequestConfig, AxiosResponse } from 'axios'\n\nimport { publicRequest } from './publicRequest'\n\nexport const postOnCheckout = async (\n data: any,\n freeTicket = false\n): Promise<ICheckoutResponse> => {\n if (freeTicket) {\n delete data.attributes.city\n delete data.attributes.country\n delete data.attributes.state\n delete data.attributes.street_address\n }\n\n const response: AxiosResponse<ICheckoutResponse, AxiosRequestConfig> =\n await publicRequest.post(\n `v1/on-checkout`,\n { data }\n )\n\n return response.data\n}\n","import { AxiosRequestConfig, AxiosResponse } from 'axios'\nimport _forEach from 'lodash/forEach'\n\nimport { getQueryVariable, isBrowser } from '../utils'\nimport { publicRequest } from './publicRequest'\n\nexport const getEvent = async (\n id: string | number,\n pk?: string\n): Promise<IEventResponse> => {\n let referralValue = ''\n if (isBrowser) {\n const params = new URL(`${window.location}`)\n const referralId = params.searchParams.get('ttf_r') || ''\n const referral_key = window.localStorage.getItem('referral_key')\n const [, referralIdlocal] = (referral_key || '').split('.')\n referralValue = referralId || (referralIdlocal ?? '')\n }\n\n const response: AxiosResponse<IEventResponse, AxiosRequestConfig> =\n await publicRequest.get(`v1/event/${id}`, {\n params: { pk },\n headers: {\n ...publicRequest.defaults.headers.common,\n 'Referer-Url': isBrowser ? document.referrer : '',\n 'Referrer-Id': isBrowser ? referralValue : '',\n },\n })\n return response.data\n}\n\nexport const getTickets = async (\n eventId: string | number,\n promoCode: string,\n pk?: string\n): Promise<ITicketsAdaptedResponse> => {\n const invitationHash = getQueryVariable('invitation-hash')\n const referralId = getQueryVariable('ttf_r')\n\n if (referralId) {\n window.localStorage.setItem('promoter_id', referralId)\n }\n\n const promoterId = window.localStorage.getItem('promoter_id')\n const params = { pk } as Record<string, string | number | undefined>\n\n if (invitationHash) {\n params['invitation-hash'] = invitationHash\n }\n\n const headers = publicRequest.defaults.headers.common\n\n if (promoterId) {\n headers['Promotion-Event'] = String(eventId)\n headers['Referrer-Id'] = isBrowser ? promoterId : ''\n }\n\n if (promoCode) {\n headers['Promotion-Event'] = String(eventId)\n headers['Promotion-Code'] = promoCode\n window.localStorage.removeItem('promoter_id')\n }\n\n const response: AxiosResponse<ITicketsResponse, AxiosRequestConfig> =\n await publicRequest.get(`v1/event/${eventId}/tickets/`, {\n params,\n headers,\n })\n\n const { tickets } = response.data.data.attributes\n const ticketsArr: ITicketData[] = []\n _forEach(tickets, item => {\n ticketsArr.push(item)\n })\n const adaptedResponse: AxiosResponse<ITicketsAdaptedResponse, AxiosRequestConfig> = {\n ...response,\n data: {\n ...response.data,\n data: {\n ...response.data.data,\n attributes: {\n ...response.data.data.attributes,\n tickets: ticketsArr,\n },\n },\n },\n }\n\n return adaptedResponse.data\n}\n\nexport const getCountries = async (): Promise<ICountriesResponse> => {\n const response: AxiosResponse<ICountriesResponse, AxiosRequestConfig> =\n await publicRequest.get('/countries/list')\n return response.data\n}\n\nexport const getStates = async (countryId: string | number): Promise<IStatesResponse> => {\n const response: AxiosResponse<IStatesResponse, AxiosRequestConfig> =\n await publicRequest.get(`/countries/${countryId}/states/`)\n return response.data\n}\n\nexport const sendRSVPInfo = async (\n eventId: number,\n data: { data: IRSVPRequestData }\n): Promise<IRSVPResponse> => {\n const response: AxiosResponse<IRSVPResponse, AxiosRequestConfig> =\n await publicRequest.post(`v1/event/${eventId}/send-rsvp-info`, data)\n\n return response.data\n}\n\nexport const addToWaitingList = async (\n id: number,\n data: IWaitingListRequestData\n): Promise<IWaitingListResponse> => {\n const response: AxiosResponse<IWaitingListResponse, AxiosRequestConfig> =\n await publicRequest.post(`v1/event/${id}/add_to_waiting_list`, {\n data,\n })\n\n return response.data\n}\n\nexport const postReferralVisits = async (\n eventId: string,\n referralId: string\n): Promise<IAxiosResponseData> => {\n const response: AxiosResponse<IAxiosResponseData, AxiosRequestConfig> =\n await publicRequest.post(`v1/event/${eventId}/referrer/`, {\n referrer: `${referralId}`,\n })\n\n return response.data\n}\n\nexport const validatePhoneNumber = async (phone: string): Promise<IAxiosResponseData> => {\n const response: AxiosResponse<IAxiosResponseData, AxiosRequestConfig> =\n await publicRequest.get(`/v1/account/validate_phone?phone=${phone}`)\n\n return response.data\n}\n","import { AxiosRequestConfig, AxiosResponse } from 'axios'\nimport _map from 'lodash/map'\nimport { nanoid } from 'nanoid'\n\nimport { isBrowser } from '../utils'\nimport { publicRequest } from './publicRequest'\n\nexport const getPaymentData = async (hash: string): Promise<IPaymentDataResponse> => {\n const response: AxiosResponse<IPaymentDataResponse, AxiosRequestConfig> =\n await publicRequest.get(`v1/order/${hash}/review`, {\n headers: { 'Referer-Url': isBrowser ? document.referrer : '' },\n })\n\n return response.data\n}\n\nexport const handlePaymentSuccess = async (\n orderHash: string\n): Promise<IPaymentSuccessDataResponse> => {\n const response: AxiosResponse<IPaymentSuccessDataResponse, AxiosRequestConfig> =\n await publicRequest.post(`v1/order/${orderHash}/success`, undefined, {\n headers: {\n ...publicRequest.defaults.headers.common,\n 'Referer-Url': isBrowser ? document.referrer : '',\n },\n })\n return response.data\n}\n\nexport const handleFreeSuccess = async (\n orderHash: string\n): Promise<IFreeRegistrationDataResponse> => {\n const response: AxiosResponse<IFreeRegistrationDataResponse, AxiosRequestConfig> =\n await publicRequest.post(\n `v1/order/${orderHash}/complete_free_registration`,\n undefined,\n { headers: { 'Referer-Url': isBrowser ? document.referrer : '' } }\n )\n return response.data\n}\n\nexport const getConfirmationData = async (\n orderHash: string\n): Promise<ICheckoutCompleteDataResponse> => {\n const response: AxiosResponse<ICheckoutCompleteDataResponse, AxiosRequestConfig> =\n await publicRequest.get(`v1/order/${orderHash}/payment/complete`)\n return response.data\n}\n\nexport const getConditions = async (\n eventId: string\n): Promise<IConditionsAdaptedDataResponse> => {\n const response: AxiosResponse<IConditionsDataResponse, AxiosRequestConfig> =\n await publicRequest.get(`v1/event/${eventId}/conditions`)\n\n const adaptedData: IConditionsAdaptedData[] = _map(\n response.data.data.attributes,\n item => ({\n id: nanoid(),\n text: item,\n checked: false,\n })\n )\n\n const returnData: AxiosResponse<IConditionsAdaptedDataResponse, AxiosRequestConfig> = {\n ...response,\n data: {\n ...response.data,\n data: {\n ...response.data.data,\n attributes: adaptedData,\n },\n },\n }\n\n return returnData.data\n}\n","import { AxiosRequestConfig, AxiosResponse } from 'axios'\n\nimport { publicRequest } from './publicRequest'\n\nexport const resaleTicket = async (\n data: FormData,\n hash: string\n): Promise<IResaleTicketResponse> => {\n const response: AxiosResponse<IResaleTicketResponse, AxiosRequestConfig> =\n await publicRequest.post(`v1/ticket/${hash}/sell`, data)\n\n return response.data\n}\n\nexport const removeFromResale = async (\n hash: string\n): Promise<IRemoveFromResaleResponse> => {\n const response: AxiosResponse<IRemoveFromResaleResponse, AxiosRequestConfig> =\n await publicRequest.delete(`v1/ticket/${hash}/sell`)\n\n return response.data\n}\n\nexport const processTicket = (hash: string) =>\n publicRequest.post(`v1/ticket/${hash}/process`)\n\nexport const declineInvitation = (hash: string) =>\n publicRequest.post(`v1/ticket/${hash}/decline`)\n","import { AxiosRequestConfig, AxiosResponse } from 'axios'\n\nimport { publicRequest } from './publicRequest'\n\nexport const getCustomerExistsData = async (\n accessHash: string\n): Promise<ICheckCustomerExistsData> => {\n const response: AxiosResponse<ICheckCustomerExistsData, AxiosRequestConfig> =\n await publicRequest.get(`/v1/delegation-access/${accessHash}/customer-exists`)\n return response.data\n}\n\ninterface IDelegationTicketType {\n delegationMaxQuantity: number | string;\n}\n\ninterface IIssueTicketResponseData {\n delegationName: string;\n eventImage: string;\n eventName: string;\n ticketTypes: {\n [key: number]: IDelegationTicketType;\n };\n}\n\ninterface IIssueTicketResponse {\n data: {\n attributes: IIssueTicketResponseData;\n relationships: Array<any>;\n type: string;\n message: string;\n };\n}\n\nexport interface IDelegationsTicketType {\n [key: number]: {\n delegationMaxQuantity: string | number;\n delegationQuantityIssued: string | number;\n matrixRecordId: string | number;\n optionValue: string | number;\n };\n}\nexport interface IDelegationsData {\n delegationName: string;\n eventImage: string;\n eventName: string;\n ticketTypes: IDelegationsTicketType;\n tickets: Array<any>;\n}\n\ninterface IDelegationsResponse {\n data: {\n data: {\n attributes: IDelegationsData;\n relationships: Array<any>;\n type: string;\n };\n };\n}\n\nexport const getDelegationTickets = (\n accessHash: string\n): Promise<IDelegationsResponse> => {\n const res = publicRequest.get(`v1/delegation-access/${accessHash}/consumer-page-info`)\n return res\n}\n\nexport const issueTicket = async (\n accessHash: string,\n data: ITicketIssueData\n): Promise<IIssueTicketResponse> => {\n const response: AxiosResponse<IIssueTicketResponse, AxiosRequestConfig> =\n await publicRequest.post(`v1/delegation-access/${accessHash}/issue-ticket`, {\n data: {\n attributes: data,\n },\n })\n return response.data\n}\n","import './interceptors'\n\nimport { AxiosRequestConfig, AxiosResponse } from 'axios'\nimport _get from 'lodash/get'\n\nimport { customFieldsDataAdapter } from '../adapters'\nimport {\n GetNetverifyUrlResponseData,\n UpdateVerificationStatusResponseData,\n VerificationStatusResponseData,\n} from '../types/verification'\nimport { getQueryVariable, isBrowser } from '../utils'\nimport { publicRequest } from './publicRequest'\n\nexport { authorize, getProfileData, signUp, register, logout } from './auth'\nexport { setAxiosHeader, setBaseUrl } from './publicRequest'\nexport { getOrders, getOrderDetails } from './orders'\nexport { addToCart, getCart } from './cart'\nexport { postOnCheckout } from './checkout'\n\nexport {\n getEvent,\n getTickets,\n getCountries,\n getStates,\n addToWaitingList,\n sendRSVPInfo,\n postReferralVisits,\n validatePhoneNumber,\n} from './common'\n\nexport {\n getPaymentData,\n getConditions,\n handlePaymentSuccess,\n handleFreeSuccess,\n getConfirmationData,\n} from './payment'\n\nexport {\n resaleTicket,\n removeFromResale,\n processTicket,\n declineInvitation,\n} from './resale'\n\nexport { issueTicket, getDelegationTickets } from './guestTicketDelegation'\n\nexport const setCustomHeader = (response: any) => {\n const guestHeaderResponseValue = _get(response, 'headers.authorization-guest')\n const guestHeaderExistingValue = _get(response, 'config.headers[Authorization-Guest]')\n const guestHeader = guestHeaderResponseValue || guestHeaderExistingValue\n\n if (guestHeader) {\n if (isBrowser) {\n window.localStorage.setItem('auth_guest_token', guestHeader)\n publicRequest.setGuestToken(guestHeader)\n }\n }\n}\n\nexport const handlePaymentData = (orderHash: string, data: any) => {\n const res = publicRequest\n .post(`v1/order/${orderHash}/pay`, {\n data: { attributes: { 'stripe-source': data } },\n })\n .catch(error => {\n throw error\n })\n return res\n}\n\nexport const createPaymentPlan = (orderHash: string, stripePaymentMethodId: string) => {\n const res = publicRequest\n .post(\n `v1/order/${orderHash}/payment_plan/create`,\n {\n stripe_payment_method_id: stripePaymentMethodId,\n },\n {\n headers: {\n 'Referer-Url': isBrowser ? document.referrer : '',\n },\n }\n )\n .catch(error => {\n throw error\n })\n return res\n}\n\n// forgot password\nexport const forgotPassword = (email: string) =>\n publicRequest.post(`/auth/restore-password`, { email })\n\n// reset password\ninterface IResetPasswordData {\n token: string;\n password: string;\n confirmPassword: string;\n}\nexport const resetPassword = (data: IResetPasswordData) =>\n publicRequest.post(`/auth/reset-password`, data)\n\nexport const getAddons = async (eventId: string) => {\n const result = await publicRequest.get(`/v1/event/${eventId}/add-ons`)\n const addons = _get(result, 'data.data.attributes', [])\n return addons\n}\n\nexport const selectAddons = (data: any) => {\n publicRequest.post(`v1/on-checkout`, data)\n}\n\nexport interface AttributesConfig {\n has_add_on: boolean;\n names_required: boolean;\n phone_required: boolean;\n minimum_age?: any;\n age_required: boolean;\n hide_phone_field: boolean;\n event_id: string;\n free_ticket: boolean;\n collect_mandatory_wallet_address: boolean;\n collect_optional_wallet_address: boolean;\n collect_mandatory_company: boolean;\n collect_optional_company: boolean;\n collect_mandatory_job_title: boolean;\n collect_optional_job_title: boolean;\n collect_mandatory_business_category: boolean;\n collect_optional_business_category: boolean;\n collect_mandatory_instagram: boolean;\n collect_optional_instagram: boolean;\n skip_billing_page: boolean;\n}\n\nexport interface ConfigsData {\n attributes: AttributesConfig;\n relationships: any[];\n type: string;\n}\n\nexport interface ResponseConfigs {\n data: ConfigsData;\n success: boolean;\n error: boolean;\n message: string;\n status: number;\n}\n\nexport const getCheckoutPageConfigs = async (): Promise<ResponseConfigs> => {\n const response = await publicRequest.get(`v1/checkout-configs`)\n return response.data\n}\n\n\nexport const getCustomFields = async (eventId: string) => {\n const response = await publicRequest.get(`/v1/event/${eventId}/fields`)\n const customFields = _get(response, 'data.data.attributes', [])\n const adaptedResponse = customFieldsDataAdapter(customFields)\n return adaptedResponse\n}\n\nexport const updateOrderCustomFields = async (\n eventId: string,\n orderId: string,\n customFieldsData: Record<string, any>\n) => {\n const response = await publicRequest.put(`v1/event/${eventId}/order-data-capture`, {\n data: {\n attributes: {\n order_id: orderId,\n data_capture: customFieldsData,\n },\n },\n })\n return response\n}\n\nexport const updateTicketHoldersCustomFields = async (\n eventId: string,\n customFieldsData: Record<string, any>,\n ticketHash: string\n) => {\n const response = await publicRequest.put(`v1/event/${eventId}/ticket-data-capture`, {\n data: {\n attributes: {\n ticket_hash: ticketHash,\n ticket_data_capture: {\n [ticketHash]: customFieldsData,\n },\n },\n },\n })\n return response\n}\n\nexport const confirmPreRegistration = async (\n eventId: string | number,\n data: IConfirmPreRegistrationRequestData\n) => {\n const response = await publicRequest.post(\n `v1/event/${eventId}/pre-registration/confirm`,\n {\n data: {\n attributes: data,\n },\n }\n )\n return response.data\n}\n\n// seat map <--start-->\n\n// const makeId = (length = 20) => {\n// let result = ''\n// const characters =\n// 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'\n// const charactersLength = characters.length\n// for (let i = 0; i < length; i++) {\n// result += characters.charAt(Math.floor(Math.random() * charactersLength))\n// }\n// return result\n// }\n\nexport const getSeatMapData = async (\n eventId: string | number\n): Promise<SeatMapDataResponse> => {\n localStorage.setItem('tierId', '')\n const reservedSeatsHash = getQueryVariable('reserved_seats_hash')\n const params = {} as any\n if (reservedSeatsHash) {\n params.reserved_seats_hash = reservedSeatsHash\n }\n\n const response: AxiosResponse<SeatMapDataResponse, AxiosRequestConfig> =\n await publicRequest.get(`v1/event/${eventId}/seat-map-data`, { params })\n return response.data\n}\n\nexport const getSeatMapStatuses = async (\n eventId: string | number\n): Promise<SeatMapStatusesResponse> => {\n const response = await publicRequest.get(`v1/event/${eventId}/seats/status`)\n return response.data\n}\n\nexport const reserveSeat = async (\n eventId: string | number,\n tierId: string,\n seatId: string\n) => {\n const response = await publicRequest.post(`v1/event/${eventId}/seats/reserve`, {\n data: {\n tierId,\n seatId,\n ttl: 10,\n },\n })\n return response.data\n}\n\nexport const removeSeatReserve = async (\n eventId: string | number,\n tierId: string,\n seatIds: string[]\n) => {\n const response = await publicRequest.delete(\n `v1/event/${eventId}/seats/delete-reserved`,\n {\n data: {\n tierId,\n seatIds,\n },\n }\n )\n\n return response.data\n}\n\n// seat map <--end-->\nexport function getPixelScript(id: string | number, pageOptions: any) {\n const response = publicRequest.get(`v1/event/${id}/track`, {\n params: {\n page_url: pageOptions.pageUrl,\n page: pageOptions.page,\n order_hash: pageOptions.orderHash,\n },\n })\n return response\n}\n\n// ID Verification\nexport const getNetverifyUrl = async (): Promise<GetNetverifyUrlResponseData> => {\n const response: AxiosResponse<GetNetverifyUrlResponseData, AxiosRequestConfig> =\n await publicRequest.get('v1/authenticate/verify')\n return response.data\n}\n\nexport const checkVerificationStatus = async (): Promise<{\n data: VerificationStatusResponseData;\n}> => {\n const response: AxiosResponse<\n { data: VerificationStatusResponseData },\n AxiosRequestConfig\n > = await publicRequest.get('v1/authenticate/get-verification-info')\n return response.data\n}\n\nexport const updateVerificationStatus = async (): Promise<{\n data: UpdateVerificationStatusResponseData;\n}> => {\n const response: AxiosResponse<\n { data: UpdateVerificationStatusResponseData },\n AxiosRequestConfig\n > = await publicRequest.patch('v1/authenticate/verify', {\n data: {\n attributes: {\n verification: {\n verificationStatus: 'PENDING',\n },\n },\n },\n })\n return response.data\n}\n\nexport const checkCustomerOrder = async (orderHash: string): Promise<any> => {\n const response: AxiosResponse<any, AxiosRequestConfig> = await publicRequest.get(\n `v1/order/${orderHash}/verify-customer-order`\n )\n\n return response.data\n}\n\nexport const refreshSeatReservation = async (eventId: string, orderId: string) => {\n const response: AxiosResponse<any, AxiosRequestConfig> = await publicRequest.patch(\n `event/${eventId}/reservation/refresh/`,\n {\n order_id: orderId,\n }\n )\n return response\n}\n","import { CircularProgress } from '@mui/material'\nimport _get from 'lodash/get'\nimport _identity from 'lodash/identity'\nimport React, { useEffect, useState } from 'react'\n\nimport { getCustomFields } from '../../api'\nimport {\n getDataWithCustomFields,\n getFieldsKeys,\n getQueryVariable,\n} from '../../utils'\n\nconst withCustomFields = (Children: any) => (props: any) => {\n const {\n data = [],\n ticketHoldersFields = {\n id: 1,\n fields: [],\n },\n skipCustomFields = true,\n onGetCustomFieldsError = _identity,\n onGetCustomFieldsSuccess = _identity,\n ...args\n } = props\n\n const [lodaing, setLoading] = useState(!skipCustomFields)\n const [customFieldsData, setCustomFieldsData] = useState({} as any)\n const [customFieldsOrderKeys, setCustomFieldsOrderKeys] = useState([] as any)\n const [customFieldsTicketHolderKeys, setCustomFieldsTicketHolderKeys] = useState([] as any)\n\n const getFields = async () => {\n try {\n const eventId = getQueryVariable('event_id') || getQueryVariable(\"eventId\") || ''\n const customFields = await getCustomFields(eventId)\n\n const orderFieldsKeys = getFieldsKeys(_get(customFields, 'orderFields', []))\n const ticketHoldersFieldsKeys = getFieldsKeys(_get(customFields, 'ticketsFields', []))\n\n setCustomFieldsTicketHolderKeys(ticketHoldersFieldsKeys)\n setCustomFieldsOrderKeys(orderFieldsKeys)\n setCustomFieldsData(customFields)\n\n onGetCustomFieldsSuccess(customFields)\n } catch (e) {\n onGetCustomFieldsError(e)\n } finally {\n setLoading(false)\n }\n }\n\n useEffect(() => {\n if (!skipCustomFields) {\n getFields()\n }\n }, [])\n\n const {\n dataWithCustomFields,\n ticketHoldersWithCustomFields,\n } = getDataWithCustomFields(data, ticketHoldersFields, customFieldsData)\n\n if (lodaing) {\n return <CircularProgress size={50} />\n }\n\n return (\n <Children\n {...args}\n data={dataWithCustomFields}\n ticketHoldersFields={ticketHoldersWithCustomFields}\n customFieldsOrderKeys={customFieldsOrderKeys}\n customFieldsTicketHolderKeys={customFieldsTicketHolderKeys}\n />\n )\n}\n\nexport { withCustomFields }\n","/* eslint-disable react-hooks/exhaustive-deps */\nimport _get from 'lodash/get'\nimport { useEffect } from 'react'\n\nimport { getPixelScript } from '../api'\nimport { isBrowser } from '../utils'\n\nexport interface pageOptions {\n pageUrl: string;\n page?: string;\n orderHash?: string;\n}\n\nfunction appendScriptsToHeader(code: string) {\n if (isBrowser && code) {\n const tempEl = document.createElement('div')\n tempEl.innerHTML = code\n const scripts = tempEl.getElementsByTagName('script')\n\n for (let index = 0; index < scripts.length; ++index) {\n const script = document.createElement('script')\n script.type = 'text/javascript'\n\n if (scripts[index].src) {\n script.src = scripts[index].src\n } else {\n script.innerHTML = scripts[index].innerHTML\n }\n\n document.head.appendChild(script)\n }\n }\n}\n\nconst addGTagToHeader = (tagId?: string, links?: string[]) => {\n if (document?.head && document?.body && tagId) {\n const script = document.createElement('script')\n script.innerHTML = `(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':\n new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],\n j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=\n 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);\n })(window,document,'script','dataLayer','${tagId}');`.trim()\n document.head.append(script)\n\n const scriptBody = document.createElement('noscript')\n scriptBody.innerHTML = `<iframe src=\"https://www.googletagmanager.com/ns.html?id=${tagId}\"\n height=\"0\" width=\"0\" style=\"display:none;visibility:hidden\"></iframe>`\n document.body.append(scriptBody);\n\n (window as any).dataLayer = (window as any).dataLayer || [];\n (window as any).gtag = function gtag(...args: any){(window as any).dataLayer.push(args)}\n if (links) {\n (window as any)?.gtag('set', 'linker', {\n 'domains': links\n })\n }\n (window as any).gtag('js', new Date());\n (window as any).gtag('config', tagId)\n }\n}\n\nexport const usePixel = async (\n eventId: string | number,\n options: pageOptions\n) => {\n const getScript = async () => {\n if (!eventId) return\n\n try {\n const response = await getPixelScript(eventId, options)\n const pixels = _get(response, 'data.data.attributes.pixels', '')\n appendScriptsToHeader(pixels)\n const brandGoogleTagKey = _get(response, 'data.data.attributes.brandGoogleTagKey', '')\n const eventGoogleTagKey = _get(response, 'data.data.attributes.eventGoogleTagKey', '')\n const eventGoogleTagManagerLinkerDomains = _get(response, 'data.data.attributes.eventGoogleTagManagerLinkerDomains', '')\n addGTagToHeader(brandGoogleTagKey, eventGoogleTagManagerLinkerDomains)\n if (eventGoogleTagKey) {\n addGTagToHeader(eventGoogleTagKey, eventGoogleTagManagerLinkerDomains)\n }\n } catch (e) {\n console.error(e)\n }\n }\n\n useEffect(() => {\n getScript()\n }, [eventId])\n}","export const currencyNormalizerCreator = (\n value: string | number,\n currency: string\n) => (!value ? '' : `${getCurrencySymbolByCurrency(currency)} ${value}`)\n\nexport const createFixedFloatNormalizer = (fixedValue: number) => (\n value: string | number\n) => (value || `${value}` === '0' ? (+value).toFixed(fixedValue) : '')\n\nexport const getCurrencySymbolByCurrency = (currency = '') => {\n switch (currency) {\n case 'GBP':\n return '£'\n case 'EUR':\n return '€'\n case 'INR':\n return '₹'\n case 'JMD':\n return 'J$'\n case 'NZD':\n return 'NZ$'\n case 'MYR':\n return 'RM'\n case 'MXN':\n return 'Mex$'\n case 'SGD':\n return 'S$'\n case 'AUD':\n return 'A$'\n case 'ZAR':\n return 'R'\n case 'ke':\n return 'Ksh'\n case 'TRY':\n return '₺'\n case 'CAD':\n return 'CA$'\n case 'THB':\n return '฿'\n case 'ISK':\n return 'Kr'\n case 'SEK':\n return 'kr'\n default:\n return 'US$'\n }\n}\n\nexport const removePlusSign = (string = '') => string.replace('+', '')\n","import { Modal as MuiModal } from '@mui/material'\nimport Box from '@mui/material/Box'\nimport Button from '@mui/material/Button'\nimport CircularProgress from '@mui/material/CircularProgress'\nimport _map from 'lodash/map'\nimport React, { FC } from 'react'\n\nexport interface Action {\n id: string;\n label: string;\n onClick: () => void;\n disabled?: boolean;\n loading?: boolean;\n variant?: \"text\" | \"contained\" | \"outlined\";\n}\n\ninterface Props {\n onClose?: () => void;\n actions: Action[];\n modalClassName?: string;\n}\n\nconst style: React.CSSProperties = {\n position: 'absolute',\n top: '50%',\n left: '50%',\n transform: 'translate(-50%, -50%)',\n minWidth: 480,\n backgroundColor: '#e3e3e3',\n border: '1px solid white',\n outline: 'none',\n padding: '14px',\n maxHeight: '85vh',\n overflow: 'auto',\n}\n\nconst Modal: FC<Props> = ({\n onClose,\n actions = [],\n children,\n modalClassName = '',\n}) => (\n <MuiModal\n open={true}\n onClose={onClose}\n aria-labelledby=\"modal-modal-title\"\n aria-describedby=\"modal-modal-description\"\n className={`confirm-modal ${modalClassName}`}\n >\n <Box style={style}>\n <div className=\"modal-body\">{children}</div>\n <div className=\"footer\">\n {_map(actions, (action: Action) => (\n <Button\n key={action.id}\n onClick={action.onClick}\n disabled={action.disabled || action.loading}\n variant={action.variant || \"text\"}\n >\n {action.loading ? <CircularProgress size=\"22px\" /> : action.label}\n </Button>\n ))}\n </div>\n </Box>\n </MuiModal>\n)\n\nexport default Modal\n","import React, { useEffect, useState } from 'react'\n\nimport Modal, { Action } from '../common/ModalComponent'\n\ninterface IDVerificationProps {\n message?: string | null;\n displayModal?: boolean;\n actions?: Action[];\n onClose?: () => void;\n}\n\nexport const VerificationPendingModal = (props: IDVerificationProps) => {\n const { message, displayModal, actions, onClose } = props\n const [showModal, setShowModal] = useState(false)\n\n useEffect(() => {\n if (displayModal === undefined) {\n setShowModal(Boolean(message))\n }\n }, [message, displayModal])\n\n return showModal || displayModal ? (\n <div>\n <Modal\n modalClassName=\"id-verification-modal\"\n actions={\n actions || [\n {\n id: 'okay',\n label: 'OK',\n variant: 'contained',\n onClick: () => {\n setShowModal(false)\n\n if (onClose) {\n onClose()\n }\n },\n },\n ]\n }\n >\n <div>{message}</div>\n </Modal>\n </div>\n ) : null\n}\n","import React from \"react\"\n\nconst InfoIcon = ({ size = 17 }) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={size}\n height={size}\n viewBox=\"0 0 17 17\"\n fill=\"none\"\n >\n <circle\n cx=\"8.5\"\n cy=\"8.5\"\n r=\"8\"\n stroke=\"black\"\n strokeWidth=\"1\"\n />\n <rect\n x=\"7.5\"\n y=\"4\"\n width=\"2\"\n height=\"2\"\n fill=\"black\"\n />\n <rect\n x=\"7.5\"\n y=\"7\"\n width=\"2\"\n height=\"5\"\n fill=\"black\"\n />\n </svg>\n)\n\nexport default InfoIcon","import _isNumber from 'lodash/isNumber'\n\nexport const showZero = (value = 0) => {\n const intNumber = Number(value)\n return _isNumber(intNumber)\n ? intNumber >= 0 && intNumber < 10\n ? '0' + intNumber\n : intNumber\n : null\n}\n","import './style.css'\n\nimport _identity from 'lodash/identity'\nimport React, { memo, useState } from 'react'\nimport Countdown from 'react-countdown'\nimport SVG from 'react-inlinesvg'\n\nimport Cross from '../../assets/images/cross.svg'\nimport { showZero } from '../../utils/showZero'\n\nexport interface ITimerWidgetPage {\n expires_at: number;\n buyLoading?: boolean;\n onCountdownFinish?: () => void;\n}\n\nexport interface IRenderer {\n minutes: number;\n seconds: number;\n completed: number;\n handleCountdownFinish: () => void;\n}\n\nconst TimerWidget = ({\n expires_at,\n buyLoading,\n onCountdownFinish = _identity,\n}: ITimerWidgetPage) => {\n const [showTimer, setShowTimer] = useState(true)\n\n const handleCountdownFinish = () => {\n setShowTimer(false)\n if (!buyLoading) {\n onCountdownFinish()\n }\n }\n\n const renderer = ({\n minutes,\n seconds,\n completed,\n handleCountdownFinish,\n }: IRenderer) => {\n if (completed) {\n handleCountdownFinish()\n return null\n }\n return (\n <span>\n {showZero(minutes)}:{showZero(seconds)}\n </span>\n )\n }\n\n const hideTimer = () => {\n const timerRl: HTMLElement | null = document.querySelector('.timer')\n if (timerRl) {\n timerRl.style.visibility = 'hidden'\n }\n }\n\n return showTimer && !!expires_at ? (\n <div className=\"timer\">\n <div className=\"close-icon\" onClick={hideTimer}>\n <SVG src={Cross} width=\"10\" height=\"10\" fill=\"#fff\" />\n </div>\n <div className=\"toast-message\">\n <p>Please complete your purchase before the timer reaches zero.</p>\n <p className=\"countdown\">\n <Countdown\n date={Date.now() + expires_at * 1000}\n renderer={(props: any) =>\n renderer({\n ...props,\n handleCountdownFinish,\n })\n }\n />\n </p>\n </div>\n </div>\n ) : null\n}\n\nexport default memo(TimerWidget)\n","import _get from 'lodash/get'\nimport _isEmpty from 'lodash/isEmpty'\n\nexport interface IAddOnsData {\n add_on_groups: Array<{ [key: string]: any }>;\n add_ons: Array<[]>;\n}\n\nexport const addonsWithGroupsAdapter = (data: IAddOnsData) => {\n const addonsData = { ...data }\n const addOnsGroups = _get(addonsData, 'add_on_groups', [])\n const addons = _get(addonsData, 'add_ons', [])\n\n if (!_isEmpty(addOnsGroups)) {\n const addOnGroupsWithVariants: any = []\n const addOnsWithoutVariants: any = []\n\n addons.forEach((addon: any) => {\n if (addon.attributes.addOnGroupId) {\n // Collect addons groups inside with their variants\n const currentGroupId = addon.attributes.addOnGroupId\n const exsistingGroupIndex = addOnGroupsWithVariants.findIndex(\n (item: any) => item.id === currentGroupId\n )\n\n if (addOnGroupsWithVariants[exsistingGroupIndex]) {\n const addOnGroup = addOnGroupsWithVariants[exsistingGroupIndex]\n addOnGroupsWithVariants[exsistingGroupIndex] = {\n ...addOnGroup,\n variants: [...addOnGroup.variants, ...addon.attributes],\n }\n } else {\n const group =\n addOnsGroups.find(group => group.attributes.id === currentGroupId) || {}\n\n addOnGroupsWithVariants.push({\n ...group.attributes,\n variants: [...addon.attributes],\n })\n }\n } else {\n addOnsWithoutVariants.push(addon.attributes)\n }\n })\n\n return addOnGroupsWithVariants.concat(addOnsWithoutVariants)\n }\n\n // Adapt only simple addons data\n const adaptedAddons = (addons as any[]).map((addon: any) => ({\n ...addon.attributes,\n }))\n return adaptedAddons\n}\n\nexport const cartAdapter = (cart: any) => {\n const cartData = _get(cart, 'data.attributes', [])\n const { expiresAt, cart: carts_arr } = cartData\n const { id, quantity } = carts_arr[0] || {}\n\n return { id, quantity, expiresAt }\n}\n","import { FormControl, FormHelperText } from '@mui/material'\nimport Checkbox from '@mui/material/Checkbox'\nimport FormControlLabel from '@mui/material/FormControlLabel'\nimport FormGroup from '@mui/material/FormGroup'\nimport { useTheme } from '@mui/styles'\nimport { FieldInputProps, FormikProps } from 'formik'\nimport _get from 'lodash/get'\nimport React from 'react'\n\ninterface ICheckboxField {\n label: string | number | JSX.Element;\n field: FieldInputProps<any>;\n form: FormikProps<any>;\n}\n\nexport const CheckboxField = ({\n label,\n field,\n form: { touched, errors },\n}: ICheckboxField) => {\n const isTouched = Boolean(_get(touched, field.name, false))\n const errorText = _get(errors, field.name)\n const hasError = isTouched && Boolean(errorText)\n const customTheme: any = useTheme()\n\n return (\n <FormControl\n className={`checkbox-field ${hasError ? 'required-checkbox-field' : ''}`}\n error={hasError}\n >\n <FormGroup>\n <FormControlLabel\n control={<Checkbox {...field} checked={field.value} />}\n label={label}\n componentsProps={{ typography: customTheme?.checkbox }}\n />\n </FormGroup>\n {hasError && <FormHelperText>Required</FormHelperText>}\n </FormControl>\n )\n}\n","import { FormControl, FormHelperText } from '@mui/material'\nimport CheckboxMaterial from '@mui/material/Checkbox'\nimport FormControlLabel from '@mui/material/FormControlLabel'\nimport FormGroup from '@mui/material/FormGroup'\nimport { useTheme } from '@mui/styles'\nimport { FieldInputProps } from 'formik'\nimport React from 'react'\n\nexport interface ICheckboxField {\n label: string | number | JSX.Element;\n field?: FieldInputProps<any>;\n}\n\ninterface IOtherProps {\n [key: string]: any;\n}\n\nexport const Checkbox = ({\n label,\n field,\n selectOptions,\n theme,\n setFieldValue,\n disableDropdown,\n setPhoneValidationIsLoading,\n defaultCountry,\n required,\n uniqueId,\n dateFormat,\n datePlaceholder,\n isCountryCodeEditable,\n ...rest\n}: ICheckboxField & IOtherProps) => {\n const customTheme: any = useTheme()\n return (\n <FormControl error={!!(rest?.form?.errors && rest.form.errors[field?.name ?? ''])}>\n <FormGroup>\n <FormControlLabel\n control={<CheckboxMaterial {...field} {...rest} />}\n label={label}\n componentsProps={{\n typography: customTheme?.checkbox,\n }}\n />\n </FormGroup>\n {rest?.form?.errors && rest.form.errors[field?.name ?? ''] ? (\n <FormHelperText>Required</FormHelperText>\n ) : null}\n </FormControl>\n )\n}\n","/* eslint-disable no-underscore-dangle */\nimport TextField from '@mui/material/TextField'\nimport { useTheme } from '@mui/styles'\nimport { FieldInputProps, FormikProps } from 'formik'\nimport _get from 'lodash/get'\nimport _includes from 'lodash/includes'\nimport _isFunction from 'lodash/isFunction'\nimport _isObject from 'lodash/isObject'\nimport _map from 'lodash/map'\nimport React, { useEffect, useRef, useState } from 'react'\n\nexport interface ISelectOption {\n label: string | number;\n value?: string | number;\n [key: string]: any;\n}\n\nexport interface ICustomField {\n onChange?: (e: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>) => void;\n label: string;\n field: FieldInputProps<any>;\n form: FormikProps<any>;\n theme: 'dark' | 'light';\n // optional\n type?: string;\n selectOptions?: ISelectOption[];\n inputRef?:\n | { current: HTMLInputElement | null }\n | ((node: HTMLInputElement | null) => void);\n multiline?: boolean;\n minRows?: string | number;\n maxRows?: string | number;\n}\nexport interface IOtherProps {\n [key: string]: any;\n}\n\nexport const CustomField = ({\n label,\n type = 'text',\n field,\n selectOptions = [] as ISelectOption[],\n form: { touched, errors, submitCount },\n theme,\n inputProps: pInputProps = {},\n InputProps = {},\n inputRef,\n onChange,\n multiline = false,\n minRows = 3,\n maxRows,\n disabled,\n}: ICustomField & IOtherProps) => {\n const [isShrinked, setIsShrinked] = useState(Boolean(field.value))\n const _ref = useRef<HTMLInputElement>(null)\n const isAutoFilled = _ref.current?.matches(':-webkit-autofill')\n const isSelectField = type === 'select'\n const error = _get(errors, field.name)\n const isTouched =\n Boolean(_get(touched, field.name)) ||\n (_includes(field.name, 'holder') && !!error && !!submitCount)\n\n const customTheme: any = useTheme()\n const inputProps: any = { sx: customTheme?.input }\n\n useEffect(() => {\n if (_isFunction(inputRef)) {\n inputRef(_ref.current)\n } else if (_isObject(inputRef)) {\n inputRef.current = _ref.current\n }\n })\n\n return (\n <TextField\n disabled={disabled}\n placeholder=\"\"\n id={field.name}\n label={label}\n type={type}\n select={isSelectField}\n fullWidth={true}\n error={!!error && isTouched}\n helperText={isTouched && error}\n onFocus={() => {\n setIsShrinked(true)\n }}\n SelectProps={{\n native: true,\n className: theme,\n MenuProps: { className: theme },\n }}\n InputLabelProps={{\n sx: customTheme?.input,\n shrink: isShrinked || Boolean(field.value) || isAutoFilled,\n }}\n InputProps={InputProps}\n inputProps={{ ...inputProps, ...pInputProps }}\n inputRef={_ref}\n multiline={multiline}\n minRows={minRows}\n maxRows={maxRows}\n {...field}\n onBlur={(e: React.FocusEvent<any, Element>) => {\n setIsShrinked(Boolean(field.value))\n if (field.onBlur) {\n field.onBlur(e)\n }\n }}\n onChange={onChange ?? field.onChange}\n >\n {isSelectField\n ? _map(selectOptions, option => (\n <option key={option.value} value={option.value} disabled={option.disabled}>\n {option.label}\n </option>\n ))\n : null}\n </TextField>\n )\n}\n","import { FieldInputProps, FormikProps } from 'formik'\nimport _debounce from 'lodash/debounce'\nimport _get from 'lodash/get'\nimport MuiPhoneNumber from 'material-ui-phone-number'\nimport React, { useCallback, useEffect } from 'react'\n\nimport { validatePhoneNumber } from '../../api'\n\nexport interface IPhoneNumberField {\n label: string;\n field: FieldInputProps<any>;\n form: FormikProps<any>;\n type: string;\n disableDropdown: boolean;\n fill: boolean;\n setPhoneValidationIsLoading: (isLoading: boolean) => void;\n\n // optional\n defaultCountry?: string;\n isCountryCodeEditable?: boolean;\n}\n\nexport const PhoneNumberField = ({\n label,\n field,\n form: {\n errors,\n touched,\n setFieldError,\n values,\n initialValues,\n setFieldValue,\n setFieldTouched,\n setErrors,\n },\n disableDropdown = true,\n defaultCountry = 'us',\n fill = false,\n setPhoneValidationIsLoading,\n isCountryCodeEditable,\n}: IPhoneNumberField) => {\n const error = _get(errors, field.name)\n const isTouched = Boolean(_get(touched, field.name))\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n const debounceCb = useCallback(\n _debounce((cb: () => void) => void cb(), 1000),\n []\n )\n\n useEffect(() => {\n if (field.value) {\n setPhoneValidationIsLoading(true)\n }\n\n debounceCb(async () => {\n try {\n if (!values[field.name]) {\n const newErrors = { ...errors }\n delete newErrors[field.name]\n setErrors(newErrors)\n return\n }\n if (values[field.name]) {\n await validatePhoneNumber(values[field.name])\n }\n if (errors[field.name]) {\n const newErrors = { ...errors }\n delete newErrors[field.name]\n setErrors(newErrors)\n }\n } catch (error) {\n const message = _get(\n error,\n 'response.data.message',\n 'Invalid phone number'\n )\n if (values[field.name] && errors[field.name] !== message) {\n setFieldError(field.name, message)\n }\n } finally {\n setPhoneValidationIsLoading(false)\n }\n })\n // eslint-disable-next-line\n }, [field.value])\n\n return (\n <>\n <MuiPhoneNumber\n name={field.name}\n value={fill ? values[field.name] : initialValues[field.name]}\n onChange={(value: any, country?: any) => {\n if (`+${country?.dialCode}` === value || value === '+') {\n setFieldValue(field.name, '')\n setFieldError(field.name, '')\n } else {\n setFieldTouched(field.name, true)\n setFieldValue(field.name, value)\n }\n }}\n variant=\"outlined\"\n defaultCountry={defaultCountry}\n disableDropdown={disableDropdown}\n label={label}\n error={!!error && (isTouched || fill)}\n helperText={(isTouched || fill) && error}\n fullWidth\n autoFormat={false}\n disableAreaCodes={true}\n countryCodeEditable={isCountryCodeEditable}\n />\n </>\n )\n}\n","import CircularProgress from '@mui/material/CircularProgress'\nimport React from 'react'\n\nexport const Loader = () => (\n <div className=\"loader-container\">\n <CircularProgress />\n </div>\n)\n","import { FormControl, InputLabel } from '@mui/material'\nimport Checkbox from '@mui/material/Checkbox'\nimport FormHelperText from '@mui/material/FormHelperText'\nimport ListItemText from '@mui/material/ListItemText'\nimport MenuItem from '@mui/material/MenuItem'\nimport OutlinedInput from '@mui/material/OutlinedInput'\nimport Select, { SelectChangeEvent } from '@mui/material/Select'\nimport { FieldInputProps, FormikProps } from 'formik'\nimport _get from 'lodash/get'\nimport _identity from 'lodash/identity'\nimport _map from 'lodash/map'\nimport React from 'react'\n\ninterface ISelectOption {\n id: string | number;\n label: string | number;\n value: string | number;\n}\n\ninterface ISelectField {\n field: FieldInputProps<any>;\n form: FormikProps<any>;\n options: ISelectOption[];\n\n // optional\n label?: string;\n isMultiple?: boolean;\n disabled?: boolean;\n onChange?: (e: SelectChangeEvent<string[]>) => void;\n}\n\nfunction SelectField({\n label,\n isMultiple,\n field,\n form: { touched, errors, setFieldValue },\n options = [],\n disabled,\n onChange = _identity,\n}: ISelectField) {\n const { name, value = [] } = field\n const selectId = `select-field-${name}`\n const error = _get(errors, name)\n const isTouched = Boolean(_get(touched, field.name))\n\n const handleChange = (event: SelectChangeEvent<string[]>) => {\n const {\n target: { value },\n } = event\n\n setFieldValue(name, value)\n onChange(event)\n }\n\n const getSelectedItemLabel = (selectedValue: any) => {\n const selectedItem = options.find(option => option.value === selectedValue)\n const label = _get(selectedItem, 'label', '')\n return label\n }\n\n return (\n <>\n <FormControl\n fullWidth={true}\n disabled={disabled}\n error={isTouched && Boolean(error)}\n >\n {label && <InputLabel id={selectId}>{label}</InputLabel>}\n <Select\n id={name}\n labelId={selectId}\n multiple={isMultiple}\n value={value || []}\n onChange={handleChange}\n input={<OutlinedInput label={label} />}\n renderValue={selected => {\n if (isMultiple) {\n const selectedLabels = _map(selected, (selectedValue: string) =>\n getSelectedItemLabel(selectedValue)\n )\n return selectedLabels.join(', ')\n }\n\n const selectedLabel = getSelectedItemLabel(selected)\n return selectedLabel\n }}\n sx={{ textAlign: 'start' }}\n >\n {options?.map((option: ISelectOption) => (\n <MenuItem key={option.label} value={option.value}>\n {isMultiple && <Checkbox checked={value.indexOf(option.value) > -1} />}\n <ListItemText primary={option.label} />\n </MenuItem>\n ))}\n </Select>\n {isTouched && Boolean(error) ? (\n <FormHelperText error>{error}</FormHelperText>\n ) : null}\n </FormControl>\n </>\n )\n}\n\nexport { SelectField }\n","import Modal from '@mui/material/Modal'\nimport React from 'react'\n\ninterface ICopyMessageModalProps {\n showCopyModal: boolean;\n onClose: () => void;\n}\n\nexport const CopyMessageModal = (props: ICopyMessageModalProps) => {\n const { showCopyModal = false, onClose } = props\n return (\n <Modal\n open={showCopyModal}\n onClose={onClose}\n aria-labelledby=\"modal-modal-title\"\n aria-describedby=\"modal-modal-description\"\n className=\"success-copy-modal\"\n >\n <div className=\"message-copy-success-box\">\n <div className=\"message-copy-success\">\n <span>\n Copied to your clipboard! Now paste your link in a Snapchat message,\n </span>\n <span>your Instagram bio, Whatsapp, Facebook or a text :)</span>\n </div>\n <div className=\"footer\">\n <button className=\"footer-button\" type=\"button\" onClick={onClose}>\n OK\n </button>\n </div>\n </div>\n </Modal>\n )\n}\n","import { createTheme, ThemeProvider } from '@mui/material/styles'\nimport { DatePicker } from '@mui/x-date-pickers'\nimport { AdapterMoment } from '@mui/x-date-pickers/AdapterMoment'\nimport { LocalizationProvider } from '@mui/x-date-pickers/LocalizationProvider'\nimport { FieldInputProps, FormikProps } from 'formik'\nimport React from 'react'\n\nimport { CustomField } from './CustomField'\nimport {ThemeOptions} from \"@mui/material\";\nimport {CSSProperties} from \"@mui/styles\";\n\nconst DATE_SIZE = 32\nconst compactStyles = {\n '& > div': {\n minWidth: 256,\n },\n '& > div > div, & > div > div > div, & .MuiCalendarPicker-root': {\n width: 256,\n },\n '& .MuiTypography-caption': {\n width: DATE_SIZE,\n margin: 0,\n },\n '& .PrivatePickersSlideTransition-root': {\n minHeight: DATE_SIZE * 6,\n },\n '& .PrivatePickersSlideTransition-root [role=\"row\"]': {\n margin: 0,\n },\n '& .MuiPickersDay-dayWithMargin': {\n margin: 0,\n },\n '& .MuiPickersDay-root': {\n width: DATE_SIZE,\n height: DATE_SIZE,\n },\n '& .MuiPickersArrowSwitcher-spacer': {\n width: 0,\n },\n '& [role=\"presentation\"] .PrivatePickersFadeTransitionGroup-root': {\n marginRight: -1,\n },\n}\n\nconst getTheme = (isCompact: boolean, baseThemeOptions?: object | null)=> {\n\n if (isCompact) {\n return createTheme(Object.assign(baseThemeOptions ?? {}, {\n components: {\n MuiPaper: {\n defaultProps: {\n sx: compactStyles,\n },\n },\n },\n }))\n }\n\n return createTheme(baseThemeOptions ?? {})\n}\n\nexport interface IDatePickerFieldProps {\n label: string;\n\n field: FieldInputProps<any>;\n form: FormikProps<any>;\n theme: 'dark' | 'light';\n themeOptions?: ThemeOptions & {\n input?: CSSProperties;\n checkbox?: CSSProperties;\n };\n\n useCompact?: boolean;\n}\n\ninterface IOtherProps {\n [key: string]: any;\n}\n\nexport const DatePickerField = ({\n label,\n field,\n form,\n theme,\n useCompact = true,\n themeOptions,\n dateFormat = 'DD/MM/YYYY',\n placeholder = 'dd/mm/yyyy',\n}: IDatePickerFieldProps & IOtherProps) => (\n <ThemeProvider theme={getTheme(useCompact, themeOptions ?? null)}>\n <LocalizationProvider dateAdapter={AdapterMoment}>\n <DatePicker\n value={field.value || ''}\n onChange={value => form.setFieldValue(field.name, value)}\n PopperProps={{\n placement: 'bottom-start',\n }}\n showDaysOutsideCurrentMonth={true}\n disableFuture={true}\n inputFormat={dateFormat}\n mask=\"__/__/____\"\n renderInput={(params: any) => (\n <CustomField\n {...params}\n inputProps={{ ...params.inputProps, placeholder }}\n theme={theme}\n field={{\n ...field,\n onChange: (\n evt: React.FormEvent<HTMLInputElement | HTMLTextAreaElement>\n ) => {\n if (params.inputProps && params.inputProps.onChange) {\n params.inputProps.onChange(evt)\n }\n },\n }}\n form={form}\n label={label}\n type=\"tel\"\n />\n )}\n />\n </LocalizationProvider>\n </ThemeProvider>\n)\n","import { FormControl, FormHelperText, InputLabel } from '@mui/material'\nimport Select from '@mui/material/Select'\nimport { useTheme } from '@mui/styles'\nimport { FieldInputProps, FormikProps } from 'formik'\nimport _get from 'lodash/get'\nimport _map from 'lodash/map'\nimport React from 'react'\n\nexport interface ISelectOption {\n label: string | number;\n value?: string | number;\n [key: string]: any;\n}\n\nexport interface ISelectField {\n label: string;\n\n field: FieldInputProps<any>;\n form: FormikProps<any>;\n theme: 'dark' | 'light';\n\n // optional\n type?: string;\n selectOptions?: ISelectOption[];\n onChange?: (e: any) => void;\n}\n\ninterface IOtherProps {\n [key: string]: any;\n}\n\nexport const NativeSelectField = ({\n label,\n type = 'text',\n field,\n selectOptions = [] as ISelectOption[],\n form: { touched, errors, setFieldValue },\n theme,\n onChange = () => {},\n}: ISelectField & IOtherProps) => {\n const isTouched = Boolean(_get(touched, field.name))\n const error = _get(errors, field.name)\n\n const customTheme: any = useTheme()\n\n return (\n <FormControl fullWidth={true}>\n <InputLabel\n style={customTheme?.input}\n htmlFor={field.name}\n error={!!error && isTouched}\n shrink={true}\n >\n {label}\n </InputLabel>\n <Select\n id={field.name}\n label={label}\n type={type}\n fullWidth={true}\n error={!!error && isTouched}\n inputProps={{\n id: field.name,\n }}\n native={true}\n className={`Mui-Select ${theme}`}\n MenuProps={{ className: theme }}\n {...field}\n style={customTheme?.input}\n onChange={e => {\n onChange(e)\n setFieldValue(field.name, e.target.value)\n }}\n >\n {_map(selectOptions, option => (\n <option key={option.value} value={option.value} disabled={option.disabled}>\n {option.label}\n </option>\n ))}\n </Select>\n {isTouched && error ? (\n <FormHelperText error={!!error && isTouched}>{error}</FormHelperText>\n ) : null}\n </FormControl>\n )\n}\n","import FormControl from '@mui/material/FormControl'\nimport FormControlLabel from '@mui/material/FormControlLabel'\nimport FormHelperText from '@mui/material/FormHelperText'\nimport FormLabel from '@mui/material/FormLabel'\nimport Radio from '@mui/material/Radio'\nimport RadioGroup from '@mui/material/RadioGroup'\nimport { FieldInputProps, FormikProps } from 'formik'\nimport _get from 'lodash/get'\nimport _identity from 'lodash/identity'\nimport React from 'react'\n\nexport interface IRadio {\n id: string | number;\n label: string | number;\n value: string | number;\n [key: string]: any;\n}\n\nexport interface IRadioGroupField {\n label?: string;\n field: FieldInputProps<any>;\n form: FormikProps<any>;\n radios: IRadio[];\n disabled?: boolean;\n onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;\n}\n\nexport const RadioGroupField = ({\n label,\n field,\n radios = [],\n disabled,\n form: { touched, errors, setFieldValue },\n onChange = _identity,\n}: IRadioGroupField) => {\n const radioId = `radio-${field.name}`\n const error = _get(errors, field.name)\n const isTouched = Boolean(_get(touched, field.name))\n\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const { value } = e.target as HTMLInputElement\n setFieldValue(field.name, value)\n onChange(e)\n }\n\n if (!radios) return null\n\n return (\n <FormControl disabled={disabled} error={isTouched && Boolean(error)}>\n {isTouched && Boolean(error) ? (\n <FormHelperText className=\"radio-error\" error>\n {error}\n </FormHelperText>\n ) : null}\n {label && <FormLabel id={radioId}>{label}</FormLabel>}\n <RadioGroup\n aria-labelledby={radioId}\n name={field.name}\n value={field.value}\n onChange={handleChange}\n >\n {radios.map(radio => {\n const { id, label, value } = radio\n return (\n <FormControlLabel\n key={id}\n label={label}\n value={value}\n control={<Radio />}\n />\n )\n })}\n </RadioGroup>\n </FormControl>\n )\n}\n","import { Field } from 'formik'\nimport _identity from 'lodash/identity'\nimport _isNull from 'lodash/isNull'\nimport React from 'react'\n\nimport { NativeSelectField } from '../common'\n\ninterface IAddonComponentProps {\n classNamePrefix: string;\n data: any;\n selectOptions: any;\n handleAddonChange?: (...res: any) => void;\n}\n\nconst AddonComponent = ({\n classNamePrefix = '',\n data,\n selectOptions,\n handleAddonChange = _identity,\n}: IAddonComponentProps) => {\n const { id, name, active, stock } = data\n\n return (\n <div key={id} className={`${classNamePrefix}_product_select_container`}>\n <div className={`${classNamePrefix}_product_select_block`} key={name}>\n <div className={`${classNamePrefix}_product_size`}>{name}</div>\n <div className={`${classNamePrefix}_product_qty_select_block`}>\n {!active || (!_isNull(stock) && stock <= 0) ? (\n <div className=\"sold_out\">SOLD OUT</div>\n ) : (\n <div className={`${classNamePrefix}_product_qty_select`}>\n <Field\n name={id}\n selectOptions={selectOptions}\n component={NativeSelectField}\n onChange={(e: any) => {\n const { value } = e.target\n handleAddonChange(id, value)\n }}\n />\n </div>\n )}\n </div>\n </div>\n </div>\n )\n}\n\nexport default AddonComponent\n","export const getNormalizedPrice = (value: any) => {\n const minimizedValue = Number(value) / 100\n const normalized = minimizedValue.toFixed(2)\n return normalized\n}","import _isEmpty from 'lodash/isEmpty'\nimport _isNull from 'lodash/isNull'\nimport _reverse from 'lodash/reverse'\nimport _sortBy from 'lodash/sortBy'\n\ninterface ObjectLiteral {\n [key: string]: any;\n}\n\nexport const generateSelectOptions = (minCount = 1, maxCount = 10) => {\n const options = []\n for (let i = minCount; i <= maxCount; i++) {\n options.push({ label: i, value: i })\n }\n return options\n}\n\nconst generateStockBasedOnLimitations = (\n addon: any,\n ticketQuantity: number\n) => {\n // Generate addon available stock count based on limitations\n const { flagLimitToTicketQuantity, maxQuantity, limitPerTicket } = addon\n\n let allowedStockCount\n\n // Generate stock\n if (flagLimitToTicketQuantity) {\n // Limited to ticket quantity case\n allowedStockCount = ticketQuantity\n } else if (maxQuantity && limitPerTicket) {\n const stockBasedOnLimitPerTicket = limitPerTicket * ticketQuantity\n // Both maximum quantity and limited to per ticket selected case, stock is minimum of them\n allowedStockCount =\n maxQuantity <= stockBasedOnLimitPerTicket\n ? maxQuantity\n : stockBasedOnLimitPerTicket\n } else if (maxQuantity && !limitPerTicket) {\n // Limited to maximum quantity case\n allowedStockCount = maxQuantity\n } else if (!maxQuantity && limitPerTicket) {\n // Limited to per ticket case\n allowedStockCount = limitPerTicket * ticketQuantity\n }\n\n return Number(allowedStockCount)\n}\n\nconst filterStockBasedOnAvailability = (\n generatedStock: any,\n availableStock: any\n) => {\n // Check generated stock count admissibility with addon stock availability\n let filteredStockCount = generatedStock\n\n if (generatedStock) {\n if (generatedStock > availableStock && !_isNull(availableStock)) {\n filteredStockCount = availableStock\n }\n } else {\n // Not set any restriction\n // Here 10 value is business logic\n filteredStockCount = 10\n\n if (!_isNull(availableStock) && availableStock < filteredStockCount) {\n filteredStockCount = availableStock\n }\n }\n\n return filteredStockCount\n}\n\nexport const getAddonSelectOptions = (addons: any, choosedTicketCount: any) => {\n const addonsWithOptions: ObjectLiteral = {}\n const groupsWithSelectedVariantsInfo: ObjectLiteral = {}\n const groupsWithVariants: ObjectLiteral = {}\n\n addons.forEach((addon: any) => {\n // Here addon can act either as simple Addon or Addon Group\n const {\n id,\n stock: simpleAddonStock,\n variants,\n active,\n flagLimitToTicketQuantity,\n maxQuantity,\n limitPerTicket,\n } = addon\n\n if (variants) {\n // Addon Group with inside addon variants case\n variants.forEach((variant: any) => {\n const { id: variantId, stock: variantStock } = variant\n\n // null checking is for unlimited stock value\n if (active && (variantStock > 0 || _isNull(variantStock))) {\n // Generate Addon Group allowed stock count based on limitations\n const stockBasedOnLimitation = generateStockBasedOnLimitations(\n addon,\n choosedTicketCount\n )\n\n // Detect if group has limitation or not\n if (flagLimitToTicketQuantity || maxQuantity || limitPerTicket) {\n // Generate Group with inside variants info\n if (groupsWithSelectedVariantsInfo[id]) {\n // Set group limit\n if (\n groupsWithSelectedVariantsInfo[id].limit <\n stockBasedOnLimitation\n ) {\n groupsWithSelectedVariantsInfo[\n id\n ].limit = stockBasedOnLimitation\n }\n\n // Set choosed variants info\n groupsWithSelectedVariantsInfo[id] = {\n ...groupsWithSelectedVariantsInfo[id],\n choosedVariants: {\n ...groupsWithSelectedVariantsInfo[id].choosedVariants,\n [variantId]: 0,\n },\n }\n } else {\n groupsWithSelectedVariantsInfo[id] = {\n limit: stockBasedOnLimitation,\n selectedCount: 0,\n choosedVariants: { [variantId]: 0 },\n }\n }\n }\n\n // Check stock admissibility with addon stock availability\n const allowedVariantStockCount = filterStockBasedOnAvailability(\n stockBasedOnLimitation,\n variantStock\n )\n\n // Generate options for variant\n const variantOptions = generateSelectOptions(\n 0,\n allowedVariantStockCount\n )\n\n addonsWithOptions[variantId] = [...variantOptions]\n\n // Generate Group with its variants list\n groupsWithVariants[id] = {\n ...groupsWithVariants[id],\n [variantId]: allowedVariantStockCount,\n }\n }\n })\n } else {\n // Simple addon case, null checking is for unlimited stock value\n if (active && (simpleAddonStock > 0 || _isNull(simpleAddonStock))) {\n // Generate Addon Group allowed stock count based on limitations\n const stockBasedOnLimitation = generateStockBasedOnLimitations(\n addon,\n choosedTicketCount\n )\n\n // Check stock admissibility with addon stock availability\n const allowedVariantStockCount = filterStockBasedOnAvailability(\n stockBasedOnLimitation,\n simpleAddonStock\n )\n\n const addonOptions = generateSelectOptions(0, allowedVariantStockCount)\n addonsWithOptions[id] = [...addonOptions]\n }\n }\n })\n\n return {\n addonsWithOptions,\n groupsWithSelectedVariantsInfo,\n groupsWithVariants,\n }\n}\n\nexport const getTicketRelatedAddons = (addons: any, ticketId: any) => {\n // Filter addons based on choosed ticket\n const filteredAddons: any = addons.filter(\n (addon: any) =>\n _isNull(addon.prerequisiteTicketTypeIds) ||\n addon.prerequisiteTicketTypeIds.includes(ticketId)\n )\n\n return filteredAddons\n}\n\nexport const getSortedAddons = (addons: any, sortDirection = 'asc') => {\n const addonsCopy = [...addons]\n\n addonsCopy.forEach(addon => {\n if (addon.variants) {\n const unsortedVariants: any = []\n addon.variants.forEach((variant: any) => {\n unsortedVariants.push({\n ...variant,\n sortOrder: Number(variant.sortOrder),\n })\n })\n addon.sortOrder = Number(addon.variants[0].sortOrder)\n const sortedVariants = _sortBy(\n unsortedVariants,\n variant => variant.sortOrder\n )\n addon.variants = sortedVariants\n } else {\n addon.sortOrder = Number(addon.sortOrder)\n }\n })\n\n const sortedAddons = _sortBy(addonsCopy, addon => addon.sortOrder)\n if (sortDirection === 'desc') {\n return _reverse(sortedAddons)\n }\n\n return sortedAddons\n}\n\nexport const isAtLeastOneAddonSelected = (value: any) => {\n const selectedAddons = Object.fromEntries(\n Object.entries(value).filter(([_, count]) => Number(count) !== 0)\n )\n\n return !_isEmpty(selectedAddons)\n}\n","/* eslint-disable react/no-unescaped-entities */\n\nimport { CircularProgress } from '@mui/material'\nimport { Form, Formik } from 'formik'\nimport _get from 'lodash/get'\nimport _identity from 'lodash/identity'\nimport React, { useEffect, useState } from 'react'\nimport { Tooltip } from \"react-tooltip\"\n\nimport { getAddons, getCart, getCheckoutPageConfigs, postOnCheckout } from '../../api'\nimport { FEES_STYLES } from \"../../constants\"\nimport { currencyNormalizerCreator } from '../../normalizers'\nimport { ICheckoutPageConfigs } from '../../types'\nimport {\n CONFIGS,\n createCheckoutDataBodyWithDefaultHolder,\n createMarkup,\n getQueryVariable,\n isBrowser,\n} from '../../utils'\nimport { VerificationPendingModal } from '../idVerificationContainer/VerificationPendingModal'\nimport InfoIcon from '../ticketsContainer/InfoIcon'\nimport TimerWidget from '../timerWidget'\nimport { addonsWithGroupsAdapter, cartAdapter } from './adapters'\nimport AddonComponent from './AddonComponent'\nimport { getNormalizedPrice } from './normalizers'\nimport {\n generateSelectOptions,\n getAddonSelectOptions,\n getSortedAddons,\n getTicketRelatedAddons,\n isAtLeastOneAddonSelected,\n} from './utils'\n\nexport interface IAddonContainterProps {\n classNamePrefix?: string;\n enableBillingInfoAutoCreate?: boolean;\n enableTimer?: boolean;\n onGetAddonsPageInfoSuccess?: (res: any) => void;\n onGetAddonsPageInfoError?: (error: any) => void;\n onPostCheckoutSuccess?: (res: any) => void;\n onPostCheckoutError?: (error: any) => void;\n onConfirmSelectionSuccess?: (res: any) => void;\n onConfirmSelectionError?: (error: any) => void;\n onCountdownFinish?: () => void;\n onPendingVerification?: () => void;\n samePage?: boolean;\n descriptionTrigger?: \"click\" | \"hover\" | \"always\";\n}\n\nexport interface ObjectLiteral {\n [key: string]: any;\n}\n\nexport const AddonsContainter = ({\n classNamePrefix = 'add_on',\n enableBillingInfoAutoCreate = true,\n enableTimer = false,\n onGetAddonsPageInfoSuccess = _identity,\n onGetAddonsPageInfoError = _identity,\n onPostCheckoutSuccess = _identity,\n onPostCheckoutError = _identity,\n onConfirmSelectionSuccess = _identity,\n onConfirmSelectionError = _identity,\n onCountdownFinish = _identity,\n onPendingVerification = _identity,\n samePage,\n descriptionTrigger = 'click',\n}: IAddonContainterProps) => {\n const eventId = getQueryVariable('event_id')\n const [addons, setAddons] = useState<any>([])\n const [addonsOptions, setAddonsOptions] = useState<any>({})\n const [groupsWithSelectedVariants, setGroupsWithSelectedVariants] = useState<any>({})\n const [groupsWithInitialVariantsValues, setGroupsWithInitialVariantsValues] =\n useState<any>({})\n const [loading, setLoading] = useState(true)\n const [cartExpirationTime, setCartExpirationTime] = useState(0)\n const [pendingVerificationMessage, setPendingVerificationMessage] = useState()\n\n const [visibleDescription, setVisibleDescription] = useState<string | null>(null)\n\n const handleDescriptionToggle = (ticketId: string) => {\n setVisibleDescription(current => (current === ticketId ? null : ticketId))\n }\n\n useEffect(() => {\n if (samePage) {\n window.localStorage.removeItem('add_ons')\n }\n const getAddonsPageInfo = async () => {\n try {\n if (eventId) {\n setLoading(true)\n\n // Get choosed ticket info (id, count) from Cart request for addons options calculations\n const cart = await getCart()\n const { id: choosedTicketID, quantity, expiresAt } = cartAdapter(cart)\n const choosedTicketCount = Number(quantity)\n setCartExpirationTime(expiresAt)\n\n // Get and collect addons data\n const addonsData = await getAddons(eventId)\n const adaptedAddons = addonsWithGroupsAdapter(addonsData)\n const ticketRelatedAddons = getTicketRelatedAddons(\n adaptedAddons,\n choosedTicketID\n )\n const sortedTicketAddons = getSortedAddons(ticketRelatedAddons)\n\n setAddons(sortedTicketAddons)\n\n // Collect addons and addon group options\n const {\n addonsWithOptions,\n groupsWithSelectedVariantsInfo,\n groupsWithVariants,\n } = getAddonSelectOptions(adaptedAddons, choosedTicketCount)\n\n setAddonsOptions(addonsWithOptions)\n setGroupsWithSelectedVariants(groupsWithSelectedVariantsInfo)\n setGroupsWithInitialVariantsValues(groupsWithVariants)\n\n // Success callback props\n onGetAddonsPageInfoSuccess(addonsData)\n }\n } catch (e) {\n // Callback error props\n onGetAddonsPageInfoError(e)\n } finally {\n setLoading(false)\n }\n }\n\n getAddonsPageInfo()\n }, [])\n\n const recreateGroupVariantsSelectOptions = (groupId: any, changedGroupd: any) => {\n const { choosedVariants, limit, selectedCount } = changedGroupd\n const remainingGroupStock = limit - selectedCount\n const recreatedVariantsOptions: ObjectLiteral = {}\n\n // Regenerate variants allowed stock counts\n for (const variant in choosedVariants) {\n const variantId = variant\n const variantCurrSelectedValue = choosedVariants[variant]\n let allowedOptionCount\n\n // Formula for regenerating\n if (\n remainingGroupStock >=\n groupsWithInitialVariantsValues[groupId][variantId] - variantCurrSelectedValue\n ) {\n allowedOptionCount = groupsWithInitialVariantsValues[groupId][variantId]\n } else {\n allowedOptionCount = remainingGroupStock + variantCurrSelectedValue\n }\n\n recreatedVariantsOptions[variantId] = generateSelectOptions(0, allowedOptionCount)\n }\n\n setAddonsOptions((prevState: any) =>\n Object.assign({}, prevState, recreatedVariantsOptions)\n )\n }\n\n const onFieldChange = (id: any, value: any, addon: any) => {\n // If changeableGroup exsists it means that group with limitation variant was changed\n const changeableGroup = groupsWithSelectedVariants[addon.id]\n\n if (changeableGroup) {\n const currGroupId = addon.id\n const currSelectedVariantId = id\n const currSelectedVariantCount = Number(value)\n const currSelectedVariantPrevCount =\n groupsWithSelectedVariants[currGroupId].choosedVariants[currSelectedVariantId]\n\n const currSelectedGroupCount =\n changeableGroup.selectedCount +\n (currSelectedVariantCount - currSelectedVariantPrevCount)\n\n // Update Group info\n const updatedGroupsWithSelectedVariants = {\n ...groupsWithSelectedVariants,\n [currGroupId]: {\n ...groupsWithSelectedVariants[currGroupId],\n selectedCount: currSelectedGroupCount,\n choosedVariants: {\n ...groupsWithSelectedVariants[currGroupId].choosedVariants,\n [currSelectedVariantId]: currSelectedVariantCount,\n },\n },\n }\n setGroupsWithSelectedVariants(updatedGroupsWithSelectedVariants)\n\n // Recreate Select Options for Addon Group Variants\n recreateGroupVariantsSelectOptions(\n currGroupId,\n updatedGroupsWithSelectedVariants[currGroupId]\n )\n }\n }\n\n const handleConfirm = async (values: any, skipAddonPage?: boolean) => {\n try {\n const pageConfigsDataResponse = await getCheckoutPageConfigs()\n const pageConfigsData: ICheckoutPageConfigs =\n _get(pageConfigsDataResponse, 'data.attributes') || {}\n\n const skipBillingPage = pageConfigsData.skip_billing_page ?? false\n\n if (skipBillingPage && enableBillingInfoAutoCreate) {\n const ticketsQuantity = window.localStorage.getItem('quantity')\n const userData = JSON.parse(window.localStorage.getItem('user_data') || '{}')\n\n const checkoutBody = createCheckoutDataBodyWithDefaultHolder(\n Number(ticketsQuantity) || 0,\n userData\n )\n\n try {\n const checkoutResponse = await postOnCheckout({\n ...checkoutBody,\n attributes: {\n ...checkoutBody.attributes,\n ...(!skipAddonPage && { add_ons: values }),\n },\n })\n const hash = checkoutResponse?.data?.attributes?.hash || ''\n const total = checkoutResponse?.data?.attributes?.total || ''\n\n isBrowser && window.localStorage.removeItem('quantity')\n isBrowser && window.localStorage.removeItem('add_ons')\n\n onPostCheckoutSuccess(checkoutResponse?.data.attributes)\n onConfirmSelectionSuccess({\n skip_billing_page: skipBillingPage,\n event_id: String(eventId),\n hash,\n total,\n })\n } catch (error) {\n if (error.response?.data?.data?.hasUnverifiedOrder) {\n setPendingVerificationMessage(error.response?.data?.message)\n } else {\n onPostCheckoutError(error)\n onConfirmSelectionError(error)\n }\n }\n } else {\n if (isBrowser) {\n if (!skipAddonPage) {\n window.localStorage.setItem('add_ons', JSON.stringify(values))\n }\n\n onConfirmSelectionSuccess({\n skip_billing_page: skipBillingPage && enableBillingInfoAutoCreate,\n event_id: String(eventId),\n })\n } else {\n onConfirmSelectionError({\n error: true,\n message: 'Window is not defined',\n })\n }\n }\n } catch (e) {\n onConfirmSelectionError(e)\n }\n }\n\n const handleClearAddons = () => {\n window.localStorage.removeItem('add_ons')\n }\n\n if (loading) {\n return (\n <div className={`${classNamePrefix}_loader`}>\n <CircularProgress size={50} />\n </div>\n )\n }\n\n const params = new URL(`${window.location}`).searchParams\n const addOnIsIncluded = params.get(\"include_add_on\") === \"true\"\n const isResale = params.get(\"resale\") === 'true'\n\n return (\n <>\n {!!cartExpirationTime && enableTimer && !samePage && (\n <TimerWidget\n expires_at={cartExpirationTime}\n onCountdownFinish={() => {\n handleClearAddons()\n onCountdownFinish()\n }}\n />\n )}\n <div className={`${classNamePrefix}_container`}>\n <div className={`${classNamePrefix}_block`}>\n <div className={`${classNamePrefix}_line_block`}>\n {samePage ? null : <p className={`${classNamePrefix}_info_title`}>Get Your Tickets</p>}\n {(\n !addons?.length ||\n (isResale && addOnIsIncluded)\n ) && samePage ? null : <div className={`${classNamePrefix}_title`}>UPGRADES & ADD-ONS</div>}\n {samePage ? null : <button\n type=\"button\"\n className={`${classNamePrefix}_skip`}\n onClick={() => {\n handleClearAddons()\n handleConfirm({}, true)\n }}\n >\n Skip\n </button>}\n </div>\n {(\n !addons?.length ||\n (isResale && addOnIsIncluded)\n ) && samePage ? null : <div className={`${classNamePrefix}_subtitle`}>\n PLEASE SELECT FROM THE OPTIONAL ADD-ONS BELOW\n </div>}\n <Formik\n initialValues={{}}\n onSubmit={values => {\n handleConfirm(values)\n }}\n validate={samePage ? values => {\n if (isBrowser) {\n window.localStorage.setItem('add_ons', JSON.stringify(values))\n }\n } : undefined}\n >\n {({ values }) => {\n const isConfirmDisabled = !isAtLeastOneAddonSelected(values)\n\n return (\n <Form autoComplete=\"off\" className=\"form_holder\">\n <>\n {(isResale && addOnIsIncluded ? [] : addons).map((addon: any) => {\n const price = addon.feeIncluded ? addon.price : addon.cost\n const isAddonFree = Number(addon?.price) === 0\n\n const addOnNormalizedCost = isAddonFree ? 'FREE'\n : currencyNormalizerCreator(\n getNormalizedPrice(addon?.cost ?? 0),\n addon.currency\n )\n\n const addonNormalizedPrice = isAddonFree\n ? 'FREE'\n : currencyNormalizerCreator(\n getNormalizedPrice(CONFIGS.FEES_STYLE === FEES_STYLES.DISPLAY_BOTH ? (addon?.price ?? price) : price),\n addon.currency\n )\n\n return (\n <div\n key={addon.id}\n className={`${classNamePrefix}_product_block`}\n >\n <div className={`${classNamePrefix}_product_images`}>\n {addon.imageUrl && (\n <div className={`${classNamePrefix}_product_image_block`}>\n <img src={addon.imageUrl} alt=\"No Data\" />\n </div>\n )}\n </div>\n <div className={`${classNamePrefix}_product_info_block`}>\n <div className={`${classNamePrefix}_product_title`}>\n {addon.name}\n {addon.description && descriptionTrigger !== 'always' && (\n <>\n <span\n aria-hidden\n className=\"info-icon\"\n onClick={\n descriptionTrigger === 'click'\n ? () => handleDescriptionToggle(addon.id)\n : undefined\n }\n onMouseEnter={\n descriptionTrigger === 'hover'\n ? () => setVisibleDescription(addon.id)\n : undefined\n }\n onMouseLeave={\n descriptionTrigger === 'hover'\n ? () => setVisibleDescription(null)\n : undefined\n }\n style={{ marginLeft: 8, cursor: 'pointer', display: \"flex\" }}\n data-tooltip-id={`tooltip-${addon.id}`}\n data-tooltip-content=\"View Add-On info\"\n >\n <InfoIcon size={14} />\n </span>\n <Tooltip id={`tooltip-${addon.id}`} place=\"top\">\n {addon.description || \"No description available\"}\n </Tooltip>\n </>\n )}\n </div>\n <div className={`${classNamePrefix}_product_price`}>\n {CONFIGS.FEES_STYLE === FEES_STYLES.TRADITIONAL ? addonNormalizedPrice : addOnNormalizedCost}\n {!isAddonFree && CONFIGS.FEES_STYLE === FEES_STYLES.TRADITIONAL && (\n <span className={`${classNamePrefix}_product_fee`}>\n {addon.feeIncluded ? '(incl. Fees)' : '(excl. Fees)'}\n </span>\n )}\n {!isAddonFree && CONFIGS.FEES_STYLE === FEES_STYLES.DISPLAY_BOTH && (\n <>\n <span className={`${classNamePrefix}_product_fee`}>\n {`(${addonNormalizedPrice} with fees)`}\n </span>\n </>\n )}\n </div>\n </div>\n {(visibleDescription === addon.id || descriptionTrigger === 'always' ) && (\n <div\n className={`${classNamePrefix}_product_desc`}\n dangerouslySetInnerHTML={createMarkup(addon.description)}\n />\n )}\n <div className={`${classNamePrefix}_product_select_container`}>\n {addon.variants ? (\n addon.variants.map((variant: any) => (\n // Group Variants\n <AddonComponent\n key={variant.id}\n data={variant}\n selectOptions={addonsOptions[variant.id]}\n classNamePrefix={classNamePrefix}\n handleAddonChange={(id, value) =>\n onFieldChange(id, value, addon)\n }\n />\n ))\n ) : (\n // Simple Addon\n <AddonComponent\n key={addon.id}\n data={addon}\n selectOptions={addonsOptions[addon.id]}\n classNamePrefix={classNamePrefix}\n handleAddonChange={(id, value) =>\n onFieldChange(id, value, addon)\n }\n />\n )}\n </div>\n </div>\n )\n })}\n {samePage ? null : <button\n type=\"submit\"\n className={`${isConfirmDisabled ? `${classNamePrefix}_is_disabled` : ''\n } ${classNamePrefix}_submit_button`}\n disabled={isConfirmDisabled}\n >\n CONFIRM SELECTION\n </button>}\n </>\n </Form>\n )\n }}\n </Formik>\n </div>\n </div>\n <VerificationPendingModal\n message={pendingVerificationMessage}\n onClose={() => {\n onPendingVerification()\n }}\n />\n </>\n )\n}\n","import React from 'react'\nimport { Alert, AlertColor, Snackbar, SnackbarOrigin } from '@mui/material'\n\ninterface ISnackbarAlertProps {\n isOpen: boolean\n message: string\n type: AlertColor\n position?: SnackbarOrigin\n autoHideDuration?: number\n variant?: 'filled' | 'standard' | 'outlined'\n\n onClose: () => void\n}\n\nconst SnackbarAlert = ({\n isOpen,\n message,\n type,\n position,\n autoHideDuration = 3000,\n variant,\n onClose,\n}: ISnackbarAlertProps) => {\n return (\n <div className=\"snackbar-alert-container\">\n <Snackbar\n autoHideDuration={autoHideDuration}\n open={isOpen}\n anchorOrigin={position || { vertical: 'top', horizontal: 'center' }}\n onClose={onClose}\n classes={{\n root: 'snackbar-alert-snackbar-root',\n }}\n >\n <Alert\n severity={type}\n onClose={onClose}\n variant={variant || 'filled'}\n classes={{\n icon: 'snackbar-alert-icon',\n root: 'snackbar-alert-alert-root',\n action: 'snackbar-alert-action',\n message: 'snackbar-alert-message',\n filled: 'snackbar-alert-filled',\n }}\n >\n {message}\n </Alert>\n </Snackbar>\n </div>\n )\n}\n\nexport default SnackbarAlert\n","import React from 'react'\n\nexport const PoweredBy = () => (\n <div className=\"powered-container\">\n <div className='powered-text'>Powered By</div>\n <img\n className='powered-img'\n alt=\"The Ticket Fairy\"\n src={\"https://cdn-checkout.s3.us-east-2.amazonaws.com/IconTicketFairy.svg\"}\n />\n <div className='powered-ttf'>\n The<strong>Ticket</strong>Fairy\n </div>\n </div>\n)\n","import './style.css'\n\nimport { Box, CircularProgress, Modal } from '@mui/material'\nimport axios, { AxiosError } from 'axios'\nimport { Field, Form, Formik } from 'formik'\nimport React, { FC, useState } from 'react'\nimport * as Yup from 'yup'\n\nimport { forgotPassword } from '../../api'\nimport { CustomField } from '../common/CustomField'\nimport { PoweredBy } from '../common/PoweredBy'\n\nexport interface IForgotPasswordProps {\n onClose: () => void;\n onLoginButtonClick: () => void;\n onForgotPasswordSuccess: (res: any) => void;\n onForgotPasswordError: (e: AxiosError) => void;\n showPoweredByImage?: boolean;\n}\n\ninterface ValuesTypes {\n email: string;\n}\n\nconst style: React.CSSProperties = {\n position: 'absolute',\n top: '50%',\n left: '50%',\n transform: 'translate(-50%, -50%)',\n minWidth: 480,\n backgroundColor: '#fff',\n border: '1px solid white',\n outline: 'none',\n padding: '14px',\n}\n\nconst Schema = Yup.object().shape({\n email: Yup.string().email('Invalid email').required('Required'),\n})\n\nexport const ForgotPasswordModal: FC<IForgotPasswordProps> = ({\n onClose = () => {},\n onLoginButtonClick = () => {},\n onForgotPasswordSuccess = () => {},\n onForgotPasswordError = () => {},\n showPoweredByImage = false,\n}) => {\n const [loading, setLoading] = useState(false)\n\n const onForgotPassword = async ({ email }: ValuesTypes) => {\n try {\n setLoading(true)\n const { data } = await forgotPassword(email)\n\n onForgotPasswordSuccess(data)\n onClose()\n } catch (e) {\n if (axios.isAxiosError(e)) {\n onForgotPasswordError(e)\n }\n } finally {\n setLoading(false)\n }\n }\n\n const _onClose = loading ? () => {} : onClose\n\n return (\n <Modal\n open={true}\n onClose={_onClose}\n aria-labelledby=\"modal-modal-title\"\n aria-describedby=\"modal-modal-description\"\n className=\"forgot-password-modal\"\n >\n <Box style={style}>\n <div>\n <Formik\n initialValues={{ email: '' }}\n validationSchema={Schema}\n onSubmit={onForgotPassword}\n >\n {({ isValid, dirty, handleSubmit }) => (\n <Form onSubmit={handleSubmit}>\n <div className=\"forgot-password-container\">\n <div className=\"title\">Password Reset</div>\n <div className=\"forgot-password-container__singleField\">\n <Field name=\"email\" label=\"Email\" component={CustomField} />\n </div>\n </div>\n <div className=\"forgot-password-action-button\">\n <button type=\"submit\" disabled={!(isValid && dirty)}>\n {loading ? <CircularProgress size=\"22px\" /> : 'Submit'}\n </button>\n </div>\n <div className=\"login\">\n <span onClick={onLoginButtonClick}>Back to Log In</span>\n </div>\n {showPoweredByImage ? <PoweredBy /> : null}\n </Form>\n )}\n </Formik>\n </div>\n </Box>\n </Modal>\n )\n}\n","const emailRegex = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/\n\nexport const combineValidators = (...validators: any) => (...value: any) => {\n for (let i = 0; i < validators.length; ++i) {\n const error_message = validators[i](...value)\n if (error_message) return error_message\n }\n}\n\nexport function isFalsy(item: any) {\n try {\n if (\n !item || // handles most, like false, 0, null, etc\n (typeof item === 'object' &&\n Object.keys(item).length === 0 && // for empty objects, like {}, []\n !(typeof item.addEventListener === 'function')) // omit webpage elements\n ) {\n return true\n }\n } catch (err) {\n return true\n }\n\n return false\n}\n\nexport const requiredValidator = (\n value?: string | number | Array<string> | boolean,\n message?: string\n): string => {\n let errorMessage = ''\n\n if (isFalsy(typeof value === 'string' ? value.trim() : value)) {\n errorMessage = message || 'Required'\n }\n return errorMessage\n}\n\nexport const emailValidator = (email: string) =>\n !emailRegex.test(email) ? 'Please enter a valid email address' : ''\n","import './style.css'\n\nimport { TextField } from '@mui/material'\nimport Box from '@mui/material/Box'\nimport Modal from '@mui/material/Modal'\nimport axios, { AxiosError } from 'axios'\nimport { Field, Form, Formik } from 'formik'\nimport _get from 'lodash/get'\nimport _identity from 'lodash/identity'\nimport React, { FC, useState } from 'react'\n\nimport { authorize, getProfileData } from '../../api'\nimport { isBrowser, setLoggedUserData } from '../../utils'\nimport { requiredValidator } from '../../validators'\nimport { PoweredBy } from '../common/PoweredBy'\n\nexport interface Props {\n onClose: () => void;\n onLogin: (res: IProfileData) => void;\n alreadyHasUser?: boolean;\n userExpired?: boolean;\n onAuthorizeSuccess?: (res: any) => void;\n onAuthorizeError?: (e: AxiosError) => void;\n onGetProfileDataSuccess?: (res: any) => void;\n onGetProfileDataError?: (e: AxiosError) => void;\n onForgotPassword?: () => void;\n onSignup?: () => void;\n modalClassname?: string;\n logo?: string;\n showForgotPasswordButton?: boolean;\n showSignUpButton?: boolean;\n showPoweredByImage?: boolean;\n}\n\nconst style: React.CSSProperties = {\n position: 'absolute',\n top: '50%',\n left: '50%',\n transform: 'translate(-50%, -50%)',\n minWidth: 480,\n backgroundColor: '#e3e3e3',\n border: '1px solid white',\n outline: 'none',\n}\n\nexport const LoginModal: FC<Props> = ({\n onClose,\n onLogin,\n alreadyHasUser = false,\n userExpired = false,\n onGetProfileDataSuccess = _identity,\n onGetProfileDataError = _identity,\n onForgotPassword = _identity,\n onSignup = _identity,\n modalClassname = '',\n logo,\n showForgotPasswordButton = false,\n showSignUpButton = false,\n showPoweredByImage = false,\n}) => {\n const [error, setError] = useState('')\n return (\n <Modal\n open={true}\n onClose={onClose}\n aria-labelledby=\"modal-modal-title\"\n aria-describedby=\"modal-modal-description\"\n className={`login-modal ${modalClassname}`}\n >\n <Box style={style}>\n <div>\n <Formik\n initialValues={{ email: '', password: '' }}\n onSubmit={async ({ email, password }) => {\n try {\n const body = { email, password }\n const authRes = await authorize(body)\n let profileResponse = null\n try {\n profileResponse = await getProfileData()\n onGetProfileDataSuccess(profileResponse.data)\n } catch (e) {\n if (axios.isAxiosError(e)) {\n onGetProfileDataError(e)\n }\n return\n }\n\n const profileSpecifiedData = profileResponse.data\n const profileDataObj = setLoggedUserData(profileSpecifiedData)\n if (isBrowser) {\n window.localStorage.setItem('user_data', JSON.stringify(profileDataObj))\n const event = new window.CustomEvent('tf-login')\n window.document.dispatchEvent(event)\n }\n onLogin(_get(authRes, 'data.data', {}) as IProfileData)\n } catch (e) {\n if (axios.isAxiosError(e)) {\n const error = _get(e, 'response.data.message', 'Error')\n setError(error)\n } else if (e instanceof Error) {\n setError(e?.message || 'Error')\n }\n }\n }}\n >\n {props => (\n <Form onSubmit={props.handleSubmit}>\n <div className=\"modal-title\">Login</div>\n <div className=\"login-logo-container\">\n <img\n className=\"login-logo-tff\"\n src={\n logo ||\n 'https://www.ticketfairy.com/resources/images/logo-ttf-black.svg'\n }\n alt=\"logo\"\n />\n </div>\n <div className=\"server_auth__error\">{error}</div>\n {alreadyHasUser && (\n <p className=\"info-text-for-login\">\n It appears this email is already attached to an account. Please log in\n here to complete your registration.\n </p>\n )}\n {userExpired && (\n <p className=\"info-text-for-login\">\n Your session has expired, please log in again.\n </p>\n )}\n <div className=\"login-modal-body\">\n <div className=\"login-modal-body__email\">\n <Field name={'email'} validate={requiredValidator}>\n {({ field, meta }: { [key: string]: any }) => (\n <TextField\n label={'Email'}\n type={'email'}\n fullWidth\n error={!!meta.error && meta.touched}\n helperText={meta.touched && meta.error}\n {...field}\n />\n )}\n </Field>\n </div>\n <div className=\"login-modal-body__password\">\n <Field name={'password'} validate={requiredValidator}>\n {({ field, meta }: { [key: string]: any }) => (\n <TextField\n label=\"Password\"\n type=\"password\"\n fullWidth\n error={!!meta.error && meta.touched}\n helperText={meta.touched && meta.error}\n {...field}\n />\n )}\n </Field>\n </div>\n <div className=\"login-action-button\">\n <button type=\"submit\">Login</button>\n </div>\n {showForgotPasswordButton && (\n <div className=\"forgot-password\">\n <span aria-hidden=\"true\" onClick={onForgotPassword}>\n Forgot password?\n </span>\n </div>\n )}\n {showSignUpButton && (\n <div className=\"forgot-password\">\n <span aria-hidden=\"true\" onClick={onSignup}>\n Sign up\n </span>\n </div>\n )}\n {showPoweredByImage ? <PoweredBy /> : null}\n </div>\n </Form>\n )}\n </Formik>\n </div>\n </Box>\n </Modal>\n )\n}\n","import './style.css'\n\nimport { Box, CircularProgress, Modal } from '@mui/material'\nimport axios, { AxiosError } from 'axios'\nimport { Field, Form, Formik } from 'formik'\nimport React, { FC, useState } from 'react'\nimport * as Yup from 'yup'\n\nimport { register } from '../../api'\nimport { CONFIGS } from '../../utils'\nimport { CustomField } from '../common/CustomField'\nimport { PoweredBy } from '../common/PoweredBy'\n\ninterface ISignupProps {\n onClose: () => void;\n onLogin: () => void;\n onRegisterSuccess: (res: any) => void;\n onRegisterError: (e: AxiosError, email: string) => void;\n showPoweredByImage?: boolean;\n}\n\ninterface ValuesTypes {\n firstName: string;\n lastName: string;\n email: string;\n password: string;\n confirmPassword: string;\n}\n\nconst style: React.CSSProperties = {\n position: 'absolute',\n top: '50%',\n left: '50%',\n transform: 'translate(-50%, -50%)',\n minWidth: 480,\n backgroundColor: '#fff',\n border: '1px solid white',\n outline: 'none',\n padding: '14px',\n}\n\nconst SignupSchema = Yup.object().shape({\n firstName: Yup.string().required('Required'),\n lastName: Yup.string().required('Required'),\n email: Yup.string().email('Invalid email').required('Required'),\n password: Yup.string().min(6, 'Password must have 5+ characters').required('Required'),\n confirmPassword: Yup.string()\n .required('Required')\n .oneOf([Yup.ref('password'), null], 'Passwords must match'),\n})\n\nexport const SignupModal: FC<ISignupProps> = ({\n onClose = () => {},\n onLogin = () => {},\n onRegisterSuccess = () => {},\n onRegisterError = () => {},\n showPoweredByImage = false,\n}) => {\n const [loading, setLoading] = useState(false)\n\n const onSignup = async (values: ValuesTypes) => {\n try {\n setLoading(true)\n const formData = new FormData()\n formData.set('first_name', values.firstName)\n formData.set('last_name', values.lastName)\n formData.set('email', values.email)\n formData.set('password', values.password)\n formData.set('password_confirmation', values.confirmPassword)\n formData.append(\n 'client_id',\n CONFIGS.CLIENT_ID || 'e9d8f8922797b4621e562255afe90dbf'\n )\n formData.append(\n 'client_secret',\n CONFIGS.CLIENT_SECRET || 'b89c191eff22fdcf84ac9bfd88d005355a151ec2c83b26b9'\n )\n\n const res = await register(formData)\n\n onRegisterSuccess(res)\n onClose()\n } catch (e) {\n if (axios.isAxiosError(e)) {\n onRegisterError(e, values.email)\n }\n } finally {\n setLoading(false)\n }\n }\n\n const _onClose = loading ? () => {} : onClose\n\n return (\n <Modal\n open={true}\n onClose={_onClose}\n aria-labelledby=\"modal-modal-title\"\n aria-describedby=\"modal-modal-description\"\n className=\"signup-modal\"\n >\n <Box style={style}>\n <div>\n <Formik\n initialValues={{\n firstName: '',\n lastName: '',\n email: '',\n password: '',\n confirmPassword: '',\n }}\n validationSchema={SignupSchema}\n onSubmit={onSignup}\n >\n {({ isValid, dirty, handleSubmit }) => (\n <Form onSubmit={handleSubmit}>\n <div className=\"signup-container\">\n <div className=\"title\">Create an Account</div>\n <div className=\"signup-container__twoFields\">\n <div className=\"is-half\">\n <Field\n name=\"firstName\"\n label=\"First Name\"\n component={CustomField}\n />\n </div>\n <div className=\"is-half\">\n <Field name=\"lastName\" label=\"Last Name\" component={CustomField} />\n </div>\n </div>\n <div className=\"signup-container__singleField\">\n <div className=\"\">\n <Field name=\"email\" label=\"Email\" component={CustomField} />\n </div>\n </div>\n <div className=\"signup-container__twoFields\">\n <div className=\"is-half\">\n <Field\n name=\"password\"\n label=\"Password\"\n type=\"password\"\n component={CustomField}\n />\n </div>\n <div className=\"is-half\">\n <Field\n name=\"confirmPassword\"\n label=\"Confirm Password\"\n type=\"password\"\n component={CustomField}\n />\n </div>\n </div>\n </div>\n <div className=\"signup-action-button\">\n <button type=\"submit\" disabled={!(isValid && dirty)}>\n {loading ? <CircularProgress size=\"22px\" /> : 'Submit'}\n </button>\n </div>\n <div className=\"login\">\n <span onClick={onLogin}>Login</span>\n </div>\n {showPoweredByImage ? <PoweredBy /> : null}\n </Form>\n )}\n </Formik>\n </div>\n </Box>\n </Modal>\n )\n}\n","import { FormikErrors, FormikValues } from 'formik'\nimport _flatMapDeep from 'lodash/flatMapDeep'\nimport _forEach from 'lodash/forEach'\nimport _get from 'lodash/get'\nimport _isArray from 'lodash/isArray'\nimport _isEmpty from 'lodash/isEmpty'\nimport _map from 'lodash/map'\nimport { nanoid } from 'nanoid'\nimport React from 'react'\n\nimport { AttributesConfig } from '../../api'\nimport { IGroupItem } from '../../types'\nimport { CONFIGS } from '../../utils'\nimport { combineValidators, requiredValidator } from '../../validators'\nimport {\n CheckboxField,\n CustomField,\n DatePickerField,\n PhoneNumberField,\n RadioGroupField,\n SelectField,\n} from '../common/index'\n\nexport interface ILoggedInValues {\n emailLogged?: string;\n firstNameLogged?: string;\n lastNameLogged?: string;\n}\n\nexport interface IValues {\n [key: string]: any;\n}\n\nexport const getInitialValues = (\n data: any = [],\n propsInitialValues: IValues = {},\n userValues: any = {},\n ticketHoldersFields: any = {},\n ticketsQuantity: any = []\n): IValues => {\n const results = _flatMapDeep(data, ({ fields }) =>\n _map(fields, ({ groupItems }) =>\n _map(groupItems, ({ name, value }) => ({ name, value }))\n )\n )\n\n // Add Ticket Holder default values for custom fields\n const ticketHoldersCustomFields =\n ticketHoldersFields?.fields?.find((groupItem: any) => groupItem.customFields)\n ?.groupItems || []\n const ticketHoldersCustomFieldsInitValues = {} as IValues\n const selectedTicketsCount =\n ticketsQuantity.length || localStorage.getItem('selectedTicketsQuantity') || 0\n\n if (!_isEmpty(ticketHoldersCustomFields)) {\n for (const customField of ticketHoldersCustomFields) {\n for (let i = 0; i < selectedTicketsCount; i++) {\n const fieldName = `${customField.name}-${i}`\n const fieldValue = customField.value\n ticketHoldersCustomFieldsInitValues[fieldName] = fieldValue\n }\n }\n }\n\n const initialValues: IValues = {}\n _forEach(results, groupItem => {\n const { name, value } = groupItem\n initialValues[name] = value || propsInitialValues[name] || userValues[name] || ''\n })\n\n // set logged in user as first ticket holder\n initialValues['holderFirstName-0'] =\n propsInitialValues.firstName || userValues.firstName || ''\n initialValues['holderLastName-0'] =\n propsInitialValues.lastName || userValues.lastName || ''\n initialValues['holderEmail-0'] = propsInitialValues.email || userValues.email || ''\n\n return { ...initialValues, ...ticketHoldersCustomFieldsInitValues }\n}\n\nexport const createRegisterFormData = (\n values: IValues = {},\n checkoutBody: { attributes: { [key: string]: any } },\n flagFreeTicket = false\n): FormData => {\n const bodyFormData = new FormData()\n bodyFormData.append('first_name', values.firstName)\n bodyFormData.append('last_name', values.lastName)\n bodyFormData.append('email', values.email)\n bodyFormData.append('password', values.password)\n bodyFormData.append('password_confirmation', values.confirmPassword)\n bodyFormData.append(\n 'client_id',\n CONFIGS.CLIENT_ID || 'e9d8f8922797b4621e562255afe90dbf'\n )\n bodyFormData.append(\n 'client_secret',\n CONFIGS.CLIENT_SECRET || 'b89c191eff22fdcf84ac9bfd88d005355a151ec2c83b26b9'\n )\n bodyFormData.append('check_cart_expiration', 'true')\n\n _forEach(checkoutBody.attributes, (item: any, key: string) => {\n if (\n !(flagFreeTicket && ['country', 'state', 'city', 'street_address'].includes(key))\n ) {\n bodyFormData.append(key, item)\n }\n })\n\n return bodyFormData\n}\n\nexport interface ICheckoutBody {\n attributes: {\n [key: string]: any;\n };\n data_capture?: {\n [key: string]: any;\n };\n}\n\ninterface IticketHolder {\n first_name?: string;\n last_name?: string;\n phone?: string;\n email?: string;\n}\n\nexport const createCheckoutDataBody = (\n ticketsQuantity: number,\n values: IValues = {},\n logedInValues: ILoggedInValues = {},\n includeDob = false\n): ICheckoutBody => {\n const { firstName, lastName, holderAge, confirmEmail, confirmPassword, ...restValues } =\n values\n\n const holders = []\n let ticket_holders: IticketHolder[] = []\n\n for (let i = 0; i <= ticketsQuantity; i++) {\n const individualHolder = Object.fromEntries(\n Object.entries(values).filter(([key, _val]) => key.includes(String(i)))\n )\n holders.push(individualHolder)\n }\n\n const filteredHolders = holders.filter(holder => Object.entries(holder).length > 0)\n ticket_holders = filteredHolders.map((item, index) => ({\n first_name: !index\n ? item[`holderFirstName-${index}`] || logedInValues.firstNameLogged || ''\n : item[`holderFirstName-${index}`] || '',\n last_name: !index\n ? item[`holderLastName-${index}`] || logedInValues.lastNameLogged || ''\n : item[`holderLastName-${index}`] || '',\n phone: item[`holderPhone-${index}`] || '',\n email: !index\n ? item[`holderEmail-${index}`] || logedInValues.emailLogged || ''\n : item[`holderEmail-${index}`] || '',\n }))\n\n const filteredRestValue: { [key: string]: any } = {}\n _forEach(restValues, (value, key) => {\n if (!key.includes('holder')) {\n filteredRestValue[key] = value\n }\n })\n\n const body: ICheckoutBody = {\n attributes: {\n ...filteredRestValue,\n email: restValues.email || logedInValues.emailLogged,\n confirm_email: restValues.email || logedInValues.emailLogged,\n first_name: firstName || logedInValues.firstNameLogged,\n last_name: lastName || logedInValues.lastNameLogged,\n ticket_holders,\n },\n }\n\n if (includeDob) {\n const holderAgeDate = new Date(holderAge)\n body.attributes.dob_day = holderAgeDate.getDate()\n body.attributes.dob_month = holderAgeDate.getMonth() + 1\n body.attributes.dob_year = holderAgeDate.getFullYear()\n }\n return body\n}\n\nexport const getValidateFunctions = (\n element: IGroupItem,\n states: Array<{ [key: string]: any }>,\n values: FormikValues,\n errors: FormikErrors<any>\n) => {\n const validationFunctions: any[] = []\n\n if (element.required) {\n if (element.name !== 'state' || (element.name === 'state' && states.length)) {\n validationFunctions.push(requiredValidator)\n }\n }\n\n if (element.onValidate) {\n validationFunctions.push(element.onValidate)\n }\n\n if (element.name === 'phone') {\n const invalidPhone = () =>\n errors.phone === 'Invalid phone number' ? 'Invalid phone number' : null\n validationFunctions.push(invalidPhone)\n }\n\n if (element.name === 'confirmEmail') {\n const isSameEmail = (confirmEmail?: string) =>\n values.email !== confirmEmail ? 'Please confirm your email address correctly' : null\n validationFunctions.push(isSameEmail)\n }\n\n if (element.name === 'confirmPassword') {\n const isSame = (confirmPassword?: string) =>\n values.password !== confirmPassword ? 'Password confirmation does not match' : null\n validationFunctions.push(isSame)\n }\n\n return combineValidators(...validationFunctions)\n}\n\nexport const assingUniqueIds = (data: any): any => {\n if (_get(data[0], 'uniqueId')) {\n return data\n }\n\n return _map(data, (item: any) => {\n _forEach(item, (itemValue: string, key) => {\n if (_isArray(itemValue) && !itemValue.some(item => typeof item === 'string')) {\n item[key] = assingUniqueIds(itemValue)\n }\n })\n\n return { ...item, uniqueId: nanoid() }\n })\n}\n\nexport const isRequiredField = (\n element: IGroupItem,\n configs?: null | AttributesConfig\n) => {\n const { name, required } = element\n const flagRequirePhone = _get(configs, 'phone_required', false)\n const collectMandatoryWalletAddress = _get(\n configs,\n 'collect_mandatory_wallet_address',\n false\n )\n\n if (\n required ||\n (name === 'phone' && flagRequirePhone) ||\n (name === 'data_capture[wallet_address]' && !collectMandatoryWalletAddress)\n ) {\n return true\n }\n\n return false\n}\n\nexport const getFieldLabel = (element: IGroupItem, configs?: null | AttributesConfig) => {\n if (isRequiredField(element, configs) || React.isValidElement(element.label)) {\n return element.label\n }\n\n return `${element.label} (optional)`\n}\n\nexport const getFieldComponent = (element: IGroupItem) => {\n const type = _get(element, 'type', 'text')\n\n const fieldComponentConfigs = {\n checkbox: CheckboxField,\n select: CustomField, // Temp change untill refactoring\n select_multi: SelectField,\n phone: PhoneNumberField,\n date: DatePickerField,\n radio: RadioGroupField,\n text: CustomField,\n }\n\n const fieldComponent = _get(fieldComponentConfigs, type, CustomField)\n return fieldComponent\n}\n","import './style.css'\n\nimport { CircularProgress, ThemeOptions } from '@mui/material'\nimport Backdrop from '@mui/material/Backdrop'\nimport Button from '@mui/material/Button'\nimport { createTheme, ThemeProvider } from '@mui/material/styles'\nimport { CSSProperties } from '@mui/styles'\nimport axios, { AxiosError } from 'axios'\nimport { Field, Form, Formik, FormikHelpers, FormikProps, FormikValues } from 'formik'\nimport _find from 'lodash/find'\nimport _forEach from 'lodash/forEach'\nimport _get from 'lodash/get'\nimport _identity from 'lodash/identity'\nimport _includes from 'lodash/includes'\nimport _isEmpty from 'lodash/isEmpty'\nimport _isEqual from 'lodash/isEqual'\nimport _map from 'lodash/map'\nimport { nanoid } from 'nanoid'\nimport React, { FC, useEffect, useRef, useState } from 'react'\n\nimport {\n AttributesConfig,\n getCart,\n getCheckoutPageConfigs,\n getCountries,\n getProfileData,\n getStates,\n postOnCheckout,\n register,\n setCustomHeader,\n} from '../../api'\nimport { withCustomFields } from '../../hoc'\nimport { usePixel } from '../../hooks/usePixel'\nimport { IBillingInfoData } from '../../types'\nimport {\n createCheckoutDataBodyWithDefaultHolder,\n deleteCookieByName,\n getCookieByName,\n isBrowser,\n setLoggedUserData,\n} from '../../utils'\nimport { ErrorFocus } from '../../utils/formikErrorFocus'\nimport { AddonsContainter, IAddonContainterProps } from '../addonsContainer'\nimport SnackbarAlert from '../common/SnackbarAlert'\nimport { ForgotPasswordModal } from '../forgotPasswordModal'\nimport { VerificationPendingModal } from '../idVerificationContainer/VerificationPendingModal'\nimport { LoginModal } from '../loginModal'\nimport { SignupModal } from '../signupModal'\nimport TimerWidget from '../timerWidget'\nimport {\n assingUniqueIds,\n createCheckoutDataBody,\n createRegisterFormData,\n getFieldComponent,\n getFieldLabel,\n getInitialValues,\n getValidateFunctions,\n ICheckoutBody,\n} from './utils'\n\nexport interface IBillingInfoPage {\n data?: IBillingInfoData[];\n ticketHoldersFields?: IBillingInfoData;\n handleSubmit?: (\n values: FormikValues,\n formikHelpers: FormikHelpers<FormikValues>,\n eventId: any,\n res: any\n ) => void;\n onRegisterSuccess?: (value: any) => void;\n onRegisterError?: (e: AxiosError, email: string) => void;\n onSubmitError?: (e: AxiosError) => void;\n onGetCartSuccess?: (res: any) => void;\n onGetCartError?: (e: AxiosError) => void;\n onGetCountriesSuccess?: (res: any) => void;\n onGetCountriesError?: (e: AxiosError) => void;\n onGetStatesSuccess?: (res: any) => void;\n onGetStatesError?: (e: AxiosError) => void;\n onGetProfileDataSuccess?: (res: any) => void;\n onGetProfileDataError?: (e: AxiosError) => void;\n onGetCheckoutConfigsSuccess?: (res: any) => void;\n onGetCheckoutConfigsError?: (e: AxiosError) => void;\n onLogin?: () => void;\n onLoginSuccess?: () => void;\n onErrorClose?: () => void;\n initialValues?: FormikValues;\n buttonName?: string;\n theme?: 'light' | 'dark';\n isLoggedIn?: boolean;\n accountInfoTitle?: string | JSX.Element;\n hideLogo?: boolean;\n themeOptions?: ThemeOptions & {\n input?: CSSProperties;\n checkbox?: CSSProperties;\n };\n hideErrorsAlertSection?: boolean;\n onSkipBillingPage: (data: any) => void;\n skipPage?: boolean;\n canSkipHolderNames?: boolean;\n shouldFetchCountries?: boolean;\n onForgotPasswordSuccess?: (res: any) => void;\n onForgotPasswordError?: (e: AxiosError) => void;\n onCountdownFinish?: () => void;\n enableTimer?: boolean;\n logo?: string;\n showForgotPasswordButton?: boolean;\n showSignUpButton?: boolean;\n brandOptIn?: boolean;\n showPoweredByImage?: boolean;\n isCountryCodeEditable?: boolean;\n customFieldsOrderKeys?: string[];\n customFieldsTicketHolderKeys?: string[];\n onPendingVerification?: () => void;\n includeAddons?: boolean;\n addonsProps?: IAddonContainterProps;\n}\n\nconst LogicRunner: FC<{\n brandOptIn?: boolean;\n values: any;\n setStates: React.Dispatch<any>;\n setFieldValue: any;\n setValues: any;\n setUserValues: any;\n onGetStatesSuccess: any;\n onGetStatesError: any;\n shouldFetchCountries: boolean;\n}> = ({\n values,\n setStates,\n setFieldValue,\n setValues,\n setUserValues,\n onGetStatesSuccess,\n onGetStatesError,\n shouldFetchCountries,\n brandOptIn,\n}) => {\n const prevCountry = useRef(values.country)\n useEffect(() => {\n const fetchStates = async () => {\n try {\n const res = await getStates(values.country)\n const mappedStates = _map(res.data, (item, key) => ({\n label: item,\n value: key,\n }))\n setStates(mappedStates)\n if (prevCountry.current !== values.country) {\n const stateExists = mappedStates.find(\n state => state.value === values.state\n )?.value\n setFieldValue('state', stateExists ?? mappedStates[0]?.value ?? '')\n prevCountry.current = values.country\n }\n onGetStatesSuccess(res.data)\n } catch (e) {\n if (axios.isAxiosError(e)) {\n onGetStatesError(e)\n }\n }\n }\n shouldFetchCountries && fetchStates()\n }, [values.country, setStates, setFieldValue])\n const userDataEncoded = isBrowser ? window.localStorage.getItem('user_data') : ''\n useEffect(() => {\n // set user data from local storage\n const getStoredUserData = () => {\n if (isBrowser) {\n if (userDataEncoded) {\n try {\n const parsedData = JSON.parse(userDataEncoded)\n const mappedValues = {\n firstName: parsedData?.first_name || parsedData?.firstName || '',\n lastName: parsedData?.last_name || parsedData?.lastName || '',\n email: parsedData?.email || '',\n phone: parsedData?.phone || '',\n confirmEmail: parsedData?.email || '',\n state: parsedData?.state || '',\n street_address: parsedData?.street_address || '',\n country: parsedData?.country || '1',\n zip: parsedData?.zip || '',\n brand_opt_in: brandOptIn ? brandOptIn : parsedData?.brand_opt_in || false,\n city: parsedData?.city || '',\n confirmPassword: '',\n password: '',\n 'holderFirstName-0': parsedData?.first_name || parsedData?.firstName || '',\n 'holderLastName-0': parsedData?.last_name || parsedData?.lastName || '',\n 'holderEmail-0': parsedData?.email || '',\n }\n\n const extraDataJSON = window.localStorage.getItem('extraData')\n const extraData = extraDataJSON ? JSON.parse(extraDataJSON) : null\n\n setValues({ ...values, ...mappedValues, ...(extraData ?? {}) })\n setUserValues(mappedValues)\n } catch (e) {}\n }\n }\n }\n getStoredUserData()\n }, [userDataEncoded, setValues, setUserValues])\n return null\n}\n\nconst BillingInfoContainer = React.memo(\n ({\n data = [],\n ticketHoldersFields = {\n id: 1,\n fields: [],\n },\n initialValues = {},\n buttonName = 'Submit',\n handleSubmit = _identity,\n theme = 'light',\n onRegisterSuccess = _identity,\n onRegisterError = _identity,\n onSubmitError = _identity,\n onGetCartSuccess = _identity,\n onGetCartError = _identity,\n onGetCountriesSuccess = _identity,\n onGetCountriesError = _identity,\n onGetStatesSuccess = _identity,\n onGetStatesError = _identity,\n onGetProfileDataSuccess = _identity,\n onGetProfileDataError = _identity,\n onLogin,\n onLoginSuccess = _identity,\n isLoggedIn: pIsLoggedIn = false,\n accountInfoTitle = '',\n hideLogo,\n themeOptions,\n onErrorClose = _identity,\n hideErrorsAlertSection = false,\n onSkipBillingPage = _identity,\n skipPage = false,\n canSkipHolderNames = false,\n onForgotPasswordSuccess = _identity,\n onForgotPasswordError = _identity,\n shouldFetchCountries = true,\n onCountdownFinish = _identity,\n enableTimer = false,\n logo,\n showForgotPasswordButton = false,\n showSignUpButton = false,\n brandOptIn = false,\n showPoweredByImage = false,\n customFieldsOrderKeys,\n customFieldsTicketHolderKeys,\n isCountryCodeEditable = true,\n onPendingVerification = _identity,\n onGetCheckoutConfigsSuccess = _identity,\n onGetCheckoutConfigsError = _identity,\n includeAddons = false,\n addonsProps,\n }: IBillingInfoPage) => {\n const [extraData, setExtraData] = useState(null)\n const [isConfigLoading, setIsConfigLoading] = useState(true)\n const [configs, setConfigs] = useState<null | AttributesConfig>(null)\n const [isNewUser, setIsNewUser] = useState(false)\n const themeMui = createTheme(themeOptions)\n\n useEffect(() => {\n if (isBrowser) {\n const extraData = window.localStorage.getItem('extraData')\n if (extraData) {\n setExtraData(JSON.parse(extraData))\n }\n }\n getCheckoutPageConfigs()\n .then(data => {\n if (data?.data?.attributes) {\n setConfigs(data.data.attributes)\n setIsConfigLoading(false)\n }\n onGetCheckoutConfigsSuccess(data)\n })\n .catch(e => {\n setIsConfigLoading(false)\n onGetCheckoutConfigsError(e)\n })\n }, [isBrowser])\n\n const defaultCountry = isBrowser ? window.localStorage.getItem('eventCountry') : ''\n const userData =\n isBrowser && window.localStorage.getItem('user_data')\n ? JSON.parse(window.localStorage.getItem('user_data') || '')\n : {}\n const [dataWithUniqueIds, setDataWithUniqueIds] = useState<IBillingInfoData[]>(\n assingUniqueIds(data)\n )\n const xtfCookie = getCookieByName('X-TF-ECOMMERCE')\n const [isLoggedIn, setIsLoggedIn] = useState(!!(pIsLoggedIn || xtfCookie))\n const [cartInfoData, setCartInfo] = useState<any>({})\n const [countries, setCountries] = useState<any>([])\n const [states, setStates] = useState<any>([])\n const [showModalLogin, setShowModalLogin] = useState(false)\n const [alreadyHasUser, setAlreadyHasUser] = useState(false)\n const [userExpired, setUserExpired] = useState(false)\n const [showModalSignup, setShowModalSignup] = useState(false)\n const [showModalForgotPassword, setShowModalForgotPassword] = useState(false)\n const [ticketsQuantity, setTicketsQuantity] = useState<string[]>([])\n const [userValues, setUserValues] = useState<any>({\n firstName: '',\n lastName: '',\n email: '',\n phone: '',\n confirmEmail: '',\n holderFirstName: '',\n holderLastName: '',\n holderAge: '',\n city: '',\n country: '',\n street_address: '',\n state: '',\n zip: '',\n })\n const [loading, setLoading] = useState(true)\n const [cardLoading, setCardLoading] = useState(false)\n const [isCountriesLoading, setIsCountriesLoading] = useState(true)\n const [error, setError] = useState<string | null>(null)\n const [phoneValidationIsLoading, setPhoneValidationIsLoading] = useState(false)\n const emailLogged = _get(userData, 'email', '') || _get(userValues, 'email', '')\n const firstNameLogged =\n _get(userData, 'first_name', '') || _get(userValues, 'first_name', '')\n const lastNameLogged =\n _get(userData, 'last_name', '') || _get(userValues, 'last_name', '')\n const showDOB = configs?.age_required\n const showTicketHolders = configs?.names_required\n const eventId = configs?.event_id\n const optedInFieldValue: boolean = brandOptIn\n ? brandOptIn\n : _get(cartInfoData, 'optedIn', false)\n const ttfOptIn = Boolean(_get(cartInfoData, 'ttfOptIn', false))\n const isTable = Boolean(_get(cartInfoData, 'is_table', false))\n const hideTtfOptIn: boolean = _get(cartInfoData, 'hide_ttf_opt_in', true)\n const expirationTime = _get(cartInfoData, 'expiresAt')\n const flagRequirePhone = configs?.phone_required\n const collectMandatoryWalletAddress = configs?.collect_mandatory_wallet_address\n const collectOptionalWalletAddress = configs?.collect_optional_wallet_address\n const flagFreeTicket = configs?.free_ticket\n const hidePhoneField = configs?.hide_phone_field\n const hideWalletAddressField =\n !collectOptionalWalletAddress && !collectMandatoryWalletAddress\n const collectMandatoryCompany = configs?.collect_mandatory_company\n const collectOptionalCompany = configs?.collect_optional_company\n const hideCompanyField = !collectOptionalCompany && !collectMandatoryCompany\n const collectMandatoryJobTitle = configs?.collect_mandatory_job_title\n const collectOptionalJobTitle = configs?.collect_optional_job_title\n const hideJobTitleField = !collectMandatoryJobTitle && !collectOptionalJobTitle\n const collectMandatoryInstagram = configs?.collect_mandatory_instagram\n const collectOptionalInstagram = configs?.collect_optional_instagram\n const hideInstagramField = !collectMandatoryInstagram && !collectOptionalInstagram\n const collectMandatoryBusinessCategory = configs?.collect_mandatory_business_category\n const collectOptionalBusinessCategory = configs?.collect_optional_business_category\n const hideBusinessCategoryField =\n !collectMandatoryBusinessCategory && !collectOptionalBusinessCategory\n\n const [pendingVerificationMessage, setPendingVerificationMessage] = useState<string>()\n\n // Get prevProps\n const prevData = useRef(data)\n\n const addAddOnsInAttributes = (checkoutBody: any) => {\n const selectedAddOns = window.localStorage.getItem('add_ons') || '{}'\n checkoutBody.attributes.add_ons = JSON.parse(selectedAddOns)\n }\n\n useEffect(() => {\n const hasUniqueId = _get(dataWithUniqueIds, '[0].uniqueId')\n const isEqualData = _isEqual(prevData.current, data)\n if (!hasUniqueId || !isEqualData) {\n setDataWithUniqueIds(assingUniqueIds(data))\n if (!isEqualData) {\n prevData.current = data\n }\n }\n }, [dataWithUniqueIds, data])\n\n const getQuantity = (cart: any = []) => {\n let qty = 0\n cart.forEach((item: any) => {\n qty += +item.quantity\n })\n return qty\n }\n\n useEffect(() => {\n if (pIsLoggedIn !== isLoggedIn || xtfCookie) {\n setIsLoggedIn(!!(pIsLoggedIn || xtfCookie))\n }\n }, [pIsLoggedIn, isLoggedIn, xtfCookie])\n\n //just once\n useEffect(() => {\n // fetch countries data\n const fetchCountries = async () => {\n try {\n const res = await getCountries()\n setCustomHeader(res)\n setCountries(res.data)\n setIsCountriesLoading(false)\n onGetCountriesSuccess(res.data)\n } catch (e) {\n if (axios.isAxiosError(e)) {\n onGetCountriesError(e)\n }\n setIsCountriesLoading(false)\n }\n }\n shouldFetchCountries && fetchCountries()\n fetchCart()\n\n return () => {\n isBrowser && localStorage.removeItem('selectedTicketsQuantity')\n }\n }, [])\n\n // fetch cart data\n const fetchCart = async () => {\n try {\n setCardLoading(true)\n const res = await getCart()\n setCustomHeader(res)\n const cartInfo = res.data.attributes\n setCartInfo(cartInfo)\n const { cart = [] } = cartInfo\n setTicketsQuantity(new Array(getQuantity(cart)).fill(null).map(() => nanoid()))\n onGetCartSuccess(res.data)\n } catch (e) {\n if (axios.isAxiosError(e)) {\n onGetCartError(e)\n }\n } finally {\n setCardLoading(false)\n }\n }\n\n // fetch user data\n const fetchUserData = async () => {\n try {\n if (isLoggedIn) {\n const userDataResponse = await getProfileData()\n const profileSpecifiedData = _get(userDataResponse, 'data')\n const profileDataObj = setLoggedUserData(profileSpecifiedData)\n setUserValues({\n ...profileDataObj,\n firstName: profileDataObj.first_name,\n lastName: profileDataObj.last_name,\n })\n window.localStorage.setItem('user_data', JSON.stringify(profileDataObj))\n onGetProfileDataSuccess(userDataResponse.data)\n }\n } catch (e) {\n if (axios.isAxiosError(e)) {\n onGetProfileDataError(e)\n }\n }\n }\n\n useEffect(() => {\n fetchUserData()\n fetchCart()\n }, [isLoggedIn])\n\n useEffect(() => {\n const collectPaymentData = async () => {\n if (\n skipPage &&\n !_isEmpty(ticketsQuantity) &&\n !showDOB &&\n !loading &&\n !isNewUser\n ) {\n setLoading(true)\n const checkoutBody = createCheckoutDataBodyWithDefaultHolder(\n ticketsQuantity.length,\n userData\n )\n\n try {\n if (isBrowser) {\n addAddOnsInAttributes(checkoutBody)\n }\n\n const checkoutResponse = await postOnCheckout(checkoutBody, flagFreeTicket)\n removeReferralKey()\n onSkipBillingPage(checkoutResponse.data.attributes)\n setLoading(false)\n } catch (e) {\n onSubmitError(e as AxiosError)\n if (_get(e, 'response.data.data.hasUnverifiedOrder')) {\n setPendingVerificationMessage(_get(e, 'response.data.message'))\n }\n }\n } else {\n setLoading(false)\n }\n }\n collectPaymentData()\n }, [skipPage, ticketsQuantity])\n\n const collectCheckoutBody = (\n values: Record<string, any>,\n profileData?: any\n ): Record<string, any> => {\n let checkoutBody = {} as ICheckoutBody\n\n // Auto collect ticket holders name when it was skipped optionally\n if (showDOB && !showTicketHolders && canSkipHolderNames) {\n checkoutBody = createCheckoutDataBodyWithDefaultHolder(\n ticketsQuantity.length,\n values,\n true,\n { emailLogged, firstNameLogged, lastNameLogged }\n )\n } else {\n checkoutBody = createCheckoutDataBody(\n ticketsQuantity.length,\n values,\n {\n emailLogged: emailLogged || profileData.email,\n firstNameLogged:\n firstNameLogged || profileData.first_name || profileData.firstName,\n lastNameLogged:\n lastNameLogged || profileData.last_name || profileData.lastName,\n },\n showDOB\n )\n }\n\n // Collect data_capture for Order Custom Fields\n const data_capture: Record<string, any> = {}\n _forEach(customFieldsOrderKeys, (key: string) => {\n data_capture[key] = values[key]\n\n // Delete from values list\n delete checkoutBody.attributes[key]\n })\n\n // Temp solution for hardcoded data capture values, to be deleted in the future\n const captureKeys = [\n 'businessCategory',\n 'company',\n 'instagram',\n 'jobTitle',\n 'wallet_address',\n ]\n\n captureKeys.forEach(key => {\n const path = `data_capture.${key}`\n const value = _get(values, path, '')\n\n if (value !== '') {\n data_capture[key] = value\n }\n\n const attributeKey = `data_capture[${key}]`\n delete checkoutBody.attributes?.[attributeKey]\n })\n\n // Collect data_capture for Ticket Holders Fields\n _forEach(checkoutBody.attributes.ticket_holders, (holder, holderIndex) => {\n const holderDataCapture: Record<string, any> = {}\n\n _forEach(customFieldsTicketHolderKeys, customFieldKey => {\n const customFieldHolderName = `${customFieldKey}-${holderIndex}`\n const customFieldHolderKey = values[customFieldHolderName] || ''\n holderDataCapture[customFieldKey] = customFieldHolderKey\n\n // Delete holder specific value from values list\n delete checkoutBody.attributes[customFieldHolderName]\n })\n\n // Assign Ticket Holder data_capture final value\n if (!_isEmpty(holderDataCapture)) {\n holder.ticket_data_capture = holderDataCapture\n }\n })\n\n return { attributes: { ...checkoutBody.attributes, data_capture } }\n }\n\n const removeReferralKey = () => {\n localStorage.removeItem('referral_key')\n }\n\n if (loading || (enableTimer && !expirationTime && isBrowser)) {\n if (expirationTime === 0) {\n // Redirect to homepage (countdown finished and browser reloaded case)\n window.location.href = '/'\n }\n }\n\n const selectedCountry =\n _find(countries, item => item.code.toLowerCase() === defaultCountry) || {}\n const initialCountry = selectedCountry.id || _get(userData, 'countryId', '') || '1'\n\n const pageUrl = isBrowser ? window.location.href.split('?')[0] : ''\n usePixel(eventId || cartInfoData?.eventId, { page: 'billing', pageUrl })\n if (isTable) {\n dataWithUniqueIds[0].label = 'Get Your Tables'\n }\n return (\n <ThemeProvider theme={themeMui}>\n {(loading || cardLoading || isCountriesLoading || isConfigLoading) && (\n <Backdrop\n sx={{ color: '#fff', backgroundColor: '#000000bd', zIndex: 1205 }}\n open={true}\n >\n <CircularProgress color=\"inherit\" />\n </Backdrop>\n )}\n {!!expirationTime && enableTimer && (\n <TimerWidget\n expires_at={expirationTime}\n onCountdownFinish={onCountdownFinish}\n />\n )}\n {!isCountriesLoading && !isConfigLoading && (\n <Formik\n initialValues={getInitialValues(\n dataWithUniqueIds,\n {\n country: initialCountry,\n state: _get(userData, 'stateId', '') || '1',\n brand_opt_in: optedInFieldValue,\n ttf_opt_in: ttfOptIn,\n data_capture: {\n instagram: _get(extraData, 'data_capture.instagram', ''),\n company: _get(extraData, 'data_capture.company', ''),\n businessCategory: _get(extraData, 'data_capture.businessCategory', ''),\n jobTitle: _get(extraData, 'data_capture.jobTitle', ''),\n },\n ...initialValues,\n },\n userValues,\n ticketHoldersFields,\n ticketsQuantity\n )}\n enableReinitialize={false}\n onSubmit={async (values, formikHelpers) => {\n try {\n if (isBrowser) {\n window.localStorage.setItem(\n 'extraData',\n JSON.stringify({\n data_capture: {\n instagram: _get(values, 'data_capture.instagram', ''),\n company: _get(values, 'data_capture.company', ''),\n businessCategory: _get(\n values,\n 'data_capture.businessCategory',\n ''\n ),\n jobTitle: _get(values, 'data_capture.jobTitle', ''),\n },\n })\n )\n }\n if (isLoggedIn) {\n const checkoutBody = collectCheckoutBody(values, userData)\n\n if (isBrowser) {\n addAddOnsInAttributes(checkoutBody)\n }\n\n const checkoutResponse = await postOnCheckout(\n checkoutBody,\n flagFreeTicket\n )\n removeReferralKey()\n // After checkout is successful recover updated profile and store it on local storage if needed\n if (isBrowser) {\n const updatedUserData = await getProfileData()\n const profileSpecifiedData = _get(updatedUserData, 'data')\n const profileDataObj = setLoggedUserData(profileSpecifiedData)\n window.localStorage.setItem(\n 'user_data',\n JSON.stringify(profileDataObj)\n )\n }\n\n handleSubmit(\n values,\n formikHelpers as FormikHelpers<any>,\n eventId,\n checkoutResponse\n )\n return\n }\n const checkoutBodyForRegistration = createCheckoutDataBody(\n ticketsQuantity.length,\n values,\n { emailLogged, firstNameLogged, lastNameLogged },\n showDOB\n )\n const bodyFormData = createRegisterFormData(\n values,\n checkoutBodyForRegistration,\n flagFreeTicket\n )\n try {\n setLoading(true)\n const resRegister = await register(bodyFormData)\n const xtfCookie = _get(resRegister, 'headers.x-tf-ecommerce')\n const refreshToken = _get(resRegister, 'data.attributes.refresh_token')\n const userProfile = _get(resRegister, 'data.attributes.user_profile')\n\n setIsNewUser(true)\n onRegisterSuccess({\n xtfCookie,\n refreshToken,\n userProfile,\n })\n } catch (e) {\n setLoading(false)\n const hasUnverifiedOrder = _get(e, 'response.data.data.hasUnverifiedOrder')\n const message = _get(e, 'response.data.message', {}) as { password?: string | null, email?: string | null } | string\n\n if (hasUnverifiedOrder && typeof message === 'string') {\n setPendingVerificationMessage(message)\n } else if (axios.isAxiosError(e)) {\n if (\n _includes(message, 'You must be aged') &&\n typeof message === 'string'\n ) {\n formikHelpers.setFieldError('holderAge', message)\n }\n if (typeof message !== 'string' && message?.password) {\n formikHelpers.setFieldError('password', message.password)\n formikHelpers.setFieldError('confirmPassword', message.password)\n }\n if (typeof message !== 'string' && message?.email && !onLogin) {\n // False will stand for outside controll\n setAlreadyHasUser(true)\n setShowModalLogin(true)\n }\n\n if (\n _includes(error, 'The cart is expired') &&\n !hideErrorsAlertSection\n ) {\n setError(error)\n }\n\n onRegisterError(e, values.email)\n }\n return\n }\n const profileData = await getProfileData()\n const profileSpecifiedData = _get(profileData, 'data')\n const profileDataObj = setLoggedUserData(profileSpecifiedData)\n if (isBrowser) {\n window.localStorage.setItem('user_data', JSON.stringify(profileDataObj))\n }\n\n const checkoutBody = collectCheckoutBody(values, profileDataObj)\n\n if (isBrowser) {\n addAddOnsInAttributes(checkoutBody)\n }\n\n const checkoutResponse = await postOnCheckout(\n checkoutBody,\n flagFreeTicket\n )\n removeReferralKey()\n handleSubmit(\n values,\n formikHelpers as FormikHelpers<any>,\n eventId,\n checkoutResponse\n )\n } catch (e) {\n setLoading(false)\n const hasUnverifiedOrder = _get(e, 'response.data.data.hasUnverifiedOrder')\n const message = _get(e, 'response.data.message', {}) as { password?: string | null, email?: string | null } | string\n\n if (hasUnverifiedOrder && typeof message === \"string\") {\n setPendingVerificationMessage(message)\n } else if (axios.isAxiosError(e)) {\n if (\n e.response?.status === 401 ||\n _get(e, 'response.data.error') === 'invalid_token'\n ) {\n if (isBrowser) {\n window.localStorage.removeItem('user_data')\n setUserExpired(true)\n setShowModalLogin(true)\n setIsLoggedIn(false)\n setShowModalSignup(false)\n setShowModalForgotPassword(false)\n const event = new window.CustomEvent('tf-logout')\n deleteCookieByName('X-TF-ECOMMERCE')\n window.document.dispatchEvent(event)\n }\n }\n if (message && !hideErrorsAlertSection && typeof message === \"string\") {\n setError(message)\n }\n onSubmitError(e)\n }\n } finally {\n setLoading(false)\n }\n }}\n >\n {(props: FormikProps<any>) => (\n <Form onSubmit={props.handleSubmit}>\n <ErrorFocus />\n <LogicRunner\n brandOptIn={brandOptIn}\n values={props.values}\n setStates={setStates}\n setFieldValue={props.setFieldValue}\n setValues={props.setValues}\n setUserValues={setUserValues}\n onGetStatesSuccess={onGetStatesSuccess}\n onGetStatesError={onGetStatesError}\n shouldFetchCountries={shouldFetchCountries}\n />\n <div className={`billing-info-container ${theme}`}>\n <SnackbarAlert\n type=\"error\"\n isOpen={!!error}\n message={error || ''}\n onClose={() => {\n setError(null)\n onErrorClose()\n }}\n />\n {!isLoggedIn && (\n <div className=\"account-actions-block\">\n <div className=\"action-item\">\n <div>{accountInfoTitle}</div>\n <div>Login & skip ahead:</div>\n </div>\n <div className=\"action-item login-block\">\n <button\n className=\"login-register-button\"\n type=\"button\"\n onClick={() => {\n // If outside login needed to skip package login functionallity\n if (onLogin) {\n onLogin()\n } else {\n setShowModalLogin(true)\n }\n }}\n >\n Login\n </button>\n {!hideLogo && (\n <div className=\"logo-image-container\">\n <img\n src={\n theme === 'dark'\n ? 'https://www.ticketfairy.com/resources/images/logo-ttf.svg'\n : 'https://www.ticketfairy.com/resources/images/logo-ttf-black.svg'\n }\n alt=\"nodata\"\n />\n </div>\n )}\n </div>\n </div>\n )}\n {includeAddons ? <AddonsContainter {...(addonsProps ?? {})} /> : null}\n {!cardLoading &&\n _map(dataWithUniqueIds, item => {\n const { label, labelClassName, fields } = item\n return (\n <React.Fragment key={item.uniqueId}>\n <p className={labelClassName}>{label}</p>\n {_map(fields, group => {\n const { groupClassname, groupItems } = group\n return (\n <React.Fragment key={group.uniqueId}>\n <div className={groupClassname}>\n {_map(\n groupItems.filter(el => {\n if (el.name === 'holderAge' && !showDOB) {\n return false\n }\n if (el.name === 'ttf_opt_in' && hideTtfOptIn) {\n return false\n }\n if (el.name === 'phone') {\n if (!hidePhoneField) {\n el.required = flagRequirePhone\n } else {\n return false\n }\n }\n if (el.name === 'data_capture[wallet_address]') {\n if (collectMandatoryWalletAddress) {\n el.required = true\n }\n }\n if (el.name === 'data_capture[jobTitle]') {\n if (collectMandatoryJobTitle) {\n el.required = true\n }\n }\n if (el.name === 'data_capture[businessCategory]') {\n if (collectMandatoryBusinessCategory) {\n el.required = true\n }\n }\n if (el.name === 'data_capture[company]') {\n if (collectMandatoryCompany) {\n el.required = true\n }\n }\n if (el.name === 'data_capture[instagram]') {\n if (collectMandatoryInstagram) {\n el.required = true\n }\n }\n if (\n [\n 'street_address',\n 'country',\n 'state',\n 'city',\n ].includes(el.name)\n ) {\n if (flagFreeTicket) {\n el.required = false\n return false\n }\n }\n if (\n hideWalletAddressField &&\n (el.name === 'wallet-address-info' ||\n el.name === 'data_capture[wallet_address]')\n ) {\n return false\n }\n if (\n hideJobTitleField &&\n el.name === 'data_capture[jobTitle]'\n ) {\n return false\n }\n if (\n hideBusinessCategoryField &&\n el.name === 'data_capture[businessCategory]'\n ) {\n return false\n }\n if (\n hideCompanyField &&\n el.name === 'data_capture[company]'\n ) {\n return false\n }\n if (\n hideInstagramField &&\n (el.name === 'data_capture[instagram]' ||\n el.name === 'instagram-info')\n ) {\n return false\n }\n return true\n }),\n element =>\n [\n 'password',\n 'confirmPassword',\n 'password-info',\n ].includes(element.name) && isLoggedIn ? null : (\n <React.Fragment key={element.uniqueId}>\n <div\n className={`${element.className} ${\n props?.errors[element.name] || ''\n }`}\n >\n {element.component ? (\n element.component\n ) : (\n <Field\n {...element}\n type={\n element.type === 'radio' ||\n element.type === 'checkbox'\n ? undefined\n : element.type\n }\n setPhoneValidationIsLoading={\n element.type === 'phone'\n ? setPhoneValidationIsLoading\n : undefined\n }\n label={getFieldLabel(element, configs)}\n validate={getValidateFunctions(\n element,\n states,\n props.values,\n props.errors\n )}\n setFieldValue={props.setFieldValue}\n onBlur={props.handleBlur}\n component={getFieldComponent(element)}\n selectOptions={\n element.name === 'country'\n ? _map(countries, item => ({\n value: item.id,\n label: item.name,\n }))\n : element.name === 'state'\n ? [\n {\n label: element.label,\n value: '',\n disabled: true,\n },\n ...states,\n ]\n : element.selectOptions || []\n }\n theme={theme}\n defaultCountry={\n defaultCountry || element.defaultCountry\n }\n dateFormat={element.format}\n isCountryCodeEditable={\n isCountryCodeEditable\n }\n />\n )}\n </div>\n </React.Fragment>\n )\n )}\n </div>\n </React.Fragment>\n )\n })}\n </React.Fragment>\n )\n })}\n {!_isEmpty(ticketHoldersFields.fields) && (\n <div className=\"ticket-holders-fields\">\n <h2>{ticketHoldersFields.label}</h2>\n {_map(ticketsQuantity, (_item, index) => (\n <div key={_item}>\n <h5>Ticket {index + 1}</h5>\n {_map(ticketHoldersFields.fields, group => {\n const { id, groupClassname, groupItems } = group\n return (\n <div key={id}>\n <div className={groupClassname}>\n {_map(groupItems, element => (\n <div className={element.className} key={element.name}>\n <Field\n {...element}\n type={\n element.type === 'radio' ||\n element.type === 'checkbox'\n ? undefined\n : element.type\n }\n name={`${element.name}-${index}`}\n label={getFieldLabel(element, configs)}\n component={getFieldComponent(element)}\n validate={getValidateFunctions(\n element,\n states,\n props.values,\n props.errors\n )}\n setPhoneValidationIsLoading={\n setPhoneValidationIsLoading\n }\n defaultCountry={\n defaultCountry || element.defaultCountry\n }\n isCountryCodeEditable={isCountryCodeEditable}\n />\n </div>\n ))}\n </div>\n </div>\n )\n })}\n </div>\n ))}\n </div>\n )}\n <div className=\"button-container\">\n <Button\n type=\"submit\"\n variant=\"contained\"\n className=\"login-register-button\"\n disabled={props.isSubmitting || phoneValidationIsLoading}\n >\n {props.isSubmitting ? <CircularProgress size={26} /> : buttonName}\n </Button>\n </div>\n </div>\n </Form>\n )}\n </Formik>\n )}\n {showModalLogin && (\n <LoginModal\n logo={logo}\n onClose={() => {\n setShowModalLogin(false)\n }}\n onLogin={() => {\n setShowModalLogin(false)\n setUserExpired(false)\n onLoginSuccess()\n }}\n alreadyHasUser={alreadyHasUser}\n userExpired={userExpired}\n onGetProfileDataSuccess={(data: any) => {\n fetchCart()\n onGetProfileDataSuccess(data)\n }}\n onGetProfileDataError={onGetProfileDataError}\n showSignUpButton={showSignUpButton}\n showForgotPasswordButton={showForgotPasswordButton}\n onForgotPassword={() => {\n setShowModalLogin(false)\n setShowModalForgotPassword(true)\n }}\n onSignup={() => {\n setShowModalLogin(false)\n setShowModalSignup(true)\n }}\n showPoweredByImage={showPoweredByImage}\n />\n )}\n {showModalSignup && (\n <SignupModal\n onClose={() => {\n setShowModalSignup(false)\n }}\n onLogin={() => {\n setShowModalSignup(false)\n setShowModalLogin(true)\n }}\n onRegisterSuccess={onRegisterSuccess}\n onRegisterError={onRegisterError}\n showPoweredByImage={showPoweredByImage}\n />\n )}\n {showModalForgotPassword && (\n <ForgotPasswordModal\n onClose={() => {\n setShowModalForgotPassword(false)\n }}\n onLoginButtonClick={() => {\n setShowModalForgotPassword(false)\n setShowModalLogin(true)\n }}\n onForgotPasswordSuccess={onForgotPasswordSuccess}\n onForgotPasswordError={onForgotPasswordError}\n showPoweredByImage={showPoweredByImage}\n />\n )}\n <VerificationPendingModal\n message={pendingVerificationMessage}\n onClose={() => {\n onPendingVerification()\n }}\n />\n </ThemeProvider>\n )\n }\n)\n\nconst WithCustomFieldsBillingInfoContainer = withCustomFields(BillingInfoContainer)\n\nexport { WithCustomFieldsBillingInfoContainer as BillingInfoContainer }\n","import { StripeError } from '@stripe/stripe-js'\n\ntype stripeErrorReason = 'PAYMENT_ALREADY_CONFIRMED'\n\ninterface IAdaptedStripeError extends StripeError {\n isStripeError: boolean;\n errorReason?: stripeErrorReason;\n}\n\nexport const adaptStripeError = (error: StripeError): IAdaptedStripeError => {\n const adaptedError = { ...error, isStripeError: true }\n switch (error.code) {\n case 'payment_intent_unexpected_state':\n if (error?.payment_intent?.status === 'succeeded') {\n return {\n ...adaptedError,\n errorReason: 'PAYMENT_ALREADY_CONFIRMED',\n message:\n 'You cannot confirm this PaymentIntent because it has already succeeded after being previously confirmed.',\n }\n }\n return { ...adaptedError }\n default:\n return adaptedError\n }\n}\n","import Box from '@mui/material/Box'\nimport Button from '@mui/material/Button'\nimport CircularProgress from '@mui/material/CircularProgress'\nimport Modal from '@mui/material/Modal'\nimport _identity from 'lodash/identity'\nimport React, { FC } from 'react'\n\ninterface Props {\n message: string;\n loading?: boolean;\n hideCancelBtn?: boolean;\n onClose?: () => void;\n onConfirm?: () => void;\n}\n\nconst style: React.CSSProperties = {\n position: 'absolute',\n top: '50%',\n left: '50%',\n transform: 'translate(-50%, -50%)',\n minWidth: 480,\n backgroundColor: '#e3e3e3',\n border: '1px solid white',\n outline: 'none',\n padding: '14px',\n maxHeight: '85vh',\n overflow: 'auto',\n}\n\nconst ConfirmModal: FC<Props> = ({\n message = '',\n loading = false,\n hideCancelBtn = false,\n onClose = _identity,\n onConfirm = _identity,\n}) => (\n <Modal\n open={true}\n onClose={onClose}\n aria-labelledby=\"modal-modal-title\"\n aria-describedby=\"modal-modal-description\"\n className=\"confirm-modal\"\n >\n <Box style={style}>\n <p>{message}</p>\n <div className=\"footer\">\n {!hideCancelBtn && (\n <Button onClick={onClose} disabled={loading}>\n Cancel\n </Button>\n )}\n <Button onClick={onConfirm}>\n {loading ? <CircularProgress size=\"22px\" /> : 'OK'}\n </Button>\n </div>\n </Box>\n </Modal>\n)\n\nexport default ConfirmModal\n","import './style.css'\n\nimport CircularProgress from '@mui/material/CircularProgress'\nimport {\n CardCvcElement,\n CardExpiryElement,\n CardNumberElement,\n useElements,\n useStripe,\n} from '@stripe/react-stripe-js'\nimport { StripeCardNumberElementOptions } from '@stripe/stripe-js'\nimport _get from 'lodash/get'\nimport _identity from 'lodash/identity'\nimport React, { useEffect, useState } from 'react'\n\nimport { refreshSeatReservation } from '../../api'\nimport { getCurrencySymbolByCurrency } from '../../normalizers'\nimport { getQueryVariable } from '../../utils'\nimport { adaptStripeError } from '../../utils/adaptStripeErrors'\nimport { Checkbox } from '../common/index'\nimport ConfirmModal from '../confirmModal'\n\nconst options: StripeCardNumberElementOptions = {\n style: {\n base: {\n backgroundColor: '#000',\n fontSize: '18px',\n color: '#ffffff',\n letterSpacing: '1px',\n ':-webkit-autofill': {\n color: '#ffffff',\n },\n '::placeholder': {\n color: 'rgba(201, 201, 201, 0.5)',\n },\n },\n invalid: {\n color: '#E53935',\n },\n },\n}\n\nexport interface ICheckoutForm {\n total: string | number;\n currency: string;\n onSubmit: (error: any, data?: object) => Promise<any>;\n error?: string | null;\n stripeCardOptions?: StripeCardNumberElementOptions;\n stripe_client_secret: string;\n billing_info: { [key: string]: any };\n isLoading: any;\n handleSetLoading: (loading: any) => void;\n conditions: any;\n disableZipSection: boolean;\n paymentButtonText?: string;\n forPaymentPlan?: boolean;\n orderId?: string;\n hasSeatMapActions: boolean;\n}\n\ninterface AddressTypes {\n city: string;\n line1: string;\n state: string;\n postal_code?: string;\n}\n\nconst CheckoutForm = ({\n total,\n orderId,\n onSubmit = _identity,\n stripeCardOptions = {},\n error = null,\n stripe_client_secret,\n currency,\n billing_info,\n isLoading = false,\n handleSetLoading = _identity,\n conditions = [],\n disableZipSection,\n paymentButtonText,\n forPaymentPlan = false,\n hasSeatMapActions = false,\n}: ICheckoutForm) => {\n const stripe = useStripe()\n const elements = useElements()\n const [postalCode, setPostalCode] = useState<any>('')\n const [stripeError, setStripeError] = useState<any>(null)\n const [checkboxes, setCheckboxes] = useState<any>([])\n const [allowSubmit, setAllowSubmit] = useState(false)\n const eventId = getQueryVariable('event_id') || ''\n\n const handleSubmit = async (event: React.SyntheticEvent) => {\n setStripeError(null)\n try {\n event.preventDefault()\n\n if (!postalCode && !disableZipSection) {\n setStripeError({ message: 'Please enter your zip code.' })\n handleSetLoading(false)\n return\n }\n\n if (!stripe || !elements) {\n // Stripe.js has not loaded yet. Make sure to disable\n // form submission until Stripe.js has loaded.\n handleSetLoading(false)\n return\n }\n\n const card = elements.getElement(CardNumberElement)\n\n const address: AddressTypes = {\n city: billing_info.city,\n line1: billing_info.street_address,\n state: billing_info.state,\n }\n\n if (!disableZipSection) {\n address.postal_code = postalCode\n }\n\n if (forPaymentPlan) {\n const setupResponse = await stripe.confirmCardSetup(stripe_client_secret, {\n payment_method: { card: card || { token: '' } },\n })\n onSubmit(null, { paymentMethodId: setupResponse.setupIntent?.payment_method })\n return\n }\n\n const paymentMethodReq = await stripe.createPaymentMethod({\n type: 'card',\n card: card || { token: '' },\n billing_details: {\n address,\n },\n })\n\n if (paymentMethodReq.error) {\n setStripeError(paymentMethodReq.error || null)\n handleSetLoading(false)\n return\n }\n\n handleSetLoading(true)\n const { error } = await stripe.confirmCardPayment(stripe_client_secret, {\n payment_method: paymentMethodReq.paymentMethod.id,\n })\n\n if (error) {\n setStripeError(adaptStripeError(error))\n hasSeatMapActions && (await refreshSeatReservation(eventId, orderId || ''))\n handleSetLoading(false)\n return\n }\n\n onSubmit(null)\n } catch (e) {\n onSubmit(e)\n }\n }\n\n const handleCheckboxes = (e: any) => {\n const checkbox = e.target\n const updatedCheckedState = checkboxes.map((item: any) => {\n const value = item.id === checkbox.name ? !item.checked : item.checked\n return {\n ...item,\n checked: value,\n }\n })\n setCheckboxes(updatedCheckedState)\n }\n\n const onChangePostalCode = (e: any) => {\n setPostalCode(e.target.value)\n }\n\n useEffect(() => {\n if (typeof window !== 'undefined') {\n const userData = JSON.parse(window.localStorage.getItem('user_data') || '')\n const zipCode = _get(userData, 'zip', '')\n zipCode && setPostalCode(zipCode)\n }\n }, [])\n\n useEffect(() => {\n if (conditions.length) {\n setCheckboxes(conditions)\n }\n }, [conditions])\n\n useEffect(() => {\n if (checkboxes.length) {\n const allChecked = checkboxes.every((item: any) => item?.checked === true)\n setAllowSubmit(allChecked)\n } else {\n setAllowSubmit(true)\n }\n }, [checkboxes])\n\n const buttonIsDiabled = !stripe || !!error || isLoading || !allowSubmit\n return (\n <div className=\"stripe_payment_container\">\n {!!stripeError && (\n <ConfirmModal\n hideCancelBtn\n onConfirm={() => {\n setStripeError(null)\n onSubmit(stripeError)\n }}\n message={stripeError?.message}\n />\n )}\n <form onSubmit={handleSubmit}>\n <div className=\"card_form_inner\">\n <div className=\"card_number_element\">\n <span className=\"card_label_text\">Card number</span>\n <CardNumberElement\n options={{ ...options, ...stripeCardOptions }}\n onReady={_identity}\n onChange={_identity}\n onBlur={_identity}\n onFocus={_identity}\n />\n </div>\n <div className=\"elements\">\n <div className=\"expiration_element\">\n <span className=\"card_label_text\">Expiration date</span>\n <CardExpiryElement options={{ ...options, ...stripeCardOptions }} />\n </div>\n <div className=\"cvc_element\">\n <span className=\"card_label_text\">CVC</span>\n <CardCvcElement options={{ ...options, ...stripeCardOptions }} />\n </div>\n </div>\n {!disableZipSection && (\n <div className=\"zip_element\">\n <p className=\"card_label_text\">ZIP</p>\n <input\n type=\"text\"\n value={postalCode}\n onChange={onChangePostalCode}\n placeholder=\"ZIP\"\n />\n </div>\n )}\n </div>\n {checkboxes?.map((checkbox: any) => (\n <div className={'billing-info-container__singleField'} key={checkbox.id}>\n <div className=\"conditions-block\">\n <Checkbox\n name={checkbox.id}\n label={checkbox.text}\n required={true}\n onChange={handleCheckboxes}\n checked={checkbox.checked}\n />\n </div>\n </div>\n ))}\n <div\n className={`payment_button ${buttonIsDiabled ? 'disabled-payment-button' : ''}`}\n >\n <button disabled={buttonIsDiabled} type=\"submit\">\n {isLoading ? (\n <CircularProgress size={26} />\n ) : forPaymentPlan ? (\n 'Confirm Payment Plan'\n ) : (\n `${paymentButtonText ? paymentButtonText : 'Pay'\n } ${getCurrencySymbolByCurrency(currency)}${total}`\n )}\n </button>\n </div>\n </form>\n </div>\n )\n}\n\nexport default CheckoutForm\n","import React from 'react'\n\nimport { createFixedFloatNormalizer, currencyNormalizerCreator } from '../../normalizers'\nimport { IPaymentPlanConfig } from '../../types/payment-plan-configuration'\nimport { Checkbox } from '../common'\n\ninterface PaymentPlanSectionProps {\n paymentPlanConfig: IPaymentPlanConfig;\n currency: string;\n paymentPlanUseSavedCard: boolean;\n setPaymentPlanUseSavedCard: (value: boolean) => void;\n}\n\nexport const PaymentPlanSection = (props: PaymentPlanSectionProps) => {\n const {\n paymentPlanConfig,\n currency,\n paymentPlanUseSavedCard,\n setPaymentPlanUseSavedCard,\n } = props\n\n return (\n <div className=\"payment_plan\">\n <h2 className=\"payment_plan_title\">Payment Plan Terms</h2>\n <div className=\"payment_plan_block\">\n <div className=\"payment_plan_text\">\n By clicking on the “Confirm Payment Plan” button, you are starting your payment\n plan of{' '}\n <span className=\"payment_plan_highlight\">\n {paymentPlanConfig.total_installments}\n </span>{' '}\n payments of{' '}\n <span className=\"payment_plan_highlight\">\n {currencyNormalizerCreator(\n createFixedFloatNormalizer(2)(paymentPlanConfig.price_per_installment),\n currency\n )}\n </span>\n , which will be drawn from your account every {paymentPlanConfig.interval} days,\n with the first payment taken later today.\n </div>\n {paymentPlanConfig.has_admin_fee && (\n <div className=\"payment_plan_text\">\n This includes a non-refundable admin fee of{' '}\n <span className=\"payment_plan_highlight\">\n {currencyNormalizerCreator(\n createFixedFloatNormalizer(2)(paymentPlanConfig.admin_fee),\n currency\n )}\n </span>{' '}\n per payment.\n </div>\n )}\n {paymentPlanConfig.requires_deposit && (\n <div className=\"payment_plan_text\">\n You will also be charged a single, non-refundable deposit of{' '}\n <span className=\"payment_plan_highlight\">\n {currencyNormalizerCreator(\n createFixedFloatNormalizer(2)(paymentPlanConfig.deposit),\n currency\n )}\n </span>\n .\n </div>\n )}\n <div className=\"payment_plan_text payment_plan_note payment_plan_highlight\">\n NOTE: If today’s payment fails, your plan will not activate. Your tickets will\n not be issued until you complete your final payment.\n </div>\n {!paymentPlanConfig.non_refundable_type && (\n <div className=\"payment_plan_text\">\n If you do not complete your payments, your order will be canceled. Your{' '}\n <span className=\"payment_plan_highlight\">\n first payment of{' '}\n {currencyNormalizerCreator(\n createFixedFloatNormalizer(2)(paymentPlanConfig.price_per_installment),\n currency\n )}\n </span>\n {paymentPlanConfig.has_admin_fee && (\n <>\n , plus the{' '}\n <span className=\"payment_plan_highlight\">\n non-refundable admin-fee of{' '}\n {currencyNormalizerCreator(\n createFixedFloatNormalizer(2)(paymentPlanConfig.admin_fee),\n currency\n )}\n </span>\n </>\n )}{' '}\n will not be refunded.\n </div>\n )}\n {paymentPlanConfig.non_refundable_type === 'percent' && (\n <div className=\"payment_plan_text\">\n If you do not complete your payments, you will receive{' '}\n <span className=\"payment_plan_highlight\">\n {createFixedFloatNormalizer(0)(\n 100 - paymentPlanConfig.non_refundable_amount\n )}\n %\n </span>{' '}\n of your money back\n {paymentPlanConfig.requires_deposit && (\n <>\n , excluding your{' '}\n {currencyNormalizerCreator(\n createFixedFloatNormalizer(2)(paymentPlanConfig.deposit),\n currency\n )}{' '}\n deposit\n </>\n )}\n .\n </div>\n )}\n {paymentPlanConfig.non_refundable_type === 'fixed' && (\n <div className=\"payment_plan_text\">\n If you do not complete your payments, you will receive all your money back\n {paymentPlanConfig.non_refundable_amount && (\n <>\n except for the non-refundable amount of{' '}\n {currencyNormalizerCreator(\n createFixedFloatNormalizer(2)(paymentPlanConfig.non_refundable_amount),\n currency\n )}\n {paymentPlanConfig.requires_deposit && (\n <>\n , excluding your{' '}\n {currencyNormalizerCreator(\n createFixedFloatNormalizer(2)(paymentPlanConfig.deposit),\n currency\n )}{' '}\n deposit\n </>\n )}\n </>\n )}\n .\n </div>\n )}\n {!!paymentPlanConfig.saved_card?.stripe_payment_method_id && (\n <>\n {paymentPlanUseSavedCard && (\n <div className=\"payment_plan_text\">\n {' '}\n Your payment will proceed with the card ending in ****{' '}\n <span className=\"payment_plan_highlight\">\n {'' + paymentPlanConfig.saved_card.last_4_digits}\n </span>\n </div>\n )}\n <div>\n <Checkbox\n label={<span className=\"payment_plan_toggle_label\">Use this card</span>}\n required={true}\n onChange={() => {\n setPaymentPlanUseSavedCard(!paymentPlanUseSavedCard)\n }}\n checked={paymentPlanUseSavedCard}\n />\n </div>\n </>\n )}\n </div>\n </div>\n )\n}\n","/* eslint-disable max-len */\nimport './style.css'\n\nimport { ThemeOptions } from '@mui/material'\nimport Alert from '@mui/material/Alert'\nimport CircularProgress from '@mui/material/CircularProgress'\nimport Container from '@mui/material/Container'\nimport { createTheme, ThemeProvider } from '@mui/material/styles'\nimport { CSSProperties } from '@mui/styles'\nimport { Elements } from '@stripe/react-stripe-js'\nimport {\n loadStripe,\n StripeCardNumberElementOptions,\n StripeConstructorOptions,\n StripeElementsOptions,\n} from '@stripe/stripe-js'\nimport { AxiosError } from 'axios'\nimport _get from 'lodash/get'\nimport _identity from 'lodash/identity'\nimport _isEmpty from 'lodash/isEmpty'\nimport _map from 'lodash/map'\nimport { nanoid } from 'nanoid'\nimport React, { useEffect, useState } from 'react'\n\nimport {\n createPaymentPlan,\n getConditions,\n getPaymentData,\n handleFreeSuccess,\n handlePaymentSuccess,\n} from '../../api'\nimport { FEES_STYLES } from \"../../constants\"\nimport { usePixel } from '../../hooks/usePixel'\nimport { createFixedFloatNormalizer, currencyNormalizerCreator } from '../../normalizers'\nimport { IAddOn, IOrderData, IPaymentField } from '../../types'\nimport {\n IPaymentPlanConfig,\n IPaymentPlanConfigCard,\n} from '../../types/payment-plan-configuration'\nimport { CONFIGS, isBrowser } from '../../utils'\nimport { getQueryVariable } from '../../utils/getQueryVariable'\nimport { Checkbox, Loader } from '../common/index'\nimport StripePayment from '../stripePayment'\nimport TimerWidget from '../timerWidget'\nimport { PaymentPlanSection } from './PaymentPlanSection'\n\nconst publishableKey = CONFIGS.STRIPE_PUBLISHABLE_KEY || ''\n\nconst getStripePromise = (reviewData: any) => {\n const stripePublishableKey =\n _get(reviewData, 'payment_method.stripe_publishable_key') || publishableKey\n const stripeAccount = _get(reviewData, 'payment_method.stripe_connected_account')\n\n const options: StripeConstructorOptions = {}\n if (stripeAccount) {\n options.stripeAccount = stripeAccount\n }\n\n return loadStripe(stripePublishableKey, options)\n}\nexport interface IPaymentPage {\n paymentFields: IPaymentField[];\n handlePayment: any;\n checkoutData: any;\n formTitle?: string;\n errorText?: string;\n onErrorClose?: () => void;\n onGetPaymentDataSuccess: (value: any) => void;\n onGetPaymentDataError: (value: AxiosError) => void;\n onPaymentError: (value: AxiosError, slug?: string) => void;\n stripeCardOptions?: StripeCardNumberElementOptions;\n disableZipSection: boolean;\n themeOptions?: ThemeOptions & {\n input?: CSSProperties;\n checkbox?: CSSProperties;\n };\n elementsOptions?: StripeElementsOptions;\n onCountdownFinish?: () => void;\n enableTimer?: boolean;\n enablePaymentPlan?: boolean;\n paymentButtonText?: string;\n paymentInfoLabel?: string;\n orderInfoLabel?: string;\n}\n\nconst initialPaymentPlanConfiguration: IPaymentPlanConfig = {\n requires_deposit: false,\n deposit: 0,\n interval: 0,\n non_refundable_amount: 0,\n non_refundable_type: null,\n has_admin_fee: false,\n admin_fee: 0,\n total_installments: 0,\n price_per_installment: 0,\n stripe_setup_intent_secret: '',\n total: 0,\n saved_card: {\n last_4_digits: null,\n stripe_payment_method_id: null,\n } as IPaymentPlanConfigCard,\n}\n\nconst initialOrderValues: IOrderData = {\n id: '',\n product_name: '',\n ticketType: '',\n quantity: '',\n price: '',\n total: '',\n currency: '',\n guest_count: '',\n pay_now: '',\n add_ons: [] as IAddOn[],\n cost: '',\n}\n\nconst initialReviewValues = {\n order_details: {\n id: '',\n order_hash: '',\n },\n payment_method: {\n stripe_client_secret: '',\n stripe_payment_plan_enabled: false,\n stripe_payment_plan_configuration: {} as any,\n },\n billing_info: {},\n event_details: {\n flagSeatMapAllowed: false,\n slug: ''\n },\n}\n\nexport const PaymentContainer = ({\n paymentFields = [],\n handlePayment,\n formTitle = 'Get Your Tickets',\n errorText,\n checkoutData,\n onErrorClose = _identity,\n onGetPaymentDataSuccess = _identity,\n onGetPaymentDataError = _identity,\n onPaymentError = _identity,\n stripeCardOptions = {},\n disableZipSection = false,\n themeOptions,\n elementsOptions,\n onCountdownFinish = _identity,\n enableTimer = false,\n enablePaymentPlan = true,\n paymentButtonText,\n orderInfoLabel = 'Order Review',\n paymentInfoLabel = 'Order Confirmation',\n}: IPaymentPage) => {\n const [reviewData, setReviewData] = useState(initialReviewValues)\n const [orderData, setOrderData] = useState(initialOrderValues)\n const [error, setError] = useState(null)\n const [showPaymentPlanSection, setShowPaymentPlanSection] = useState(false)\n const [paymentIsLoading, setPaymentIsLoading] = useState(false)\n const [paymentDataIsLoading, setPaymentDataIsLoading] = useState(true)\n const [conditions, setConditions] = useState<{ id: string, text: string }[]>([])\n const [paymentPlanIsAvailable, setPaymentPlanIsAvailable] = useState(false)\n const [paymentPlanConfig, setPaymentPlanConfig] = useState(\n initialPaymentPlanConfiguration\n )\n const [paymentPlanUseSavedCard, setPaymentPlanUseSavedCard] = useState(true)\n const [currency, setCurrency] = useState('')\n\n const showFormTitle = Boolean(formTitle)\n const showErrorText = Boolean(errorText)\n\n const eventId =\n getQueryVariable('event_id') || _get(reviewData, 'cart[0].product_id') || ''\n const { hash, total } = checkoutData\n const isFreeTickets =\n (!Number(total) && !Number(orderData.total)) || !Number(orderData.pay_now)\n\n const pageUrl = isBrowser ? window.location.href.split('?')[0] : ''\n usePixel(eventId, { page: 'review', pageUrl })\n\n useEffect(() => {\n const paymentMethod = reviewData.payment_method || {}\n const paymentPlanAvailable =\n paymentMethod.stripe_payment_plan_enabled && enablePaymentPlan\n setPaymentPlanIsAvailable(paymentPlanAvailable)\n\n if (paymentPlanAvailable) {\n const paymentPlanConfig =\n paymentMethod.stripe_payment_plan_configuration || initialPaymentPlanConfiguration\n setPaymentPlanConfig(paymentPlanConfig)\n setPaymentPlanUseSavedCard(!!paymentPlanConfig.saved_card?.stripe_payment_method_id)\n if (isBrowser) {\n const sessionData = window.localStorage.getItem('paymentConfiguration')\n const session = sessionData ? JSON.parse(sessionData) : {}\n if (!!session && session?.orderId == reviewData.order_details?.id) {\n setPaymentPlanUseSavedCard(session.paymentPlanUseSavedCard ?? false)\n setShowPaymentPlanSection(session.showPaymentPlanSection ?? false)\n }\n }\n }\n }, [enablePaymentPlan, reviewData])\n\n useEffect(() => {\n updateSessionInformation()\n }, [showPaymentPlanSection, paymentPlanUseSavedCard])\n\n useEffect(() => {\n (async () => {\n try {\n const paymentDataResponse = await getPaymentData(hash)\n if (paymentDataResponse.success) {\n const attributes = paymentDataResponse?.data?.attributes\n setReviewData(attributes)\n const { cart, order_details } = attributes\n const {\n tickets: [ticket],\n } = order_details\n\n const orderDataArray = _map(order_details.tickets, item => ({\n product_name: cart[0]?.product_name,\n ticketType: item?.name,\n quantity: item?.guest_count,\n price: item?.price,\n cost: item?.cost,\n id: item.id,\n count: item?.quantity,\n }))\n\n const orderData = {\n id: order_details?.id,\n product_name: cart[0]?.product_name,\n ticketType: ticket?.name,\n quantity: ticket?.quantity,\n price: ticket?.price,\n total: order_details?.total,\n currency: order_details?.currency,\n add_ons: order_details?.add_ons || [],\n pay_now: order_details?.pay_now || '',\n guest_count: order_details?.guest_count || '',\n debt: order_details?.debt || null,\n tableTypes: orderDataArray,\n cost: ticket?.cost,\n subtotal: order_details?.subtotal,\n fees: order_details?.fees,\n }\n setOrderData(orderData)\n setCurrency(order_details?.currency)\n onGetPaymentDataSuccess(paymentDataResponse.data)\n }\n } catch (e) {\n setError(_get(e, 'response.data.message', null))\n onGetPaymentDataError(e.response)\n } finally {\n setPaymentDataIsLoading(false)\n }\n })()\n }, [checkoutData])\n\n //just once\n useEffect(() => {\n // fetch conditions data\n const fetchConditions = async () => {\n if (eventId) {\n const conditionsResponse = await getConditions(eventId)\n const conditionsInfo = conditionsResponse.data.attributes\n setConditions(\n conditionsInfo\n ? conditionsInfo.map((item: { text: any }) => ({\n id: nanoid(),\n text: item.text,\n checked: false,\n }))\n : []\n )\n }\n }\n fetchConditions()\n }, [])\n\n // 1. get payment data ---> v1/order/${hash}/review/ done\n // 2. handle payment ---> v1/order/${orderHash}/pay/\n // 3. redirect to confirmation page\n const handlePaymentMiddleWare = async (error: any, data?: object) => {\n try {\n if (error) {\n throw error\n }\n const {\n order_details: { order_hash },\n } = reviewData\n\n let paymentSuccessResponse\n\n if (isFreeTickets) {\n paymentSuccessResponse = await handleFreeSuccess(order_hash)\n } else if (paymentPlanIsAvailable && showPaymentPlanSection) {\n paymentSuccessResponse = await createPaymentPlan(\n order_hash,\n _get(data, 'paymentMethodId', '')\n )\n } else {\n paymentSuccessResponse = await handlePaymentSuccess(order_hash)\n }\n\n if (paymentSuccessResponse.status === 200) {\n handlePayment(paymentSuccessResponse)\n setPaymentIsLoading(false)\n\n // clear seat-map related data from localStorage\n localStorage.removeItem('reservationData')\n localStorage.removeItem(`reservationStart-${eventId}`)\n localStorage.removeItem('ownReservations')\n localStorage.removeItem('tierId')\n\n if (isBrowser) {\n (window as any)?.dataLayer?.push({\n event: 'Purchase',\n orderValue: orderData.total,\n orderCurrency: orderData.currency,\n orderId: orderData.id,\n })\n }\n }\n } catch (e) {\n setError(_get(e, 'response.data.message', null))\n setPaymentIsLoading(false)\n onPaymentError(e.response || e, reviewData.event_details.slug)\n }\n }\n\n const showPaymentForm = () => {\n let showPaymentForm = !isFreeTickets\n\n if (\n paymentPlanIsAvailable &&\n showPaymentPlanSection &&\n !!paymentPlanConfig.saved_card?.stripe_payment_method_id\n ) {\n showPaymentForm = !paymentPlanUseSavedCard\n }\n\n return showPaymentForm\n }\n const updateSessionInformation = () => {\n if (isBrowser && !!orderData?.id) {\n window.localStorage.setItem(\n 'paymentConfiguration',\n JSON.stringify({\n paymentPlanUseSavedCard,\n showPaymentPlanSection,\n orderId: orderData?.id,\n })\n )\n }\n }\n\n const themeMui = createTheme(themeOptions)\n const hasTableTypes = Boolean(Number(orderData.guest_count))\n const paymentFieldsData = hasTableTypes\n ? [\n {\n label: 'Event',\n id: 'product_name',\n },\n {\n label: '',\n id: 'tableTypes',\n },\n {\n label: 'Add-ons',\n id: 'add_ons',\n },\n {\n label: 'Total (incl. fees, card processing and taxes)',\n id: 'total',\n normalizer: (value: string, currency: string) =>\n currencyNormalizerCreator(\n createFixedFloatNormalizer(2)(parseFloat(value)),\n currency\n ),\n },\n {\n label: 'Pay Now',\n id: 'pay_now',\n normalizer: (value: string, currency: string) =>\n currencyNormalizerCreator(\n createFixedFloatNormalizer(2)(parseFloat(value)),\n currency\n ),\n },\n {\n label: 'Pay On Check-in',\n id: 'debt',\n normalizer: (value: string, currency: string) =>\n currencyNormalizerCreator(\n createFixedFloatNormalizer(2)(parseFloat(value)),\n currency\n ),\n },\n ]\n : paymentFields\n const isTable = orderData?.guest_count\n return (\n <ThemeProvider theme={themeMui}>\n <div className=\"payment_page\">\n {enableTimer && (\n <TimerWidget\n expires_at={_get(reviewData, 'expires_at', 0)}\n buyLoading={paymentIsLoading}\n onCountdownFinish={onCountdownFinish}\n />\n )}\n {error && (\n <Alert severity=\"error\" onClose={onErrorClose} variant=\"filled\">\n {error}\n </Alert>\n )}\n {paymentDataIsLoading && <Loader />}\n {!paymentDataIsLoading && (\n <Container maxWidth=\"md\">\n {showFormTitle && <h1>{isTable ? 'Get Your Tables' : formTitle}</h1>}\n <div className=\"order_info_text\">{orderInfoLabel}</div>\n <div\n className=\"order_info_section\"\n style={{ display: hasTableTypes ? 'block' : 'grid' }}\n >\n {_map(paymentFieldsData, field => {\n const { id, label, className = '', normalizer = _identity } = field\n let value = orderData[id as keyof IOrderData] || \"\"\n let component = null\n\n if (field.id === 'add_ons' && _isEmpty(value)) {\n return false\n }\n\n if (\n field.id === 'total' &&\n paymentPlanIsAvailable &&\n showPaymentPlanSection\n ) {\n value = '' + paymentPlanConfig.total\n }\n\n if (field.id === 'tableTypes') {\n const valueArray = value as Array<any>\n\n component = (\n <div\n key={id}\n className=\"order_info_block\"\n style={{\n display: 'flex',\n flexDirection: 'column',\n }}\n >\n {_map(valueArray, tableTypeItem => (\n <div\n key={tableTypeItem.id}\n style={{\n display: 'grid',\n gridTemplateColumns: '33% 33% 33%',\n gridColumnGap: '10%',\n }}\n >\n <div className=\"order_info_block\">\n <div className=\"order_info_title\">Table Type</div>\n <div className={`${className} order_info_text`}>\n {tableTypeItem.ticketType}\n </div>\n </div>\n <div className=\"order_info_block\">\n <div className=\"order_info_title\">Number of Tables</div>\n <div className={`${className} order_info_text`}>\n {tableTypeItem.count}\n </div>\n </div>\n <div className=\"order_info_block\">\n <div className=\"order_info_title\">Guest Count</div>\n <div className={`${className} order_info_text`}>\n {tableTypeItem.quantity}\n </div>\n </div>\n </div>\n ))}\n </div>\n )\n }\n\n return (\n component || (\n <div key={id} className={`order_info_block ${className}`}>\n <div className=\"order_info_title\">{label}</div>\n <div className={`${className} order_info_text`}>\n {typeof value === 'string' || typeof value === 'number'\n ? normalizer(value, currency, orderData)\n : _map(value, item => (\n <div>\n <div key={item.id} className=\"add-on-container\">\n <span>{item.quantity}</span>\n <span className=\"add-on-x\">{' x '}</span>\n <span>\n {item.groupName ? item.groupName + ' - ' : ''}\n </span>\n <span>{item.name}</span>\n <span>{' - '}</span>\n <span>\n {CONFIGS.FEES_STYLE === FEES_STYLES.TRADITIONAL && (currencyNormalizerCreator(\n createFixedFloatNormalizer(2)(parseFloat(item.price)),\n currency\n ) + ' (incl. fees)')}\n {CONFIGS.FEES_STYLE === FEES_STYLES.DISPLAY_BOTH && currencyNormalizerCreator(\n createFixedFloatNormalizer(2)(parseFloat(item.cost)),\n currency\n )}\n </span>\n <span className=\"add-on-each\">{' each'}</span>\n </div>\n {CONFIGS.FEES_STYLE === FEES_STYLES.DISPLAY_BOTH && (\n <p className=\"fees\">\n {`(${currencyNormalizerCreator(\n createFixedFloatNormalizer(2)(parseFloat(String(item.price))),\n currency\n )} with fees)`}\n </p>\n )}\n </div>\n ))}\n </div>\n </div>\n )\n )\n })}\n </div>\n {!isFreeTickets && paymentPlanIsAvailable && (\n <div className=\"payment_toggle\">\n <Checkbox\n label={\n <span className=\"payment_plan_toggle_label\">\n Click to checkout using Payment Plan\n </span>\n }\n required={true}\n onChange={() => {\n setShowPaymentPlanSection(!showPaymentPlanSection)\n }}\n checked={showPaymentPlanSection}\n />\n </div>\n )}\n {showPaymentPlanSection && (\n <PaymentPlanSection\n paymentPlanConfig={paymentPlanConfig}\n currency={currency}\n paymentPlanUseSavedCard={paymentPlanUseSavedCard}\n setPaymentPlanUseSavedCard={setPaymentPlanUseSavedCard}\n />\n )}\n {showPaymentForm() ? (\n <div className=\"payment_info\">\n <div className=\"payment_info_label\">{paymentInfoLabel}</div>\n {showErrorText && <p className=\"payment_info__error\">{errorText}</p>}\n <div>\n <Elements\n stripe={getStripePromise(reviewData)}\n options={elementsOptions}\n >\n <StripePayment\n stripe_client_secret={\n paymentPlanIsAvailable && showPaymentPlanSection\n ? paymentPlanConfig.stripe_setup_intent_secret\n : _get(reviewData, 'payment_method.stripe_client_secret')\n }\n hasSeatMapActions={reviewData.event_details.flagSeatMapAllowed}\n total={orderData.guest_count ? orderData.pay_now : orderData.total}\n onSubmit={handlePaymentMiddleWare}\n error={error}\n orderId={orderData.id}\n currency={orderData.currency}\n billing_info={reviewData.billing_info}\n isLoading={paymentIsLoading}\n handleSetLoading={value => setPaymentIsLoading(value)}\n conditions={conditions}\n stripeCardOptions={stripeCardOptions}\n disableZipSection={disableZipSection}\n paymentButtonText={paymentButtonText}\n forPaymentPlan={paymentPlanIsAvailable && showPaymentPlanSection}\n />\n </Elements>\n </div>\n </div>\n ) : (\n <div\n className={`payment_button ${paymentIsLoading ? 'disabled-payment-button' : ''\n }`}\n >\n <button\n disabled={paymentIsLoading}\n type=\"button\"\n onClick={() => {\n setPaymentIsLoading(true)\n let data\n\n if (\n paymentPlanIsAvailable &&\n showPaymentPlanSection &&\n paymentPlanUseSavedCard\n ) {\n data = {\n paymentMethodId:\n paymentPlanConfig.saved_card?.stripe_payment_method_id,\n }\n }\n\n handlePaymentMiddleWare(null, data)\n }}\n >\n {paymentIsLoading ? (\n <CircularProgress size={26} />\n ) : isFreeTickets ? (\n 'Complete Registration'\n ) : (\n 'Confirm Payment Plan'\n )}\n </button>\n </div>\n )}\n </Container>\n )}\n </div>\n </ThemeProvider>\n )\n}\n","import _isNumber from 'lodash/isNumber'\n\nexport const isValidNumber = (value?: number | string): boolean => {\n if (isNaN(Number(value))) {\n return false\n }\n return _isNumber(Number(value))\n}\n","export const getImage = (name: string = ''): any => {\n let image: any = ''\n\n if (!name.trim().length) {\n return image\n }\n\n if (process.env.NODE_ENV === 'production') {\n image = require(`./images/${name}`)\n return image.default\n }\n\n return image\n}\n","import _identity from 'lodash/identity'\nimport React from 'react'\nimport SVG from 'react-inlinesvg'\n\nimport { getImage } from '../../utils/getImage'\n\ninterface IShareButtonProps {\n url: string;\n disabled: boolean;\n children: Node;\n}\n\nexport const SpotifyIcon = () => <SVG src={getImage('spotify.svg')} />\n\nexport const InstagramIcon = () => <SVG src={getImage('instagram.svg')} />\n\nexport const SocialButton = (props: IShareButtonProps) => {\n const { children, url, disabled } = props\n\n const handleClick = () => {\n window.open(url)\n }\n\n return (\n <button\n className={`react-share__ShareButton ${disabled ? 'disabled-action' : ''}`}\n type=\"button\"\n onClick={!disabled ? handleClick : _identity}\n >\n {children}\n </button>\n )\n}\n","import {\n EmailIcon,\n EmailShareButton,\n FacebookIcon,\n FacebookMessengerIcon,\n FacebookMessengerShareButton,\n FacebookShareButton,\n HatenaIcon,\n HatenaShareButton,\n InstapaperIcon,\n InstapaperShareButton,\n LineIcon,\n LineShareButton,\n LinkedinIcon,\n LinkedinShareButton,\n LivejournalIcon,\n LivejournalShareButton,\n MailruIcon,\n MailruShareButton,\n OKIcon,\n OKShareButton,\n PinterestIcon,\n PinterestShareButton,\n PocketIcon,\n PocketShareButton,\n RedditIcon,\n RedditShareButton,\n TelegramIcon,\n TelegramShareButton,\n TumblrIcon,\n TumblrShareButton,\n TwitterIcon,\n TwitterShareButton,\n ViberIcon,\n ViberShareButton,\n VKIcon,\n VKShareButton,\n WeiboIcon,\n WeiboShareButton,\n WhatsappIcon,\n WhatsappShareButton,\n WorkplaceIcon,\n WorkplaceShareButton,\n} from 'react-share'\n\nimport { InstagramIcon, SocialButton, SpotifyIcon } from '../common/socials'\n\nconst config: any = {\n facebook: { component: FacebookShareButton, icon: FacebookIcon },\n messenger: {\n component: FacebookMessengerShareButton,\n icon: FacebookMessengerIcon,\n },\n twitter: { component: TwitterShareButton, icon: TwitterIcon },\n linkedin: { component: LinkedinShareButton, icon: LinkedinIcon },\n pinterest: { component: PinterestShareButton, icon: PinterestIcon },\n vk: { component: VKShareButton, icon: VKIcon },\n ok: { component: OKShareButton, icon: OKIcon },\n telegram: { component: TelegramShareButton, icon: TelegramIcon },\n whatsapp: { component: WhatsappShareButton, icon: WhatsappIcon },\n reddit: { component: RedditShareButton, icon: RedditIcon },\n tumblr: { component: TumblrShareButton, icon: TumblrIcon },\n mailru: { component: MailruShareButton, icon: MailruIcon },\n email: { component: EmailShareButton, icon: EmailIcon },\n livejournal: { component: LivejournalShareButton, icon: LivejournalIcon },\n viber: { component: ViberShareButton, icon: ViberIcon },\n workplace: { component: WorkplaceShareButton, icon: WorkplaceIcon },\n line: { component: LineShareButton, icon: LineIcon },\n pocket: { component: PocketShareButton, icon: PocketIcon },\n instapaper: { component: InstapaperShareButton, icon: InstapaperIcon },\n weibo: { component: WeiboShareButton, icon: WeiboIcon },\n hatena: { component: HatenaShareButton, icon: HatenaIcon },\n instagram: { component: SocialButton, icon: InstagramIcon },\n spotify: { component: SocialButton, icon: SpotifyIcon },\n}\n\nexport default function(key: string) {\n return config[key]\n}\n","import _identity from 'lodash/identity'\nimport React, { ReactElement } from 'react'\n\nimport { isValidNumber } from '../../utils/isValidNumber'\nimport config from './config'\nimport { IShareButton } from './index'\n\nconst SocialComponent = ({\n mainLabel,\n subLabel,\n platform,\n shareData,\n points,\n onAfterShare,\n alreadyApplied,\n oneTimeAction,\n}: IShareButton) => {\n const Component = config(platform)?.component\n const Icon = config(platform)?.icon\n const isActionDisabled = alreadyApplied && oneTimeAction\n return (\n <>\n {Component && (\n <Component {...shareData} disabled={isActionDisabled}>\n <div\n onKeyDown={_identity}\n onClick={!isActionDisabled ? onAfterShare : _identity}\n className={`social-media-sharing ${platform}`}\n >\n <div className=\"share-icon\">\n <Icon size={32} round />\n </div>\n <span className=\"share-text\">\n <span className=\"main-label\">{mainLabel} </span>\n <span className=\"sub-label\">{subLabel}</span>\n </span>\n {isValidNumber(points) && (\n <div className=\"share-points\">\n <span className=\"points-count\">{points}</span>\n <span className=\"points-text\">Points</span>\n </div>\n )}\n </div>\n </Component>\n )}\n </>\n )\n}\n\ninterface SocialButtonsTypes {\n shareLink: string;\n name: string;\n appId: string;\n showDefaultShareButtons: boolean;\n shareButtons: IShareButton[];\n titleText?: string;\n footerText?: string | ReactElement;\n clientLabel?: string;\n showReferralsInfoText?: boolean;\n onAfterShare?: (eventActionId: string | undefined) => void;\n}\n\nconst SocialButtons = ({\n showDefaultShareButtons,\n shareLink,\n name,\n appId,\n shareButtons,\n titleText = 'or use one of these convenient buttons:',\n footerText = (\n <p>\n We <strong>never</strong> post on Facebook without your permission!\n </p>\n ) as ReactElement,\n clientLabel,\n onAfterShare = _identity,\n showReferralsInfoText = false,\n}: SocialButtonsTypes) => (\n <>\n {titleText && <div className=\"convenient_buttons\">{titleText}</div>}\n <div className=\"social-media-btns\">\n {showDefaultShareButtons && (\n <>\n <SocialComponent\n mainLabel=\"Share on\"\n subLabel=\"Facebook\"\n platform=\"facebook\"\n shareData={{\n quote: name,\n url: shareLink,\n }}\n />\n <SocialComponent\n mainLabel=\"Tweet to your\"\n subLabel=\"Followers\"\n platform=\"twitter\"\n shareData={{\n title: name,\n url: shareLink,\n }}\n />\n <SocialComponent\n mainLabel=\"Message friends on\"\n subLabel=\"Facebook\"\n platform=\"messenger\"\n shareData={{\n appId,\n url: shareLink,\n }}\n />\n <SocialComponent\n mainLabel=\"Message friends on\"\n subLabel=\"Whatsapp\"\n platform=\"whatsapp\"\n shareData={{\n title: name,\n url: shareLink,\n }}\n />\n </>\n )}\n {shareButtons.map((shareButton: IShareButton, index: number) => (\n <SocialComponent\n onAfterShare={() => onAfterShare(shareButton.eventActionId)}\n key={index}\n {...shareButton}\n />\n ))}\n </div>\n {showDefaultShareButtons || shareButtons.length ? footerText : null}\n {(showReferralsInfoText || Boolean(clientLabel)) && (\n <p className=\"note-message\">\n <span>\n *Please note, only purchases made from a different{' '}\n {clientLabel || 'Ticket Fairy'} account can count towards your referrals\n </span>\n <span>\n {' '}\n so please make sure you ask your friends to buy their own tickets using their\n own {clientLabel || 'Ticket Fairy'} account!\n </span>\n </p>\n )}\n </>\n)\n\nexport default SocialButtons\n","/* eslint-disable max-len */\nimport './style.css'\n\nimport axios, { AxiosError } from 'axios'\nimport _get from 'lodash/get'\nimport _identity from 'lodash/identity'\nimport _map from 'lodash/map'\nimport React, { SyntheticEvent, useEffect, useRef, useState } from 'react'\n\nimport { getConfirmationData } from '../../api'\nimport { usePixel } from '../../hooks/usePixel'\nimport { IReferralPromotion } from '../../types'\nimport { createMarkup, isBrowser } from '../../utils'\nimport { CopyMessageModal } from '../common'\nimport SocialButtons from './social-buttons'\n\nexport interface IShareButton {\n mainLabel: string;\n subLabel: string;\n platform: string;\n shareData: any;\n points?: number | string;\n onAfterShare?: (event: SyntheticEvent) => void;\n eventActionId?: string;\n oneTimeAction?: boolean;\n alreadyApplied?: boolean;\n}\n\nexport interface IConfirmationLabels {\n confirmationTitle?: string;\n confirmationMain?: string;\n confirmationHelper?: string;\n paymentPlanConfirmationTitle?: string;\n paymentPlanConfirmationMain?: string;\n paymentPlanConfirmationHelper?: string;\n}\n\nexport interface IConfirmationPage {\n hasCopyIcon?: boolean;\n isReferralEnabled: boolean;\n showDefaultShareButtons: boolean;\n messengerAppId: string;\n shareButtons: IShareButton[];\n onGetConfirmationDataSuccess: (res: ICheckoutCompleteData) => void;\n onGetConfirmationDataError: (e: AxiosError) => void;\n onLinkCopied: () => void;\n orderHash?: string;\n confirmationLabels: IConfirmationLabels;\n clientLabel?: string;\n showReferralsInfoText?: boolean;\n showCopyInfoModal?: boolean;\n showPricingNoteSection?: boolean;\n}\n\nexport const ConfirmationContainer = ({\n confirmationLabels,\n hasCopyIcon = true,\n isReferralEnabled,\n showDefaultShareButtons,\n messengerAppId = '',\n shareButtons = [],\n onGetConfirmationDataSuccess = _identity,\n onGetConfirmationDataError = _identity,\n orderHash,\n onLinkCopied = _identity,\n clientLabel,\n showReferralsInfoText = false,\n showCopyInfoModal = false,\n showPricingNoteSection = false,\n}: IConfirmationPage) => {\n const inputRef = useRef(null)\n const [data, setData] = useState<ICheckoutCompleteData | null>(null)\n const dataEncoded = (isBrowser && window.localStorage.getItem('checkoutData')) || ''\n const dataDecoded = dataEncoded ? JSON.parse(dataEncoded) : { hash: orderHash }\n const { hash } = dataDecoded\n const eventId = data?.product_id || ''\n\n useEffect(() => {\n (async () => {\n if (hash) {\n try {\n const confirmationDataResponse = await getConfirmationData(hash)\n const data = confirmationDataResponse.data.attributes\n data.personal_share_sales = data.personal_share_sales.map(salesItem => {\n const salesData: IReferralPromotion = {\n label: `If your friends buy ${salesItem.sales} tickets`,\n price: '',\n }\n if (salesItem.price === 0) {\n salesData.subLabel = 'Your ticket becomes'\n salesData.price = 'FREE!'\n } else {\n salesData.subLabel = 'Your ticket goes down to'\n salesData.price = data.currency.symbol + Number(salesItem.price).toFixed(2)\n }\n\n return salesData\n })\n data.personal_share_sales.unshift({\n label: 'Your ticket is currently',\n price: data.currency.symbol + data.product_price?.toFixed(2),\n })\n setData(data)\n onGetConfirmationDataSuccess(confirmationDataResponse.data.attributes)\n } catch (error) {\n if (axios.isAxiosError(error)) onGetConfirmationDataError(error)\n }\n }\n })()\n }, [hash])\n\n const [showCopyModal, setShowCopyModal] = useState(false)\n\n const onClose = () => {\n setShowCopyModal(false)\n }\n\n const onChangeShareLink = (e: React.ChangeEvent<HTMLInputElement>) => {\n const newData = {\n ...data,\n personal_share_link: e.target.value,\n } as ICheckoutCompleteData\n setData(newData)\n }\n const {\n confirmationTitle = 'Your Tickets are Confirmed!',\n confirmationMain = 'Your tickets are available in My Tickets section',\n confirmationHelper = 'Please bring them with you to the event',\n paymentPlanConfirmationTitle = 'Your Tickets are Confirmed!',\n paymentPlanConfirmationMain = 'Your payment plan is pending and we are trying to take your initial payment. If your initial payment does not complete, your payment plan will be cancelled.',\n paymentPlanConfirmationHelper = 'You will receive a confirmation with your tickets once your final payment has been made.',\n } = confirmationLabels\n\n const pageUrl = isBrowser ? window.location.href.split('?')[0] : ''\n usePixel(eventId, { page: 'complete', pageUrl, orderHash: hash })\n\n return (\n <div className=\"confirmation-page\">\n {showCopyInfoModal && (\n <CopyMessageModal onClose={onClose} showCopyModal={showCopyModal} />\n )}\n {data && (\n <>\n <div className=\"header-container\">\n <div className=\"header-product-image\">\n <img alt=\"\" className=\"product-image\" src={data.product_image} />\n </div>\n <div className=\"header-product-text\">\n <p className=\"title\">\n {data.is_payment_plan ? paymentPlanConfirmationTitle : confirmationTitle}\n </p>\n <div\n className=\"share-message-section\"\n dangerouslySetInnerHTML={\n data.custom_confirmation_page_text &&\n data.custom_confirmation_page_text_full_replacement\n ? createMarkup(data.custom_confirmation_page_text)\n : undefined\n }\n >\n {data.custom_confirmation_page_text &&\n data.custom_confirmation_page_text_full_replacement ? undefined : (\n <>\n {Boolean(data.is_payment_plan) && (\n <>\n <span className=\"main\">{paymentPlanConfirmationMain}</span>\n <span className=\"helper\">{paymentPlanConfirmationHelper}</span>\n </>\n )}\n {!data.is_payment_plan && (\n <>\n {data.attach_tickets ? (\n <span className=\"main\">\n Your tickets have been emailed to you\n </span>\n ) : (\n <span className=\"main\">{confirmationMain}</span>\n )}\n <span className=\"helper\">\n {data.attach_tickets\n ? 'Please bring them with you to the event'\n : confirmationHelper}\n </span>\n </>\n )}\n </>\n )}\n </div>\n </div>\n </div>\n {data.custom_confirmation_page_text &&\n !data.custom_confirmation_page_text_full_replacement ? (\n <div\n className=\"custom-confirmation-page-text\"\n dangerouslySetInnerHTML={createMarkup(data.custom_confirmation_page_text)}\n />\n ) : null}\n {data.disable_referral === false && isReferralEnabled && (\n <>\n <div className=\"referral_text_image_section\">\n <div className=\"referral_text_section\">\n <div className=\"referral_title_text\">\n Your ticket can become\n <span className=\"strong-text\"> cheaper </span>\n or even\n <span className=\"strong-text\"> FREE!</span>\n </div>\n <div className=\"referral_text\">\n <span className=\"strong-text\"> Invite friends </span>\n and we'll refund up to\n <span className=\"strong-text\"> 100% </span>\n of your ticket money, if they buy tickets as well!\n </div>\n </div>\n <img\n className=\"body-product-image\"\n src={data.product_image}\n alt=\"No Data\"\n />\n </div>\n <div className=\"share_wrapper\">\n <div className=\"share_section\">\n <div className=\"invitation_section\">\n <div className=\"invitation_title\">\n How do you invite your friends?\n </div>\n <div className=\"share_buttons\">\n <div className=\"share-by-link\">\n <h5 className=\"share-by-link label\">Send them this link:</h5>\n <div className=\"share-btn-inner\">\n <input\n ref={inputRef}\n className=\"share-input\"\n value={data.personal_share_link}\n onChange={onChangeShareLink}\n />\n <div\n aria-hidden={true}\n className=\"share-by-link-copy-icon\"\n onClick={() => {\n navigator.clipboard.writeText(\n _get(inputRef, 'current.value') || \"\"\n )\n setShowCopyModal(true)\n onLinkCopied()\n }}\n >\n {hasCopyIcon ? (\n <img\n src=\"https://img.icons8.com/office/50/000000/copy.png\"\n alt=\"copy\"\n />\n ) : (\n <span className=\"copy-icon\">Copy</span>\n )}\n </div>\n </div>\n </div>\n {(showDefaultShareButtons || !!shareButtons.length) && (\n <SocialButtons\n showDefaultShareButtons={showDefaultShareButtons}\n name={data.product_name}\n appId={messengerAppId}\n shareLink={data.personal_share_link}\n shareButtons={shareButtons}\n clientLabel={clientLabel}\n showReferralsInfoText={showReferralsInfoText}\n />\n )}\n </div>\n </div>\n </div>\n <div className=\"pricing-section\">\n <div className=\"invitation_title\">How much cheaper?</div>\n {_map(data.personal_share_sales, (pricing, index) => (\n <div key={index} className=\"pricing-section_wrapper\">\n <div className=\"pricing-section_label\">\n {pricing.label}\n {pricing.subLabel && (\n <div className=\"pricing-section_sublabel\">\n {pricing.subLabel}\n </div>\n )}\n </div>\n <div className=\"pricing-section_price\"> {pricing.price}</div>\n </div>\n ))}\n {showPricingNoteSection && (\n <div className=\"note-pricing-section\">\n ^ This is based on the most expensive ticket in your order.\n </div>\n )}\n </div>\n </div>\n </>\n )}\n </>\n )}\n </div>\n )\n}\n","import { AxiosRequestConfig, AxiosResponse } from 'axios'\n\nimport { publicRequest } from '../api/publicRequest'\n\nexport const getPreRegistrationInfluancers = async (\n data: IInfluancersRequestData\n): Promise<IInfluancersResponseData> => {\n const response: AxiosResponse<IInfluancersResponseData, AxiosRequestConfig> =\n await publicRequest.get(`v1/event/${data.eventId}/pre-registration/influencers`)\n return response.data\n}\n\nexport const getPreRegistrationShareOptions = async (\n data: IShareOptionsRequestData\n): Promise<IShareOptionsResponseData> => {\n const response: AxiosResponse<IShareOptionsResponseData, AxiosRequestConfig> =\n await publicRequest.get(`/v1/pre-registration/${data.hash}/confirmation-page`)\n return response.data\n}\n\nexport const submitShareAction = async (\n data: ISubmitShareActionRequestData\n): Promise<ISubmitShareActionResponseData> => {\n const { eventActionId, accessToken, hash } = data\n\n const response: AxiosResponse<ISubmitShareActionResponseData, AxiosRequestConfig> =\n await publicRequest.post(`/v1/pre-registration/${hash}/submit-action`, {\n data: {\n attributes: {\n phase: 'pre-registration',\n eventActionId: Number(eventActionId),\n accessToken,\n },\n },\n })\n return response.data\n}\n","import { useEffect, useRef, useState } from 'react'\n\nimport { getCookieByName } from '../utils'\n\nexport const useCookieListener = (\n key: string,\n handler: (value: string | null) => void\n) => {\n const getCookie = () => getCookieByName(key)\n const [intervalValue, setIntervalValue] = useState<NodeJS.Timeout>()\n const cookieRef = useRef<string>(getCookie())\n\n const handleCookieChange = () => {\n const currentCookie = getCookie()\n const prevCookie = cookieRef.current\n\n if (currentCookie !== prevCookie) {\n cookieRef.current = getCookie()\n handler(cookieRef.current)\n }\n }\n\n useEffect(() => {\n const interval = setInterval(handleCookieChange, 500)\n setIntervalValue(interval)\n\n return () => {\n intervalValue && clearInterval(intervalValue)\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [])\n}\n","import { useEffect, useState } from 'react'\n\nexport function useLocalStorageListener(\n key: string,\n callback: (value: string | null) => void\n): string | null {\n const isWindowDefined = typeof window !== 'undefined'\n const [value, setValue] = useState<string | null>(\n isWindowDefined ? localStorage.getItem(key) : ''\n )\n\n useEffect(() => {\n const intervalId = setInterval(() => {\n const newValue = localStorage.getItem(key)\n if (newValue !== value) {\n setValue(newValue)\n if (newValue) {\n const parsed = JSON.parse(newValue)\n if (parsed) {\n callback(parsed)\n }\n }\n }\n }, 100)\n\n return () => {\n clearInterval(intervalId)\n }\n }, [key, value, callback])\n\n return value\n}\n","import React, { useEffect, useState } from 'react'\nimport moment from 'moment-timezone'\nimport './style.css'\n\ninterface CountdownTypes {\n startDate: string;\n timezone?: string;\n title?: string;\n message?: string;\n showMessage?: boolean;\n disableLeadingZero?: boolean;\n callback?: () => void;\n isLoggedIn?: boolean;\n}\n\nconst isTimeExpired = (startDate: string, timezone: string) => {\n return !moment(startDate).isAfter(moment.tz(moment(), timezone).format('YYYY-MM-DD HH:mm:ss'))\n}\n\nfunction Countdown({\n startDate,\n timezone = moment.tz.guess(),\n title = '',\n message = '',\n showMessage = false,\n disableLeadingZero = false,\n callback = () => {},\n isLoggedIn\n}: CountdownTypes) {\n const [duration, setDuration] = useState('')\n const [timeExpired, setTimeExpired] = useState(false)\n\n useEffect(() => {\n setTimeExpired(isTimeExpired(startDate, timezone))\n }, [])\n\n useEffect(() => {\n let timer: any;\n\n if(!timeExpired) {\n timer = setInterval(() => {\n if(isTimeExpired(startDate, timezone)) {\n clearInterval(timer)\n setTimeExpired(true)\n callback()\n return\n }\n\n const currentDate = moment.tz(moment(), timezone).format('YYYY-MM-DD HH:mm:ss')\n const diffTime = moment(startDate).diff(currentDate)\n const duration = moment.duration(diffTime)\n const dateArr: any = {\n year: duration.years(),\n month: duration.months(),\n day: duration.days(),\n hour: duration.hours(),\n minute: duration.minutes(),\n second: duration.seconds(),\n }\n let timeLeft = ''\n \n for(let date in dateArr) {\n const unit = dateArr[date] === 1 ? date : date + 's'\n let val = dateArr[date]\n\n if (!disableLeadingZero && String(dateArr[date]).length === 1) {\n val = '0' + dateArr[date]\n }\n\n if(timeLeft) {\n timeLeft += `, ${val} ${unit}`\n } else if(dateArr[date]) {\n timeLeft += `${val} ${unit}`\n }\n }\n \n setDuration(timeLeft)\n }, 1000)\n }\n return () => {\n clearInterval(timer)\n }\n }, [timeExpired])\n\n return (\n <>\n {!timeExpired && duration && (\n <div className={`countdown ${!isLoggedIn ? 'countdown-on-bottom' : ''}`}>\n <div>\n <p className='title'>{title}</p>\n <p>{duration}</p>\n </div>\n {showMessage && <p className='message'>{message}</p>}\n </div>\n )}\n </>\n )\n}\n\nexport default Countdown\n","import './style.css'\n\nimport Button from '@mui/material/Button'\nimport CircularProgress from '@mui/material/CircularProgress'\nimport { Field, Form, Formik } from 'formik'\nimport _find from 'lodash/find'\nimport React, { useState } from 'react'\n\nimport { addToWaitingList } from '../../api'\nimport { isBrowser } from '../../utils'\nimport { ErrorFocus } from '../../utils/formikErrorFocus'\nimport {\n combineValidators,\n emailValidator,\n requiredValidator,\n} from '../../validators'\nimport { CustomField } from '../common/index'\n\ninterface WaitingListProps {\n tickets: any;\n eventId: number;\n defaultMaxQuantity: number;\n}\n\ninterface WaitingListFields {\n ticketTypeId: string;\n quantity: string;\n firstName: string;\n lastName: string;\n email: string;\n}\n\nconst generateQuantity = (n: number) => {\n const quantityList = []\n for (let i = 1; i <= n; i++) {\n quantityList.push({ label: i, value: i })\n }\n return quantityList\n}\n\nconst WaitingList = ({\n tickets = {},\n eventId,\n defaultMaxQuantity = 10,\n}: WaitingListProps) => {\n const userData =\n isBrowser && window.localStorage.getItem('user_data')\n ? JSON.parse(window.localStorage.getItem('user_data') || '')\n : {}\n\n const [showSuccessMessage, setShowSuccessMessage] = useState(false)\n const [loading, setLoading] = useState(false)\n const ticketTypesList = Object.values(tickets).map((d: any) => ({\n label: d.displayName,\n value: d.id,\n }))\n\n const showTicketsField = Boolean(ticketTypesList.length)\n\n const handleSubmit = async (values: WaitingListFields) => {\n try {\n setLoading(true)\n const response = await addToWaitingList(eventId, { attributes: values })\n\n if (response.success) {\n setShowSuccessMessage(true)\n }\n } catch (error) {\n } finally {\n setLoading(false)\n }\n }\n\n return (\n <div className=\"waiting-list\">\n {showSuccessMessage ? (\n <div className=\"success-message\">\n <p className=\"added-success-message\">You&apos;ve been added to the waiting list!</p>\n <p>You&apos;ll be notified if tickets become available.</p>\n </div>\n ) : (\n <>\n <h2>WAITING LIST</h2>\n <Formik\n initialValues={{\n ticketTypeId: '',\n quantity: '',\n firstName: userData.first_name || '',\n lastName: userData.last_name || '',\n email: userData.email || '',\n }}\n onSubmit={handleSubmit}\n >\n {({ values, setFieldValue }) => {\n const selectedTicket = _find(tickets, n => n.id === values.ticketTypeId)\n return (\n <Form>\n <ErrorFocus />\n {showTicketsField && (\n <>\n <div className=\"field-item\">\n <Field\n name=\"ticketTypeId\"\n label=\"Type of Ticket\"\n type=\"select\"\n component={CustomField}\n onChange={(e: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>) => {\n setFieldValue('ticketTypeId', e.target.value)\n setFieldValue('quantity', '')\n }}\n selectOptions={[\n { label: 'Type of Ticket', value: '', disabled: true },\n ...ticketTypesList,\n ]}\n />\n </div>\n <div className=\"field-item\">\n <Field\n name=\"quantity\"\n label=\"Quantity Requested\"\n type=\"select\"\n component={CustomField}\n selectOptions={[\n {\n label: 'Quantity Requested',\n value: '',\n disabled: true,\n },\n ...generateQuantity(selectedTicket?.waitingListMaxQuantity || (defaultMaxQuantity ?? 10)\n ),\n ]}\n />\n </div>\n </>\n )}\n <div className=\"field-item\">\n <Field\n name=\"firstName\"\n label=\"First name\"\n validate={(value: string) =>\n requiredValidator(value, 'Please enter your First name')\n }\n component={CustomField}\n />\n </div>\n <div className=\"field-item\">\n <Field\n name=\"lastName\"\n label=\"Last name\"\n validate={(value: string) =>\n requiredValidator(value, 'Please enter your Last name')\n }\n component={CustomField}\n />\n </div>\n <div className=\"field-item\">\n <Field\n name=\"email\"\n label=\"Email\"\n validate={combineValidators(\n (value: string) =>\n requiredValidator(value, 'Please enter your Email'),\n (value: string) => emailValidator(value)\n )}\n component={CustomField}\n />\n </div>\n\n <Button\n type=\"submit\"\n variant=\"contained\"\n className=\"waiting-list-button\"\n >\n {loading ? (\n <CircularProgress size=\"22px\" />\n ) : (\n 'ADD TO WAITING LIST'\n )}\n </Button>\n </Form>\n )\n }}\n </Formik>\n </>\n )}\n </div>\n )\n}\n\nexport default WaitingList\n","import React from 'react'\nimport Button from 'react-bootstrap/Button'\n\nexport interface IAccessCodeSectionProps {\n code: string;\n setCode: (value: string) => void;\n updateTickets: (value: boolean) => void;\n}\n\n// This section is seperate because additional changes layter may be applied to Access Code\n\nexport const AccessCodeSection = ({\n code,\n setCode,\n updateTickets\n}: IAccessCodeSectionProps) => {\n const isAccessCodeHasValue = !!code.trim()\n\n return (\n <div className=\"access-code-block\">\n <div className=\"access-code-block\">\n <p className=\"access-code-text\">\n Access code required\n </p>\n </div>\n <input\n className=\"access-code-input\"\n placeholder=\"\"\n onChange={e => {\n setCode(e.target.value)\n }}\n onKeyPress={event => {\n if (event.key === 'Enter' && isAccessCodeHasValue) {\n updateTickets(true)\n }\n }}\n />\n <Button\n className=\"access-submit-button\"\n onClick={() => {\n if (isAccessCodeHasValue) {\n updateTickets(true)\n }\n }}\n >\n ENTER\n </Button>\n </div>\n )\n}\n","import React from 'react'\nimport Button from 'react-bootstrap/Button'\nimport SVG from 'react-inlinesvg'\n\nimport DoneSvg from '../../assets/images/done.svg'\nimport XmarkSvg from '../../assets/images/xmark.svg'\n\nexport interface IPromoCodeSectionProps {\n code: string;\n codeIsApplied: boolean;\n showPromoInput: boolean;\n setCode: (value: string) => void;\n setShowPromoInput: (value: boolean) => void;\n updateTickets: (value: boolean, type: string) => void;\n setCodeIsApplied: (value: boolean) => void;\n codeIsInvalid: boolean;\n setCodeIsInvalid: (value: boolean) => void;\n promoText?: string;\n showAlertIcons?: boolean;\n}\n\nexport const PromoCodeSection = ({\n code,\n codeIsApplied,\n showPromoInput,\n setCode,\n setShowPromoInput,\n updateTickets,\n setCodeIsApplied,\n codeIsInvalid,\n setCodeIsInvalid,\n promoText,\n showAlertIcons\n}: IPromoCodeSectionProps) => {\n const isPromoCodeHasValue = !!code.trim()\n\n const renderInputField = () => (\n <div className=\"promo-code-block\">\n <div className=\"promo-code-block\">\n <p className=\"promo-code-text\">Promo code</p>\n </div>\n <input\n className=\"promo-code-input\"\n placeholder=\"\"\n onChange={e => {\n setCode(e.target.value)\n }}\n onKeyPress={event => {\n if (event.key === 'Enter' && isPromoCodeHasValue) {\n setShowPromoInput(false)\n updateTickets(true, 'promo')\n }\n }}\n />\n <Button\n className=\"promo-submit-button\"\n onClick={() => {\n if (isPromoCodeHasValue) {\n setShowPromoInput(false)\n updateTickets(true, 'promo')\n }\n }}\n >\n APPLY\n </Button>\n </div>\n )\n\n return (\n <div>\n {codeIsApplied ? (\n <div className=\"alert-info\">\n {showAlertIcons && (\n <SVG\n src={DoneSvg}\n preProcessor={code =>\n code.replace(/fill=\".*?\"/g, 'fill=\"currentColor\"')\n }\n />\n )}\n <p className=\"promo-code-success\">PROMO CODE APPLIED SUCCESSFULLY</p>\n </div>\n ) : null}\n {codeIsInvalid ? (\n <div className=\"alert-info fail\">\n {showAlertIcons && (\n <SVG\n src={XmarkSvg}\n />\n )}\n <p className=\"promo-code-fail\">Invalid Promo Code</p>\n </div>\n ) : null}\n {!showPromoInput && (\n <Button\n className=\"promo-code-button\"\n placeholder=\"Promo Codes\"\n onClick={() => {\n setCodeIsApplied(false)\n setShowPromoInput(true)\n setCodeIsInvalid(false)\n }}\n >\n {promoText ?? 'Got a promo code? Click here'}\n </Button>\n )}\n {showPromoInput && renderInputField()}\n </div>\n )\n}","import { useEffect } from 'react'\n\nimport { postReferralVisits } from '../../api'\n\ninterface IReferralLogicProps {\n eventId: string | number;\n}\n\nexport const ReferralLogic = (props: IReferralLogicProps) => {\n const { eventId } = props\n\n useEffect(() => {\n const isWindowDefined = typeof window !== 'undefined'\n\n if (isWindowDefined) {\n const params: URLSearchParams = new URL(`${window.location}`).searchParams\n const referralId = params.get('ttf_r') || params.get('referrer_id') || ''\n const referralValue = [eventId, '.', referralId].join('')\n const isAlreadyCounted = localStorage.getItem('referral_key') === referralValue\n\n if (referralId && eventId && !isAlreadyCounted) {\n (async () => {\n try {\n await postReferralVisits(`${eventId}`, referralId)\n localStorage.setItem('referral_key', referralValue)\n } catch (error) {}\n })()\n }\n }\n }, [eventId])\n\n return null\n}\n","export const getTicketSelectOptions = (maxCount = 10, minCount = 1, multiplier = 1) => {\n const options = [{ label: 0, value: 0 }]\n for (let i = minCount || 1; i <= Math.min(50, maxCount); i += multiplier) {\n options.push({ label: i, value: i })\n }\n return options\n}\n\ninterface eventDatesInfo {\n salesStarted: boolean;\n salesEnded: boolean;\n presalesStarted: boolean;\n presalesEnded: boolean;\n presalesEnabled: boolean;\n}\n\nexport const defineIsSalesClosed = (eventDatesInfo: eventDatesInfo): boolean => {\n const { salesStarted, salesEnded, presalesStarted, presalesEnded, presalesEnabled } =\n eventDatesInfo\n let isSalesClosed = false\n if (!salesStarted || (salesStarted && salesEnded)) {\n isSalesClosed = true\n }\n if (presalesEnabled) {\n if (\n (!presalesStarted && !presalesEnded) ||\n (presalesStarted && presalesEnded && !salesStarted)\n ) {\n isSalesClosed = true\n } else {\n isSalesClosed = false\n }\n }\n return isSalesClosed\n}\n","import './style.css'\n\nimport Box from '@mui/material/Box'\nimport FormControl from '@mui/material/FormControl'\nimport MenuItem from '@mui/material/MenuItem'\nimport Select from '@mui/material/Select'\nimport _get from 'lodash/get'\nimport React from 'react'\n\nimport { defineIsSalesClosed, getTicketSelectOptions } from './utils'\n\ninterface ITicketRowProps {\n ticketTier: any;\n prevTicketTier: any;\n selectedTickets: any;\n handleTicketSelect: any;\n event: any;\n isSeatMapAllowed?: boolean;\n tableType?: boolean;\n}\n\nexport const TicketRow = ({\n ticketTier,\n prevTicketTier,\n selectedTickets,\n handleTicketSelect,\n event,\n isSeatMapAllowed,\n tableType,\n}: ITicketRowProps) => {\n const soldOutMessage = ticketTier.soldOutMessage\n ? `${ticketTier.soldOutMessage}`.toUpperCase()\n : 'SOLD OUT'\n const isSalesClosed = defineIsSalesClosed({\n salesStarted: ticketTier.salesStarted,\n salesEnded: ticketTier.salesEnded,\n presalesStarted: event?.presalesStarted,\n presalesEnded: event?.presalesEnded,\n presalesEnabled: event?.presales_enabled,\n })\n const maxCount = tableType ? ticketTier.maxGuests : ticketTier.maxQuantity\n const minCount = tableType ? ticketTier.minGuests : ticketTier.minQuantity\n const { multiplier } = ticketTier\n const options = getTicketSelectOptions(maxCount, minCount, multiplier)\n\n const ticketsClosedMessage = !ticketTier.salesStarted\n ? 'Sales not started'\n : 'Sales Ended'\n const canPurchaseTicket = ticketTier.displayTicket && ticketTier.maxQuantity\n const isDirectPurchaseAllowed = _get(ticketTier, 'allowDirectPurchase', false)\n\n const onSaleContent = (\n <div className=\"get-tickets\">\n {ticketTier.isTable && <span>GUESTS</span>}\n <Box className=\"get-tickets__selectbox\">\n <FormControl fullWidth>\n <Select\n sx={{ borderRadius: 0 }}\n value={selectedTickets[ticketTier.id] ? selectedTickets[ticketTier.id] : 0}\n onChange={handleTicketSelect}\n displayEmpty\n inputProps={{ 'aria-label': 'Without label' }}\n MenuProps={{\n PaperProps: {\n sx: { maxHeight: 150 },\n className: 'get-tickets-paper',\n },\n }}\n >\n {options.map((option, index) => (\n <MenuItem key={index} value={option.value}>\n {option.value}\n </MenuItem>\n ))}\n </Select>\n </FormControl>\n </Box>\n </div>\n )\n\n let returnValue: any = ''\n\n // ticketTier.soldOut === false --> means that ticket is in the stock\n const isSoldOut =\n ticketTier.sold_out ||\n !ticketTier.displayTicket ||\n ticketTier.soldOut ||\n ticketTier.soldOut === false\n\n if (isSoldOut) {\n returnValue = soldOutMessage\n } else if (isSalesClosed) {\n returnValue = ticketsClosedMessage\n } else if (canPurchaseTicket && isSeatMapAllowed && !isDirectPurchaseAllowed) {\n // Seat Map Tickets renderer logic\n returnValue = null\n } else if (\n canPurchaseTicket ||\n (canPurchaseTicket && event?.presalesStarted && !event?.presalesEnded)\n ) {\n returnValue = onSaleContent\n } else if (_get(prevTicketTier, 'in_stock')) {\n returnValue = 'SOON'\n }\n\n return <>{returnValue} </>\n}\n","import './style.css'\n\nimport _get from 'lodash/get'\nimport _sortBy from 'lodash/sortBy'\nimport React, { ReactNode, useState } from 'react'\nimport { Tooltip } from \"react-tooltip\"\n\nimport { FEES_STYLES } from \"../../constants\"\nimport { CONFIGS } from \"../../utils\"\nimport InfoIcon from './InfoIcon'\nimport { TicketRow } from './TicketRow'\n\nfunction decodeHTML(html: string): string {\n const textArea = document.createElement(\"textarea\")\n textArea.innerHTML = html\n return textArea.value\n}\n\ninterface ITicketsSectionProps {\n event: any;\n ticketsList: any;\n selectedTickets: any;\n handleTicketSelect: any;\n sortBySoldOut: boolean;\n hideTicketsHeader: boolean;\n hideTableTicketsHeader: boolean;\n tableTickets: any;\n ticketsHeaderComponent?: ReactNode;\n tableTicketsHeaderComponent?: ReactNode;\n showGroupNameBlock?: boolean;\n currencySybmol?: string;\n isSeatMapAllowed?: boolean;\n descriptionTrigger?: \"click\" | \"hover\";\n}\n\nexport const TicketsSection = ({\n event,\n ticketsList,\n selectedTickets,\n handleTicketSelect,\n sortBySoldOut,\n ticketsHeaderComponent,\n tableTicketsHeaderComponent,\n hideTicketsHeader,\n hideTableTicketsHeader,\n showGroupNameBlock,\n currencySybmol,\n isSeatMapAllowed,\n tableTickets,\n descriptionTrigger = 'click',\n}: ITicketsSectionProps) => {\n const symbol = _get(event, 'currency.symbol')\n const sortedTicketsList = sortBySoldOut\n ? _sortBy(_sortBy(ticketsList, 'sortOrder'), 'soldOut')\n : _sortBy(ticketsList, 'sortOrder')\n const showGroup = !!sortedTicketsList.find(ticket => ticket.groupName)\n const priceSymbol = currencySybmol || symbol\n\n const [visibleDescription, setVisibleDescription] = useState<string | null>(null)\n\n const handleDescriptionToggle = (ticketId: string) => {\n setVisibleDescription(current => (current === ticketId ? null : ticketId))\n }\n\n return (\n <>\n {!hideTicketsHeader && ticketsHeaderComponent}\n {sortedTicketsList.map((ticket, i, arr) => {\n const ticketPriceWithoutFees = `${priceSymbol} ${(+ticket.cost).toFixed(2)}`\n const ticketPriceWithFees = `${priceSymbol} ${(+ticket.price).toFixed(2)}`\n const ticketOldPrice = `${priceSymbol} ${(+ticket.oldPrice).toFixed(2)}`\n\n const isSoldOut = ticket.sold_out || !ticket.displayTicket || ticket.soldOut\n const ticketSelect = (event: any) => {\n const { value } = event.target\n handleTicketSelect(ticket.id, value)\n }\n\n let ticketIsDiscounted = false\n if (ticket.oldPrice && !isSoldOut && ticket.oldPrice !== ticket.price) {\n ticketIsDiscounted = true\n }\n\n const ticketIsFree = +ticket.price === 0\n const ticketPriceElem = isSoldOut ? 'SOLD OUT' : ticketIsFree ? 'FREE' : (CONFIGS.FEES_STYLE == FEES_STYLES.DISPLAY_BOTH ? ticketPriceWithoutFees : ticketPriceWithFees)\n const isNewGroupTicket = ticket?.groupName !== arr[i - 1]?.groupName\n\n return (\n <React.Fragment key={ticket.id || ticket.name}>\n {showGroupNameBlock && showGroup && isNewGroupTicket ? (\n <div className=\"event-detail__tier group-title\">\n {ticket.groupName || ''}\n </div>\n ) : null}\n <div className={`event-detail__tier ${isSoldOut ? 'disabled' : ''}`}>\n <div className=\"event-detail__tier-name\">\n {ticket.displayName || ticket.name}\n {ticket.descriptionRich && (\n <>\n <span\n aria-hidden\n className=\"info-icon\"\n onClick={\n descriptionTrigger === \"click\"\n ? () => handleDescriptionToggle(ticket.id)\n : undefined\n }\n onMouseEnter={\n descriptionTrigger === \"hover\"\n ? () => setVisibleDescription(ticket.id)\n : undefined\n }\n onMouseLeave={\n descriptionTrigger === \"hover\"\n ? () => setVisibleDescription(null)\n : undefined\n }\n data-tooltip-id={`tooltip-${ticket.id}`}\n data-tooltip-content=\"View ticket info\"\n style={{\n marginLeft: 8,\n cursor: \"pointer\",\n display: \"flex\",\n }}\n >\n <InfoIcon />\n </span>\n\n <Tooltip id={`tooltip-${ticket.id}`} place=\"top\">\n {ticket.description || \"No description available\"}\n </Tooltip>\n </>\n )}\n </div>\n <div className=\"event-tickets-container\">\n <div className=\"event-detail__tier-price\">\n {ticketIsDiscounted && <p className=\"old-price\">{ticketOldPrice}</p>}\n <p className={isSoldOut ? 'sold-out' : ''}>{ticketPriceElem}</p>\n {!isSoldOut && !ticketIsFree && (\n <p className=\"fees\">\n {CONFIGS.FEES_STYLE === FEES_STYLES.TRADITIONAL && (ticket.feeIncluded ? '(incl. Fees)' : '(excl. Fees)')}\n {CONFIGS.FEES_STYLE === FEES_STYLES.DISPLAY_BOTH && `(${ticketPriceWithFees} with fees)`}\n </p>\n )}\n </div>\n <div className=\"event-detail__tier-state\" style={{ minWidth: 55 }}>\n <TicketRow\n ticketTier={ticket}\n prevTicketTier={arr[i - 1]}\n selectedTickets={selectedTickets}\n handleTicketSelect={ticketSelect}\n event={event}\n />\n </div>\n </div>\n {visibleDescription === ticket.id && (\n <div className=\"ticket-description\">\n <div dangerouslySetInnerHTML={{ __html: decodeHTML(ticket.descriptionRich) }} />\n </div>\n )}\n </div>\n </React.Fragment>\n )\n })}\n {!hideTableTicketsHeader && tableTicketsHeaderComponent}\n {tableTickets.map((ticket: any, i: any, arr: any) => {\n const ticketPriceWithoutFees = `${priceSymbol} ${(+ticket.cost).toFixed(2)}`\n const ticketPriceWithFees = `${priceSymbol} ${(+ticket.price).toFixed(2)}`\n const ticketOldPrice = `${priceSymbol} ${(+ticket.oldPrice).toFixed(2)}`\n\n const isSoldOut = ticket.sold_out || !ticket.displayTicket || ticket.soldOut\n const ticketSelect = (event: any) => {\n const { value } = event.target\n handleTicketSelect(ticket.id, value, true)\n }\n\n let ticketIsDiscounted = false\n if (ticket.oldPrice && !isSoldOut && ticket.oldPrice !== ticket.price) {\n ticketIsDiscounted = true\n }\n\n const ticketIsFree = +ticket.price === 0\n const ticketPriceElem = isSoldOut\n ? 'SOLD OUT'\n : ticketIsFree\n ? 'FREE'\n : (CONFIGS.FEES_STYLE === FEES_STYLES.DISPLAY_BOTH ? ticketPriceWithoutFees : ticketPriceWithFees)\n const isNewGroupTicket = ticket?.groupName !== arr[i - 1]?.groupName\n\n return (\n <>\n <React.Fragment key={ticket.id || ticket.name}>\n {showGroupNameBlock && showGroup && isNewGroupTicket ? (\n <div className=\"event-detail__tier group-title\">\n {ticket.groupName || ''}\n </div>\n ) : null}\n <div className={`event-detail__tier ${isSoldOut ? 'disabled' : ''}`}>\n <div className=\"event-detail__tier-name\">\n {ticket.displayName || ticket.name}\n {ticket.descriptionRich && (\n <>\n <span\n aria-hidden\n className=\"info-icon\"\n onClick={\n descriptionTrigger === 'click'\n ? () => handleDescriptionToggle(ticket.id)\n : undefined\n }\n onMouseEnter={\n descriptionTrigger === 'hover'\n ? () => setVisibleDescription(ticket.id)\n : undefined\n }\n onMouseLeave={\n descriptionTrigger === 'hover'\n ? () => setVisibleDescription(null)\n : undefined\n }\n style={{ marginLeft: 8, cursor: 'pointer', display: \"flex\" }}\n data-tooltip-id={`tooltip-${ticket.id}`}\n data-tooltip-content=\"View ticket info\"\n >\n <InfoIcon />\n </span>\n <Tooltip id={`tooltip-${ticket.id}`} place=\"top\">\n {ticket.description || \"No description available\"}\n </Tooltip>\n </>\n )}\n </div>\n <div className=\"event-tickets-container\">\n <div className=\"event-detail__tier-price\">\n {ticketIsDiscounted && <p className=\"old-price\">{ticketOldPrice}</p>}\n <p className={isSoldOut ? 'sold-out' : ''}>{ticketPriceElem}</p>\n {!isSoldOut && !ticketIsFree && (\n <p className=\"fees\">\n {CONFIGS.FEES_STYLE === FEES_STYLES.TRADITIONAL && (ticket.feeIncluded ? '(incl. Fees)' : '(excl. Fees)')}\n {CONFIGS.FEES_STYLE === FEES_STYLES.DISPLAY_BOTH && `(${ticketPriceWithFees} with fees)`}\n </p>\n )}\n {ticket.depositPercent && (\n <p className=\"deposits\">{ticket.depositPercent + '% DEPOSIT'}</p>\n )}\n </div>\n <div className=\"event-detail__tier-state\" style={{ minWidth: 55 }}>\n <TicketRow\n tableType={true}\n ticketTier={ticket}\n prevTicketTier={arr[i - 1]}\n selectedTickets={selectedTickets}\n handleTicketSelect={ticketSelect}\n isSeatMapAllowed={isSeatMapAllowed}\n event={event}\n />\n </div>\n </div>\n {visibleDescription === ticket.id && (\n <div className=\"ticket-description\">\n <div dangerouslySetInnerHTML={{ __html: decodeHTML(ticket.descriptionRich) }} />\n </div>\n )}\n </div>\n </React.Fragment>\n </>\n )\n })}\n </>\n )\n}\n","import './style.css'\n\nimport { ThemeOptions } from '@mui/material'\nimport Alert from '@mui/material/Alert'\nimport { createTheme, ThemeProvider } from '@mui/material/styles'\nimport { CSSProperties } from '@mui/styles'\nimport axios, { AxiosError } from 'axios'\nimport _filter from 'lodash/filter'\nimport _find from 'lodash/find'\nimport _forEach from 'lodash/forEach'\nimport _get from 'lodash/get'\nimport _identity from 'lodash/identity'\nimport _includes from 'lodash/includes'\nimport _isEmpty from 'lodash/isEmpty'\nimport _some from 'lodash/some'\nimport moment from 'moment-timezone'\nimport React, { ReactNode, useEffect, useRef, useState } from 'react'\nimport Button from 'react-bootstrap/Button'\n\nimport {\n addToCart,\n getCheckoutPageConfigs,\n getEvent,\n getProfileData,\n getTickets,\n logout,\n postOnCheckout,\n} from '../../api'\nimport { getPreRegistrationInfluancers } from '../../api/preRegistrationComplete'\nimport { X_TF_ECOMMERCE } from '../../constants'\nimport { useCookieListener } from '../../hooks/useCookieListener'\nimport { useLocalStorageListener } from '../../hooks/useLocalStorageListener'\nimport { usePixel } from '../../hooks/usePixel'\nimport {\n createCheckoutDataBodyWithDefaultHolder,\n deleteCookieByName,\n getCookieByName,\n getQueryVariable,\n isBrowser,\n setLoggedUserData,\n} from '../../utils'\nimport { Loader } from '../common/index'\nimport { PoweredBy } from '../common/PoweredBy'\nimport ConfirmModal from '../confirmModal'\nimport Countdown from '../countdown'\nimport { VerificationPendingModal } from '../idVerificationContainer/VerificationPendingModal'\nimport { LoginModal } from '../loginModal'\nimport WaitingList from '../waitingList'\nimport { AccessCodeSection } from './AccessCodeSection'\nimport { PromoCodeSection } from './PromoCodeSection'\nimport { ReferralLogic } from './ReferralLogic'\nimport { TicketsSection } from './TicketsSection'\n\ninterface CartSuccess {\n skip_billing_page: boolean;\n event_id: string;\n hash?: string | number;\n total?: string | number;\n hasAddOn?: boolean;\n}\n\nexport interface IGetTickets {\n eventId: number;\n onAddToCartSuccess: (response: CartSuccess) => void;\n getTicketsLabel?: string;\n contentStyle?: React.CSSProperties;\n onAddToCartError: (e: AxiosError) => void;\n onGetTicketsSuccess: (response: any) => void;\n onGetTicketsPress: () => void;\n onGetTicketsError: (e: AxiosError) => void;\n onLogoutSuccess: () => void;\n onLogoutError: (e: AxiosError) => void;\n onGetProfileDataSuccess: (response: any) => void;\n onGetProfileDataError: (e: AxiosError) => void;\n onLoginSuccess: () => void;\n handleNotInvitedModalClose: () => void;\n handleInvalidLinkModalClose: () => void;\n theme?: 'light' | 'dark';\n queryPromoCode?: string;\n isPromotionsEnabled?: boolean;\n themeOptions?: ThemeOptions & {\n input?: CSSProperties;\n checkbox?: CSSProperties;\n };\n isAccessCodeEnabled?: boolean;\n hideSessionButtons?: boolean;\n hideWaitingList?: boolean;\n enableBillingInfoAutoCreate?: boolean;\n isButtonScrollable?: boolean;\n sortBySoldOut?: boolean;\n disableCountdownLeadingZero?: boolean;\n isLoggedIn?: boolean;\n actionsSectionComponent?: any;\n ticketsHeaderComponent?: ReactNode;\n hideTicketsHeader?: boolean;\n tableTicketsHeaderComponent?: ReactNode;\n hideTableTicketsHeader?: boolean;\n enableInfluencersSection?: boolean;\n enableAddOns?: boolean;\n ordersPath?: string;\n showPoweredByImage?: boolean;\n promoText?: string;\n showGroupNameBlock?: boolean;\n currencySybmol?: string;\n onReserveButtonClick?: () => void;\n onPendingVerification?: () => void;\n showAlertIcons?: boolean;\n}\n\nexport interface ITicket {\n id: string | number;\n [key: string]: string | number;\n}\n\ninterface IInfluencer {\n [key: string]: string | undefined;\n}\nexport interface ISelectedTickets {\n isTable: boolean;\n [key: string]: string | number | boolean;\n}\n\nexport const TicketsContainer = ({\n onLoginSuccess,\n getTicketsLabel,\n eventId,\n onAddToCartSuccess,\n contentStyle = {},\n onAddToCartError = _identity,\n onGetTicketsSuccess = _identity,\n onGetTicketsError = _identity,\n onLogoutSuccess = _identity,\n onLogoutError = _identity,\n onGetProfileDataSuccess = _identity,\n onGetProfileDataError = _identity,\n onGetTicketsPress = _identity,\n theme = 'light',\n queryPromoCode = '',\n isPromotionsEnabled = true,\n themeOptions,\n isAccessCodeEnabled = false,\n hideSessionButtons = false,\n hideWaitingList = false,\n enableBillingInfoAutoCreate = true,\n isButtonScrollable = false,\n sortBySoldOut = false,\n disableCountdownLeadingZero = false,\n isLoggedIn = false,\n actionsSectionComponent: ActionsSectionComponent,\n ticketsHeaderComponent,\n hideTicketsHeader = false,\n tableTicketsHeaderComponent,\n hideTableTicketsHeader = false,\n enableInfluencersSection = true,\n enableAddOns = true,\n handleNotInvitedModalClose = _identity,\n handleInvalidLinkModalClose = _identity,\n ordersPath,\n showPoweredByImage = false,\n promoText,\n showGroupNameBlock = false,\n currencySybmol = '',\n onReserveButtonClick = _identity,\n onPendingVerification = _identity,\n showAlertIcons = true,\n}: IGetTickets) => {\n const [selectedTickets, setSelectedTickets] = useState({} as ISelectedTickets)\n const isWindowDefined = typeof window !== 'undefined'\n const [isLogged, setIsLogged] = useState(Boolean(getCookieByName(X_TF_ECOMMERCE)))\n const [showLoginModal, setShowLoginModal] = useState(false)\n const [tickets, setTickets] = useState([] as ITicketData[])\n const [event, setEvent] = useState<any>(null)\n const [showWaitingList, setShowWaitingList] = useState(false)\n const [isLoading, setIsLoading] = useState(true)\n const [codeIsLoading, setCodeIsLoading] = useState(false)\n const [handleBookIsLoading, setHandleBookIsLoading] = useState(false)\n const [code, setCode] = useState(getQueryVariable('r') || queryPromoCode)\n const [showPromoInput, setShowPromoInput] = useState(false)\n const [codeIsApplied, setCodeIsApplied] = useState(false)\n const [codeIsInvalid, setCodeIsInvalid] = useState(false)\n const [showAccessCodeSection, setShowAccessCodeSection] = useState(isAccessCodeEnabled)\n const [showPromoCodeSection, setShowPromoCodeSection] = useState(isPromotionsEnabled)\n const [error, setError] = useState<string | null>(null)\n const [isNotInvitedError, setIsNotInvitedError] = useState('')\n const [isInvalidLinkError, setIsInvalidLinkError] = useState('')\n const [pendingVerificationMessage, setPendingVerificationMessage] = useState()\n const [preregistereds, setPreregistereds] = useState([] as Array<IInfluancerData>)\n const [ticketsNotAvailableModalOpen, setTicketsNotAvailableModalOpen] = useState(false)\n const [isPreregistred, setIsPreregisred] = useState(checkUserPreregistration())\n const ticketsContainerRef = useRef<HTMLDivElement>(null)\n const pageUrl = isBrowser ? window.location.href.split('?')[0] : ''\n useCookieListener(X_TF_ECOMMERCE, value => setIsLogged(Boolean(value)))\n useLocalStorageListener('user_data', (user: any) => {\n const isPreregistredUser = _some(preregistereds, item => item.email === user?.email)\n setIsPreregisred(isPreregistredUser)\n })\n usePixel(eventId, { pageUrl })\n\n useEffect(() => {\n window.localStorage.removeItem('extraData')\n }, [])\n\n useEffect(() => {\n if (eventId) {\n getTicketsApi()\n fetchPreregisteredsData()\n }\n }, [eventId])\n\n useEffect(() => {\n setIsPreregisred(checkUserPreregistration())\n }, [preregistereds])\n\n useEffect(() => {\n if (isLogged) {\n fetchUserData()\n .then(res => {\n window.localStorage.setItem('user_data', JSON.stringify(res))\n onGetProfileDataSuccess(res)\n })\n .catch(e => {\n if (axios.isAxiosError(e)) {\n onGetProfileDataError(e)\n }\n })\n }\n }, [isLogged])\n\n const handleLogout = async () => {\n try {\n await logout()\n onLogoutSuccess()\n if (isBrowser) {\n window.localStorage.removeItem('user_data')\n setIsLogged(false)\n const event = new window.CustomEvent('tf-logout')\n deleteCookieByName('X-TF-ECOMMERCE')\n window.document.dispatchEvent(event)\n }\n } catch (e) {\n onLogoutError(e)\n }\n }\n\n const handleExternalLogin = () => {\n setIsLogged(true)\n }\n\n const handleOnClose = () => {\n setShowLoginModal(false)\n }\n\n const handleOnLogin = () => {\n setShowLoginModal(false)\n setIsLogged(true)\n if (onLoginSuccess) {\n onLoginSuccess()\n }\n }\n\n async function getTicketsApi(isUpdateingCode?: boolean, type?: string) {\n try {\n isUpdateingCode ? setCodeIsLoading(true) : setIsLoading(true)\n const previewKey = getQueryVariable('pk') || undefined\n const response = await getTickets(eventId, code, previewKey)\n const eventResponse = await getEvent(eventId, previewKey)\n if (response.success) {\n const attributes = response?.data?.attributes\n type === 'promo' && setCodeIsApplied(attributes.ValidPromoCode)\n type === 'promo' && setCodeIsInvalid(!attributes.ValidPromoCode)\n setTickets(attributes.tickets)\n setShowWaitingList(attributes.showWaitingList)\n onGetTicketsSuccess(response.data)\n setCode('')\n setShowAccessCodeSection(attributes.is_access_code)\n setShowPromoCodeSection(attributes.isPromotionsEnabled)\n }\n if (eventResponse.success) {\n const event = eventResponse.data.attributes\n setEvent(event)\n\n if (event.country && isBrowser) {\n window.localStorage.setItem('eventCountry', event.country)\n }\n }\n } catch (e) {\n if (axios.isAxiosError(e)) {\n onGetTicketsError(e)\n setError(_get(e, 'response.data.message', ''))\n }\n } finally {\n setIsLoading(false)\n setCodeIsLoading(false)\n }\n }\n\n async function fetchPreregisteredsData() {\n try {\n const preregistrationData = await getPreRegistrationInfluancers({\n eventId,\n })\n setPreregistereds(preregistrationData.data.attributes.influencers)\n } catch (error) {\n if (axios.isAxiosError(error)) {\n setError(_get(error, 'response.data.message', ''))\n }\n }\n }\n\n const handleTicketSelect = (key: string, value: number | string, isTable = false) => {\n localStorage.setItem('selectedTicketsQuantity', value.toString())\n setSelectedTickets(prevState => {\n if (Object.keys(prevState)[0] !== key && !value) {\n return prevState\n }\n return {\n [key]: value,\n isTable,\n }\n })\n }\n\n function checkUserPreregistration() {\n const userDataString = isWindowDefined ? window.localStorage.getItem('user_data') : ''\n let isPreregistredUser = false\n if (userDataString) {\n const user = JSON.parse(userDataString)\n isPreregistredUser = _some(preregistereds, item => item.email === user?.email)\n }\n return isPreregistredUser\n }\n\n const handleOrdersClick = () => {\n if (isBrowser) {\n window.location.href = ordersPath ?? '/orders'\n }\n }\n\n const onErrorClose = () => {\n setError(null)\n }\n\n const handleBook = async () => {\n setHandleBookIsLoading(true)\n const ticket = _find(tickets, item => Number(selectedTickets[item.id]) > 0) || ({} as ITicket)\n const optionName = _get(ticket, 'optionName')\n const ticketId = _get(ticket, 'id')\n const isTableType = _get(ticket, 'isTable', false)\n const productCartQuantity = +selectedTickets[ticket.id]\n const ticketQuantity = isTableType ? 1 : +selectedTickets[ticket.id]\n\n const data: ICartRequestData = {\n attributes: {\n alternative_view_id: null,\n product_cart_quantity: productCartQuantity,\n product_options: {\n [optionName]: ticketId,\n },\n product_id: eventId,\n ticket_types: {\n [ticketId]: {\n product_options: {\n [optionName]: ticketId,\n ticket_price: ticket.price,\n },\n quantity: ticketQuantity,\n },\n },\n },\n }\n\n try {\n onGetTicketsPress()\n const result = await addToCart(eventId, data)\n const pageConfigsDataResponse = enableAddOns\n ? await getCheckoutPageConfigs()\n : {\n status: 200,\n data: { attributes: _get(result, 'data.attributes') },\n }\n\n if (result.status === 200 && pageConfigsDataResponse.status === 200) {\n const pageConfigsData = _get(pageConfigsDataResponse, 'data.attributes') || {}\n\n const skipBillingPage = pageConfigsData.skip_billing_page ?? false\n const hasAddOn = pageConfigsData.has_add_on ?? false\n const freeTicket = pageConfigsData.free_ticket ?? false\n\n let hash: string | number | undefined = ''\n let total: string | number | undefined = ''\n\n isBrowser && window.localStorage.removeItem('add_ons')\n\n if (skipBillingPage && !hasAddOn) {\n // Get user data for checkout data\n const userData =\n isBrowser && window.localStorage.getItem('user_data')\n ? JSON.parse(window.localStorage.getItem('user_data') || '')\n : {}\n\n const checkoutBody = createCheckoutDataBodyWithDefaultHolder(\n ticketQuantity,\n userData\n )\n\n const checkoutResponse = enableBillingInfoAutoCreate\n ? await postOnCheckout(checkoutBody, freeTicket)\n : null\n\n hash = checkoutResponse?.data?.attributes?.hash || ''\n total = checkoutResponse?.data?.attributes?.total || ''\n }\n\n onAddToCartSuccess({\n skip_billing_page: skipBillingPage,\n event_id: String(eventId),\n hash,\n total,\n hasAddOn,\n })\n }\n } catch (e) {\n if (e.response?.data?.data?.hasUnverifiedOrder) {\n setPendingVerificationMessage(e.response?.data?.message)\n } else if (axios.isAxiosError(e)) {\n onAddToCartError(e)\n const message = _get(e, 'response.data.message', '')\n const isInvalidLinkError = _includes(\n message,\n 'No more of this ticket type are available right now'\n )\n const isNotInvitedError = _includes(\n message,\n 'You must have been invited to this event to attend'\n )\n\n if (isInvalidLinkError) {\n setIsInvalidLinkError(message)\n } else if (isNotInvitedError) {\n setIsNotInvitedError(message)\n } else {\n setError(message)\n }\n }\n } finally {\n setHandleBookIsLoading(false)\n }\n }\n\n const updateTickets = (isUpdateingCode?: boolean, type?: string) => {\n getTicketsApi(isUpdateingCode, type)\n }\n\n const fetchUserData = async () => {\n const userDataResponse = await getProfileData()\n const profileData = _get(userDataResponse, 'data')\n const profileDataObj = setLoggedUserData(profileData)\n return profileDataObj\n }\n\n const isTicketOnSale = _some(\n tickets,\n item =>\n (item.salesStarted || event?.presalesStarted) && !item.salesEnded && !item.soldOut\n )\n\n const eventHasTickets = !_isEmpty(tickets)\n const isSalesClosed = event?.salesEnded\n\n const themeMui = createTheme(themeOptions)\n\n useEffect(() => {\n window.document.addEventListener('custom-login', handleExternalLogin)\n window.document.addEventListener('custom-logout', handleLogout)\n\n return () => {\n window.document.removeEventListener('custom-login', handleExternalLogin)\n window.document.removeEventListener('custom-logout', handleLogout)\n }\n }, [])\n\n const handleGetTicketClick = () => {\n if (\n !handleBookIsLoading &&\n !_isEmpty(selectedTickets) &&\n Object.values(selectedTickets)[0] > 0\n ) {\n handleBook()\n } else {\n if (isButtonScrollable && ticketsContainerRef && ticketsContainerRef.current) {\n ticketsContainerRef.current.scrollIntoView({\n behavior: 'smooth',\n block: 'center',\n inline: 'nearest',\n })\n }\n }\n }\n\n const handleNotAvailableTicketsClick = () => {\n if (!_isEmpty(selectedTickets)) {\n setTicketsNotAvailableModalOpen(true)\n }\n }\n\n const bookButtonIsDisabled =\n (handleBookIsLoading ||\n _isEmpty(selectedTickets) ||\n Object.values(selectedTickets)[0] === 0) &&\n !event?.flagSeatMapAllowed\n\n const isTicketAvailable = _some(\n tickets,\n ticket =>\n ticket.displayTicket &&\n !ticket.soldOut &&\n (ticket.salesStarted || (event?.presalesStarted && !event?.presalesEnded))\n )\n\n const wrappedActionsSectionComponent = React.isValidElement(ActionsSectionComponent)\n ? React.cloneElement(ActionsSectionComponent as React.ReactElement<any>, {\n handleGetTicketClick,\n isTicketOnSale,\n isTicketAvailable,\n })\n : null\n\n const externalUrl = event?.redirectUrl\n const eventSaleIsNotStarted =\n !event?.salesStarted && event?.salesStart && !isTicketAvailable\n const influencers = event?.referralsEnabled ? event?.referrals : []\n\n const canShowGetTicketBtn = () => {\n if (\n !wrappedActionsSectionComponent &&\n !eventSaleIsNotStarted &&\n isTicketOnSale &&\n !event?.salesEnded &&\n !externalUrl\n ) {\n return true\n }\n\n return false\n }\n\n const onClose = (value: string) => {\n if (value === 'notInvited') {\n handleNotInvitedModalClose()\n } else if (value === 'invalidLink') {\n handleInvalidLinkModalClose()\n }\n setIsNotInvitedError('')\n setIsInvalidLinkError('')\n }\n const hideTopInfluencers = event?.hideTopInfluencers\n const isSeatMapAllowed = _get(event, 'seatMapAllowed', false)\n const isTableMapEnabled = _get(event, 'tableMapEnabled', false)\n\n const notAvailableTicketsMessage = `Tickets for this event are not available until ${moment(\n event?.salesStart\n ).format(\n 'dddd, DD MMMM YYYY'\n )}. \\n If you pre-registered, log into your account first to buy your pre-sale ticket.`\n\n const tableTickets = _filter(tickets, (ticket: any) => ticket.isTable)\n const ordinarTickets = {} as ITicket\n _forEach(tickets, (ticket: any, key: string) => {\n if (!ticket.isTable) {\n ordinarTickets[key] = ticket\n }\n })\n return (\n <ThemeProvider theme={themeMui}>\n {!isLoading && <ReferralLogic eventId={eventId} />}\n <div className={`get-tickets-page ${theme}`} style={contentStyle}>\n {isInvalidLinkError && (\n <ConfirmModal\n message={isInvalidLinkError}\n hideCancelBtn={true}\n onClose={() => onClose('invalidLink')}\n onConfirm={() => onClose('invalidLink')}\n />\n )}\n {isNotInvitedError && (\n <ConfirmModal\n hideCancelBtn={true}\n message={isNotInvitedError}\n onClose={() => onClose('notInvited')}\n onConfirm={() => onClose('notInvited')}\n // loading={removeFromResaleLoading}\n />\n )}\n {error && (\n <Alert\n severity=\"error\"\n onClose={onErrorClose}\n variant=\"filled\"\n style={{ width: '350px' }}\n >\n {error}\n </Alert>\n )}\n {ticketsNotAvailableModalOpen && (\n <ConfirmModal\n message={notAvailableTicketsMessage}\n hideCancelBtn={true}\n onClose={() => onClose('invalidLink')}\n onConfirm={() => setTicketsNotAvailableModalOpen(false)}\n />\n )}\n {isLoading ? (\n <Loader />\n ) : (\n <div ref={ticketsContainerRef} className='tickets-section-container'>\n {!isSalesClosed && (\n <TicketsSection\n event={event}\n ticketsList={ordinarTickets}\n tableTickets={tableTickets}\n selectedTickets={selectedTickets}\n handleTicketSelect={handleTicketSelect}\n sortBySoldOut={sortBySoldOut}\n ticketsHeaderComponent={ticketsHeaderComponent}\n tableTicketsHeaderComponent={tableTicketsHeaderComponent}\n hideTableTicketsHeader={hideTableTicketsHeader || _isEmpty(tableTickets)}\n hideTicketsHeader={hideTicketsHeader || _isEmpty(ordinarTickets)}\n showGroupNameBlock={showGroupNameBlock}\n currencySybmol={currencySybmol}\n isSeatMapAllowed={isSeatMapAllowed}\n />\n )}\n {externalUrl ? null : isSalesClosed ? (\n <p\n className={`event-closed-message ${!isLoggedIn ? 'event-closed-on-bottom' : ''}`}\n >\n Sales for this event are closed.\n </p>\n ) : eventSaleIsNotStarted ? (\n <Countdown\n startDate={event.salesStart}\n timezone={event.timezone}\n title=\"Sales start in:\"\n message=\"No tickets are currently available for this event.\"\n showMessage={!eventHasTickets}\n callback={updateTickets}\n disableLeadingZero={disableCountdownLeadingZero}\n isLoggedIn={isLoggedIn}\n />\n ) : null}\n {showWaitingList && event.salesStarted && !hideWaitingList && (\n <WaitingList\n tickets={ordinarTickets}\n eventId={eventId}\n defaultMaxQuantity={event.waitingListMaxQuantity}\n />\n )}\n {codeIsLoading ? (\n <Loader />\n ) : isSalesClosed ? null : showAccessCodeSection ? (\n <AccessCodeSection\n code={code}\n setCode={setCode}\n updateTickets={updateTickets}\n />\n ) : showPromoCodeSection ? (\n <PromoCodeSection\n code={code}\n codeIsApplied={codeIsApplied}\n setCodeIsApplied={setCodeIsApplied}\n showPromoInput={showPromoInput}\n setShowPromoInput={setShowPromoInput}\n setCode={setCode}\n updateTickets={updateTickets}\n codeIsInvalid={codeIsInvalid}\n setCodeIsInvalid={setCodeIsInvalid}\n promoText={promoText}\n showAlertIcons={showAlertIcons}\n />\n ) : null}\n {wrappedActionsSectionComponent}\n {canShowGetTicketBtn() && (\n <Button\n aria-hidden={true}\n className={`book-button \n ${bookButtonIsDisabled ? 'disabled' : ''} \n ${isButtonScrollable ? 'is-scrollable' : ''}\n ${!isLoggedIn ? 'on-bottom' : ''}\n `}\n onClick={\n event?.salesStart &&\n event?.presalesStarted &&\n !event?.presalesEnded &&\n (!isPreregistred || !isLogged)\n ? handleNotAvailableTicketsClick\n : handleGetTicketClick\n }\n >\n {selectedTickets.isTable\n ? 'RESERVE TABLES'\n : getTicketsLabel || 'GET TICKETS'}\n </Button>\n )}\n {isSeatMapAllowed && !event?.salesEnded && isTicketAvailable && (\n <Button\n className=\"reserve-button\"\n aria-hidden={true}\n onClick={onReserveButtonClick}\n >\n {isTableMapEnabled ? 'Select on map' : 'Select your seats'}\n </Button>\n )}\n {isLogged && !hideSessionButtons ? (\n <div className=\"session-wrapper\">\n <span className=\"session-container\">\n <Button\n variant=\"outline-light\"\n className=\"session-buttons\"\n onClick={handleOrdersClick}\n >\n My Orders\n </Button>\n </span>\n <span className=\"session-container\">\n <Button\n variant=\"outline-light\"\n className=\"session-buttons\"\n onClick={handleLogout}\n >\n Log out\n </Button>\n </span>\n </div>\n ) : (\n ''\n )}\n </div>\n )}\n {showLoginModal ? (\n <LoginModal onClose={handleOnClose} onLogin={handleOnLogin} />\n ) : null}\n </div>\n {showPoweredByImage ? <PoweredBy /> : null}\n {enableInfluencersSection && !hideTopInfluencers && influencers.length ? (\n <div className=\"event-influencers\">\n <h3>\n <span>TOP</span> INFLUENCERS\n </h3>\n <ol className=\"influencer-list\">\n {influencers.map((influencer: IInfluencer, i: number) => (\n <li className=\"influencer-item\" key={i}>\n {`${influencer.firstName} ${influencer.lastName?.charAt(0)}`}{' '}\n </li>\n ))}\n </ol>\n </div>\n ) : null}\n <VerificationPendingModal\n message={pendingVerificationMessage}\n onClose={() => {\n onPendingVerification()\n }}\n />\n </ThemeProvider>\n )\n}\n","import _map from 'lodash/map'\nimport moment from 'moment-timezone'\nimport React from 'react'\n\nconst EventInfoItem = ({ image, name }: EventInfoTypes) => (\n <div className=\"event-info\">\n <img src={image} alt=\"event\" />\n {name}\n </div>\n)\n\nconst tableConfig = (columns?: IColumnData[], key?: string) => {\n let config\n\n if (columns?.length) {\n return {\n header: _map(columns, item => item.label),\n body: _map(columns, item => {\n if (item.component) {\n const ItemComponent = item.component\n return (row: RowItems) => ({\n columnProps: item,\n component: <ItemComponent {...row} />,\n })\n }\n\n if (item.key === 'event') {\n return (row: RowItems) => ({\n columnProps: item,\n component: <EventInfoItem image={row.image} name={row.eventName} />,\n })\n }\n\n if (item.key === 'total') {\n return (row: RowItems) => ({\n columnProps: item,\n component: row.currency + row.amount,\n })\n }\n\n return (row: RowItems) => ({\n columnProps: item,\n component: item.normalizer\n ? item.normalizer(row[item.key as keyof RowItems])\n : row[item.key as keyof RowItems],\n })\n }) as ITableBodyType[],\n }\n }\n\n switch (key) {\n default:\n config = {\n header: ['Order No.', 'Date', 'Event', 'Total'],\n body: [\n (row: RowItems) => ({\n columnProps: {} as IColumnData,\n component: row.id,\n }),\n (row: RowItems) => ({\n columnProps: {} as IColumnData,\n component: row.timezone\n ? moment.tz(row.date, row.timezone).format('DD MMMM YYYY')\n : row.date,\n }),\n (row: RowItems) => ({\n columnProps: {} as IColumnData,\n component: <EventInfoItem image={row.image} name={row.eventName} />,\n }),\n (row: RowItems) => ({\n columnProps: {} as IColumnData,\n component: row.currency + row.amount,\n }),\n ] as ITableBodyType[],\n }\n }\n return config\n}\n\nexport default tableConfig\n","import TableCell from '@mui/material/TableCell'\nimport TableRow from '@mui/material/TableRow'\nimport _get from 'lodash/get'\nimport _identity from 'lodash/identity'\nimport React from 'react'\n\nimport tableConfig from './tableConfig'\n\nconst Row = ({\n row,\n handleDetailsInfo,\n columns = [],\n hideDetailsButton,\n}: RowPropsTypes) => (\n <TableRow sx={{ '& > *': { borderBottom: 'unset' } }}>\n {tableConfig(columns).body.map((column: ITableBodyType, index: number) => (\n <TableCell\n component=\"th\"\n scope=\"row\"\n key={index}\n onClick={e => {\n const { columnProps, component }: IRowReturnType = column(row)\n const onCellClick = columnProps?.onCellClick || _identity\n const componentProps = _get(component, 'props', {})\n\n onCellClick(componentProps, e)\n }}\n >\n {column(row).component}\n </TableCell>\n ))}\n {!hideDetailsButton && (\n <TableCell component=\"th\" scope=\"row\">\n <button\n type=\"button\"\n className=\"order-details-button\"\n onClick={() => handleDetailsInfo(row.id)}\n >\n Details\n </button>\n </TableCell>\n )}\n </TableRow>\n)\n\nexport default Row\n","import './style.css'\n\nimport Autocomplete from '@mui/material/Autocomplete'\nimport CircularProgress from '@mui/material/CircularProgress'\nimport Paper from '@mui/material/Paper'\nimport Table from '@mui/material/Table'\nimport TableBody from '@mui/material/TableBody'\nimport TableCell from '@mui/material/TableCell'\nimport TableContainer from '@mui/material/TableContainer'\nimport TableHead from '@mui/material/TableHead'\nimport TablePagination from '@mui/material/TablePagination'\nimport TableRow from '@mui/material/TableRow'\nimport TextField from '@mui/material/TextField'\nimport axios from 'axios'\nimport _get from 'lodash/get'\nimport _identity from 'lodash/identity'\nimport React, { useEffect, useState } from 'react'\n\nimport { getOrders } from '../../api'\nimport { getCookieByName } from '../../utils'\nimport { LoginModal } from '../loginModal'\nimport MyTicketsRow from './row'\nimport tableConfig from './tableConfig'\n\ninterface MyTicketsTypes {\n handleDetailsInfo: (id: string | number) => void;\n onGetOrdersSuccess: (res: any) => void;\n onGetOrdersError: (err: any) => void;\n logo?: string;\n theme?: 'light' | 'dark';\n selectEventsLabel?: string;\n openLoginModal?: () => void;\n hideDetailsButton?: boolean;\n columns?: IColumnData[];\n}\n\ninterface EventFilter {\n event_name: string;\n url_name: string;\n}\n\nexport const MyTicketsContainer = ({\n handleDetailsInfo = _identity,\n onGetOrdersSuccess = _identity,\n onGetOrdersError = _identity,\n theme = 'dark',\n selectEventsLabel = 'Events',\n logo,\n hideDetailsButton = false,\n columns = [],\n openLoginModal,\n}: MyTicketsTypes) => {\n const [data, setData] = useState<any>(null)\n const [loading, setLoading] = useState(true)\n const [limit, setLimit] = useState(10)\n const [filter, setFilter] = useState('')\n\n const isWindowDefined = typeof window !== 'undefined'\n const [isLogged, setIsLogged] = useState(\n isWindowDefined ? !!getCookieByName('X-TF-ECOMMERCE') : false\n )\n const [showModalLogin, setShowModalLogin] = useState(false)\n const [userExpired, setUserExpired] = useState(false)\n\n //just once\n useEffect(() => {\n fetchData(1, limit, filter)\n }, [isLogged])\n\n const fetchData = async (page: number, limit: number, eventSlug: string) => {\n try {\n setLoading(true)\n const response = await getOrders(page, limit, eventSlug)\n onGetOrdersSuccess(response)\n\n const data = _get(response, 'data.attributes')\n data.page -= 1\n\n setData(data)\n } catch (error) {\n if (axios.isAxiosError(error)) {\n if (_get(error, 'response.data.error') === 'invalid_token') {\n if (isWindowDefined) {\n window.localStorage.removeItem('user_data')\n setUserExpired(true)\n setShowModalLogin(true)\n }\n }\n }\n onGetOrdersError(error)\n } finally {\n setLoading(false)\n }\n }\n\n const handleChangePage = (_event: any, newPage: number) => {\n fetchData(newPage + 1, limit, filter)\n }\n\n const handleChangeRowsPerPage = (event: React.ChangeEvent<HTMLInputElement>) => {\n fetchData(1, +event.target.value, filter)\n setLimit(+event.target.value)\n }\n\n const onChange = (\n _event: React.SyntheticEvent<Element, Event>,\n eventFilter: EventFilter | null\n ) => {\n fetchData(1, limit, eventFilter?.url_name || '')\n setFilter(eventFilter?.url_name || '')\n }\n\n return (\n <div className={`my-ticket ${theme}`}>\n <>\n {showModalLogin || !isLogged ? (\n openLoginModal ? (\n openLoginModal()\n ) : (\n <LoginModal\n onClose={() => {\n setShowModalLogin(false)\n }}\n onLogin={() => {\n setShowModalLogin(false)\n setUserExpired(false)\n setIsLogged(true)\n }}\n userExpired={userExpired}\n logo={logo}\n />\n )\n ) : null}\n </>\n {data?.orders?.length ? (\n <>\n <h2>My Ticket Orders</h2>\n <Autocomplete\n disablePortal\n id=\"combo-box-demo\"\n getOptionLabel={(option: EventFilter) => option.event_name}\n onChange={onChange}\n options={data.purchased_events}\n sx={{ width: 300 }}\n renderInput={params => <TextField {...params} label={selectEventsLabel} />}\n />\n {loading ? (\n <div className=\"loading\">\n <CircularProgress />\n </div>\n ) : (\n <>\n <TableContainer component={Paper} className=\"my-ticket-table\">\n <Table aria-label=\"collapsible table\">\n <TableHead>\n <TableRow>\n {tableConfig(columns).header.map(\n (column: string, index: number) => (\n <TableCell key={index}>{column}</TableCell>\n )\n )}\n {!hideDetailsButton && <TableCell />}\n </TableRow>\n </TableHead>\n <TableBody>\n {data.orders?.map((row: RowItems) => (\n <MyTicketsRow\n key={row.id}\n row={row}\n handleDetailsInfo={handleDetailsInfo}\n columns={columns}\n hideDetailsButton={hideDetailsButton}\n />\n ))}\n </TableBody>\n </Table>\n </TableContainer>\n <TablePagination\n rowsPerPageOptions={[10, 25, 100]}\n component=\"div\"\n count={data.total_count}\n rowsPerPage={limit}\n page={data.page}\n onPageChange={handleChangePage}\n onRowsPerPageChange={handleChangeRowsPerPage}\n />\n </>\n )}\n </>\n ) : (\n !loading && (\n <>\n <h2>My Ticket Orders</h2>\n <div className=\"no_orders_section\">\n <div className=\"nodata_title\">\n You have no current ticket orders on this account\n </div>\n <div className=\"nodata_subtitle\">\n Discover your next nite out <a href=\"/events\">here</a>.\n </div>\n </div>\n </>\n )\n )}\n <>\n {showModalLogin && (\n <LoginModal\n onClose={() => {\n setShowModalLogin(false)\n }}\n onLogin={() => {\n setShowModalLogin(false)\n setUserExpired(false)\n setIsLogged(true)\n }}\n userExpired={userExpired}\n />\n )}\n </>\n </div>\n )\n}\n","import React from 'react'\nimport FormGroup from '@mui/material/FormGroup'\nimport FormControlLabel from '@mui/material/FormControlLabel'\nimport Radio from '@mui/material/Radio';\nimport { FieldInputProps } from 'formik'\nimport { useTheme } from '@mui/styles'\n\nexport interface IRadioField {\n label: string | number | JSX.Element;\n field?: FieldInputProps<any>;\n}\n\ninterface IOtherProps {\n [key: string]: any;\n}\n\nexport const RadioField = ({\n label,\n field,\n theme,\n disableDropdown,\n ...rest\n}: IRadioField & IOtherProps) => {\n const customTheme: any = useTheme()\n return (\n <FormGroup>\n <FormControlLabel\n control={<Radio {...field} {...rest} />}\n label={label}\n componentsProps={{\n typography: customTheme?.checkbox\n }}\n />\n </FormGroup>\n )\n}\n","import './style.css'\n\nimport Box from '@mui/material/Box'\nimport Button from '@mui/material/Button'\nimport CircularProgress from '@mui/material/CircularProgress'\nimport Modal from '@mui/material/Modal'\nimport { Field, Form, Formik } from 'formik'\nimport React from 'react'\nimport SVG from 'react-inlinesvg'\nimport * as yup from 'yup'\n\nimport EmailSvg from '../../assets/images/email.svg'\nimport UserSvg from '../../assets/images/user.svg'\nimport { CheckboxField } from '../common/CheckboxField'\nimport { CustomField } from '../common/CustomField'\nimport { RadioField } from '../common/RadioField'\nimport { ITicketTypes } from '../orderDetailsContainer/ticketsTable'\n\ninterface Props {\n ticket: ITicketTypes;\n onClose: () => void;\n onSubmit: (values: InitialValuesTypes) => void;\n loading?: boolean;\n}\n\nexport interface InitialValuesTypes {\n to: string;\n first_name: string;\n last_name: string;\n email: string;\n confirm_email: string;\n confirm: boolean;\n}\n\nconst style: React.CSSProperties = {\n position: 'absolute',\n top: '50%',\n left: '50%',\n transform: 'translate(-50%, -50%)',\n minWidth: 480,\n backgroundColor: '#e3e3e3',\n border: '1px solid white',\n outline: 'none',\n padding: '14px',\n maxHeight: '85vh',\n overflow: 'auto'\n}\n\nconst schema = yup.object().shape({\n to: yup.string().required(),\n first_name: yup.string().when('to', {\n is: (to: string) => to === 'friend',\n then: yup.string().required('First Name is required')\n }),\n last_name: yup.string().when('to', {\n is: (to: string) => to === 'friend',\n then: yup.string().required('Last Name is required')\n }),\n email: yup.string().when('to', {\n is: (to: string) => to === 'friend',\n then: yup.string().email('Invalid email').required('Email is required')\n }),\n confirm_email: yup.string().when('to', {\n is: (to: string) => to === 'friend',\n then: yup.string().email('Invalid email').oneOf([yup.ref('email'), null], 'Emails must match').required('Confirm Email is required')\n }),\n confirm: yup.boolean().oneOf([true])\n})\n\nconst initialValues: InitialValuesTypes = {\n to: 'friend',\n first_name: '',\n last_name: '',\n email: '',\n confirm_email: '',\n confirm: false\n}\n\nexport const TicketResaleModal = ({\n ticket = {} as ITicketTypes,\n onClose = () => { },\n onSubmit = () => { },\n loading = false\n}: Props) => {\n const { hash, holder_name, event_name, currency, retain_amount_on_sale, ticket_type_is_active } = ticket\n\n return (\n <Modal\n open={true}\n onClose={onClose}\n aria-labelledby=\"modal-modal-title\"\n aria-describedby=\"modal-modal-description\"\n className='resale-modal'\n >\n <Box style={style}>\n <h3>Sell Ticket</h3>\n <div>\n <h3>Ticket Details</h3>\n <div>\n <h4>Event</h4>\n <p>{event_name}</p>\n </div>\n <div>\n <h4>Ticket Holder</h4>\n <p>{holder_name}</p>\n </div>\n <div>\n <h4>Ticket ID</h4>\n <p>{hash}</p>\n </div>\n </div>\n <div>\n <h3>Sell to Whom</h3>\n <Formik\n initialValues={initialValues}\n validationSchema={schema}\n onSubmit={onSubmit}\n >\n {({ values, isValid, dirty }) => (\n <Form>\n <div>\n <Field\n name='to'\n label='I want to sell the ticket to someone I know'\n type='radio'\n value='friend'\n component={RadioField}\n />\n {values.to === 'friend' && (\n <div className='sell-to-friend'>\n <div className='user-info-box'>\n <div className='field-box'>\n <div className='icon'>\n <SVG\n src={UserSvg}\n width='24'\n height='24'\n />\n </div>\n <Field\n name='first_name'\n label='First Name'\n type='text'\n component={CustomField}\n />\n </div>\n <div className='field-box'>\n <div className='empty-box' />\n <Field\n name='last_name'\n label='Last Name'\n type='text'\n component={CustomField}\n />\n </div>\n </div>\n <div className='email-info-box'>\n <div className='field-box'>\n <div className='icon'>\n <SVG\n src={EmailSvg}\n width='24'\n height='24'\n />\n </div>\n <Field\n name='email'\n label='Email address'\n type='text'\n component={CustomField}\n />\n </div>\n <div className='field-box'>\n <div className='empty-box' />\n <Field\n name='confirm_email'\n label='Confirm Email address'\n type='text'\n component={CustomField}\n />\n </div>\n </div>\n </div>\n )}\n </div>\n {ticket_type_is_active && (\n <div>\n <Field\n name=\"to\"\n label=\"I will sell my ticket to anyone who wants to buy it\"\n type=\"radio\"\n value=\"anyone\"\n component={RadioField}\n />\n </div>\n )}\n <div>\n <h4>Terms of Resale</h4>\n <p>I confirm that I want to sell this ticket and that, if someone chooses to buy it, I will no longer own it or have the right to ask for it back.</p>\n <p>I also understand that, if no one chooses to buy it, it remains my property, is valid for entry to <strong>{event_name}</strong> and I will not receive any refund.</p>\n <p>If my ticket is sold, the original card I used to buy my ticket will be refunded with the original amount paid, minus a small handling fee of <strong>{`${currency ?? ''} ${retain_amount_on_sale ?? '0'}`}</strong>, and that any existing refunds due to me for referring sales for this event are no longer valid.</p>\n <Field\n name='confirm'\n label='I agree'\n type='checkbox'\n component={CheckboxField}\n />\n </div>\n <div className=\"resale-action-button\">\n <Button\n type=\"submit\"\n disabled={!(isValid && dirty)}\n >\n {loading ? <CircularProgress size=\"22px\" /> : 'Sell Ticket'}\n </Button>\n </div>\n </Form>\n )}\n </Formik>\n </div>\n </Box>\n </Modal>\n )\n}\n","import { Field, Form, Formik, FormikProps } from 'formik'\nimport _identity from 'lodash/identity'\nimport React from 'react'\n\nimport { fieldDataAdapter } from '../../adapters/customFields'\nimport {\n getFieldComponent,\n getFieldLabel,\n getValidateFunctions,\n} from '../billing-info-container/utils'\nimport { CustomFieldTypes } from './index'\n\ninterface HolderCustomFieldsProps {\n initialValues: { [key: string]: any };\n fields: Array<CustomFieldTypes>;\n handleFormSubmit?: (values: Record<string, any>) => void;\n handleFormClose?: () => void;\n}\n\nconst CustomFieldsForm = ({\n initialValues = {},\n fields = [],\n handleFormSubmit = _identity,\n handleFormClose = _identity,\n}: HolderCustomFieldsProps) => (\n <Formik\n initialValues={initialValues}\n onSubmit={values => handleFormSubmit(values)}\n enableReinitialize={true}\n >\n {(props: FormikProps<any>) => (\n <Form>\n <div className=\"updatable-custom-fields\">\n {fields.map((customField: CustomFieldTypes) => {\n const adaptedCustomField = fieldDataAdapter(customField)\n return (\n <Field\n key={customField.id}\n name={customField.name}\n label={getFieldLabel(customField)}\n component={getFieldComponent(adaptedCustomField)}\n validate={getValidateFunctions(\n customField,\n [],\n props.values,\n props.errors\n )}\n isMultiple={adaptedCustomField.isMultiple}\n radios={adaptedCustomField.radios}\n options={adaptedCustomField.options}\n />\n )\n })}\n </div>\n <div className=\"buttons-block\">\n <button\n className=\"cancel-btn\"\n type=\"button\"\n onClick={() => {\n props.resetForm()\n handleFormClose()\n }}\n >\n Cancel\n </button>\n <button className=\"submit-btn\" type=\"submit\">\n Update ticket\n </button>\n </div>\n </Form>\n )}\n </Formik>\n)\n\nexport { CustomFieldsForm }\n","import _isArray from 'lodash/isArray'\nimport _isEmpty from 'lodash/isEmpty'\n\nimport { CustomFieldOption, CustomFieldTypes } from '../index'\n\nconst getLabelForValue = (options: CustomFieldOption[], value: string | string[]): string => {\n const getLabel = (singleValue: string) => {\n const option = options.find(option => option.value === singleValue)\n return option ? option.name : ''\n }\n\n if (_isArray(value)) {\n const labels = value.map(getLabel)\n return labels.join(', ')\n }\n\n return getLabel(value as string)\n}\n\nexport const renderCustomFieldValue = (customField: CustomFieldTypes) => {\n if (customField.type === 'checkbox') {\n return customField.value ? 'Checked' : 'Unchecked'\n }\n\n if (_isEmpty(customField.value)) {\n return 'N/A'\n }\n\n if (customField.type === 'select' || customField.type === 'select_multi' || customField.type === 'radio') {\n return getLabelForValue(customField.options as CustomFieldOption[], customField.value)\n }\n\n return customField.value\n}\n\nexport const isFieldUpdatable = (field: CustomFieldTypes): boolean => {\n if (!field?.settings?.allowUpdate || (field?.type === 'checkbox' && field?.required)) {\n return false\n }\n return true\n}\n\nexport const createCustomFieldsUpdateBody = (\n updatedValues: Record<string, any>,\n notUpdatableCustomFieldsValues: Array<CustomFieldTypes> = []\n) =>\n notUpdatableCustomFieldsValues.reduce(\n (acc, customField) => {\n if (!isFieldUpdatable(customField)) {\n acc[customField.name] = customField.value\n }\n return acc\n },\n { ...updatedValues }\n )\n","import _identity from 'lodash/identity'\nimport _isEmpty from 'lodash/isEmpty'\nimport React, { useMemo, useState } from 'react'\nimport SVG from 'react-inlinesvg'\n\nimport EditSvg from '../../assets/images/edit.svg'\nimport { CustomFieldsForm } from './CustomFieldsForm'\nimport { CustomFieldTypes } from './index'\nimport { ITicketTypes } from './ticketsTable'\nimport {\n createCustomFieldsUpdateBody,\n isFieldUpdatable,\n renderCustomFieldValue,\n} from './utils'\n\ninterface HolderCustomFieldsProps {\n ticket: ITicketTypes;\n holderCustomFields: CustomFieldTypes[];\n handleTicketHoldersUpdate: (values: Record<string, any>, ticketHash: string) => void;\n}\n\nconst TicketHolderCustomFields = ({\n ticket,\n holderCustomFields,\n handleTicketHoldersUpdate = _identity,\n}: HolderCustomFieldsProps) => {\n const [showHolderCustomFieldsSection, setShowHolderCustomFieldsSection] =\n useState(false)\n\n const [allowedHolderCustomFields, notAllowedHolderCustomFields] = useMemo(() => {\n const allowedFields: CustomFieldTypes[] = []\n const notAllowedFields: CustomFieldTypes[] = []\n\n holderCustomFields.forEach((field: CustomFieldTypes) => {\n if (isFieldUpdatable(field)) {\n allowedFields.push(field)\n } else {\n notAllowedFields.push(field)\n }\n })\n return [allowedFields, notAllowedFields]\n }, [holderCustomFields])\n\n const holderEditableFieldsFormInitialValues = useMemo(\n () => getHolderCustomFieldsInitialValues(holderCustomFields),\n [holderCustomFields]\n )\n\n const handleFormClose = () => {\n setShowHolderCustomFieldsSection(false)\n }\n\n const handleForSubmit = (values: Record<string, any>) => {\n // Collect all updatable and non updatable values for bulk update\n const fullUpdatableValues = createCustomFieldsUpdateBody(\n values,\n notAllowedHolderCustomFields\n )\n setShowHolderCustomFieldsSection(false)\n handleTicketHoldersUpdate(fullUpdatableValues, ticket.hash)\n }\n\n function getHolderCustomFieldsInitialValues(fields: Array<CustomFieldTypes>) {\n const initialValues: { [key: string]: string | boolean | string[] } = {}\n\n for (const field of fields) {\n if (isFieldUpdatable(field)) {\n initialValues[field.name] =\n field.type === 'checkbox' ? Boolean(field.value) : field.value || ''\n }\n }\n return initialValues\n }\n\n return (\n <>\n <div className=\"holder-custom-fields\">\n {!_isEmpty(allowedHolderCustomFields) && <SVG src={EditSvg} onClick={() => setShowHolderCustomFieldsSection(true)} />}\n {holderCustomFields.map((customField: CustomFieldTypes) => (\n <div className=\"info-item\" key={customField.id}>\n <b>{customField.label} :</b> {renderCustomFieldValue(customField)}\n </div>\n ))}\n </div>\n {showHolderCustomFieldsSection && (\n <div className=\"custom-fields-block show\">\n <p className=\"editable-ticket-id\">Edit ticket {ticket.hash}</p>\n <CustomFieldsForm\n initialValues={holderEditableFieldsFormInitialValues}\n fields={allowedHolderCustomFields}\n handleFormSubmit={handleForSubmit}\n handleFormClose={handleFormClose}\n />\n </div>\n )}\n </>\n )\n}\n\nexport { TicketHolderCustomFields }\n","import CircularProgress from '@mui/material/CircularProgress'\nimport Paper from '@mui/material/Paper'\nimport Table from '@mui/material/Table'\nimport TableBody from '@mui/material/TableBody'\nimport TableCell from '@mui/material/TableCell'\nimport TableContainer from '@mui/material/TableContainer'\nimport TableHead from '@mui/material/TableHead'\nimport TableRow from '@mui/material/TableRow'\nimport _identity from 'lodash/identity'\nimport _isEmpty from 'lodash/isEmpty'\nimport _map from 'lodash/map'\nimport React, { Fragment, useState } from 'react'\n\nimport { downloadPDF } from '../../utils'\nimport SnackbarAlert from '../common/SnackbarAlert'\nimport { CustomFieldTypes } from './index'\nimport { TicketHolderCustomFields } from './TicketHolderCustomFields'\n\ninterface IAddOnTypes {\n name: string;\n groupName: string;\n status: string;\n}\n\nexport interface ITicketTypes {\n add_ons?: IAddOnTypes[];\n hash: string;\n ticket_type: string;\n holder_name: string;\n status: string;\n pdf_link: string;\n is_sellable: boolean;\n is_on_sale?: boolean;\n event_name: string;\n currency: string;\n ticket_type_hash: string;\n ticket_type_is_active?: boolean;\n canSellTicket?: boolean;\n retain_amount_on_sale: number | string;\n ticketsTitle: string;\n}\n\nexport interface IActionColumns {\n download?: boolean;\n sell_ticket?: boolean;\n}\n\ninterface TicketsTableTypes {\n canSellTicket?: boolean;\n tickets: ITicketTypes[];\n columns: Array<{\n id?: string | number;\n key: keyof ITicketTypes & keyof IActionColumns;\n label: string | number | null | undefined;\n }>;\n handleSellTicket: (ticket: ITicketTypes) => void;\n handleRemoveFromResale: (ticket: ITicketTypes) => void;\n handleTicketHoldersUpdate: (values: Record<string, any>, ticketHash: string) => void;\n\n icon?: string;\n displayColumnNameInRow?: boolean;\n ticketsTitle?: string;\n ticketHoldersCustomFields?: Array<CustomFieldTypes>;\n}\n\ntype PdfDownload = {\n hash: string;\n loading: boolean;\n}\n\nconst TicketsTable = ({\n tickets = [],\n columns = [],\n icon = '',\n displayColumnNameInRow = false,\n canSellTicket = true,\n ticketsTitle = 'Your Tickets',\n ticketHoldersCustomFields = [],\n handleSellTicket = _identity,\n handleRemoveFromResale = _identity,\n handleTicketHoldersUpdate = _identity,\n}: TicketsTableTypes) => {\n const [pdfError, setPdfError] = useState<string | null>(null)\n const [pdfDownload, setPdfDownload] = useState<PdfDownload>({\n hash: '',\n loading: false,\n })\n\n const getRow = (ticket: ITicketTypes) =>\n _map(columns, (column, columnIndex) => {\n if (column.key === 'download') {\n const ticketIsDownloading =\n pdfDownload.loading && pdfDownload.hash === ticket.hash\n\n if (!ticket.pdf_link || ticket.status === 'Sold' || ticket.is_on_sale)\n return <TableCell key={columnIndex}>{null}</TableCell>\n\n return (\n <TableCell key={columnIndex}>\n {Boolean(icon) && <img src={icon} alt=\"nodata\" />}\n <span\n aria-hidden={true}\n className=\"action-button\"\n onClick={async () => {\n if (ticketIsDownloading) {\n return\n }\n\n setPdfDownload({ hash: ticket.hash, loading: true })\n try {\n const pdfDownloadError = await downloadPDF(ticket.pdf_link)\n if (pdfDownloadError) {\n setPdfError(pdfDownloadError?.message)\n }\n } catch (err) {\n if (err && typeof err === 'string') {\n setPdfError(err)\n }\n } finally {\n setPdfDownload({ hash: '', loading: false })\n }\n }}\n >\n {ticketIsDownloading ? <CircularProgress size=\"22px\" /> : 'Download'}\n </span>\n </TableCell>\n )\n }\n\n if (column.key === 'sell_ticket') {\n return (\n <TableCell key={columnIndex}>\n {ticket.is_sellable && canSellTicket && (\n <span\n aria-hidden={true}\n className=\"action-button\"\n onClick={() => handleSellTicket(ticket)}\n >\n Sell Ticket\n </span>\n )}\n {ticket.is_on_sale && (\n <span\n aria-hidden={true}\n className=\"action-button\"\n onClick={() => handleRemoveFromResale(ticket)}\n >\n Remove from Resale\n </span>\n )}\n </TableCell>\n )\n }\n\n return displayColumnNameInRow ? (\n <TableCell key={columnIndex}>\n <div className=\"cell-block\">\n <span>{column.label}</span>\n <span>{ticket[column.key]}</span>\n </div>\n </TableCell>\n ) : (\n <TableCell key={columnIndex}>\n <div className=\"cell-block\">\n <span>{ticket[column.key]}</span>\n </div>\n </TableCell>\n )\n })\n\n return (\n <div className=\"tickets-box\">\n <SnackbarAlert\n type=\"error\"\n isOpen={!!pdfError}\n message={pdfError || ''}\n onClose={() => setPdfError(null)}\n />\n <h4 className=\"sub-title tickets-title\">{ticketsTitle}</h4>\n <TableContainer component={Paper}>\n <Table aria-label=\"collapsible table\">\n {displayColumnNameInRow ? null : (\n <TableHead>\n <TableRow>\n {_map(columns, item => (\n <TableCell key={item.key}>{item.label || ''}</TableCell>\n ))}\n </TableRow>\n </TableHead>\n )}\n <TableBody>\n {tickets.map((ticket: ITicketTypes, index: number) => {\n const holderCustomFields = ticketHoldersCustomFields.filter(\n (field: CustomFieldTypes) => field?.ticketHash === ticket?.hash\n )\n\n return (\n <Fragment key={index}>\n <TableRow>{getRow(ticket)}</TableRow>\n {!_isEmpty(holderCustomFields) && (\n <TableRow>\n <TableCell colSpan={columns.length}>\n <TicketHolderCustomFields\n ticket={ticket}\n holderCustomFields={holderCustomFields}\n handleTicketHoldersUpdate={handleTicketHoldersUpdate}\n />\n </TableCell>\n </TableRow>\n )}\n {!!ticket.add_ons?.length && (\n <TableRow>\n <TableCell colSpan={6}>\n <Table className=\"ticket-add-on-table\">\n <TableHead>\n <TableRow>\n <TableCell>Add-On</TableCell>\n <TableCell>Status</TableCell>\n </TableRow>\n </TableHead>\n <TableBody>\n {ticket.add_ons.map((add_on: IAddOnTypes, index: number) => (\n <TableRow key={index}>\n <TableCell>\n {add_on.groupName && `${add_on.groupName}: `}{' '}\n {add_on.name}\n </TableCell>\n <TableCell>{add_on.status}</TableCell>\n </TableRow>\n ))}\n </TableBody>\n </Table>\n </TableCell>\n </TableRow>\n )}\n </Fragment>\n )\n })}\n </TableBody>\n </Table>\n </TableContainer>\n </div>\n )\n}\n\nexport default TicketsTable\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport './style.css'\n\nimport { ThemeOptions } from \"@mui/material\"\nimport Paper from '@mui/material/Paper'\nimport { createTheme, ThemeProvider } from \"@mui/material/styles\"\nimport Table from '@mui/material/Table'\nimport TableBody from '@mui/material/TableBody'\nimport TableCell from '@mui/material/TableCell'\nimport TableContainer from '@mui/material/TableContainer'\nimport TableHead from '@mui/material/TableHead'\nimport TableRow from '@mui/material/TableRow'\nimport { CSSProperties } from \"@mui/styles\"\nimport _find from 'lodash/find'\nimport _get from 'lodash/get'\nimport _has from 'lodash/has'\nimport _identity from 'lodash/identity'\nimport _isEmpty from 'lodash/isEmpty'\nimport _map from 'lodash/map'\nimport moment from 'moment-timezone'\nimport React, { useEffect, useMemo, useState } from 'react'\nimport SVG from 'react-inlinesvg'\n\nimport {\n getOrderDetails,\n removeFromResale,\n resaleTicket,\n updateOrderCustomFields,\n updateTicketHoldersCustomFields,\n} from '../../api'\nimport EditSvg from '../../assets/images/edit.svg'\nimport { isBrowser } from '../../utils'\nimport ConfirmModal from '../confirmModal'\nimport { InitialValuesTypes, TicketResaleModal } from '../ticketResaleModal'\nimport { CustomFieldsForm } from './CustomFieldsForm'\nimport TicketsTable, { IActionColumns, ITicketTypes } from './ticketsTable'\nimport { isFieldUpdatable, renderCustomFieldValue } from './utils'\n\ninterface TicketTypes {\n currency: string;\n discount: string;\n name: string;\n price: string;\n quantity: string;\n total: string;\n groupName: string;\n guests_count: string;\n deposit_paid: string;\n remaining: string;\n}\n\ninterface OrderDetailsTypes {\n columns: Array<{ label: string }>;\n onGetOrdersSuccess: (res: any) => void;\n onGetOrdersError: (err: any) => void;\n onReturnButtonClick: (data: any) => void;\n onRemoveFromResaleSuccess: () => void;\n onRemoveFromResaleError: (err: any) => void;\n onResaleTicketSuccess: () => void;\n onResaleTicketError: (err: any) => void;\n onUpdateOrderCustomFieldsSuccess: (val: any) => void;\n onUpdateOrderCustomFieldsError: (err: any) => void;\n onUpdateTicketHolderCustomFieldsSuccess: (val: any) => void;\n onUpdateTicketHolderCustomFieldsError: (err: any) => void;\n personalLinkIcon?: string;\n displayColumnNameInRow?: boolean;\n canSellTicket?: boolean;\n themeOptions?: ThemeOptions & {\n input?: CSSProperties;\n checkbox?: CSSProperties;\n };\n ticketsTableColumns?: Array<{\n id?: string | number;\n key: keyof ITicketTypes & keyof IActionColumns;\n label: string | number | null | undefined;\n }>;\n ordersPath?: string;\n orderId?: string | number;\n referralTitle?: string;\n itemsTitle?: string;\n ticketsTitle?: string;\n}\n\nexport interface CustomFieldOption {\n id: string;\n name: string;\n value: string;\n order: string;\n}\n\nexport interface CustomFieldTypes {\n description: string;\n enabled: string;\n id: string;\n label: string;\n name: string;\n orderId: string;\n required: boolean;\n settings: {\n showOnMyTickets: boolean;\n allowUpdate: boolean;\n className: string;\n };\n type: string;\n value: string | Array<string>;\n\n ticketHash?: string;\n options?: CustomFieldOption[];\n}\n\nconst getTotal = (data: any) => {\n if (data?.total && data?.tickets && data.tickets[0]?.currency)\n return data.tickets[0].currency + data.total\n if (!data?.total || !_has(data, 'items.ticket_types.length')) return ''\n\n return data.items.ticket_types[0].currency + data.total\n}\n\nexport const OrderDetailsContainer = ({\n columns = [],\n onGetOrdersSuccess = _identity,\n onGetOrdersError = _identity,\n onRemoveFromResaleSuccess = _identity,\n onRemoveFromResaleError = _identity,\n onResaleTicketSuccess = _identity,\n onResaleTicketError = _identity,\n onUpdateOrderCustomFieldsSuccess = _identity,\n onUpdateOrderCustomFieldsError = _identity,\n onUpdateTicketHolderCustomFieldsSuccess = _identity,\n onUpdateTicketHolderCustomFieldsError = _identity,\n onReturnButtonClick,\n personalLinkIcon = '',\n displayColumnNameInRow = false,\n canSellTicket = true,\n ticketsTableColumns,\n ordersPath,\n orderId: pOrderId,\n referralTitle = '',\n itemsTitle = '',\n ticketsTitle = 'Your Tickets',\n themeOptions,\n}: OrderDetailsTypes) => {\n const [data, setData] = useState<any>({})\n const [removeFromResaleLoading, setRemoveFromResaleLoading] = useState(false)\n const [resaleTicketLoading, setResaleTicketLoading] = useState(false)\n const [showResaleModal, setShowResaleModal] = useState(false)\n const [showRemoveResaleModal, setShowRemoveResaleModal] = useState(false)\n const [activeTicket, setActiveTicket] = useState<any>(null)\n const [showOrderCustomFieldsSection, setShowOrderCustomFieldsSection] = useState(false)\n\n const isTable = _get(data, 'tickets[0].is_table', false)\n const columnsProps = isTable\n ? [\n { label: 'Items' },\n { label: 'Price' },\n { label: 'Guests count' },\n { label: 'Deposit paid' },\n { label: 'Remaining' },\n ]\n : columns\n const ticketHoldersCustomFields = _get(data, 'ticket_data_capture', [])\n\n const orderCustomFields = _get(data, 'data_capture', [])\n const [orderUpdatableCustomFields, orderNotUpdatableCustomFields] = useMemo(() => {\n const allowedFields: CustomFieldTypes[] = []\n const notAllowedFields: CustomFieldTypes[] = []\n\n orderCustomFields.forEach((field: CustomFieldTypes) => {\n if (isFieldUpdatable(field)) {\n allowedFields.push(field)\n } else {\n notAllowedFields.push(field)\n }\n })\n return [allowedFields, notAllowedFields]\n }, [orderCustomFields])\n const orderEditableFieldsFormInitialValues = useMemo(() => {\n const initialValues = orderUpdatableCustomFields.map((field: CustomFieldTypes) => [\n field.name,\n field.type === 'checkbox' ? Boolean(field.value) : field.value || '',\n ])\n return Object.fromEntries(initialValues)\n }, [orderUpdatableCustomFields])\n\n let orderId = String(pOrderId) || ''\n if (isBrowser && !pOrderId) {\n const params: URLSearchParams = new URL(`${window.location}`).searchParams\n orderId = params.get('o') || ''\n }\n\n let orderSummery = `ID ${data.id}, placed`\n if (data.date && data.timezone) {\n const date = moment.tz(data.date, data.timezone).format('dddd, DD MMMM YYYY')\n orderSummery += ` ${date}`\n }\n\n useEffect(() => {\n (async () => {\n try {\n let orderId = pOrderId || ''\n if (isBrowser && !pOrderId) {\n const params: URLSearchParams = new URL(`${window.location}`).searchParams\n orderId = params.get('o') || ''\n }\n const response = await getOrderDetails(String(orderId))\n onGetOrdersSuccess(response)\n\n const data = _get(response, 'data.attributes')\n setData(data)\n } catch (error) {\n onGetOrdersError(error)\n }\n })()\n }, [])\n\n const handleSellTicket = (ticket: ITicketTypes) => {\n const ticketTypesArr = data.items.ticket_types\n const sellTicketType = _find(\n ticketTypesArr,\n ticketType => ticketType.hash === ticket.ticket_type_hash\n )\n setActiveTicket({\n ...ticket,\n ticket_type_is_active: sellTicketType?.active,\n })\n setShowResaleModal(true)\n }\n\n const handleOnClose = () => {\n setShowResaleModal(false)\n setActiveTicket(null)\n }\n\n const handleOnSubmit = async (values: InitialValuesTypes) => {\n if (resaleTicketLoading) {\n return\n }\n\n try {\n setResaleTicketLoading(true)\n const { to, first_name, last_name, email, confirm_email, confirm } = values\n const formData = new FormData()\n formData.append('to', to)\n formData.append('first_name', first_name)\n formData.append('last_name', last_name)\n formData.append('email', email)\n formData.append('confirm_email', confirm_email)\n formData.append('confirm', String(confirm))\n\n await resaleTicket(formData, activeTicket.hash)\n const response = await getOrderDetails(orderId)\n onGetOrdersSuccess(response)\n\n const data = _get(response, 'data.attributes')\n const updatedData = { ...data }\n updatedData?.tickets?.forEach((ticket: ITicketTypes) => {\n if (ticket.hash === activeTicket.hash) {\n ticket.is_sellable = false\n ticket.is_on_sale = true\n }\n })\n\n setData(updatedData)\n onResaleTicketSuccess()\n } catch (error) {\n onResaleTicketError(error)\n } finally {\n setShowResaleModal(false)\n setResaleTicketLoading(false)\n }\n }\n\n const handleRemoveFromResale = (ticket: ITicketTypes) => {\n setShowRemoveResaleModal(true)\n setActiveTicket(ticket)\n }\n\n const onCloseRemoveResale = () => {\n setShowRemoveResaleModal(false)\n setActiveTicket(null)\n }\n\n const onConfirmRemoveResale = async () => {\n if (removeFromResaleLoading) {\n return\n }\n\n try {\n setRemoveFromResaleLoading(true)\n await removeFromResale(activeTicket.hash)\n const response = await getOrderDetails(orderId)\n onGetOrdersSuccess(response)\n\n const data = _get(response, 'data.attributes')\n const updatedData = { ...data }\n updatedData?.tickets?.forEach((ticket: ITicketTypes) => {\n if (ticket.hash === activeTicket.hash) {\n ticket.is_sellable = true\n ticket.is_on_sale = false\n }\n })\n\n setData(updatedData)\n onRemoveFromResaleSuccess()\n } catch (error) {\n onRemoveFromResaleError(error)\n } finally {\n setShowRemoveResaleModal(false)\n setRemoveFromResaleLoading(false)\n }\n }\n\n const handleOrderCustomFieldsUpdate = async (values: Record<string, any>) => {\n setShowOrderCustomFieldsSection(false)\n try {\n // Collect all updatable and non updatable values for bulk update\n const fullUpdatableValues = orderNotUpdatableCustomFields.reduce(\n (acc, customField) => {\n acc[customField.name] = customField.value\n return acc\n },\n { ...values }\n )\n const eventId = _get(data, 'event_id')\n const response = await updateOrderCustomFields(\n eventId,\n orderId,\n fullUpdatableValues\n )\n const updatedCustomFields = _get(response, 'data.data.attributes', [])\n\n setData((prevState: Record<string, any>) => ({\n ...prevState,\n data_capture: updatedCustomFields,\n }))\n onUpdateOrderCustomFieldsSuccess(response)\n } catch (error) {\n onUpdateOrderCustomFieldsError(error)\n }\n }\n\n const handleTicketHoldersUpdate = async (\n values: Record<string, any>,\n ticketHash: string\n ) => {\n try {\n const eventId = _get(data, 'event_id')\n const response = await updateTicketHoldersCustomFields(eventId, values, ticketHash)\n const updatedFields = _get(response, 'data.data.attributes', [])\n const notUpdatedFields = ticketHoldersCustomFields.filter(\n (field: CustomFieldTypes) => field.ticketHash !== ticketHash\n )\n\n setData((prevState: Record<string, any>) => ({\n ...prevState,\n ticket_data_capture: [...updatedFields, ...notUpdatedFields],\n }))\n onUpdateTicketHolderCustomFieldsSuccess(response)\n } catch (error) {\n onUpdateTicketHolderCustomFieldsError(error)\n }\n }\n\n const theme = createTheme(themeOptions ?? {})\n\n return (\n <ThemeProvider theme={theme}>\n <div className=\"order-details\">\n <div className=\"layout-block\">\n <h1 className=\"layout-title\">Order Details</h1>\n {!_isEmpty(orderUpdatableCustomFields) && (\n <SVG src={EditSvg} onClick={() => setShowOrderCustomFieldsSection(true)}/>\n )}\n </div>\n <div className=\"order-summary-box\">\n <div className=\"summary-block\">\n <div className=\"summary-item\">\n <h6 className=\"sub-title\">Order Summary</h6>\n <p className=\"order-summary-date\">{orderSummery}</p>\n </div>\n <div className=\"summary-item\">\n <div className=\"return-button-container\">\n <button\n type=\"button\"\n className=\"return-button\"\n onClick={() => {\n if (isBrowser) {\n window.location.assign(ordersPath ?? '/orders')\n }\n }}\n >\n Back to Orders\n </button>\n </div>\n </div>\n </div>\n {!_isEmpty(orderCustomFields) && (\n <>\n <div className=\"custom-field-value-container\">\n {orderCustomFields.map((customField: CustomFieldTypes) => (\n <div className=\"info-item\" key={customField.id}>\n <b>{customField.label} :</b> {renderCustomFieldValue(customField)}\n </div>\n ))}\n </div>\n {!_isEmpty(orderUpdatableCustomFields) && (\n <div\n className={`custom-fields-block ${\n showOrderCustomFieldsSection ? 'show' : ''\n }`}\n >\n <p className=\"title\">Aditional Information Request</p>\n <CustomFieldsForm\n initialValues={orderEditableFieldsFormInitialValues}\n fields={orderUpdatableCustomFields}\n handleFormSubmit={handleOrderCustomFieldsUpdate}\n handleFormClose={() => setShowOrderCustomFieldsSection(false)}\n />\n </div>\n )}\n </>\n )}\n {!data?.disable_referral && (\n <>\n {referralTitle && (\n <h4 className=\"referral-title sub-title\">{referralTitle}</h4>\n )}\n <div className=\"personal-link\">\n <div className=\"link-item\">\n <span>Personal Share Link: </span>\n <a href={data?.personal_share_link} target=\"_blank\" rel=\"noreferrer\">\n {Boolean(personalLinkIcon) && <img src={personalLinkIcon} alt=\"Icon\"/>}\n {data?.personal_share_link}\n </a>\n </div>\n {data?.sales_referred ? (\n <div className=\"link-item\">\n <p className=\"total-referrer\">{`So far, you’ve referred ${data.sales_referred} tickets`}</p>\n </div>\n ) : null}\n </div>\n </>\n )}\n {itemsTitle && <h4 className=\"items-title sub-title\">{itemsTitle}</h4>}\n <TableContainer component={Paper}>\n <Table className=\"tt-type\" aria-label=\"collapsible table\">\n <TableHead>\n <TableRow>\n {_map(columnsProps, item => (\n <TableCell>{item.label || ''}</TableCell>\n ))}\n </TableRow>\n </TableHead>\n <TableBody>\n {data?.items?.ticket_types?.map((ticket: TicketTypes, index: number) =>\n data?.tickets && !data?.tickets[0].is_table ? (\n <TableRow key={index}>\n <TableCell>\n <b>Ticket Type:</b> {ticket.name}\n </TableCell>\n <TableCell>{ticket.currency + ticket.price}</TableCell>\n <TableCell>{ticket.quantity}</TableCell>\n <TableCell>{ticket.currency + ticket.total}</TableCell>\n </TableRow>\n ) : (\n <TableRow key={index}>\n <TableCell>\n <b>Ticket Type:</b> {ticket.name}\n </TableCell>\n <TableCell>{ticket.currency + ticket.price}</TableCell>\n <TableCell>{ticket.guests_count}</TableCell>\n <TableCell>{ticket.deposit_paid}</TableCell>\n <TableCell>{ticket.remaining}</TableCell>\n </TableRow>\n )\n )}\n {data?.items?.add_ons?.map((ticket: TicketTypes, index: number) => (\n <TableRow key={index}>\n <TableCell>\n <div>\n <b>Add-On</b>\n <div>\n {ticket.groupName && `${ticket.groupName}: `} {ticket.name}\n </div>\n </div>\n </TableCell>\n <TableCell>{ticket.currency + ticket.price}</TableCell>\n <TableCell>{ticket.quantity}</TableCell>\n <TableCell>{ticket.currency + ticket.total}</TableCell>\n </TableRow>\n ))}\n <TableRow className=\"total-row\">\n <TableCell/>\n <TableCell/>\n <TableCell>Total</TableCell>\n <TableCell>{getTotal(data)}</TableCell>\n </TableRow>\n </TableBody>\n </Table>\n </TableContainer>\n </div>\n <TicketsTable\n ticketsTitle={ticketsTitle}\n tickets={data.tickets}\n columns={\n ticketsTableColumns?.length\n ? ticketsTableColumns\n : [\n { key: 'hash' as never, label: 'Ticket ID' },\n { key: 'ticket_type' as never, label: 'Ticket Type' },\n { key: 'holder_name' as never, label: 'Ticket Holder' },\n { key: 'status' as never, label: 'Status' },\n { key: 'download' as never, label: '' },\n { key: 'sell_ticket' as never, label: '' },\n ]\n }\n handleSellTicket={handleSellTicket}\n handleRemoveFromResale={handleRemoveFromResale}\n displayColumnNameInRow={displayColumnNameInRow}\n canSellTicket={canSellTicket}\n ticketHoldersCustomFields={ticketHoldersCustomFields}\n handleTicketHoldersUpdate={handleTicketHoldersUpdate}\n />\n <div className=\"return-button-container\">\n <button\n type=\"button\"\n className=\"return-button\"\n onClick={() => {\n if (onReturnButtonClick) {\n onReturnButtonClick(data)\n } else if (isBrowser) {\n window.location.assign(ordersPath ?? '/orders')\n }\n }}\n >\n Return to Order History\n </button>\n </div>\n {showResaleModal && (\n <TicketResaleModal\n ticket={activeTicket}\n onClose={handleOnClose}\n onSubmit={handleOnSubmit}\n loading={resaleTicketLoading}\n />\n )}\n {showRemoveResaleModal && (\n <ConfirmModal\n message=\"Are you sure you want to withdraw your ticket from resale?\"\n onClose={onCloseRemoveResale}\n onConfirm={onConfirmRemoveResale}\n loading={removeFromResaleLoading}\n />\n )}\n </div>\n </ThemeProvider>\n )\n}\n","import React, { FC, useState } from 'react'\nimport { Field, Form, Formik } from 'formik'\nimport { CircularProgress } from '@mui/material'\nimport { CustomField } from '../common/CustomField'\nimport axios, { AxiosError } from 'axios'\nimport * as Yup from 'yup'\nimport { resetPassword } from '../../api'\nimport './style.css'\n\ninterface IResetPasswordProps {\n token?: string\n onResetPasswordSuccess?: (res: any) => void\n onResetPasswordError?: (e: AxiosError) => void\n}\n\nconst Schema = Yup.object().shape({\n password: Yup.string()\n .min(6, 'Password must have 5+ characters')\n .required('Required'),\n password_confirmation: Yup.string()\n .required('Required')\n .oneOf([Yup.ref('password'), null], 'Passwords must match'),\n})\n\nexport const ResetPasswordContainer: FC<IResetPasswordProps> = ({\n token: tokenProps = '',\n onResetPasswordSuccess = () => {},\n onResetPasswordError = () => {},\n}) => {\n const [loading, setLoading] = useState(false)\n return (\n <div className=\"reset-password\">\n <div className=\"title\">Change Password</div>\n <Formik\n initialValues={{ password: '', password_confirmation: '' }}\n validationSchema={Schema}\n onSubmit={async (values: any) => {\n try {\n setLoading(true)\n let token\n if (tokenProps) {\n token = tokenProps\n } else {\n if (typeof window !== 'undefined') {\n const params: URLSearchParams = new URL(`${window.location}`)\n .searchParams\n token = params.get('token')\n }\n }\n\n const payload = {\n token,\n ...values,\n }\n const res = await resetPassword(payload)\n onResetPasswordSuccess(res)\n } catch (e) {\n if (axios.isAxiosError(e)) {\n onResetPasswordError(e)\n }\n } finally {\n setLoading(false)\n }\n }}\n >\n {({ isValid, dirty }) => (\n <Form>\n <div className=\"body\">\n <div className=\"field-item\">\n <Field\n name=\"password\"\n label=\"New Password\"\n type=\"password\"\n component={CustomField}\n />\n </div>\n <div className=\"field-item\">\n <Field\n name=\"password_confirmation\"\n label=\"Confirm Password\"\n type=\"password\"\n component={CustomField}\n />\n </div>\n </div>\n <div className=\"action-button\">\n <button type=\"submit\" disabled={!(isValid && dirty)}>\n {loading ? <CircularProgress size=\"22px\" /> : 'Submit'}\n </button>\n </div>\n </Form>\n )}\n </Formik>\n </div>\n )\n}\n","import { AxiosError } from 'axios'\nimport _get from 'lodash/get'\nimport React, { useEffect, useState } from 'react'\n\nimport { declineInvitation, processTicket } from '../../api'\n\nexport interface ITicketResaleContainer {\n onProcessTicketSuccess: (res: any) => void;\n onProcessTicketError: (e: AxiosError) => void;\n onDeclineTicketPurchaseSuccess: (res: any) => void;\n onDeclineTicketPurchaseError: (e: AxiosError) => void;\n orderHash?: string;\n billingPath?: string;\n defaultRedirection?: boolean;\n}\n\nexport const TicketResaleContainer = ({\n onProcessTicketSuccess = () => {},\n onProcessTicketError = () => {},\n onDeclineTicketPurchaseSuccess = () => {},\n onDeclineTicketPurchaseError = () => {},\n orderHash,\n billingPath,\n defaultRedirection = true,\n}: ITicketResaleContainer) => {\n const isWindowDefined = typeof window !== 'undefined'\n const [error, setError] = useState('')\n const [successMessage, setSuccessMessage] = useState('')\n\n useEffect(() => {\n (async () => {\n if (isWindowDefined) {\n const params: URLSearchParams = new URL(`${window.location}`).searchParams\n const hash = params.get('invitation_hash') || orderHash || null\n const isDeclined = params.get('decline') || false\n\n if (hash) {\n // Process of declining ticket purchase invitation\n if (isDeclined) {\n try {\n const response = await declineInvitation(hash)\n onDeclineTicketPurchaseSuccess(response)\n setSuccessMessage(\n \"Thanks for letting us know! We'll offer this ticket to someone else!\"\n )\n } catch (error) {\n setError(error?.response?.data?.message)\n onDeclineTicketPurchaseError(error.response)\n }\n return\n }\n\n try {\n const response = await processTicket(hash)\n const event_id = _get(response.data.data.attributes, 'event_id')\n\n onProcessTicketSuccess(response.data)\n if (defaultRedirection) {\n window.location.href = `${billingPath ?? '/billing/billing-info'}?event_id=${event_id}`\n }\n } catch (error) {\n setError(error?.response?.data?.message)\n onProcessTicketError(error.response)\n }\n } else {\n window.location.href = '/'\n }\n }\n })()\n }, [])\n\n return (\n <div className=\"ticket-resale-page\">\n <div className={`${successMessage ? 'success-block' : 'error-block'}`}>\n <h3>{successMessage ? successMessage : error}</h3>\n </div>\n </div>\n )\n}\n","import axios, { AxiosError } from 'axios'\nimport { Field, Form, Formik } from 'formik'\nimport _get from 'lodash/get'\nimport _identity from 'lodash/identity'\nimport React, { FC, useState } from 'react'\n\nimport { authorize, getProfileData } from '../../api'\nimport { combineValidators, emailValidator, requiredValidator } from '../../validators'\nimport { CustomField } from '../common'\nimport { PoweredBy } from '../common/PoweredBy'\n\nexport interface ILoginFormProps {\n alreadyHasUser?: boolean;\n userExpired?: boolean;\n\n onLoginSuccess?: (res: IProfileData) => void;\n onLoginError?: (e: AxiosError) => void;\n\n onGetProfileDataSuccess?: (res: IProfileData) => void;\n onGetProfileDataError?: (e: AxiosError) => void;\n\n onForgotPasswordButtonClick?: () => void;\n onSignupButtonClick?: () => void;\n\n logo?: string;\n showForgotPasswordButton?: boolean;\n showSignUpButton?: boolean;\n showPoweredByImage?: boolean;\n}\n\n// interface IUserData {\n// id: string;\n// firstName: string;\n// lastName: string;\n// email: string;\n// city?: string;\n// country?: string;\n// countryId?: string;\n// phone?: string;\n// streetAddress?: string;\n// state?: string;\n// zip?: string;\n// zipCode?: string;\n// stateId?: string;\n// }\n\nexport const setLoggedUserData = (data: IProfileData) => ({\n id: data.id,\n first_name: data.firstName,\n last_name: data.lastName,\n email: data.email,\n confirmEmail: data.email,\n city: data?.city || '',\n country: data?.countryId || '',\n phone: data?.phone || '',\n street_address: data?.streetAddress || '',\n state: data?.stateId || '',\n zip: data?.zipCode || '',\n})\n\nexport const LoginForm: FC<ILoginFormProps> = ({\n alreadyHasUser = false,\n userExpired = false,\n\n onLoginSuccess = _identity,\n onLoginError = _identity,\n\n onGetProfileDataSuccess = _identity,\n onGetProfileDataError = _identity,\n\n onForgotPasswordButtonClick = _identity,\n onSignupButtonClick = _identity,\n\n logo,\n showForgotPasswordButton = false,\n showSignUpButton = false,\n showPoweredByImage = false,\n}) => {\n const [error, setError] = useState('')\n return (\n <div className=\"login-modal\">\n <Formik\n initialValues={{ email: '', password: '' }}\n onSubmit={async ({ email, password }) => {\n try {\n const body = { email, password }\n const authRes = await authorize(body)\n let profileResponse = null\n try {\n profileResponse = await getProfileData()\n onGetProfileDataSuccess(_get(profileResponse, 'data'))\n } catch (e) {\n if (axios.isAxiosError(e)) {\n onGetProfileDataError(e)\n }\n return\n }\n\n const profileSpecifiedData = _get(profileResponse, 'data')\n const profileDataObj = setLoggedUserData(profileSpecifiedData)\n if (typeof window !== 'undefined') {\n window.localStorage.setItem('user_data', JSON.stringify(profileDataObj))\n const event = new window.CustomEvent('tf-login')\n window.document.dispatchEvent(event)\n }\n onLoginSuccess(_get(authRes, 'data'))\n } catch (e) {\n if (axios.isAxiosError(e)) {\n const error = _get(e, 'response.data.message') || 'Error'\n setError(error)\n onLoginError(e)\n } else if (e instanceof Error) {\n setError(e?.message || 'Error')\n }\n }\n }}\n >\n {props => (\n <Form onSubmit={props.handleSubmit}>\n <div className=\"modal-title\">Login</div>\n <div className=\"login-logo-container\">\n <img\n className=\"login-logo-tff\"\n src={\n logo ||\n 'https://www.ticketfairy.com/resources/images/logo-ttf-black.svg'\n }\n alt=\"logo\"\n />\n </div>\n <div className=\"server_auth__error\">{error}</div>\n {alreadyHasUser && (\n <p className=\"info-text-for-login\">\n It appears this email is already attached to an account. Please log in\n here to complete your registration.\n </p>\n )}\n {userExpired && (\n <p className=\"info-text-for-login\">\n Your session has expired, please log in again.\n </p>\n )}\n <div className=\"login-modal-body\">\n <div className=\"login-modal-body__email\">\n <Field\n name=\"email\"\n label=\"Email\"\n type=\"email\"\n component={CustomField}\n validate={combineValidators(requiredValidator, emailValidator)}\n />\n </div>\n <div className=\"login-modal-body__password\">\n <Field\n name=\"password\"\n label=\"Password\"\n type=\"password\"\n component={CustomField}\n validate={requiredValidator}\n />\n </div>\n <div className=\"login-action-button\">\n <button type=\"submit\">Login</button>\n </div>\n {showForgotPasswordButton && (\n <div className=\"forgot-password\">\n <span aria-hidden=\"true\" onClick={onForgotPasswordButtonClick}>\n Forgot password?\n </span>\n </div>\n )}\n {showSignUpButton && (\n <div className=\"forgot-password\">\n <span aria-hidden=\"true\" onClick={onSignupButtonClick}>\n Sign up\n </span>\n </div>\n )}\n {showPoweredByImage ? <PoweredBy /> : null}\n </div>\n </Form>\n )}\n </Formik>\n </div>\n )\n}\n","import { FormikValues } from 'formik'\nimport _isEmpty from 'lodash/isEmpty'\nimport _map from 'lodash/map'\n\nimport { isBrowser } from '../../../../utils'\nimport { combineValidators, requiredValidator } from '../../../../validators'\n\nexport const getValidateFunctions = ({\n element,\n values,\n}: {\n element: IFormField;\n values: FormikValues;\n}) => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const validationFunctions: any[] = []\n if (element.required) {\n validationFunctions.push(requiredValidator)\n }\n\n if (element.onValidate) {\n validationFunctions.push(element.onValidate)\n }\n\n if (element.name === 'confirmEmail') {\n const isSameEmail = (confirmEmail?: string) =>\n values.email !== confirmEmail\n ? 'Please confirm your email address correctly'\n : null\n validationFunctions.push(isSameEmail)\n }\n\n if (element.name === 'confirmPassword') {\n const isSame = (confirmPassword?: string) =>\n values.password !== confirmPassword\n ? 'Password confirmation does not match'\n : null\n\n validationFunctions.push(isSame)\n }\n\n return combineValidators(...validationFunctions)\n}\n\nexport const updateFormFieldsAttributes = (\n formFields: IFormFieldsSection[],\n attributes?: IFieldAttribute\n) => {\n if (attributes && !_isEmpty(attributes)) {\n const updatedFormFields = _map(formFields, fieldSection => {\n const fieldSectionAttributes = attributes[fieldSection.name] || {}\n\n const updatedFields = _map(fieldSection.fields, fieldItem => {\n const fieldItemAttributes = attributes[fieldItem.name] || {}\n return { ...fieldItem, ...fieldItemAttributes }\n })\n\n return {\n ...fieldSection,\n ...fieldSectionAttributes,\n fields: updatedFields,\n }\n })\n\n return updatedFormFields\n }\n return formFields\n}\n\nexport const getFieldClassNames = (id: string, existingClassNames: string) => {\n if (isBrowser) {\n const elem = document && document.getElementById(id)\n\n if ((elem?.parentElement?.clientWidth || 0) < 375) {\n return existingClassNames + ' full-width'\n }\n }\n\n return existingClassNames\n}\n\nexport const insertHTML = (elementId: string, text = '') => {\n if (isBrowser) {\n const elem = document && document.getElementById(elementId)\n\n if (!elem?.childNodes.length) {\n elem?.insertAdjacentHTML('afterbegin', text)\n }\n }\n\n return null\n}\n","import { Field, FormikValues } from 'formik'\nimport _identity from 'lodash/identity'\nimport _map from 'lodash/map'\nimport React, { FC } from 'react'\n\nimport { replaceVarInString } from '../../../utils'\nimport {\n CheckboxField,\n CustomField,\n DatePickerField,\n PhoneNumberField,\n SelectField,\n} from '../index'\nimport { getFieldClassNames, getValidateFunctions, insertHTML } from './utils'\n\nexport interface IFieldsSectionProps {\n formFields?: IFormFieldsSection[];\n values: FormikValues;\n setFieldValue: (\n field: string,\n value: FormikValues | string | number,\n shouldValidate?: boolean | undefined\n ) => void;\n disableField?: string;\n countries?: { [key: string]: string | number }[];\n states?: { [key: string]: string | number }[];\n theme?: 'dark' | 'light';\n containerClass?: string;\n setPhoneValidationIsLoading?: (isLoading: boolean) => void;\n onFieldChange?: (name: string, value: string | number) => void;\n}\n\nconst SectionContainer: FC<{ className: string }> = ({\n children,\n className,\n}) => <div className={className}>{children}</div>\n\nexport const FieldsSection = ({\n formFields = [],\n countries = [],\n states = [],\n values,\n setFieldValue,\n theme,\n containerClass = '',\n setPhoneValidationIsLoading = _identity,\n onFieldChange = _identity,\n disableField,\n}: IFieldsSectionProps) => (\n <>\n {_map(formFields, (item, index) => {\n const {\n name,\n groupLabel,\n groupLabelVars = [],\n groupLabelClassName,\n groupClassName = '',\n fields,\n } = item\n return (\n <SectionContainer key={name} className={groupClassName}>\n <span id={`group_label_${index}`} className={groupLabelClassName}>\n {typeof groupLabel === 'string'\n ? insertHTML(\n `group_label_${index}`,\n replaceVarInString(groupLabel, groupLabelVars)\n )\n : groupLabel}\n </span>\n <div className={`fields-container ${groupClassName}`}>\n {_map(fields, (fieldData, fieldIndex) => {\n const {\n name,\n label,\n className = 'full-width',\n type,\n component,\n options = [],\n required,\n } = fieldData\n const id = `${name}-${fieldIndex}`\n const classNames = `${containerClass}-container__field ${className}`\n return (\n component || (\n <div\n key={name}\n id={id}\n className={getFieldClassNames(id, classNames)}\n >\n <Field\n disabled={name === disableField || name === 'state' && !states.length}\n name={name}\n label={`${label}${required ? '' : ' (optional)'}`}\n type={type}\n validate={name === 'state' && !states.length ? false : getValidateFunctions({\n element: fieldData,\n values,\n })}\n setFieldValue={setFieldValue}\n component={\n type === 'checkbox'\n ? CheckboxField\n : type === 'select'\n ? SelectField\n : type === 'phone'\n ? PhoneNumberField\n : type === 'date'\n ? DatePickerField\n : CustomField\n }\n options={\n name === 'country'\n ? countries\n : name === 'state'\n ? states\n : options\n }\n theme={theme}\n setPhoneValidationIsLoading={\n type === 'phone'\n ? setPhoneValidationIsLoading\n : undefined\n }\n onChange={(e: React.FormEvent<EventTarget>) => {\n const element = e.target as HTMLInputElement\n const { value } = element\n setFieldValue(name, value)\n onFieldChange(name, value)\n }}\n disableDropdown={fieldData.disableDropdown}\n />\n </div>\n )\n )\n })}\n </div>\n </SectionContainer>\n )\n })}\n </>\n)\n","import _map from 'lodash/map'\n\nexport const collectStates = (states: any) => {\n const mappedStates = _map(states, (item, key) => ({\n label: item,\n value: key,\n }))\n\n return mappedStates\n}\n","import React from 'react'\n\nimport { CONFIGS } from '../../utils'\n\nexport const formDefaultFields: IFormFieldsSection[] = [\n {\n name: 'basic-info',\n groupLabel: 'Create your account.',\n groupLabelClassName: '',\n groupClassName: '',\n fields: [\n {\n className: 'half-width',\n name: 'firstName',\n label: 'First Name',\n type: 'text',\n required: true,\n onValidate: null,\n },\n {\n className: 'half-width',\n name: 'lastName',\n label: 'Last Name',\n type: 'text',\n required: true,\n onValidate: null,\n },\n {\n name: 'email',\n label: 'Email',\n type: 'email',\n required: true,\n onValidate: null,\n },\n {\n name: 'confirmEmail',\n label: 'Confirm Email',\n type: 'email',\n required: true,\n onValidate: null,\n },\n ],\n },\n {\n name: 'billing-info',\n groupLabel: '',\n groupLabelClassName: '',\n groupClassName: '',\n fields: [\n {\n className: 'half-width',\n name: 'zip',\n label: 'Post Code/Zip',\n type: 'text',\n required: true,\n onValidate: null,\n },\n {\n className: 'half-width',\n name: 'country',\n label: 'Country',\n type: 'select',\n required: true,\n onValidate: null,\n },\n ],\n },\n {\n name: 'password-info',\n groupLabel: (\n <div className=\"email-info-block\">\n <span>Choose a password for your new</span>\n <b> {CONFIGS.CLIENT_NAME || 'Mana Common'} </b>\n <span>account</span>\n </div>\n ),\n groupLabelClassName: '',\n groupClassName: '',\n fields: [\n {\n className: 'half-width',\n name: 'password',\n label: 'Password',\n type: 'password',\n required: true,\n onValidate: null,\n },\n {\n className: 'half-width',\n name: 'confirmPassword',\n label: 'Confirm Password',\n type: 'password',\n required: true,\n onValidate: null,\n },\n ],\n },\n]\n","import { Button, CircularProgress } from '@mui/material'\nimport axios, { AxiosError } from 'axios'\nimport { Form, Formik, FormikValues } from 'formik'\nimport _get from 'lodash/get'\nimport _identity from 'lodash/identity'\nimport _map from 'lodash/map'\nimport React, { FC, useEffect, useState } from 'react'\n\nimport { getCountries, getProfileData, getStates, register } from '../../api'\nimport { CONFIGS, getFormInitialValues, getQueryVariable } from '../../utils'\nimport { FieldsSection } from '../common/FieldSection'\nimport { updateFormFieldsAttributes } from '../common/FieldSection/utils'\nimport ConfirmModal from '../confirmModal'\nimport { collectStates } from './adapters'\nimport { formDefaultFields } from './constants'\n\ninterface IRegistrationProps {\n formFields?: Array<IFormFieldsSection>;\n additionalFieldAttribute?: IFieldAttribute;\n registrationType: string;\n onGetCountriesSuccess?: (res: any) => void;\n onGetCountriesError?: (e: AxiosError) => void;\n onRegisterAccountSuccess?: (res: any) => void;\n onRegisterAccountError?: (e: AxiosError) => void;\n onGetStatesSuccess?: (res: any) => void;\n onGetStatesError?: (e: AxiosError) => void;\n customerEmail: string;\n}\n\nexport const RegistrationForm: FC<IRegistrationProps> = ({\n formFields,\n additionalFieldAttribute,\n registrationType,\n customerEmail,\n onGetCountriesSuccess = _identity,\n onGetCountriesError = _identity,\n onRegisterAccountSuccess = _identity,\n onRegisterAccountError = _identity,\n onGetStatesSuccess = _identity,\n onGetStatesError = _identity,\n}) => {\n const [errorMessage, setErrorMessage] = useState('')\n const [countries, setCountries] = useState<{ [key: string]: string | number }[]>([])\n const [states, setStates] = useState<{ [key: string]: string | number }[]>([])\n const [phoneValidationIsLoading, setPhoneValidationIsLoading] = useState(false)\n const [showErrorModal, setshowErrorModal] = useState(false)\n\n const updatedFormFields = updateFormFieldsAttributes(\n formFields || formDefaultFields,\n additionalFieldAttribute\n )\n\n // Fetch countries data\n const fetchCountries = async () => {\n try {\n const res = await getCountries()\n setCountries(\n _map(res.data, item => ({\n label: item.name,\n value: item.id,\n }))\n )\n onGetCountriesSuccess(res.data)\n } catch (e) {\n if (axios.isAxiosError(e)) {\n const errorMessage = _get(e, 'response.data.message') || 'Error'\n setErrorMessage(errorMessage)\n onGetCountriesError(e)\n }\n }\n }\n\n // Fetch states data\n const fetchStates = async (countryId?: string | number) => {\n try {\n const fetchCountryId = countryId ? countryId : '1'\n const res = await getStates(fetchCountryId)\n const states = _get(res, 'data', [])\n const mappedStates = collectStates(states)\n setStates(mappedStates)\n onGetStatesSuccess(res.data)\n } catch (e) {\n if (axios.isAxiosError(e)) {\n const errorMessage = _get(e, 'response.data.message', {}) as AxiosError\n onGetStatesError(errorMessage)\n }\n }\n }\n\n const handleRegisterAccount = async (values: FormikValues) => {\n const accessHash = getQueryVariable('hash') || ''\n\n try {\n const bodyFormData = new FormData()\n\n bodyFormData.append('first_name', values.firstName)\n bodyFormData.append('last_name', values.lastName)\n bodyFormData.append('email', values.email)\n bodyFormData.append('zip', values.zip)\n bodyFormData.append('city', values.city)\n bodyFormData.append('country', values.country)\n bodyFormData.append('password', values.password)\n bodyFormData.append('phone', values.phone || '')\n bodyFormData.append('password_confirmation', values.confirmPassword)\n bodyFormData.append('client_id', CONFIGS.CLIENT_ID)\n bodyFormData.append('client_secret', CONFIGS.CLIENT_SECRET)\n bodyFormData.append('register_for', registrationType)\n bodyFormData.append('delegation_access_hash', accessHash)\n\n await register(bodyFormData)\n const profileRes = await getProfileData()\n\n window.localStorage.setItem('user_data', JSON.stringify(_get(profileRes, 'data')))\n onRegisterAccountSuccess(profileRes)\n } catch (e) {\n if (axios.isAxiosError(e)) {\n console.log(e)\n const errorMessage = _get(e, 'response.data.message') || 'Error'\n onRegisterAccountError(e)\n setshowErrorModal(true)\n setErrorMessage(errorMessage)\n } else if (e instanceof Error) {\n setErrorMessage(e?.message || 'Error')\n }\n }\n }\n\n useEffect(() => {\n fetchCountries()\n fetchStates()\n }, [])\n\n return (\n <div className=\"register-form-container\">\n <h2>Create an account</h2>\n <div className=\"register-sub-title\">\n To manage your tickets, please create an account:\n </div>\n {showErrorModal && (\n <ConfirmModal\n hideCancelBtn={true}\n message={errorMessage}\n onClose={() => (window.location.href = '/')}\n onConfirm={() => (window.location.href = '/')}\n />\n )}\n {errorMessage && <div className=\"register-error\">{errorMessage}</div>}\n <Formik\n initialValues={{\n ...getFormInitialValues(updatedFormFields),\n email: customerEmail,\n }}\n enableReinitialize={true}\n onSubmit={handleRegisterAccount}\n >\n {props => (\n <Form>\n <div className=\"register-body\">\n <FieldsSection\n disableField={'email'}\n containerClass=\"register\"\n formFields={updatedFormFields}\n values={props.values}\n setFieldValue={props.setFieldValue}\n setPhoneValidationIsLoading={setPhoneValidationIsLoading}\n countries={countries}\n states={states}\n onFieldChange={(name, value) => {\n if (name === 'country') {\n fetchStates(value)\n }\n }}\n />\n </div>\n <div className=\"button-container\">\n <Button\n className=\"register-button\"\n type=\"submit\"\n disabled={props.isSubmitting || phoneValidationIsLoading}\n >\n {props.isSubmitting ? <CircularProgress size={26} /> : 'Create Account'}\n </Button>\n </div>\n </Form>\n )}\n </Formik>\n </div>\n )\n}\n","/* eslint-disable max-len */\nexport const VERIFICATION_STATUSES = {\n PENDING: 'PENDING',\n APPROVED: 'APPROVED_VERIFIED',\n FAILED: 'FAILED',\n WRONG_CUSTOMER: 'WRONG_CUSTOMER',\n}\n\nexport const VERIFICATION_PROVIDERS = {\n JUMIO: 'jumio',\n STRIPE: 'stripe'\n}\n\nexport const TRANSACTION_STATUSES = {\n ERROR: 'ERROR',\n SUCCESS: 'SUCCESS',\n}\n\nexport const VERIFICATION_MESSAGES = {\n PENDING:\n 'Your ID verification is currently being processed. We will notify you as soon as it is completed. Thank you for your patience.',\n APPROVED: 'Your ID verification is approved!',\n FAILED: 'Unfortunately your ID verification has failed. Please try again.',\n WRONG_CUSTOMER: 'The order does not belong to the customer.',\n}\n\nexport const DELEGATION_ACCESS_ERROR = 'Delegation Access not found'\n","import { CircularProgress } from '@mui/material'\nimport { Field, Form, Formik } from 'formik'\nimport _identity from 'lodash/identity'\nimport React from 'react'\n\nimport { requiredValidator } from '../../validators'\nimport { CheckboxField, SelectField } from '../common'\nimport { CustomField } from '../common/CustomField'\nimport { getValidateFunctions } from '../common/FieldSection/utils'\n\nexport interface IIssueTicketForm {\n classNamePrefix?: string;\n handleSubmit: (values: any, resetForm: any) => void;\n selectTicketTypeOptions: Array<any>;\n initialValues?: any;\n}\n\nconst IssueTicketForm = ({\n classNamePrefix = 'delegations',\n handleSubmit = _identity,\n selectTicketTypeOptions,\n initialValues,\n}: IIssueTicketForm) => (\n <div className={`${classNamePrefix}-issue-form`}>\n <Formik\n initialValues={initialValues}\n onSubmit={(values, { resetForm, setSubmitting }) => {\n delete values.confirm\n handleSubmit(values, { resetForm, setSubmitting })\n }}\n >\n {({ isValid, values, isSubmitting }) => (\n <Form>\n <div className=\"body\">\n <div className=\"field-item\">\n <div className=\"field_label\">Ticket Type</div>\n <Field\n name=\"ticketTypeId\"\n label=\"Ticket Type\"\n component={SelectField}\n validate={requiredValidator}\n options={selectTicketTypeOptions}\n />\n </div>\n <div className=\"field-item\">\n <div className=\"field_label\">Name</div>\n <Field\n name=\"firstName\"\n label=\"Name\"\n component={CustomField}\n validate={requiredValidator}\n />\n </div>\n <div className=\"field-item\">\n <div className=\"field_label\">Last Name</div>\n <Field\n name=\"lastName\"\n label=\"Last Name\"\n component={CustomField}\n validate={requiredValidator}\n />\n </div>\n <div className=\"field-item\">\n <div className=\"field_label\">Email</div>\n <Field\n name=\"email\"\n label=\"Email\"\n component={CustomField}\n validate={requiredValidator}\n />\n </div>\n <div className=\"field-item\">\n <div className=\"field_label\">Confirm Email</div>\n <Field\n name=\"confirmEmail\"\n label=\"Confirm Email\"\n component={CustomField}\n validate={getValidateFunctions({\n element: {\n name: 'confirmEmail',\n label: 'Confirm Email',\n required: true,\n },\n values,\n })}\n />\n </div>\n </div>\n <div className=\"field-item checkbox_item\">\n <Field\n name=\"confirm\"\n label=\"I agree to ManaCommon's privacy policy\"\n type=\"checkbox\"\n validate={requiredValidator}\n component={CheckboxField}\n />\n </div>\n <div className=\"action-button\">\n <button type=\"submit\" disabled={!isValid}>\n {isSubmitting ? <CircularProgress size=\"22px\" /> : 'Issue Ticket'}\n </button>\n </div>\n </Form>\n )}\n </Formik>\n </div>\n)\n\nexport default IssueTicketForm\n","import Table from '@mui/material/Table'\nimport TableBody from '@mui/material/TableBody'\nimport TableCell from '@mui/material/TableCell'\nimport TableContainer from '@mui/material/TableContainer'\nimport TableHead from '@mui/material/TableHead'\nimport TableRow from '@mui/material/TableRow'\nimport React from 'react'\n\nexport interface ITicketsAssignedTable {\n tableTitle?: string;\n classNamePrefix?: string;\n noTicketsAssignedText?: string;\n issuePageData: {\n tickets: Array<any>;\n };\n}\n\nconst TicketsAssignedTable = ({\n tableTitle = 'Tickets assigned',\n classNamePrefix = 'delegations',\n issuePageData,\n noTicketsAssignedText = \"You haven't issued any tickets yet.\",\n}: ITicketsAssignedTable) => (\n <div className={`${classNamePrefix}-tables-block`}>\n <div className={`${classNamePrefix}-ticket-holder`}>{tableTitle}</div>\n {issuePageData.tickets?.length ? (\n <TableContainer className=\"my-ticket-table\">\n <Table aria-label=\"collapsible table\">\n <TableHead>\n <TableRow>\n <TableCell key={'Ticket Holder'}>{'Ticket Holder'}</TableCell>\n <TableCell key={'Ticket Type'}>{'Ticket Type'}</TableCell>\n <TableCell key={'Status'}>{'Status'}</TableCell>\n </TableRow>\n </TableHead>\n <TableBody>\n {issuePageData.tickets?.map((ticket: any) => (\n <TableRow key={ticket.id}>\n <TableCell key={ticket.id + 'type'}>\n {ticket.firstName + ' ' + ticket.lastName}\n </TableCell>\n <TableCell key={ticket.id + 'ticketType'}>{ticket.ticketType}</TableCell>\n <TableCell key={ticket.id + 'status'}>{ticket.status}</TableCell>\n </TableRow>\n ))}\n </TableBody>\n </Table>\n </TableContainer>\n ) : (\n noTicketsAssignedText\n )}\n </div>\n)\n\nexport default TicketsAssignedTable\n","import Table from '@mui/material/Table'\nimport TableBody from '@mui/material/TableBody'\nimport TableCell from '@mui/material/TableCell'\nimport TableContainer from '@mui/material/TableContainer'\nimport TableHead from '@mui/material/TableHead'\nimport TableRow from '@mui/material/TableRow'\nimport _map from 'lodash/map'\nimport React from 'react'\n\nimport { IDelegationsTicketType } from '../../api/guestTicketDelegation'\n\nexport interface ITicketsAvailableTable {\n tableTitle?: string;\n classNamePrefix?: string;\n issuePageData: {\n ticketTypes: IDelegationsTicketType;\n };\n}\n\nconst TicketsAvailableTable = ({\n tableTitle = 'Tickets available',\n classNamePrefix = 'delegations',\n issuePageData,\n}: ITicketsAvailableTable) => (\n <div className={`${classNamePrefix}-tables-block`}>\n <div className={`${classNamePrefix}-ticket-holder`}>{tableTitle}</div>\n <TableContainer className=\"my-ticket-table\">\n <Table aria-label=\"collapsible table\">\n <TableHead>\n <TableRow>\n <TableCell key={1}>{'Ticket Type'}</TableCell>\n <TableCell key={2}>{'Total Quantity'}</TableCell>\n <TableCell key={3}>{'Quantity Issued'}</TableCell>\n <TableCell key={4}>{'Quantity Remaining'}</TableCell>\n </TableRow>\n </TableHead>\n <TableBody>\n {_map(issuePageData.ticketTypes, (val, key) => (\n <TableRow key={key}>\n <TableCell key={key + 'name'}>{val.optionValue}</TableCell>\n <TableCell key={key + 'maxQty'}>{val.delegationMaxQuantity}</TableCell>\n <TableCell key={key + 'issued'}>{val.delegationQuantityIssued}</TableCell>\n <TableCell key={key + 'remaining'}>\n {Number(val.delegationMaxQuantity) - Number(val.delegationQuantityIssued)}\n </TableCell>\n </TableRow>\n ))}\n </TableBody>\n </Table>\n </TableContainer>\n </div>\n)\n\nexport default TicketsAvailableTable\n","import axios, { AxiosError } from 'axios'\nimport _get from 'lodash/get'\nimport _identity from 'lodash/identity'\nimport _map from 'lodash/map'\nimport React, { useEffect, useState } from 'react'\n\nimport { IDelegationsData, IDelegationsTicketType } from '../../api/guestTicketDelegation'\nimport { getDelegationTickets, issueTicket } from '../../api/index'\nimport { CONFIGS, getQueryVariable } from '../../utils'\nimport { Loader } from '../common'\nimport ConfirmModal from '../confirmModal'\nimport { DELEGATION_ACCESS_ERROR } from '../idVerificationContainer/constants'\nimport IssueTicketForm from './IssueTicketForm'\nimport TicketsAssignedTable from './TicketsAssignedTable'\nimport TicketsAvailableTable from './TicketsAvailableTable'\n\nexport interface IssueTicketData {\n headTitle?: string;\n classNamePrefix?: string;\n onGetIssuePageDataSuccess?: () => void;\n onGetIssuePageDataError?: (e: AxiosError) => void;\n}\n\nconst IssueComponent = ({\n classNamePrefix = 'delegations',\n headTitle = 'Manage Your Guest Tickets',\n onGetIssuePageDataSuccess = _identity,\n onGetIssuePageDataError = _identity,\n}: IssueTicketData) => {\n const [loading, setLoading] = useState(true)\n const [showMaxQtyModal, setShowMaxQtyModal] = useState(false)\n const [showSuccessModal, setShowSuccessModal] = useState(false)\n const [error, setError] = useState('')\n const accessHash = getQueryVariable('hash') || ''\n const [issuePageData, setIssuePageData] = useState<IDelegationsData>(\n {} as IDelegationsData\n )\n\n useEffect(() => {\n const fetchDelegationTickets = async () => {\n try {\n const res = await getDelegationTickets(accessHash)\n setLoading(false)\n setIssuePageData(res?.data?.data?.attributes || {})\n onGetIssuePageDataSuccess()\n } catch (e) {\n setLoading(false)\n if (axios.isAxiosError(e)) {\n onGetIssuePageDataError(e)\n }\n }\n }\n fetchDelegationTickets()\n }, [showSuccessModal])\n const selectTicketTypeOptions = _map(\n issuePageData.ticketTypes || ({} as IDelegationsTicketType),\n (val, key) => ({\n value: key,\n label: val.optionValue,\n })\n )\n return (\n <div className={`${classNamePrefix}-container`}>\n {loading ? (\n <Loader />\n ) : (\n <>\n {showMaxQtyModal && (\n <ConfirmModal\n hideCancelBtn={true}\n message={error}\n onClose={() =>\n error === DELEGATION_ACCESS_ERROR\n ? (window.location.href = '/')\n : setShowMaxQtyModal(false)\n }\n onConfirm={() =>\n error === DELEGATION_ACCESS_ERROR\n ? (window.location.href = '/')\n : setShowMaxQtyModal(false)\n }\n />\n )}\n {showSuccessModal && (\n <ConfirmModal\n hideCancelBtn={true}\n message=\"Your ticket successfully issued.\"\n onClose={() => setShowSuccessModal(false)}\n onConfirm={() => setShowSuccessModal(false)}\n />\n )}\n <div className={`${classNamePrefix}-head-title`}>{headTitle}</div>\n <div className={`${classNamePrefix}-inner-blocks`}>\n <div className={`${classNamePrefix}-image-block`}>\n <img\n src={`${CONFIGS.BASE_URL}${issuePageData?.eventImage}`}\n alt=\"main_event_img\"\n title=\"\"\n />\n </div>\n <div className={`${classNamePrefix}-tables`}>\n <TicketsAvailableTable\n tableTitle=\"Tickets available\"\n issuePageData={issuePageData}\n classNamePrefix=\"delegations\"\n />\n <TicketsAssignedTable\n tableTitle=\"Tickets assigned\"\n issuePageData={issuePageData}\n classNamePrefix=\"delegations\"\n />\n <div className={`${classNamePrefix}-issue-block`}>\n <div className={`${classNamePrefix}-issue-title`}>Issue New Tickets</div>\n <div className={`${classNamePrefix}-issue-subtitle`}>\n Please select the type of tickets and enter recipient details:\n </div>\n </div>\n <IssueTicketForm\n classNamePrefix={'delegations'}\n handleSubmit={async (values: any, { resetForm, setSubmitting }) => {\n try {\n await issueTicket(accessHash, values)\n setShowSuccessModal(true)\n resetForm()\n } catch (e) {\n if (axios.isAxiosError(e)) {\n const error = _get(e, 'response.data.message') || 'Error'\n setError(error)\n } else if (e instanceof Error) {\n setError(e?.message || 'Error')\n }\n setShowMaxQtyModal(true)\n } finally {\n setLoading(false)\n setSubmitting(false)\n }\n }}\n selectTicketTypeOptions={selectTicketTypeOptions}\n initialValues={{\n ticketTypeId: '',\n firstName: '',\n lastName: '',\n email: '',\n confirmEmail: '',\n confirm: false,\n }}\n />\n </div>\n </div>\n </>\n )}\n </div>\n )\n}\n\nexport default IssueComponent\n","import _get from 'lodash/get'\nimport _identity from 'lodash/identity'\nimport React, { FC, useEffect, useState } from 'react'\n\nimport { getCustomerExistsData } from '../../api/guestTicketDelegation'\nimport { Loader } from '../../components/common'\nimport { LoginForm } from '../../components/loginForm'\nimport { RegistrationForm } from '../../components/registerForm'\nimport { useCookieListener } from '../../hooks/useCookieListener'\nimport { getCookieByName, getQueryVariable } from '../../utils'\nimport IssueComponent from './IssueComponent'\n\ninterface IRegistrationProps {\n registerFormFields?: Array<IFormFieldsSection>;\n classNamePrefix?: string;\n logo?: string;\n onCustomerExistsError?: (error: any) => void;\n issuePageErrorText?: string;\n}\n\nconst X_TF_ECOMMERCE = 'X-TF-ECOMMERCE'\n\nexport const DelegationsContainer: FC<IRegistrationProps> = ({\n registerFormFields,\n classNamePrefix = 'guest-ticket-delegation',\n issuePageErrorText = 'You do not have access to manage these tickets.',\n onCustomerExistsError = _identity,\n logo,\n}) => {\n const [loading, setLoading] = useState(true)\n const [isLoggedIn, setIsLoggedIn] = useState(Boolean(getCookieByName(X_TF_ECOMMERCE)))\n const [isCustomerExsists, setIsCustomerExsists] = useState(false)\n const [issuePageError, setIssuePageError] = useState(false)\n const [customerEmail, setCustomerEmail] = useState('')\n const accessHash = getQueryVariable('hash') || ''\n\n useCookieListener(X_TF_ECOMMERCE, value => setIsLoggedIn(Boolean(value)))\n\n const onGetIssuePageDataError = () => {\n setIssuePageError(true)\n }\n\n useEffect(() => {\n const getCustomerData = async () => {\n try {\n const response = await getCustomerExistsData(accessHash)\n const isCustomerExsists = _get(response, 'data.attributes.customerExists', false)\n setIsCustomerExsists(isCustomerExsists)\n setCustomerEmail(_get(response, 'data.attributes.email', ''))\n setLoading(false)\n } catch (error) {\n onCustomerExistsError(error)\n }\n }\n\n getCustomerData()\n }, [])\n\n return (\n <div className={`${classNamePrefix}__container`}>\n {loading ? (\n <Loader />\n ) : issuePageError ? (\n <div className=\"issue_page_error\">{issuePageErrorText}</div>\n ) : isLoggedIn ? (\n <div>\n <IssueComponent\n classNamePrefix={classNamePrefix}\n onGetIssuePageDataError={onGetIssuePageDataError}\n />\n </div>\n ) : isCustomerExsists ? (\n <LoginForm logo={logo} />\n ) : (\n <RegistrationForm\n customerEmail={customerEmail}\n formFields={registerFormFields}\n registrationType=\"delegation\"\n />\n )}\n </div>\n )\n}\n","import { useEffect } from 'react'\n\nexport const useOnline = (handler: (value: boolean) => void) => {\n useEffect(() => {\n const handleOffline = () => {\n handler(false)\n }\n const handleOnline = () => {\n handler(true)\n }\n\n window.addEventListener('offline', handleOffline)\n window.addEventListener('online', handleOnline)\n\n return () => {\n window.removeEventListener('offline', handleOffline)\n window.removeEventListener('online', handleOnline)\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [])\n}\n","import _get from 'lodash/get'\n\nimport { addToCart, getCheckoutPageConfigs, postOnCheckout } from '../../api'\nimport { createCheckoutDataBodyWithDefaultHolder, isBrowser } from '../../utils'\n\ninterface IAddToCartFuncProps {\n eventId: string | number;\n data: any;\n ticketQuantity: number;\n enableBillingInfoAutoCreate?: boolean;\n}\n\nexport const addToCartFunc = async ({\n eventId,\n data,\n ticketQuantity,\n enableBillingInfoAutoCreate = true,\n}: IAddToCartFuncProps) => {\n const result = await addToCart(eventId, data)\n const pageConfigsDataResponse = await getCheckoutPageConfigs()\n\n if (result.status === 200 && pageConfigsDataResponse.status === 200) {\n const pageConfigsData = _get(pageConfigsDataResponse, 'data.attributes') || {}\n\n const {\n skip_billing_page: skipBillingPage = false,\n has_add_on: hasAddOn = false,\n free_ticket: freeTicket = false,\n } = pageConfigsData\n\n let hash: string | number | undefined = ''\n let total: string | number | undefined = ''\n\n isBrowser && window.localStorage.removeItem('add_ons')\n\n if (skipBillingPage && !hasAddOn) {\n // Get user data for checkout data\n const userData =\n isBrowser && window.localStorage.getItem('user_data')\n ? JSON.parse(window.localStorage.getItem('user_data') || '')\n : {}\n\n const checkoutBody = createCheckoutDataBodyWithDefaultHolder(\n ticketQuantity,\n userData\n )\n\n const checkoutResponse = enableBillingInfoAutoCreate\n ? await postOnCheckout(checkoutBody, freeTicket)\n : null\n\n hash = checkoutResponse?.data?.attributes?.hash || ''\n total = checkoutResponse?.data?.attributes?.total || ''\n }\n\n return {\n skip_billing_page: skipBillingPage,\n event_id: String(eventId),\n hash,\n total,\n hasAddOn,\n }\n }\n\n return null\n}\n","import _find from 'lodash/find'\nimport _forEach from 'lodash/forEach'\nimport _isEmpty from 'lodash/isEmpty'\nimport _values from 'lodash/values'\n\nexport const getTierIdBasedOnSeatId = (seatId: string, eventSeats: Array<EventSeat>) => {\n let tierId: number | string = ''\n\n _forEach(eventSeats, group => {\n _forEach(group.seats, (seatsCount, rowId) => {\n const [row_id, seat_id] = seatId.split(':')\n if (row_id === rowId && seat_id <= seatsCount) {\n tierId = Number(group.tier_id)\n return false\n }\n return true\n })\n })\n\n return tierId\n}\n\nexport const getButtonLabel = (count: number, tableMapEnabled: boolean) => {\n if (!count) {\n return tableMapEnabled ? `GET TABLES` : `GET TICKETS`\n } else if (count === 1) {\n return tableMapEnabled ? `GET ${count} TABLE` : `GET ${count} TICKET`\n }\n return tableMapEnabled ? `GET ${count} TABLES` : `GET ${count} TICKETS`\n}\n\nexport const getOwnReservationsBasedOnStatuses = (statuses: any) => {\n const ownReservations: string[] = []\n Object.keys(statuses).forEach((groupRowId: string) =>\n Object.keys(statuses[groupRowId]).forEach((seatIndex: string | number) => {\n if (statuses[groupRowId][seatIndex] === 'OR') {\n ownReservations.push(`${groupRowId}:${seatIndex}`)\n } else if (statuses[groupRowId][seatIndex] === 'H') {\n statuses[groupRowId][seatIndex] = 'BLOCKED'\n }\n })\n )\n return ownReservations\n}\n\nexport const getTicketDropdownData = (\n reservationData: Array<SeatReservationData>,\n tierReleations: TicketTypeTierRelations\n) => {\n const ticketsDropdownsData: Array<ITicketsDropdownsData> = []\n _forEach(reservationData, reservation => {\n if (tierReleations[reservation.tierId]) {\n const ticketsData = _values(tierReleations[reservation.tierId])\n ticketsDropdownsData.push({\n seatId: reservation.seatId,\n tierId: reservation.tierId,\n ticketsData,\n })\n } else {\n ticketsDropdownsData.push({\n seatId: reservation.seatId,\n tierId: reservation.tierId,\n ticketsData: [\n {\n ticket_type_tier_id: reservation.tierId,\n ticket_type_name: 'Please select Ticket Type',\n ticket_type_price: '',\n ticket_type_id: 'default',\n },\n ],\n })\n }\n })\n return ticketsDropdownsData\n}\n\nexport const getAddToCartRequestData = ({\n eventId,\n reservations = [],\n selectedSeats = [],\n selectedTickets = [],\n guestCounts = {},\n}: any) => {\n const hasGuests = !_isEmpty(guestCounts)\n\n const addToCartData: ICartRequestData = {\n attributes: {\n alternative_view_id: null,\n product_cart_quantity: reservations.length,\n product_options: {},\n product_id: eventId,\n ticket_types: {},\n },\n }\n\n const productOptions = {} as any\n const ticketTypes = {} as any\n\n _forEach(reservations, (item, index) => {\n const ticket = _find(\n selectedSeats[item],\n sitem => sitem.ticket_type_id === selectedTickets[item]\n )\n productOptions[ticket.ticket_type_option] = ticket.ticket_type_id\n\n const ticketTypesKey = hasGuests ? index : ticket.ticket_type_id\n const quantity = hasGuests\n ? guestCounts[item]\n : (ticketTypes[ticket.ticket_type_id]?.quantity || 0) + 1\n\n ticketTypes[ticketTypesKey] = {\n quantity,\n product_options: {\n [ticket.ticket_type_option]: ticket.ticket_type_id,\n ticket_price: ticket.ticket_type_price,\n },\n }\n })\n\n addToCartData.attributes.product_options = productOptions\n addToCartData.attributes.ticket_types = ticketTypes\n\n return addToCartData\n}\n\nexport const getTierRelationsArray = (data: Array<TicketTypeTierRelationsData>) => {\n const ticketTypeTireRelationsArray: Array<string | number | null> = []\n _forEach(data, (item: TicketTypeTierRelationsData) => {\n ticketTypeTireRelationsArray.push(...(_values(item) as any))\n })\n\n return ticketTypeTireRelationsArray\n}\n","import 'tf-seat-map-view/dist/index.css'\n\nimport React, { useEffect } from 'react'\nimport ReactDom from 'react-dom'\nimport SeatMapView from 'tf-seat-map-view'\n\nimport { Loader } from '../common'\nimport { getTierRelationsArray } from './utils'\n\nconst CONTAINER_DEFAULT_ID = 'seat_map_default_container'\n\n// Temp solution\ndeclare global {\n interface Window {\n tierPrices: any;\n }\n}\n\nexport const SeatMapComponent = (props: ISeatMapContainerProps) => {\n const { seatMapProps, mapContainerId } = props\n const {\n seatData,\n statuses,\n seatMapType = null,\n seatMapEvents = {},\n ticketTypeTierRelations = {},\n tierPrices,\n isReserving,\n predefinedSeats,\n isLoadingSeatMapData,\n } = seatMapProps\n\n useEffect(() => {\n const parentElement = document.getElementById(mapContainerId || CONTAINER_DEFAULT_ID)\n\n // Temp solution\n window.tierPrices = tierPrices\n\n if (parentElement) {\n let mapComponent = null\n\n if (!(seatData && statuses) || isLoadingSeatMapData) {\n mapComponent = <Loader />\n } else {\n mapComponent = (\n <SeatMapView\n disabled={isReserving}\n loading={isReserving}\n events={seatMapEvents}\n isSelectionOn={false}\n seatData={seatData}\n statuses={statuses}\n ticketTypeTireRelationsArray={getTierRelationsArray(ticketTypeTierRelations)}\n width={Math.min(parentElement?.clientWidth || 800, 800)}\n height={Math.min(parentElement?.clientWidth || 800, 800)}\n isBlockMap={seatMapType === 'block'}\n isTableMap={seatMapType === 'table'}\n predefinedSeats={predefinedSeats}\n />\n )\n }\n\n ReactDom.render(mapComponent, parentElement)\n }\n }, [\n isReserving,\n mapContainerId,\n seatData,\n seatMapEvents,\n seatMapType,\n tierPrices,\n statuses,\n ticketTypeTierRelations,\n ])\n\n return <div id={CONTAINER_DEFAULT_ID} />\n}\n","import { CSSProperties } from '@emotion/serialize'\nimport { Select, SelectChangeEvent, ThemeOptions } from '@mui/material'\nimport CircularProgress from '@mui/material/CircularProgress'\nimport FormControl from '@mui/material/FormControl'\nimport InputLabel from '@mui/material/InputLabel'\nimport MenuItem from '@mui/material/MenuItem'\nimport { createTheme, ThemeProvider } from '@mui/material/styles'\nimport Tooltip from '@mui/material/Tooltip'\nimport _find from 'lodash/find'\nimport _identity from 'lodash/identity'\nimport _isEmpty from 'lodash/isEmpty'\nimport _keys from 'lodash/keys'\nimport _map from 'lodash/map'\nimport _some from 'lodash/some'\nimport React, { useState } from 'react'\nimport { Button } from 'react-bootstrap'\n\nimport { createFixedFloatNormalizer } from '../../normalizers'\nimport { createMarkup } from '../../utils'\nimport { getButtonLabel, getTicketDropdownData } from './utils'\n\nexport const TicketsSection = (\n props: ITicketsSectionProps & {\n themeOptions?: ThemeOptions & {\n input?: CSSProperties;\n checkbox?: CSSProperties;\n };\n }\n) => {\n const {\n ticketTypeTierRelations,\n reservedSeats,\n theme = 'light',\n getTicketsBtnLabel,\n contentStyle = {},\n isButtonScrollable = false,\n themeOptions,\n handleGetTicketClick,\n handleCancelReservation,\n ticketDeleteButtonContent = 'Delete',\n ticketInfoContent = 'Info',\n selectedTickets,\n handleTicketSelect,\n currencySymbol,\n tableMapEnabled = false,\n guestCounts,\n setGuestCounts,\n isAddingToCart,\n } = props\n\n const [selectedTicketsInfo, setSelectedTicketsInfo] = useState<{\n [seatId: string]: boolean | undefined;\n }>({})\n\n const bookButtonIsDisabled =\n _some(selectedTickets, item => !item) ||\n _isEmpty(reservedSeats) ||\n reservedSeats.length !== _keys(selectedTickets).length\n const themeMui = createTheme(themeOptions)\n\n const ticketsDropdownsData = getTicketDropdownData(\n reservedSeats,\n ticketTypeTierRelations\n )\n\n const handleTicketChange = (event: SelectChangeEvent<string>, seatId: string) => {\n const {\n target: { value },\n } = event\n\n if (value !== 'default') {\n handleTicketSelect(value, seatId)\n }\n }\n\n const handleShowtTicketInfo = (seatId: string) => {\n setSelectedTicketsInfo(prevState => ({ ...prevState, [seatId]: !prevState[seatId] }))\n }\n\n return (\n <ThemeProvider theme={themeMui}>\n <div className={`get-tickets-page ${theme}`} style={contentStyle}>\n <div className=\"tickets-section\">\n {_map(selectedTickets, (ticketItem: string, key: string) => {\n const dropdownData =\n _find(ticketsDropdownsData, item => item.seatId === key) ||\n ({} as ITicketsDropdownsData)\n\n const selectedTicketData = _find(\n dropdownData.ticketsData,\n ticket => ticket.ticket_type_id === ticketItem\n ) as TicketTypeTierRelationsData\n\n // guest count dropdown options\n const startNum = Number(selectedTicketData?.ticket_type_min_number_of_guests)\n const endNum = Number(selectedTicketData?.ticket_type_max_number_of_guests)\n const numLength = endNum - startNum + 1\n const showGuestCountDropdown = Boolean(startNum && endNum)\n const showDescription = Boolean(selectedTicketData?.description)\n\n // prices\n const guestPrice =\n (guestCounts[dropdownData.seatId] - startNum) *\n Number(selectedTicketData?.guest_price)\n\n const finalPrice = createFixedFloatNormalizer(2)(\n selectedTicketData?.ticket_type_price + guestPrice\n )\n\n return (\n <div className=\"ticket\" key={key}>\n <div className=\"ticketsDropdowns\">\n <Select\n value={ticketItem || 'default'}\n onChange={event => handleTicketChange(event, dropdownData.seatId)}\n inputProps={{ 'aria-label': 'Without label' }}\n MenuProps={{\n PaperProps: {\n sx: { maxHeight: 150 },\n className: 'get-tickets-paper',\n },\n }}\n displayEmpty\n sx={{ borderRadius: 0 }}\n >\n <MenuItem value={'default'}>\n {`Please select ${tableMapEnabled ? 'Table Type' : 'Ticket Type'}`}\n </MenuItem>\n {_map(dropdownData.ticketsData, (option, index) => {\n if (option.ticket_type_id !== 'default') {\n return (\n <MenuItem value={option.ticket_type_id} key={index}>\n {option.ticket_type_name}\n </MenuItem>\n )\n }\n return null\n })}\n </Select>\n <Button\n className=\"ticket-delete\"\n onClick={() => {\n handleCancelReservation(dropdownData.seatId, dropdownData.tierId)\n }}\n >\n {ticketDeleteButtonContent}\n </Button>\n </div>\n {selectedTicketData && (\n <>\n <div style={{ display: 'flex' }}>\n <div\n style={{\n width: '100%',\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'center',\n }}\n >\n <div className=\"ticketPrice\">\n Price:\n <span className=\"ticketPrice-value\">\n {`${currencySymbol} ${finalPrice}`}\n </span>\n <span className=\"fees\">\n {selectedTicketData.fee_included\n ? ' (incl. Fees)'\n : ' (excl. Fees)'}\n </span>\n </div>\n {!_isEmpty(selectedTicketData.ticket_type_deposit) && (\n <div className=\"ticketDeposit\">\n Deposit:\n <span className=\"ticketPrice-value\">\n {` ${selectedTicketData?.ticket_type_deposit}%`}\n </span>\n </div>\n )}\n </div>\n <div\n style={{\n width: '100%',\n display: 'flex',\n justifyContent: 'end',\n alignItems: 'center',\n marginRight: 16,\n }}\n >\n {showDescription && (\n <Tooltip\n title=\"View Ticket Info\"\n placement=\"left\"\n arrow\n componentsProps={{\n tooltip: {\n sx: {\n backgroundColor: 'common.black',\n marginRight: '6px !important',\n '& .MuiTooltip-arrow': {\n color: 'common.black',\n },\n },\n },\n }}\n >\n <div\n className=\"ticket-info\"\n onClick={() => handleShowtTicketInfo(dropdownData.seatId)}\n onKeyDown={() => handleShowtTicketInfo(dropdownData.seatId)}\n >\n {ticketInfoContent}\n </div>\n </Tooltip>\n )}\n {showGuestCountDropdown && (\n <FormControl variant=\"outlined\" sx={{ m: 1, minWidth: 80 }}>\n <InputLabel id=\"demo-simple-select-standard-label\" shrink>\n GUESTS\n </InputLabel>\n <Select\n label=\"GUESTS\"\n labelId=\"demo-simple-select-standard-label\"\n value={guestCounts[dropdownData.seatId] || startNum}\n onChange={event => {\n setGuestCounts({\n ...guestCounts,\n [dropdownData.seatId]: Number(event.target.value),\n })\n }}\n inputProps={{ 'aria-label': 'Without label' }}\n MenuProps={{\n PaperProps: {\n sx: { maxHeight: 150 },\n className: 'get-tickets-paper',\n },\n }}\n displayEmpty\n sx={{ borderRadius: 0 }}\n >\n {_map(\n Array.from({ length: numLength }, (_, i) => startNum + i),\n (option, index) => (\n <MenuItem value={option} key={index}>\n {option}\n </MenuItem>\n )\n )}\n </Select>\n </FormControl>\n )}\n </div>\n </div>\n {selectedTicketsInfo[dropdownData.seatId] && (\n <div\n className=\"ticket-description-content\"\n dangerouslySetInnerHTML={createMarkup(\n selectedTicketData.description || ''\n )}\n />\n )}\n </>\n )}\n </div>\n )\n })}\n </div>\n <div>\n <Button\n className={`book-button\n ${bookButtonIsDisabled ? 'disabled' : ''}\n ${isButtonScrollable ? 'is-scrollable' : ''}\n `}\n onClick={!bookButtonIsDisabled ? handleGetTicketClick : _identity}\n disabled={isAddingToCart}\n >\n {isAddingToCart ? (\n <CircularProgress size={20} style={{ marginLeft: 10 }} />\n ) : (\n getTicketsBtnLabel || getButtonLabel(reservedSeats.length, tableMapEnabled)\n )}\n </Button>\n </div>\n </div>\n </ThemeProvider>\n )\n}\n","import { Alert } from '@mui/material'\nimport axios from 'axios'\nimport _find from 'lodash/find'\nimport _forEach from 'lodash/forEach'\nimport _get from 'lodash/get'\nimport _identity from 'lodash/identity'\nimport _isEmpty from 'lodash/isEmpty'\nimport _isEqual from 'lodash/isEqual'\nimport _keys from 'lodash/keys'\nimport _map from 'lodash/map'\nimport _values from 'lodash/values'\nimport moment from 'moment'\nimport React, { useCallback, useEffect, useRef, useState } from 'react'\nimport Countdown, { CountdownRenderProps } from 'react-countdown'\n\nimport {\n getSeatMapData,\n getSeatMapStatuses,\n removeSeatReserve,\n reserveSeat,\n} from '../../api'\nimport { useOnline } from '../../hooks/useOnline'\nimport { showZero } from '../../utils/showZero'\nimport { ReferralLogic } from '../ticketsContainer/ReferralLogic'\nimport { addToCartFunc } from './addToCart'\nimport { SeatMapComponent } from './SeatMapComponent'\nimport { TicketsSection } from './TicketsSection'\nimport {\n getAddToCartRequestData,\n getOwnReservationsBasedOnStatuses,\n getTicketDropdownData,\n getTierIdBasedOnSeatId,\n} from './utils'\n\nconst OFFLINE_MESSAGE = 'Offline.'\n\ninterface IGuestCounts {\n [key: string]: number;\n}\n\nexport const SeatMapContainer = (props: IMapContainerProps) => {\n const {\n event: {\n id: eventId,\n currency: { symbol },\n tableMapEnabled,\n country,\n },\n mapContainerId,\n timerMessage = '',\n onAddToCartSuccess = _identity,\n onCountdownFinish = _identity,\n ticketDeleteButtonContent,\n ticketInfoContent,\n } = props\n\n const [seatMapData, setSeatMapData] = useState({\n seatMap: '',\n } as {\n seatMap: string;\n seatReservationTime: number;\n seatMapType: string | null;\n tierPrices: any;\n predefinedSeats: any;\n })\n const eventSeatsRef = useRef([] as EventSeat[])\n const ticketTypeTierRelationsRef = useRef({} as TicketTypeTierRelations)\n const [selectedTickets, setSelectedTickets] = useState<{\n [seatId: string]: string;\n }>({})\n const [seatMapStatuses, setSeatMapStatuses] = useState('')\n const [reservedSeats, setReservedSeats] = useState<Array<SeatReservationData>>([])\n const [isLoadingSeatMapData, setIsLoadingSeatMapData] = useState(true)\n const [isLoadingStatuses, setIsLoadingStatuses] = useState(false)\n const [isReserving, setIsReserving] = useState(false)\n const [isAddingToCart, setIsAddingToCart] = useState(false)\n const [error, setError] = useState<string | null>(null)\n const [showTimer, setShowTimer] = useState(\n Date.now() <= Number(localStorage.getItem(`reservationStart-${eventId}`))\n )\n const [guestCounts, setGuestCounts] = useState<IGuestCounts>({} as IGuestCounts)\n const [isOnline, setIsOnline] = useState(true)\n const isGuestCountsSet = useRef(false)\n\n useOnline(setIsOnline)\n\n const updateGuestCounts = (data: any) => {\n _forEach(data, (item: any) => {\n const tierTickets = ticketTypeTierRelationsRef.current[item.tierId]\n const seatTicketsArray = _values(tierTickets)\n\n setGuestCounts((prevState: any) => ({\n [item.seatId]: Number(seatTicketsArray[0].ticket_type_min_number_of_guests),\n ...prevState,\n }))\n })\n }\n\n const fetchSeatMapData = useCallback(async () => {\n try {\n const seatMapDataResponse = await getSeatMapData(eventId)\n const {\n data: {\n attributes: {\n seatData,\n ticketTypeTierRelations,\n eventSeats,\n seatReservationTime,\n seatMapType,\n tierPrices,\n predefinedSeats,\n },\n },\n } = seatMapDataResponse\n eventSeatsRef.current = eventSeats\n ticketTypeTierRelationsRef.current = ticketTypeTierRelations\n setSeatMapData({\n seatMap: JSON.parse(seatData),\n seatReservationTime,\n seatMapType,\n tierPrices,\n predefinedSeats,\n })\n } catch (error) {\n setError('Something went wrong')\n } finally {\n setIsLoadingSeatMapData(false)\n }\n }, [eventId])\n\n const fetchSeatMapReservations = useCallback(async () => {\n if (isOnline) {\n try {\n const statusesResponse = await getSeatMapStatuses(eventId)\n const statuses = _get(statusesResponse, 'data.attributes') || {}\n const reservationData: Array<SeatReservationData> = []\n const ownReservations: string[] = getOwnReservationsBasedOnStatuses(statuses)\n\n _forEach(ownReservations, reservation => {\n const tierIdOfReservation = getTierIdBasedOnSeatId(\n reservation,\n eventSeatsRef.current\n ) as string\n reservationData.push({\n seatId: reservation,\n tierId: tierIdOfReservation,\n type: 'reserve',\n })\n })\n\n localStorage.setItem('reservationData', JSON.stringify(reservationData))\n\n if (!_isEqual(seatMapStatuses, statusesResponse.data.attributes)) {\n setSeatMapStatuses(statusesResponse.data.attributes)\n }\n if (!_isEqual(reservationData, reservedSeats)) {\n setReservedSeats(reservationData)\n }\n\n // automatically set ticket/table type if it's the only one\n if (\n ticketTypeTierRelationsRef.current &&\n !_isEqual(reservationData, reservedSeats)\n ) {\n if (!isGuestCountsSet.current) {\n updateGuestCounts(reservationData)\n isGuestCountsSet.current = true\n }\n _forEach(reservationData, (item: any) => {\n const tierTickets = ticketTypeTierRelationsRef.current[item.tierId]\n const seatTicketsArray = _values(tierTickets)\n\n setSelectedTickets((prevState: any) => ({\n ...prevState,\n [item.seatId]:\n seatTicketsArray.length === 1 ? seatTicketsArray[0].ticket_type_id : '',\n }))\n })\n\n if (_isEmpty(reservationData)) {\n setGuestCounts({})\n setSelectedTickets({})\n }\n }\n } catch (error) {\n setError('Something went wrong')\n }\n }\n }, [eventId, seatMapStatuses, reservedSeats, isOnline])\n\n const startTimer = useCallback(\n (duration: number) => {\n setShowTimer(true)\n\n if (!localStorage.getItem(`reservationStart-${eventId}`)) {\n localStorage.setItem(`reservationStart-${eventId}`, String(Date.now() + duration))\n }\n },\n [eventId]\n )\n\n const endTimer = useCallback(() => {\n localStorage.removeItem(`reservationStart-${eventId}`)\n setShowTimer(false)\n }, [eventId])\n\n const handleSeatReservation = async (\n eventId: string,\n tierId: string,\n seatId: string\n ) => {\n setIsReserving(true)\n try {\n await reserveSeat(eventId, tierId, seatId)\n await fetchSeatMapReservations()\n\n startTimer(seatMapData.seatReservationTime * 60000)\n const reservationData = JSON.parse(localStorage.getItem('reservationData') || '')\n setReservedSeats(reservationData)\n updateGuestCounts(reservationData)\n\n // automatically set ticket/table type if it's the only one\n const relations = _keys(ticketTypeTierRelationsRef.current[tierId])\n const [firstItem] = _keys(ticketTypeTierRelationsRef.current[tierId])\n handleTicketSelect(relations.length === 1 ? firstItem : '', seatId)\n } catch (error) {\n setError(\n error?.response?.data?.message === 'Selected seat is not available'\n ? // eslint-disable-next-line max-len\n 'No more of this ticket type are available right now - they’re either sold out or in people’s shopping carts. Try refreshing the page!'\n : 'Something went wrong'\n )\n } finally {\n setIsReserving(false)\n }\n }\n\n const handleCancelSeatReservtion = async (\n eventId: string,\n tierId: string,\n seatId: string\n ) => {\n setIsReserving(true)\n try {\n await removeSeatReserve(eventId, tierId, [seatId])\n await fetchSeatMapReservations()\n if (_isEmpty(JSON.parse(localStorage.getItem('reservationData') as string))) {\n endTimer()\n }\n const reservationData = JSON.parse(localStorage.getItem('reservationData') || '')\n const currentSelectedTickets = { ...selectedTickets }\n delete currentSelectedTickets[seatId]\n setReservedSeats(reservationData)\n setSelectedTickets(currentSelectedTickets)\n } catch (error) {\n setError('Something went wrong')\n } finally {\n setIsReserving(false)\n }\n }\n\n const onSeatClick = async (seatInfo: {\n seat: {\n tierId: string;\n seatId: string;\n status: string;\n };\n }) => {\n const {\n seat: { tierId, seatId, status },\n } = seatInfo\n\n const reservationData = JSON.parse(localStorage.getItem('reservationData') || '[]')\n if (status === 'B' || status === 'R' || status === 'BLOCKED' || status === 'RE')\n return\n if (_find(reservationData, data => data.seatId === seatId)) {\n handleCancelSeatReservtion(eventId, tierId, seatId)\n } else if (reservationData.length >= 10) {\n setError('Limit exceeded')\n } else {\n handleSeatReservation(eventId, tierId, seatId)\n }\n }\n\n const handleTicketSelect = (ticketId: string, seatId: string) => {\n const currentSelectedTickets = { ...selectedTickets }\n currentSelectedTickets[seatId] = ticketId\n setSelectedTickets(currentSelectedTickets)\n }\n\n const handleGetTicketBtnClick = async () => {\n setIsAddingToCart(true)\n const ticketsDropdownsData = getTicketDropdownData(\n reservedSeats,\n ticketTypeTierRelationsRef.current\n )\n let selectedSeats = {}\n _forEach(ticketsDropdownsData, ticketData => {\n selectedSeats = {\n ...selectedSeats,\n [ticketData.seatId]: ticketData.ticketsData,\n }\n })\n const addToCartData = getAddToCartRequestData({\n eventId,\n reservations: _map(reservedSeats, seat => seat.seatId),\n selectedSeats,\n selectedTickets,\n guestCounts,\n })\n try {\n const response = await addToCartFunc({\n eventId,\n data: addToCartData,\n ticketQuantity: addToCartData?.attributes?.product_cart_quantity,\n })\n localStorage.removeItem('reservationData')\n onAddToCartSuccess(response)\n } catch (error) {\n if (axios.isAxiosError(error)) {\n const message = _get(error, 'response.data.message', '')\n setError(message)\n }\n } finally {\n setIsAddingToCart(false)\n }\n }\n\n useEffect(() => {\n if (Date.now() > Number(localStorage.getItem(`reservationStart-${eventId}`))) {\n setSelectedTickets({})\n setReservedSeats([])\n }\n\n const makeRequests = async () => {\n try {\n setIsLoadingStatuses(true)\n await fetchSeatMapData()\n await fetchSeatMapReservations()\n } catch (error) {\n setError('Something went wrong')\n } finally {\n setIsLoadingStatuses(false)\n }\n }\n\n makeRequests()\n\n if (country) {\n localStorage.setItem('eventCountry', country)\n }\n }, [country, eventId, fetchSeatMapData])\n\n useEffect(() => {\n const intervalId = setInterval(() => {\n fetchSeatMapReservations()\n }, 3000)\n\n return () => {\n clearInterval(intervalId)\n }\n }, [fetchSeatMapReservations])\n\n useEffect(() => {\n if (!isOnline) {\n setError(OFFLINE_MESSAGE)\n } else if (isOnline && error === OFFLINE_MESSAGE) {\n setError(null)\n }\n }, [error, isOnline])\n\n return (\n <>\n {error && (\n <Alert\n severity=\"error\"\n onClose={() => {\n setError(null)\n }}\n variant=\"filled\"\n style={{ width: '350px' }}\n >\n {error}\n </Alert>\n )}\n {showTimer && (\n <Countdown\n date={moment(\n Number(localStorage.getItem(`reservationStart-${eventId}`))\n ).valueOf()}\n renderer={(props: CountdownRenderProps) => (\n <div className=\"reservation-countdown\">\n <span className=\"reservation-message\">{timerMessage}</span>\n <span className=\"reservation-timer\">\n {showZero(props.minutes)}:{showZero(props.seconds)}\n </span>\n </div>\n )}\n onComplete={() => {\n endTimer()\n setSelectedTickets({})\n setReservedSeats([])\n if (onCountdownFinish) {\n onCountdownFinish()\n }\n }}\n />\n )}\n {!isLoadingSeatMapData && !isLoadingStatuses && <ReferralLogic eventId={eventId} />}\n <TicketsSection\n selectedTickets={selectedTickets}\n handleTicketSelect={handleTicketSelect}\n handleCancelReservation={(seatId: string, tireId: string) =>\n handleCancelSeatReservtion(eventId, tireId, seatId)\n }\n handleGetTicketClick={handleGetTicketBtnClick}\n isAddingToCart={isAddingToCart}\n reservedSeats={reservedSeats}\n ticketDeleteButtonContent={ticketDeleteButtonContent}\n ticketInfoContent={ticketInfoContent}\n ticketTypeTierRelations={ticketTypeTierRelationsRef.current}\n currencySymbol={symbol}\n tableMapEnabled={Boolean(tableMapEnabled)}\n guestCounts={guestCounts}\n setGuestCounts={setGuestCounts}\n />\n <SeatMapComponent\n seatMapProps={{\n seatData: seatMapData.seatMap,\n statuses: seatMapStatuses,\n tierPrices: seatMapData.tierPrices,\n seatMapType: seatMapData.seatMapType,\n ticketTypeTierRelations: ticketTypeTierRelationsRef.current,\n seatMapEvents: { onSeatClick },\n isReserving,\n predefinedSeats: seatMapData.predefinedSeats,\n isLoadingSeatMapData,\n }}\n mapContainerId={mapContainerId}\n />\n </>\n )\n}\n","import Button from '@mui/material/Button'\nimport { AxiosError } from 'axios'\nimport _identity from 'lodash/identity'\nimport _isEmpty from 'lodash/isEmpty'\nimport React, { useEffect, useState } from 'react'\n\nimport {\n checkCustomerOrder,\n checkVerificationStatus,\n getNetverifyUrl,\n updateVerificationStatus,\n} from '../../api'\nimport {\n GetNetverifyUrlResponseData,\n VerificationStatusResponseData,\n} from '../../types/verification'\nimport { getQueryVariable, isBrowser, isJson } from '../../utils'\nimport Modal from '../common/ModalComponent'\nimport {\n VERIFICATION_MESSAGES,\n VERIFICATION_PROVIDERS,\n VERIFICATION_STATUSES,\n} from './constants'\n\ninterface IDVerificationProps {\n onGetVerifyUrlSuccess?: (response: GetNetverifyUrlResponseData) => void;\n onGetVerifyUrlError?: (error: AxiosError) => void;\n\n onGetVerificationStatusSuccess?: (response: {\n data: VerificationStatusResponseData;\n }) => void;\n onGetVerificationStatusError?: (error: AxiosError) => void;\n\n onVerificationMessageModalClose?: (status: string | null) => void;\n\n onPassVerificationStepsSuccess?: () => void;\n onPassVerificationStepsError?: (error: AxiosError | null) => void;\n}\n\nexport const IDVerification = (props: IDVerificationProps) => {\n const {\n onGetVerifyUrlSuccess = _identity,\n onGetVerifyUrlError = _identity,\n\n onGetVerificationStatusSuccess = _identity,\n onGetVerificationStatusError = _identity,\n\n onVerificationMessageModalClose = _identity,\n\n onPassVerificationStepsSuccess = _identity,\n onPassVerificationStepsError = _identity,\n } = props\n\n const [loadingStatus, setLoadingStatus] = useState(true)\n const [verificationStatus, setVerificationStatus] = useState<string | null>(null)\n const [showModal, setShowModal] = useState(false)\n const [netverifyUrl, setNetverifyUrl] = useState<string | null>(null)\n const [provider, setProvider] = useState<string | null>(null)\n const [hasError, setHasError] = useState<boolean>(false)\n const [lastError, setLastError] = useState(null)\n const [modalData, setModalData] = useState({\n message: '',\n hideCancelBtn: true,\n displaModal: false,\n })\n\n const isAccountVerifiedOrPending =\n (verificationStatus === VERIFICATION_STATUSES.APPROVED ||\n verificationStatus === VERIFICATION_STATUSES.PENDING) &&\n verificationStatus !== VERIFICATION_STATUSES.WRONG_CUSTOMER\n\n const handleClose = () => {\n setModalData({\n message: '',\n displaModal: false,\n hideCancelBtn: true,\n })\n\n onVerificationMessageModalClose(verificationStatus)\n }\n\n useEffect(() => {\n const callbackNetVerify = async (e: any) => {\n // Stripe Events\n if (e.data && e.origin === 'https://verify.stripe.com') {\n const { data } = e\n if (data.type === 'STRIPE_IDENTITY_CLOSE') {\n await getUrl()\n setShowModal(false)\n if (hasError) {\n setHasError(false)\n onPassVerificationStepsError(lastError)\n } else {\n setHasError(false)\n onPassVerificationStepsSuccess()\n }\n } else if (data.type === 'STRIPE_IDENTITY_ERROR') {\n setHasError(true)\n setLastError(data)\n }\n }\n\n if (e.data && isJson(e.data)) {\n try {\n const result = JSON.parse(e.data)\n if (\n result.payload &&\n (result.payload.value === 'success' ||\n result.payload.transactionStatus === 'SUCCESS')\n ) {\n await updateVerificationStatus()\n onPassVerificationStepsSuccess()\n } else if (\n result.payload &&\n (result.payload.value === 'error' ||\n result.payload.transactionStatus === 'ERROR')\n ) {\n setShowModal(false)\n onPassVerificationStepsError(result.payload)\n }\n } catch (e) {\n onPassVerificationStepsError(e)\n }\n }\n }\n\n window.addEventListener('message', callbackNetVerify)\n\n return () => {\n window.removeEventListener('message', callbackNetVerify)\n }\n }, [])\n\n const getUrl = async () => {\n try {\n const urlResponse = await getNetverifyUrl()\n setNetverifyUrl(urlResponse.netverifyUrl)\n setProvider(urlResponse.provider)\n onGetVerifyUrlSuccess(urlResponse)\n } catch (error) {\n onGetVerifyUrlError(error)\n }\n }\n\n useEffect(() => {\n let intervalId: any = null\n const orderHash = getQueryVariable('order_hash') || ''\n\n const getVerificationStatus = async () => {\n try {\n let verificationStatus = null\n // Gets te current status of the variable without modifying it\n setVerificationStatus(status => {\n verificationStatus = status\n return status\n })\n let provider = null\n // Gets te current status of the variable without modifying it\n setProvider(state => {\n provider = state\n return provider\n })\n let verifyUrl = null\n // Gets te current status of the variable without modifying it\n setNetverifyUrl(state => {\n verifyUrl = state\n return state\n })\n const statusResponse = await checkVerificationStatus()\n const { status } = statusResponse.data.attributes\n const isApproved = status === VERIFICATION_STATUSES.APPROVED\n\n if (verificationStatus !== status) {\n setVerificationStatus(status)\n setModalData({\n displaModal: isApproved || status === VERIFICATION_STATUSES.FAILED,\n hideCancelBtn: true,\n message: isApproved\n ? VERIFICATION_MESSAGES.APPROVED\n : status === VERIFICATION_STATUSES.FAILED\n ? VERIFICATION_MESSAGES.FAILED\n : status,\n })\n }\n if (\n provider === VERIFICATION_PROVIDERS.STRIPE &&\n verifyUrl === null &&\n !isApproved\n ) {\n getUrl()\n }\n onGetVerificationStatusSuccess(statusResponse)\n } catch (error) {\n onGetVerificationStatusError(error)\n } finally {\n setLoadingStatus(false)\n }\n }\n\n const getCustomerOrderStatus = async () => {\n const customerOrderResponse = await checkCustomerOrder(orderHash)\n return customerOrderResponse\n }\n\n const makeRequests = async () => {\n try {\n if (orderHash) {\n await getCustomerOrderStatus()\n }\n getUrl()\n getVerificationStatus()\n\n // Check the verification status every 30 seconds\n intervalId = setInterval(() => {\n getVerificationStatus()\n }, 10000)\n } catch (error) {\n if (error.response?.data?.message === VERIFICATION_MESSAGES.WRONG_CUSTOMER) {\n setVerificationStatus(VERIFICATION_STATUSES.WRONG_CUSTOMER)\n setModalData({\n displaModal: true,\n hideCancelBtn: true,\n message: VERIFICATION_MESSAGES.WRONG_CUSTOMER,\n })\n }\n }\n }\n\n makeRequests()\n\n // Clear the interval when the component unmounts\n return () => clearInterval(intervalId)\n }, [])\n\n const iframe = (netverifyUrl: string) => {\n // eslint-disable-next-line max-len\n const iframe = `<iframe allowFullScreen id=\"verificationIframe\" frameBorder=\"0\" width=\"100%\" height=\"570px\" allow=\"camera;fullscreen;accelerometer;gyroscope;magnetometer\" src=\"${netverifyUrl}\"></iframe>`\n return {\n __html: iframe,\n }\n }\n\n useEffect(() => {\n const orderHash = getQueryVariable('order_hash')\n\n if (isBrowser) {\n const checkoutData = JSON.parse(window.localStorage.getItem('checkoutData') || '{}')\n if (_isEmpty(checkoutData) && orderHash) {\n window.localStorage.setItem('checkoutData', JSON.stringify({ hash: orderHash }))\n }\n }\n }, [])\n\n return (\n <div>\n <h2 className=\"page-header\">Account Verification</h2>\n {loadingStatus ? null : (\n <>\n {!isAccountVerifiedOrPending && (\n <div className=\"verify-message\">\n To complete the purchase, please verify your identity.\n </div>\n )}\n {verificationStatus === VERIFICATION_STATUSES.APPROVED && (\n <div className=\"verify-message\">{VERIFICATION_MESSAGES.APPROVED}</div>\n )}\n {(verificationStatus === VERIFICATION_STATUSES.PENDING ||\n (provider === VERIFICATION_PROVIDERS.STRIPE &&\n netverifyUrl === null &&\n verificationStatus !== VERIFICATION_STATUSES.APPROVED)) && (\n <div className=\"verify-message\">{VERIFICATION_MESSAGES.PENDING}</div>\n )}\n {!isAccountVerifiedOrPending && netverifyUrl !== null && (\n <Button\n type=\"button\"\n variant=\"contained\"\n className=\"verify-button\"\n onClick={() => {\n setShowModal(true)\n }}\n >\n Verify\n </Button>\n )}\n </>\n )}\n\n {modalData.displaModal && (\n <Modal\n modalClassName=\"verification-message-modal\"\n actions={[\n {\n id: 'ok',\n label: 'Ok',\n variant: 'contained',\n onClick: handleClose,\n },\n ]}\n >\n <div className=\"verify-message\">{modalData.message}</div>\n </Modal>\n )}\n\n {showModal && (\n <Modal\n modalClassName=\"id-verification-modal\"\n actions={[\n {\n id: 'close',\n label: 'Close',\n variant: 'contained',\n onClick: () => {\n setShowModal(false)\n },\n },\n ]}\n >\n <div dangerouslySetInnerHTML={iframe(netverifyUrl || '')} />\n </Modal>\n )}\n </div>\n )\n}\n","import React from 'react'\nimport Modal from '@mui/material/Modal'\nimport Box from '@mui/material/Box'\n\ninterface IRedirectModal {\n message: string\n onClickOk: () => void\n}\n\nconst style: React.CSSProperties = {\n position: 'absolute',\n top: '10%',\n left: '50%',\n transform: 'translate(-50%, -50%)',\n minWidth: 480,\n backgroundColor: '#e3e3e3',\n border: '1px solid white',\n outline: 'none',\n padding: '14px',\n maxHeight: '85vh',\n overflow: 'auto',\n}\n\nexport const RedirectModal = ({\n message = 'Your cart has expired. Please click on \"OK\" to return to the ticket selection page.',\n onClickOk = () => {},\n}: IRedirectModal) => {\n return (\n <Modal\n open={true}\n aria-labelledby=\"modal-modal-title\"\n aria-describedby=\"modal-modal-description\"\n className=\"redirect-modal\"\n >\n <Box style={style}>\n <p>{message}</p>\n <div className=\"footer\">\n <button onClick={onClickOk}>OK</button>\n </div>\n </Box>\n </Modal>\n )\n}\n","import Box from '@mui/material/Box'\nimport Button from '@mui/material/Button'\nimport Modal from '@mui/material/Modal'\nimport { Field, Form, Formik } from 'formik'\nimport React, { useState } from 'react'\n\nimport { sendRSVPInfo } from '../../api'\nimport { isBrowser } from '../../utils'\nimport { combineValidators, emailValidator, requiredValidator } from '../../validators'\nimport { CustomField, Loader } from '../common/index'\n\ninterface IRsvpContainerPage {\n showSection?: boolean;\n eventId: number;\n}\n\ninterface IRSVPValuesTypes {\n email: string;\n}\n\nconst style: React.CSSProperties = {\n position: 'absolute',\n top: '50%',\n left: '50%',\n transform: 'translate(-50%, -50%)',\n minWidth: 480,\n backgroundColor: '#e3e3e3',\n border: '1px solid white',\n outline: 'none',\n padding: '14px',\n maxHeight: '85vh',\n overflow: 'auto',\n}\n\nexport const RsvpContainer = ({ showSection = false, eventId }: IRsvpContainerPage) => {\n const userDataEncoded = isBrowser ? window.localStorage.getItem('user_data') : ''\n const parsedData = JSON.parse(userDataEncoded || '{}')\n\n const [loading, setLoading] = useState(false)\n const [modal, setModal] = useState({ isOpen: false, text: '' })\n\n const handleModalClose = () => {\n setModal({ isOpen: false, text: '' })\n }\n\n const handleSubmit = async (values: IRSVPValuesTypes) => {\n try {\n setLoading(true)\n\n const requestData = { data: { email: values.email } }\n const response = await sendRSVPInfo(eventId, requestData)\n\n setModal({ isOpen: true, text: response.message })\n } catch (error) {\n if (error.response.status === 403) {\n setModal({ isOpen: true, text: error.response.data?.message })\n }\n } finally {\n setLoading(false)\n }\n }\n\n if (!showSection) {\n return null\n }\n\n return (\n <>\n <Modal\n open={modal.isOpen}\n onClose={handleModalClose}\n aria-labelledby=\"modal-modal-title\"\n aria-describedby=\"modal-modal-description\"\n className=\"rsvp-modal\"\n >\n <Box style={style} className=\"rsvp-modal-box\">\n <div className=\"rsvp-modal-container\">\n <div className=\"rsvp-modal-header\">{modal.text}</div>\n <div className=\"rsvp-modal-button\">\n <button type=\"button\" onClick={handleModalClose}>\n OK\n </button>\n </div>\n </div>\n </Box>\n </Modal>\n <div className=\"rsvp-container\">\n {loading ? (\n <Loader />\n ) : (\n <>\n <div className=\"rsvp-header\">RSVP</div>\n <div className=\"rsvp-email-container\">\n <Formik\n initialValues={{\n email: parsedData?.email || '',\n }}\n onSubmit={handleSubmit}\n enableReinitialize\n >\n <Form>\n <div className=\"rsvp-email-input-container\">\n <Field\n name=\"email\"\n label=\"EMAIL ADDRESS\"\n type=\"email\"\n validate={combineValidators(\n (value: string) =>\n requiredValidator(value, 'Please enter your Email'),\n (value: string) => emailValidator(value)\n )}\n component={CustomField}\n />\n </div>\n <div className=\"rsvp-button-container\">\n <Button type=\"submit\">RSVP</Button>\n </div>\n </Form>\n </Formik>\n </div>\n </>\n )}\n </div>\n </>\n )\n}\n","import React from 'react'\n\nexport const getFormFieldsNotLoggedIn = (\n clientName?: string | number\n): IFormFieldsSection[] => [\n {\n name: 'basic-info',\n groupLabel: (\n <>\n <span>\n If you want to enter your details manually, please type them below to create an\n account, then click on\n </span>\n <b> Confirm Registration:</b>\n </>\n ),\n groupLabelClassName: '',\n groupClassName: '',\n fields: [\n {\n className: 'half-width',\n name: 'firstName',\n label: 'First Name',\n type: 'text',\n required: true,\n onValidate: null,\n },\n {\n className: 'half-width',\n name: 'lastName',\n label: 'Last Name',\n type: 'text',\n required: true,\n onValidate: null,\n },\n {\n name: 'email',\n label: 'Email',\n type: 'email',\n required: true,\n onValidate: null,\n },\n {\n name: 'confirmEmail',\n label: 'Confirm Email',\n type: 'email',\n required: true,\n onValidate: null,\n },\n ],\n },\n {\n name: 'billing-info',\n groupLabel: '',\n groupLabelClassName: '',\n groupClassName: '',\n fields: [\n {\n className: 'half-width',\n name: 'zip',\n label: 'Post Code/Zip',\n type: 'text',\n required: true,\n onValidate: null,\n },\n {\n className: 'half-width',\n name: 'country',\n label: 'Country',\n type: 'select',\n required: true,\n onValidate: null,\n },\n ],\n },\n {\n name: 'password-info',\n groupLabel: (\n <div className=\"email-info-block\">\n <span>Choose a password for your new</span>\n <b> {clientName || 'Mana Common'} </b>\n <span>account</span>\n </div>\n ),\n groupLabelClassName: '',\n groupClassName: '',\n fields: [\n {\n className: 'half-width',\n name: 'password',\n label: 'Password',\n type: 'password',\n required: true,\n onValidate: null,\n },\n {\n className: 'half-width',\n name: 'confirmPassword',\n label: 'Confirm Password',\n type: 'password',\n required: true,\n onValidate: null,\n },\n ],\n },\n]\n\nexport const getFormFieldsLoggedIn = (\n clientName?: string | number\n): IFormFieldsSection[] => [\n {\n name: 'basic-info-logged-in',\n groupLabel:\n 'To confirm your pre-registration for {event_name} simply click on the confirmation button below.',\n groupLabelClassName: '',\n groupClassName: '',\n fields: [\n {\n name: 'email',\n label: 'Email',\n type: 'email',\n required: true,\n onValidate: null,\n },\n {\n name: 'confirmEmail',\n label: 'Confirm Email',\n type: 'email',\n required: true,\n onValidate: null,\n },\n ],\n },\n {\n name: 'billing-info-logged-in',\n groupLabel: '',\n groupLabelClassName: '',\n groupClassName: '',\n fields: [\n {\n name: 'numTickets',\n label: 'How many tickets do you want to buy?',\n type: 'select',\n required: true,\n options: new Array(10).fill(null).map((_, index) => ({\n label: index + 1,\n value: index + 1,\n })),\n onValidate: null,\n },\n {\n name: 'holderAge',\n label: 'Ticket Holder Age',\n type: 'date',\n required: true,\n onValidate: null,\n },\n {\n name: 'brandOptIn',\n label: `I would like to be updated on ${\n clientName || 'Mana Common'\n } news, events and offers.`,\n type: 'checkbox',\n },\n ],\n },\n]\n","import { FormikValues } from 'formik'\nimport _forEach from 'lodash/forEach'\nimport _get from 'lodash/get'\nimport _identity from 'lodash/identity'\nimport _isEmpty from 'lodash/isEmpty'\nimport _map from 'lodash/map'\nimport _split from 'lodash/split'\n\nimport { combineValidators, requiredValidator } from '../../validators'\nimport { IShareButton } from '../confirmationContainer'\n\nexport const getValidateFunctions = ({\n element,\n values,\n}: {\n element: IFormField;\n values: FormikValues;\n}) => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const validationFunctions: any[] = []\n if (element.required) {\n validationFunctions.push(requiredValidator)\n }\n\n if (element.onValidate) {\n validationFunctions.push(element.onValidate)\n }\n\n if (element.name === 'confirmEmail') {\n const isSameEmail = (confirmEmail?: string) =>\n values.email !== confirmEmail ? 'Please confirm your email address correctly' : null\n validationFunctions.push(isSameEmail)\n }\n\n if (element.name === 'confirmPassword') {\n const isSame = (confirmPassword?: string) =>\n values.password !== confirmPassword ? 'Password confirmation does not match' : null\n validationFunctions.push(isSame)\n }\n\n return combineValidators(...validationFunctions)\n}\n\nexport const getFormInitialValues = (fieldsSections: IFormFieldsSection[]) => {\n const initialValues: { [key: string]: string | number | boolean } = {}\n const isWindowDefined = typeof window !== 'undefined'\n const userData = JSON.parse(\n isWindowDefined ? window.localStorage.getItem('user_data') || '{}' : '{}'\n ) as IProfileData\n\n _forEach(fieldsSections, item => {\n _forEach(item.fields, fieldItem => {\n switch (fieldItem.name) {\n case 'country':\n case 'numTickets':\n initialValues[fieldItem.name] = 1\n break\n case 'brandOptIn':\n initialValues[fieldItem.name] = true\n break\n case 'confirmEmail':\n initialValues[fieldItem.name] =\n _get(userData, fieldItem.name) || _get(userData, 'email') || ''\n break\n default:\n initialValues[fieldItem.name] = _get(userData, fieldItem.name) || ''\n break\n }\n })\n })\n\n return initialValues\n}\n\nexport const updateFormFieldsAttributes = (\n formFields: IFormFieldsSection[],\n attributes?: IFieldAttribute\n) => {\n if (attributes && !_isEmpty(attributes)) {\n const updatedFormFields = _map(formFields, fieldSection => {\n const fieldSectionAttributes = attributes[fieldSection.name] || {}\n\n const updatedFields = _map(fieldSection.fields, fieldItem => {\n const fieldItemAttributes = attributes[fieldItem.name] || {}\n return { ...fieldItem, ...fieldItemAttributes }\n })\n\n return {\n ...fieldSection,\n ...fieldSectionAttributes,\n fields: updatedFields,\n }\n })\n\n return updatedFormFields\n }\n return formFields\n}\n\nexport const shareOptionsAdapter = (\n data: Array<IShareOptionsActionData>,\n shareUrl: string\n) => {\n const adaptedData: Array<IShareButton> = []\n _forEach(data, option => {\n if (option.action !== 'shared_url') {\n const [platform, method] = _split(option.action, '_')\n const mainLabel = method ? method[0].toUpperCase() + method.substring(1) : 'Share'\n adaptedData.push({\n mainLabel: option.action === 'twitter' ? 'Tweet' : mainLabel + ' on',\n subLabel:\n option.action === 'twitter'\n ? ' to your followers'\n : platform[0].toUpperCase() + platform.substring(1),\n platform,\n shareData: {\n quote: 'as',\n url: option.socialUrl || shareUrl,\n },\n points: option.point,\n eventActionId: option.id,\n oneTimeAction: option.oneTimeAction,\n alreadyApplied: option.alreadyApplied,\n })\n }\n })\n return adaptedData\n}\n\nexport const getShuffleMethodByName = (\n tokenShuffleMethod: string\n): ((value: string) => string) => {\n const reverseString = (value: string) => value.split('').reverse().join('')\n const symmetricShuffleString = (value: string) => {\n const lengthOfStr = value.length\n const part1 = value.substring(0, lengthOfStr / 2)\n return value.substring(lengthOfStr / 2) + part1\n }\n const shuffleEveryTwoSymbolsInString = (value: string): string => {\n const words = value.split('')\n let shuffledStr = ''\n for (let i = 0; i < words.length; i += 2) {\n shuffledStr = shuffledStr.concat(words[i + 1], words[i])\n }\n return shuffledStr\n }\n\n if (tokenShuffleMethod === 'reverse_string') {\n return reverseString\n } else if (tokenShuffleMethod === 'symmetric_shuffle_string') {\n return symmetricShuffleString\n } else if (tokenShuffleMethod === 'shuffle_every_two_symbols_in_string')\n return shuffleEveryTwoSymbolsInString\n return _identity\n}\n","import { Field, FormikValues } from 'formik'\nimport _map from 'lodash/map'\nimport React, { FC } from 'react'\n\nimport { replaceVarInString } from '../../utils'\nimport {\n CheckboxField,\n CustomField,\n NativeSelectField,\n PhoneNumberField,\n} from '../common'\nimport { DatePickerField } from '../common/DatePickerField'\nimport { getValidateFunctions } from './utils'\nimport {ThemeOptions} from \"@mui/material\";\nimport {CSSProperties} from \"@mui/styles\";\n\nconst isDocumentDefined = typeof document !== 'undefined'\n\nexport interface IFieldsSectionProps {\n formFields?: IFormFieldsSection[];\n values: FormikValues;\n setFieldValue: (\n field: string,\n value: FormikValues,\n shouldValidate?: boolean | undefined\n ) => void;\n\n countries?: { [key: string]: string | number }[];\n theme?: 'dark' | 'light';\n themeOptions?: ThemeOptions & {\n input?: CSSProperties;\n checkbox?: CSSProperties;\n };\n containerClass?: string;\n}\n\nconst SectionContainer: FC<{ className: string }> = ({\n children,\n className,\n}) => <div className={className}>{children}</div>\n\nconst insertHTML = (elementId: string, text = '') => {\n if (isDocumentDefined) {\n const elem = document && document.getElementById(elementId)\n\n if (!elem?.childNodes.length) {\n elem?.insertAdjacentHTML('afterbegin', text)\n }\n }\n\n return null\n}\n\nconst getFieldClassNames = (id: string, existingClassNames: string) => {\n if (isDocumentDefined) {\n const elem = document && document.getElementById(id)\n\n if ((elem?.parentElement?.clientWidth || 0) < 375) {\n return existingClassNames + ' full-width'\n }\n }\n\n return existingClassNames\n}\n\nexport const FieldsSection = ({\n formFields = [],\n\n countries = [],\n\n values,\n setFieldValue,\n theme,\n containerClass = '',\n themeOptions,\n}: IFieldsSectionProps) => (\n <>\n {_map(formFields, (item, index) => {\n const {\n name,\n groupLabel,\n groupLabelVars = [],\n groupLabelClassName,\n groupClassName = '',\n fields,\n } = item\n return (\n <SectionContainer key={name} className={groupClassName}>\n <span id={`group_label_${index}`} className={groupLabelClassName}>\n {typeof groupLabel === 'string'\n ? insertHTML(\n `group_label_${index}`,\n replaceVarInString(groupLabel, groupLabelVars)\n )\n : groupLabel}\n </span>\n <div className={`fields-container ${groupClassName}`}>\n {_map(fields, (fieldData, fieldIndex) => {\n const {\n name,\n label,\n className = 'full-width',\n type,\n component,\n options = [],\n } = fieldData\n const id = `${name}-${fieldIndex}`\n const classNames = `${containerClass}-container__field ${className}`\n\n return (\n component || (\n <div\n key={name}\n id={id}\n className={getFieldClassNames(id, classNames)}\n >\n <Field\n name={name}\n label={label}\n type={type}\n validate={getValidateFunctions({\n element: fieldData,\n values,\n })}\n setFieldValue={setFieldValue}\n component={\n type === 'checkbox'\n ? CheckboxField\n : type === 'select'\n ? NativeSelectField\n : type === 'phone'\n ? PhoneNumberField\n : type === 'date'\n ? DatePickerField\n : CustomField\n }\n selectOptions={name === 'country' ? countries : options}\n theme={theme}\n themeOptions={themeOptions}\n />\n </div>\n )\n )\n })}\n </div>\n </SectionContainer>\n )\n })}\n </>\n)\n","import { Button, CircularProgress, ThemeOptions } from '@mui/material'\nimport { createTheme, ThemeProvider } from '@mui/material/styles'\nimport { CSSProperties } from '@mui/styles'\nimport axios, { AxiosError } from 'axios'\nimport { Form, Formik, FormikValues } from 'formik'\nimport _get from 'lodash/get'\nimport _identity from 'lodash/identity'\nimport _map from 'lodash/map'\nimport React, { FC, useEffect, useState } from 'react'\n\nimport { confirmPreRegistration, getCountries, getProfileData, register } from '../../api'\nimport { useCookieListener } from '../../hooks/useCookieListener'\nimport { CONFIGS, getCookieByName, getQueryVariable } from '../../utils'\nimport SnackbarAlert from '../common/SnackbarAlert'\nimport ConfirmModal from '../confirmModal'\nimport { ForgotPasswordModal, IForgotPasswordProps } from '../forgotPasswordModal'\nimport { LoginModal, Props } from '../loginModal'\nimport { getFormFieldsLoggedIn, getFormFieldsNotLoggedIn } from './constants'\nimport { FieldsSection } from './FieldsSection'\nimport { getFormInitialValues, updateFormFieldsAttributes } from './utils'\n\nconst X_TF_ECOMMERCE = 'X-TF-ECOMMERCE'\nconst isWindowDefined = typeof window !== 'undefined'\n\ninterface IPreRegistrationProps extends Props, IForgotPasswordProps {\n eventId: string | number;\n formFields?: IFormFieldsSection[];\n additionalFieldAttribute?: IFieldAttribute;\n isPreregistrationStarted: boolean;\n onGetCountriesSuccess?: (res: any) => void;\n onGetCountriesError?: (e: AxiosError) => void;\n onConfirmationSuccess?: (res: any) => void;\n onConfirmationError?: (e: AxiosError) => void;\n onLoginSuccess?: (res: any) => void;\n\n themeOptions?: ThemeOptions & {\n input?: CSSProperties;\n checkbox?: CSSProperties;\n };\n}\n\nexport const PreRegistration: FC<IPreRegistrationProps> = ({\n eventId,\n formFields: pFormFields,\n additionalFieldAttribute,\n isPreregistrationStarted,\n logo,\n showForgotPasswordButton,\n onLoginSuccess = _identity,\n onForgotPasswordSuccess = _identity,\n onForgotPasswordError = _identity,\n onGetCountriesSuccess = _identity,\n onGetCountriesError = _identity,\n onConfirmationSuccess = _identity,\n onConfirmationError = _identity,\n themeOptions,\n}) => {\n const [error, setError] = useState('')\n const [showModalLogin, setShowModalLogin] = useState(false)\n const [alreadyHasUser, setAlreadyHasUser] = useState(false)\n const [showModalForgotPassword, setShowModalForgotPassword] = useState(false)\n const [countries, setCountries] = useState<{ [key: string]: string | number }[]>([])\n const [isLoggedIn, setIsLoggedIn] = useState(Boolean(getCookieByName(X_TF_ECOMMERCE)))\n const [confirmModalState, setConfirmModalState] = useState({ show: false, message: '' })\n const [, setUserData] = useState({} as IProfileData)\n useCookieListener(X_TF_ECOMMERCE, value => setIsLoggedIn(Boolean(value)))\n\n const themeMui = createTheme(themeOptions)\n\n const formFieldsLoggedIn = getFormFieldsLoggedIn(CONFIGS.CLIENT_NAME)\n const formFieldsNotLoggedIn = getFormFieldsNotLoggedIn(CONFIGS.CLIENT_NAME)\n\n const formFields = updateFormFieldsAttributes(\n pFormFields || isLoggedIn ? formFieldsLoggedIn : formFieldsNotLoggedIn,\n additionalFieldAttribute\n )\n\n useEffect(() => {\n // fetch countries data\n const fetchCountries = async () => {\n try {\n const res = await getCountries()\n setCountries(\n _map(_get(res, 'data'), item => ({\n label: item.name,\n value: Number(item.id),\n }))\n )\n onGetCountriesSuccess(res.data)\n } catch (e) {\n if (axios.isAxiosError(e)) {\n const error = 'Error'\n setError(error)\n onGetCountriesError(e)\n }\n }\n }\n fetchCountries()\n }, [])\n\n const hash = getQueryVariable('hash') || ''\n const referrerId = getQueryVariable('referrer_id') || ''\n return (\n <ThemeProvider theme={themeMui}>\n <div className=\"pre-registration-container\">\n <SnackbarAlert\n type=\"error\"\n isOpen={!!error}\n message={error || ''}\n onClose={() => {\n setError('')\n }}\n />\n {confirmModalState.show && (\n <ConfirmModal\n hideCancelBtn\n onConfirm={() => setConfirmModalState({ show: false, message: '' })}\n message={confirmModalState.message}\n />\n )}\n {!isLoggedIn && (\n <div className=\"account-actions-block\">\n <div className=\"action-item\">\n <div>\n <span>\n Create (or log in to) your account, then click on Confirm Registration.\n </span>\n <span> If you have a</span>\n <b> {CONFIGS.CLIENT_NAME || 'Mana Common'} </b>\n <span>account and password already</span>\n </div>\n </div>\n <div className=\"action-item login-block\">\n <button\n className=\"login-register-button\"\n type=\"button\"\n onClick={() => {\n setShowModalLogin(true)\n }}\n >\n Login\n </button>\n </div>\n </div>\n )}\n {showModalLogin && (\n <LoginModal\n logo={logo}\n onClose={() => {\n setShowModalLogin(false)\n }}\n onLogin={res => {\n setShowModalLogin(false)\n onLoginSuccess(res)\n }}\n showForgotPasswordButton={showForgotPasswordButton}\n onForgotPassword={() => {\n setShowModalLogin(false)\n setShowModalForgotPassword(true)\n }}\n alreadyHasUser={alreadyHasUser}\n />\n )}\n {showModalForgotPassword && (\n <ForgotPasswordModal\n onClose={() => {\n setShowModalForgotPassword(false)\n }}\n onLoginButtonClick={() => {\n setShowModalForgotPassword(false)\n setShowModalLogin(true)\n }}\n onForgotPasswordSuccess={onForgotPasswordSuccess}\n onForgotPasswordError={onForgotPasswordError}\n />\n )}\n <h2>Pre-Registration</h2>\n <Formik\n initialValues={getFormInitialValues(formFields)}\n enableReinitialize={true}\n onSubmit={async (values: FormikValues) => {\n try {\n if (isLoggedIn) {\n if (isPreregistrationStarted) {\n const updatedValues = { ...values }\n const holderAgeDate = new Date(values.holderAge)\n updatedValues.dobDay = holderAgeDate.getDate()\n updatedValues.dobMonth = holderAgeDate.getMonth() + 1\n updatedValues.dobYear = holderAgeDate.getFullYear()\n updatedValues.referrerId = referrerId\n updatedValues.shareHash = hash\n // remove date picker string value\n delete updatedValues.holderAge\n\n const confirmationData = await confirmPreRegistration(\n eventId,\n updatedValues as IConfirmPreRegistrationRequestData\n )\n if (isWindowDefined) {\n window.localStorage.setItem(\n 'pre-registration-hash',\n _get(confirmationData, 'attributes.hash')\n )\n }\n\n onConfirmationSuccess(confirmationData)\n } else {\n setConfirmModalState({\n show: true,\n message: 'The preregistration has not started',\n })\n }\n } else {\n const bodyFormData = new FormData()\n bodyFormData.append('first_name', values.firstName)\n bodyFormData.append('last_name', values.lastName)\n bodyFormData.append('email', values.email)\n bodyFormData.append('confirm_email', values.confirmEmail)\n bodyFormData.append('zip', values.zip)\n bodyFormData.append('country', values.country)\n bodyFormData.append('password', values.password)\n bodyFormData.append('password_confirmation', values.confirmPassword)\n bodyFormData.append('client_id', CONFIGS.CLIENT_ID)\n bodyFormData.append('client_secret', CONFIGS.CLIENT_SECRET)\n bodyFormData.append('register_for', 'prereg')\n\n const res = await register(bodyFormData)\n const profileRes = await getProfileData()\n onLoginSuccess(res.data)\n if (isWindowDefined) {\n window.localStorage.setItem(\n 'user_data',\n JSON.stringify(_get(profileRes, 'data'))\n )\n setUserData(_get(profileRes, 'data'))\n }\n }\n } catch (e) {\n let errorMessage = e?.message || 'Error'\n const emailErrors = e?.response?.data?.message?.email\n\n if (typeof e?.response?.data?.message === 'string') {\n errorMessage = e?.response?.data?.message\n }\n if (emailErrors?.length > 0) {\n if (emailErrors[0] === 'The email is already used') {\n setShowModalLogin(true)\n setAlreadyHasUser(true)\n }\n } else {\n setError(errorMessage)\n }\n\n onConfirmationError(e)\n }\n }}\n >\n {props => (\n <Form>\n <div className=\"login-modal-body\">\n <FieldsSection\n formFields={formFields}\n values={props.values}\n setFieldValue={props.setFieldValue}\n containerClass=\"pre-registration\"\n countries={countries}\n themeOptions={themeOptions}\n />\n </div>\n <div className=\"button-container\">\n <Button\n type=\"submit\"\n variant=\"contained\"\n className=\"login-register-button\"\n disabled={props.isSubmitting}\n >\n {props.isSubmitting ? (\n <CircularProgress size={26} />\n ) : isLoggedIn ? (\n 'Confirm Pre-Registration'\n ) : (\n 'Create Account'\n )}\n </Button>\n </div>\n </Form>\n )}\n </Formik>\n </div>\n </ThemeProvider>\n )\n}\n","import _isEmpty from 'lodash/isEmpty'\nimport _map from 'lodash/map'\nimport React from 'react'\n\nexport const Prewards = (props: IPrewardsProps) => {\n const {\n data,\n classNamePrefix = '',\n headerNode = (\n <>\n PRE\n <span>WARDS™</span>\n </>\n ),\n } = props\n return (\n <div className={`${classNamePrefix}_prewards`}>\n {!_isEmpty(data) && (\n <div className={`${classNamePrefix}_prewards_heder`}>{headerNode}</div>\n )}\n <div className={`${classNamePrefix}_prizes`}>\n {_map(data, prize => {\n const { description, name, image, id } = prize\n return (\n <div className={`${classNamePrefix}_prize`} key={id}>\n {image && <img className={`${classNamePrefix}_image`} alt=\"\" src={image} />}\n <div className={`${classNamePrefix}_info`}>\n <h4 className={`${classNamePrefix}_name`}>{name}</h4>\n {description && (\n <article className={`${classNamePrefix}_description`}>\n {description}\n </article>\n )}\n </div>\n </div>\n )\n })}\n </div>\n </div>\n )\n}\n","import _get from 'lodash/get'\nimport _identity from 'lodash/identity'\nimport React, { useRef } from 'react'\n\ninterface ICopyFieldProps {\n copyValue: string;\n onLinkCopied?: () => void;\n copyIconSrc?: string;\n copyTitle?: string;\n hasCopyIcon: boolean;\n classNamePrefix?: string;\n messageText?: string;\n}\n\nexport const CopyField = (props: ICopyFieldProps) => {\n const {\n copyValue,\n copyIconSrc = 'https://img.icons8.com/office/50/000000/copy.png',\n copyTitle = 'Copy',\n hasCopyIcon = false,\n onLinkCopied = _identity,\n classNamePrefix = '',\n messageText = '',\n } = props\n\n const inputRef = useRef(null)\n\n return (\n <>\n {messageText && <span className=\"message-text\">{messageText}</span>}\n <input\n ref={inputRef}\n className={`${classNamePrefix}_share-input`}\n defaultValue={copyValue}\n readOnly={true}\n />\n <div\n className={`${classNamePrefix}_share-by-link-copy-icon`}\n aria-hidden={true}\n onClick={() => {\n navigator.clipboard.writeText(_get(inputRef, 'current.value'))\n onLinkCopied()\n }}\n >\n {hasCopyIcon ? (\n <img src={copyIconSrc} alt=\"copy\" />\n ) : (\n <span className={`${classNamePrefix}_copy-icon`}>{copyTitle}</span>\n )}\n </div>\n </>\n )\n}\n","import _identity from 'lodash/identity'\nimport _isEmpty from 'lodash/isEmpty'\nimport _some from 'lodash/some'\nimport React from 'react'\n\nimport { submitShareAction } from '../../api/preRegistrationComplete'\nimport { CopyField } from '../common/CopyField'\nimport SocialButtons from '../confirmationContainer/social-buttons'\nimport { getShuffleMethodByName, shareOptionsAdapter } from './utils'\n\nexport const ShareOptions = (props: IShareOptionsProps) => {\n const {\n classNamePrefix,\n data,\n hasCopyIcon = true,\n onLinkCopied = _identity,\n headerText = 'Share with your friends here ...',\n hash,\n updateShareActionData,\n shareActionData,\n } = props\n\n const {\n attributes: { actions, shareUrl },\n } = data\n\n const shareButtons = shareOptionsAdapter(actions, shareUrl)\n const isShareLinkEnabled = _some(\n actions,\n (item: IShareOptionsActionData) => item.action === 'shared_url'\n )\n const onAfterShare = async (eventActionId: string | undefined) => {\n const { shareActionToken, tokenShuffleMethod } = shareActionData\n const accessToken = getShuffleMethodByName(tokenShuffleMethod)(shareActionToken)\n if (typeof eventActionId === 'string') {\n await submitShareAction({\n eventActionId,\n accessToken,\n hash,\n })\n updateShareActionData()\n }\n }\n\n return (\n <div className={`${classNamePrefix}_share_options`}>\n {!_isEmpty(actions) && (\n <>\n <div className={`${classNamePrefix}_share_header`}>{headerText}</div>\n <SocialButtons\n shareLink={data.attributes.shareUrl}\n name=\"\"\n appId=\"\"\n showDefaultShareButtons={false}\n shareButtons={shareButtons}\n titleText=\"\"\n footerText=\"\"\n onAfterShare={(eventActionId: string | undefined) =>\n onAfterShare(eventActionId)\n }\n />\n {isShareLinkEnabled && (\n <div className={`${classNamePrefix}_share_btn_inner`}>\n <CopyField\n copyValue={shareUrl}\n onLinkCopied={onLinkCopied}\n hasCopyIcon={hasCopyIcon}\n classNamePrefix={classNamePrefix}\n messageText=\"Share your link\"\n />\n </div>\n )}\n </>\n )}\n </div>\n )\n}\n","import { ThemeOptions } from '@mui/material'\nimport { createTheme, ThemeProvider } from '@mui/material/styles'\nimport { CSSProperties } from '@mui/styles'\nimport axios, { AxiosError } from 'axios'\nimport _get from 'lodash/get'\nimport _identity from 'lodash/identity'\nimport _isEmpaty from 'lodash/isEmpty'\nimport React, { FC, useEffect, useState } from 'react'\n\nimport {\n getPreRegistrationInfluancers,\n getPreRegistrationShareOptions,\n} from '../../api/preRegistrationComplete'\nimport { X_TF_ECOMMERCE } from '../../constants'\nimport { useCookieListener } from '../../hooks'\nimport { getCookieByName, getQueryVariable } from '../../utils'\nimport { CopyMessageModal } from '../common'\nimport ConfirmModal from '../confirmModal'\nimport { LoginModal } from '../loginModal'\nimport { Prewards } from './Prewards'\nimport { ShareOptions } from './ShareOptions'\n\nconst isWindowDefined = typeof window !== 'undefined'\n\nexport const PreRegistrationComplete: FC<\n IPreRegistrationCompleteProps & {\n onGetConfirmationDataError?: (error: AxiosError) => void;\n themeOptions?: ThemeOptions & {\n input?: CSSProperties;\n checkbox?: CSSProperties;\n };\n }\n> = ({\n eventId: pEventId,\n classNamePrefix = '',\n onLinkCopied = _identity,\n hasCopyIcon = false,\n pageHeader = 'Pre-Registration Confirmation',\n onGetConfirmationDataError = _identity,\n onGetConfirmationDataSuccess = _identity,\n pageMessage = 'Pre registration was successful!',\n onLoginSuccess = _identity,\n logo,\n themeOptions,\n}) => {\n const themeMui = createTheme(themeOptions)\n\n const localStorageHash = isWindowDefined\n ? localStorage.getItem('pre-registration-hash')\n : ''\n const queryHash = getQueryVariable('hash') || ''\n queryHash &&\n isWindowDefined &&\n window.localStorage.setItem('pre-registration-hash', queryHash)\n const hash = queryHash || localStorageHash\n const [isLoggedIn, setIsLoggedIn] = useState(Boolean(getCookieByName(X_TF_ECOMMERCE)))\n const [showModalLogin, setShowModalLogin] = useState(!isLoggedIn)\n const [showCopyModal, setShowCopyModal] = useState(false)\n const [prizes, setPrizes] = useState([] as Array<IPrizeData>)\n const [shareOptions, setShareOptions] = useState({} as IShareOptionsData)\n const [shareActionData, setShareActionData] = useState(\n {} as ISubmitShareActionAttributes\n )\n const [error, setError] = useState({} as AxiosError)\n useCookieListener(X_TF_ECOMMERCE, value => setIsLoggedIn(Boolean(value)))\n useEffect(() => {\n const fetchConfirmationData = async () => {\n try {\n if (hash && isLoggedIn) {\n const shareOptionsData = await getPreRegistrationShareOptions({\n hash,\n })\n const { attributes } = shareOptionsData.data\n setShareOptions(shareOptionsData.data)\n setShareActionData({\n shareActionToken: attributes.shareActionToken,\n tokenShuffleMethod: attributes.tokenShuffleMethod,\n })\n const eventId = _get(shareOptionsData, 'data.attributes.eventId')\n if (eventId || pEventId) {\n const influencersData = await getPreRegistrationInfluancers({\n eventId: eventId || pEventId,\n })\n setPrizes(influencersData.data.attributes.prizes)\n }\n onGetConfirmationDataSuccess()\n }\n } catch (error) {\n if (axios.isAxiosError(error)) {\n setError(error.response?.data as AxiosError)\n }\n }\n }\n fetchConfirmationData()\n }, [\n pEventId,\n hash,\n onGetConfirmationDataError,\n onGetConfirmationDataSuccess,\n isLoggedIn,\n ])\n\n const onClose = () => {\n setShowCopyModal(false)\n }\n\n const updateShareActionData = async () => {\n if (hash) {\n const shareOptionsData = await getPreRegistrationShareOptions({\n hash,\n })\n setShareOptions(shareOptionsData.data)\n setShareActionData({\n shareActionToken: shareOptionsData.data.attributes.shareActionToken,\n tokenShuffleMethod: shareOptionsData.data.attributes.tokenShuffleMethod,\n })\n }\n }\n return (\n <ThemeProvider theme={themeMui}>\n {isLoggedIn && _isEmpaty(error) ? (\n <div className={`${classNamePrefix}_pre_registration_complete_container`}>\n <CopyMessageModal showCopyModal={showCopyModal} onClose={onClose} />\n <p className={`${classNamePrefix}_pre_registration_complete_header`}>\n {pageHeader}\n </p>\n <div className={`${classNamePrefix}_pre_registration_complete_message`}>\n {pageMessage}\n </div>\n <div className={`${classNamePrefix}_pre_registration_complete_body`}>\n {!_isEmpaty(prizes) && (\n <Prewards classNamePrefix={classNamePrefix} data={prizes} />\n )}\n\n {!_isEmpaty(shareOptions) && (\n <ShareOptions\n classNamePrefix={classNamePrefix}\n data={shareOptions}\n onLinkCopied={() => {\n setShowCopyModal(true)\n onLinkCopied()\n }}\n shareActionData={shareActionData}\n updateShareActionData={updateShareActionData}\n hasCopyIcon={hasCopyIcon}\n hash={hash}\n />\n )}\n </div>\n </div>\n ) : (\n showModalLogin && (\n <LoginModal\n logo={logo}\n onClose={() => {\n setShowModalLogin(false)\n }}\n onLogin={res => {\n setShowModalLogin(false)\n onLoginSuccess(res)\n }}\n />\n )\n )}\n {!_isEmpaty(error) && (\n <ConfirmModal\n hideCancelBtn\n message={error.message}\n onConfirm={() => onGetConfirmationDataError(error)}\n />\n )}\n </ThemeProvider>\n )\n}\n","import _isEmpty from 'lodash/isEmpty'\nimport _map from 'lodash/map'\nimport React from 'react'\n\nexport const Influancers = (props: IInfluancersProps) => {\n const {\n data,\n classNamePrefix,\n headerNode = (\n <>\n TOP\n <span>&nbsp;INFLUANCERS</span>\n </>\n ),\n } = props\n return (\n <div className={`${classNamePrefix}_influencers_container`}>\n {!_isEmpty(data) && (\n <div className={`${classNamePrefix}_influencers_header`}>{headerNode}</div>\n )}\n <div className={`${classNamePrefix}_influencers`}>\n {_map(data, (influencer, index) => (\n <div key={influencer.prereg_id} className={`${classNamePrefix}_influencer`}>\n <span className={`${classNamePrefix}_influencer_index`}>{index + 1}</span>\n <span className={`${classNamePrefix}_influencer_title`}>INFLUENCER</span>\n <span className={`${classNamePrefix}_influencer_name`}>\n {influencer.name}\n </span>\n </div>\n ))}\n </div>\n </div>\n )\n}\n","import { createTheme, ThemeProvider } from '@mui/material/styles'\nimport _identity from 'lodash/identity'\nimport _slice from 'lodash/slice'\nimport React, { useEffect, useState } from 'react'\n\nimport { getPreRegistrationInfluancers } from '../../api/preRegistrationComplete'\nimport { Influancers } from './Influancers'\nimport { Prewards } from './Prewards'\n\nexport const PreRegistrationInformations = (props: IPreRegistrationInformationProps) => {\n const {\n classNamePrefix,\n eventId,\n onGetPreregistrationDataSuccess = _identity,\n onGetPreregistrationDataError = _identity,\n influancersHeaderNode,\n prewardsHeaderNode,\n themeOptions,\n } = props\n\n const themeMui = createTheme(themeOptions)\n\n const [prizes, setPrizes] = useState([] as Array<IPrizeData>)\n const [influencers, setInfluencers] = useState([] as Array<IInfluancerData>)\n const topInfluancers = _slice(influencers, 0, 10)\n useEffect(() => {\n const fetchPreregistrationData = async () => {\n try {\n const preregistrationData = await getPreRegistrationInfluancers({\n eventId,\n })\n setPrizes(preregistrationData.data.attributes.prizes)\n setInfluencers(preregistrationData.data.attributes.influencers)\n onGetPreregistrationDataSuccess()\n } catch (error) {\n if (error) {\n onGetPreregistrationDataError()\n }\n }\n }\n fetchPreregistrationData()\n }, [eventId, onGetPreregistrationDataError, onGetPreregistrationDataSuccess])\n\n return (\n <ThemeProvider theme={themeMui}>\n <div className={`${classNamePrefix}_pre_registration_info_container`}>\n <Prewards\n headerNode={prewardsHeaderNode}\n data={prizes}\n classNamePrefix={classNamePrefix}\n />\n <Influancers\n headerNode={influancersHeaderNode}\n data={topInfluancers}\n classNamePrefix={classNamePrefix}\n />\n </div>\n </ThemeProvider>\n )\n}\n"],"names":["headers","Accept","isWindowDefined","window","authGuestToken","localStorage","getItem","publicRequest","axios","create","baseURL","setBaseUrl","baseUrl","defaults","setGuestToken","guestToken","common","X_TF_ECOMMERCE","FEES_STYLES","TRADITIONAL","DISPLAY_BOTH","DEFAULT_FEES_STYLE","CONFIGS","FEES_STYLE","setConfigs","configs","_forEach","value","key","BASE_URL","getQueryVariable","variable","query","location","search","substring","vars","split","i","length","pair","decodeURIComponent","ErrorFocusInternal","componentDidUpdate","prevProps","formik","isSubmitting","isValidating","errors","keys","Object","selector","errorElement","document","querySelector","focus","Component","ErrorFocus","connect","setCustomCookie","name","days","expires","date","Date","setTime","getTime","toUTCString","domain","hostname","cookie","getCookieByName","cname","ca","c","charAt","indexOf","deleteCookieByName","downloadPDF","pdfUrl","xtfCookie","fetch","credentials","then","response","blob","blobValue","fileNameHeader","get","fileName","Error","file","Blob","type","fileURL","URL","createObjectURL","link","createElement","href","setAttribute","body","appendChild","click","removeChild","error","createCheckoutDataBodyWithDefaultHolder","ticketsQuantity","logedInValues","includeDob","userCredentials","ticket_holders","first_name","_get","last_name","phone","email","individualHolder","push","attributes","confirm_email","holderAgeDate","dob_day","getDate","dob_month","getMonth","dob_year","getFullYear","createMarkup","data","__html","replaceVarInString","message","varArray","re","RegExp","index","replace","_","isBrowser","getFormInitialValues","fieldsSections","initialValues","userData","JSON","parse","item","fields","fieldItem","setLoggedUserData","id","firstName","lastName","confirmEmail","city","country","countryId","street_address","streetAddress","state","stateId","zip","zipCode","getDataWithCustomFields","initialData","ticketHoldersFields","customFields","_isEmpty","dataWithCustomFields","ticketHoldersWithCustomFields","orderWithCustomFields","groupClassname","groupItems","orderFields","initialDataFields","splice","ticketHoldersFieldsArr","ticketHoldersCustomFieldsBlueprint","ticketsFields","getFieldsKeys","_map","field","isJson","e","interceptors","request","use","config","updatedHeaders","additionalCookiesHeaderValue","X_SOURCE_ORIGIN","setItem","url","method","status","removeItem","errorType","Promise","reject","optionsAdapter","options","adaptedOptions","option","label","fieldDataAdapter","required","description","restValues","adaptedField","className","multiline","radios","isMultiple","customFieldsDataAdapter","adaptedTicketFields","adaptedOrderFields","ticketFields","ticketField","orderField","authorize","post","CLIENT_ID","register","getProfileData","logout","getOrders","page","limit","eventSlug","slug","EVENT_SLUG","BRAND_SLUG","getOrderDetails","orderId","addToCart","referrer","getCart","postOnCheckout","freeTicket","getEvent","pk","referralValue","params","referralId","searchParams","referral_key","referralIdlocal","getTickets","eventId","promoCode","invitationHash","promoterId","String","tickets","ticketsArr","adaptedResponse","getCountries","getStates","sendRSVPInfo","addToWaitingList","postReferralVisits","validatePhoneNumber","getPaymentData","hash","handlePaymentSuccess","orderHash","undefined","handleFreeSuccess","getConfirmationData","getConditions","adaptedData","nanoid","text","checked","returnData","resaleTicket","removeFromResale","processTicket","declineInvitation","getCustomerExistsData","accessHash","getDelegationTickets","res","issueTicket","setCustomHeader","guestHeaderResponseValue","guestHeaderExistingValue","guestHeader","createPaymentPlan","stripePaymentMethodId","stripe_payment_method_id","forgotPassword","resetPassword","getAddons","result","addons","getCheckoutPageConfigs","getCustomFields","updateOrderCustomFields","customFieldsData","put","order_id","data_capture","updateTicketHoldersCustomFields","ticketHash","ticket_hash","ticket_data_capture","confirmPreRegistration","getSeatMapData","reservedSeatsHash","reserved_seats_hash","getSeatMapStatuses","reserveSeat","tierId","seatId","ttl","removeSeatReserve","seatIds","getPixelScript","pageOptions","page_url","pageUrl","order_hash","getNetverifyUrl","checkVerificationStatus","updateVerificationStatus","patch","verification","verificationStatus","checkCustomerOrder","refreshSeatReservation","withCustomFields","Children","props","skipCustomFields","onGetCustomFieldsError","_identity","onGetCustomFieldsSuccess","args","useState","lodaing","setLoading","setCustomFieldsData","customFieldsOrderKeys","setCustomFieldsOrderKeys","customFieldsTicketHolderKeys","setCustomFieldsTicketHolderKeys","getFields","orderFieldsKeys","ticketHoldersFieldsKeys","useEffect","React","CircularProgress","size","appendScriptsToHeader","code","tempEl","innerHTML","scripts","getElementsByTagName","script","src","head","addGTagToHeader","tagId","links","trim","append","scriptBody","dataLayer","gtag","usePixel","getScript","pixels","brandGoogleTagKey","eventGoogleTagKey","eventGoogleTagManagerLinkerDomains","console","currencyNormalizerCreator","currency","getCurrencySymbolByCurrency","createFixedFloatNormalizer","fixedValue","toFixed","style","position","top","left","transform","minWidth","backgroundColor","border","outline","padding","maxHeight","overflow","Modal","onClose","actions","children","modalClassName","MuiModal","open","Box","action","Button","onClick","disabled","loading","variant","VerificationPendingModal","displayModal","showModal","setShowModal","Boolean","InfoIcon","xmlns","width","height","viewBox","fill","cx","cy","r","stroke","strokeWidth","x","y","showZero","intNumber","Number","_isNumber","TimerWidget","expires_at","buyLoading","onCountdownFinish","showTimer","setShowTimer","handleCountdownFinish","renderer","minutes","seconds","completed","hideTimer","timerRl","visibility","SVG","Cross","Countdown","now","memo","addonsWithGroupsAdapter","addonsData","addOnsGroups","addOnGroupsWithVariants","addOnsWithoutVariants","forEach","addon","addOnGroupId","currentGroupId","exsistingGroupIndex","findIndex","addOnGroup","variants","group","find","concat","adaptedAddons","map","cartAdapter","cart","cartData","expiresAt","carts_arr","quantity","CheckboxField","form","touched","isTouched","errorText","hasError","customTheme","useTheme","FormControl","FormGroup","FormControlLabel","control","Checkbox","componentsProps","typography","checkbox","FormHelperText","selectOptions","rest","CheckboxMaterial","CustomField","submitCount","theme","inputProps","pInputProps","InputProps","inputRef","onChange","minRows","maxRows","isShrinked","setIsShrinked","_ref","useRef","isAutoFilled","current","matches","isSelectField","_includes","sx","input","_isFunction","_isObject","TextField","placeholder","select","fullWidth","helperText","onFocus","SelectProps","MenuProps","InputLabelProps","shrink","onBlur","PhoneNumberField","setFieldError","values","setFieldValue","setFieldTouched","setErrors","disableDropdown","defaultCountry","setPhoneValidationIsLoading","isCountryCodeEditable","debounceCb","useCallback","_debounce","cb","newErrors","MuiPhoneNumber","dialCode","autoFormat","disableAreaCodes","countryCodeEditable","Loader","SelectField","selectId","handleChange","event","target","getSelectedItemLabel","selectedValue","selectedItem","InputLabel","Select","labelId","multiple","OutlinedInput","renderValue","selected","selectedLabels","join","selectedLabel","textAlign","MenuItem","ListItemText","primary","CopyMessageModal","showCopyModal","DATE_SIZE","compactStyles","margin","minHeight","marginRight","getTheme","isCompact","baseThemeOptions","createTheme","assign","components","MuiPaper","defaultProps","DatePickerField","useCompact","themeOptions","dateFormat","ThemeProvider","LocalizationProvider","dateAdapter","AdapterMoment","DatePicker","PopperProps","placement","showDaysOutsideCurrentMonth","disableFuture","inputFormat","mask","renderInput","evt","NativeSelectField","htmlFor","RadioGroupField","radioId","FormLabel","RadioGroup","radio","Radio","AddonComponent","classNamePrefix","handleAddonChange","active","stock","_isNull","Field","component","getNormalizedPrice","minimizedValue","normalized","generateSelectOptions","minCount","maxCount","generateStockBasedOnLimitations","ticketQuantity","flagLimitToTicketQuantity","maxQuantity","limitPerTicket","allowedStockCount","stockBasedOnLimitPerTicket","filterStockBasedOnAvailability","generatedStock","availableStock","filteredStockCount","getAddonSelectOptions","choosedTicketCount","addonsWithOptions","groupsWithSelectedVariantsInfo","groupsWithVariants","simpleAddonStock","variantId","variantStock","stockBasedOnLimitation","choosedVariants","selectedCount","allowedVariantStockCount","variantOptions","addonOptions","getTicketRelatedAddons","ticketId","filteredAddons","filter","prerequisiteTicketTypeIds","includes","getSortedAddons","sortDirection","addonsCopy","unsortedVariants","sortOrder","sortedVariants","_sortBy","sortedAddons","_reverse","isAtLeastOneAddonSelected","selectedAddons","fromEntries","entries","count","AddonsContainter","enableBillingInfoAutoCreate","enableTimer","onGetAddonsPageInfoSuccess","onGetAddonsPageInfoError","onPostCheckoutSuccess","onPostCheckoutError","onConfirmSelectionSuccess","onConfirmSelectionError","onPendingVerification","samePage","descriptionTrigger","setAddons","addonsOptions","setAddonsOptions","groupsWithSelectedVariants","setGroupsWithSelectedVariants","groupsWithInitialVariantsValues","setGroupsWithInitialVariantsValues","cartExpirationTime","setCartExpirationTime","pendingVerificationMessage","setPendingVerificationMessage","visibleDescription","setVisibleDescription","handleDescriptionToggle","getAddonsPageInfo","choosedTicketID","ticketRelatedAddons","sortedTicketAddons","recreateGroupVariantsSelectOptions","groupId","changedGroupd","remainingGroupStock","recreatedVariantsOptions","variantCurrSelectedValue","allowedOptionCount","prevState","onFieldChange","changeableGroup","currGroupId","currSelectedVariantId","currSelectedVariantCount","currSelectedVariantPrevCount","currSelectedGroupCount","updatedGroupsWithSelectedVariants","handleConfirm","skipAddonPage","pageConfigsDataResponse","pageConfigsData","skipBillingPage","skip_billing_page","checkoutBody","add_ons","checkoutResponse","total","event_id","hasUnverifiedOrder","stringify","handleClearAddons","addOnIsIncluded","isResale","Formik","onSubmit","validate","isConfirmDisabled","Form","autoComplete","price","feeIncluded","cost","isAddonFree","addOnNormalizedCost","addonNormalizedPrice","imageUrl","alt","onMouseEnter","onMouseLeave","marginLeft","cursor","display","Tooltip","place","dangerouslySetInnerHTML","SnackbarAlert","isOpen","autoHideDuration","Snackbar","anchorOrigin","vertical","horizontal","classes","root","Alert","severity","icon","filled","PoweredBy","Schema","Yup","shape","ForgotPasswordModal","onLoginButtonClick","onForgotPasswordSuccess","onForgotPasswordError","showPoweredByImage","onForgotPassword","isAxiosError","_onClose","validationSchema","isValid","dirty","handleSubmit","emailRegex","combineValidators","validators","error_message","isFalsy","addEventListener","err","requiredValidator","errorMessage","emailValidator","test","LoginModal","onLogin","alreadyHasUser","userExpired","onGetProfileDataSuccess","onGetProfileDataError","onSignup","modalClassname","logo","showForgotPasswordButton","showSignUpButton","setError","password","authRes","profileResponse","profileSpecifiedData","profileDataObj","CustomEvent","dispatchEvent","meta","SignupSchema","min","confirmPassword","oneOf","SignupModal","onRegisterSuccess","onRegisterError","formData","FormData","set","CLIENT_SECRET","getInitialValues","propsInitialValues","userValues","results","_flatMapDeep","ticketHoldersCustomFields","groupItem","ticketHoldersCustomFieldsInitValues","selectedTicketsCount","customField","fieldName","fieldValue","createRegisterFormData","flagFreeTicket","bodyFormData","createCheckoutDataBody","holderAge","holders","filteredHolders","holder","firstNameLogged","lastNameLogged","emailLogged","filteredRestValue","getValidateFunctions","element","states","validationFunctions","onValidate","invalidPhone","isSameEmail","isSame","assingUniqueIds","itemValue","_isArray","some","uniqueId","isRequiredField","flagRequirePhone","collectMandatoryWalletAddress","getFieldLabel","isValidElement","getFieldComponent","fieldComponentConfigs","select_multi","fieldComponent","LogicRunner","setStates","setValues","setUserValues","onGetStatesSuccess","onGetStatesError","shouldFetchCountries","brandOptIn","prevCountry","fetchStates","mappedStates","stateExists","userDataEncoded","getStoredUserData","parsedData","mappedValues","brand_opt_in","extraDataJSON","extraData","BillingInfoContainer","buttonName","onSubmitError","onGetCartSuccess","onGetCartError","onGetCountriesSuccess","onGetCountriesError","onLoginSuccess","isLoggedIn","pIsLoggedIn","accountInfoTitle","hideLogo","onErrorClose","hideErrorsAlertSection","onSkipBillingPage","skipPage","canSkipHolderNames","onGetCheckoutConfigsSuccess","onGetCheckoutConfigsError","includeAddons","addonsProps","setExtraData","isConfigLoading","setIsConfigLoading","isNewUser","setIsNewUser","themeMui","dataWithUniqueIds","setDataWithUniqueIds","setIsLoggedIn","cartInfoData","setCartInfo","countries","setCountries","showModalLogin","setShowModalLogin","setAlreadyHasUser","setUserExpired","showModalSignup","setShowModalSignup","showModalForgotPassword","setShowModalForgotPassword","setTicketsQuantity","holderFirstName","holderLastName","cardLoading","setCardLoading","isCountriesLoading","setIsCountriesLoading","phoneValidationIsLoading","showDOB","age_required","showTicketHolders","names_required","optedInFieldValue","ttfOptIn","isTable","hideTtfOptIn","expirationTime","phone_required","collect_mandatory_wallet_address","collectOptionalWalletAddress","collect_optional_wallet_address","free_ticket","hidePhoneField","hide_phone_field","hideWalletAddressField","collectMandatoryCompany","collect_mandatory_company","collectOptionalCompany","collect_optional_company","hideCompanyField","collectMandatoryJobTitle","collect_mandatory_job_title","collectOptionalJobTitle","collect_optional_job_title","hideJobTitleField","collectMandatoryInstagram","collect_mandatory_instagram","collectOptionalInstagram","collect_optional_instagram","hideInstagramField","collectMandatoryBusinessCategory","collect_mandatory_business_category","collectOptionalBusinessCategory","collect_optional_business_category","hideBusinessCategoryField","prevData","addAddOnsInAttributes","selectedAddOns","hasUniqueId","isEqualData","_isEqual","getQuantity","qty","fetchCountries","fetchCart","cartInfo","Array","fetchUserData","userDataResponse","collectPaymentData","removeReferralKey","collectCheckoutBody","profileData","captureKeys","path","attributeKey","holderIndex","holderDataCapture","customFieldKey","customFieldHolderName","customFieldHolderKey","selectedCountry","_find","toLowerCase","initialCountry","Backdrop","color","zIndex","ttf_opt_in","instagram","company","businessCategory","jobTitle","enableReinitialize","formikHelpers","updatedUserData","checkoutBodyForRegistration","resRegister","refreshToken","userProfile","labelClassName","Fragment","el","handleBlur","format","_item","WithCustomFieldsBillingInfoContainer","adaptStripeError","adaptedError","isStripeError","payment_intent","errorReason","ConfirmModal","hideCancelBtn","onConfirm","base","fontSize","letterSpacing","invalid","CheckoutForm","stripeCardOptions","stripe_client_secret","billing_info","isLoading","handleSetLoading","conditions","disableZipSection","paymentButtonText","forPaymentPlan","hasSeatMapActions","stripe","useStripe","elements","useElements","postalCode","setPostalCode","stripeError","setStripeError","checkboxes","setCheckboxes","allowSubmit","setAllowSubmit","preventDefault","card","getElement","CardNumberElement","address","line1","postal_code","confirmCardSetup","payment_method","token","setupResponse","paymentMethodId","setupIntent","createPaymentMethod","billing_details","paymentMethodReq","confirmCardPayment","paymentMethod","handleCheckboxes","updatedCheckedState","onChangePostalCode","allChecked","every","buttonIsDiabled","onReady","CardExpiryElement","CardCvcElement","PaymentPlanSection","paymentPlanConfig","paymentPlanUseSavedCard","setPaymentPlanUseSavedCard","total_installments","price_per_installment","interval","has_admin_fee","admin_fee","requires_deposit","deposit","non_refundable_type","non_refundable_amount","saved_card","last_4_digits","publishableKey","STRIPE_PUBLISHABLE_KEY","getStripePromise","reviewData","stripePublishableKey","stripeAccount","loadStripe","initialPaymentPlanConfiguration","stripe_setup_intent_secret","initialOrderValues","product_name","ticketType","guest_count","pay_now","initialReviewValues","order_details","stripe_payment_plan_enabled","stripe_payment_plan_configuration","event_details","flagSeatMapAllowed","PaymentContainer","paymentFields","handlePayment","formTitle","checkoutData","onGetPaymentDataSuccess","onGetPaymentDataError","onPaymentError","elementsOptions","enablePaymentPlan","orderInfoLabel","paymentInfoLabel","setReviewData","orderData","setOrderData","showPaymentPlanSection","setShowPaymentPlanSection","paymentIsLoading","setPaymentIsLoading","paymentDataIsLoading","setPaymentDataIsLoading","setConditions","paymentPlanIsAvailable","setPaymentPlanIsAvailable","setPaymentPlanConfig","setCurrency","showFormTitle","showErrorText","isFreeTickets","paymentPlanAvailable","sessionData","session","updateSessionInformation","paymentDataResponse","success","ticket","orderDataArray","debt","tableTypes","subtotal","fees","fetchConditions","conditionsResponse","conditionsInfo","handlePaymentMiddleWare","paymentSuccessResponse","orderValue","orderCurrency","showPaymentForm","hasTableTypes","paymentFieldsData","normalizer","parseFloat","Container","maxWidth","valueArray","flexDirection","tableTypeItem","gridTemplateColumns","gridColumnGap","groupName","Elements","StripePayment","isValidNumber","isNaN","getImage","image","process","env","NODE_ENV","require","SpotifyIcon","InstagramIcon","SocialButton","handleClick","facebook","FacebookShareButton","FacebookIcon","messenger","FacebookMessengerShareButton","FacebookMessengerIcon","twitter","TwitterShareButton","TwitterIcon","linkedin","LinkedinShareButton","LinkedinIcon","pinterest","PinterestShareButton","PinterestIcon","vk","VKShareButton","VKIcon","ok","OKShareButton","OKIcon","telegram","TelegramShareButton","TelegramIcon","whatsapp","WhatsappShareButton","WhatsappIcon","reddit","RedditShareButton","RedditIcon","tumblr","TumblrShareButton","TumblrIcon","mailru","MailruShareButton","MailruIcon","EmailShareButton","EmailIcon","livejournal","LivejournalShareButton","LivejournalIcon","viber","ViberShareButton","ViberIcon","workplace","WorkplaceShareButton","WorkplaceIcon","line","LineShareButton","LineIcon","pocket","PocketShareButton","PocketIcon","instapaper","InstapaperShareButton","InstapaperIcon","weibo","WeiboShareButton","WeiboIcon","hatena","HatenaShareButton","HatenaIcon","spotify","SocialComponent","mainLabel","subLabel","platform","shareData","points","onAfterShare","alreadyApplied","oneTimeAction","Icon","isActionDisabled","onKeyDown","round","SocialButtons","showDefaultShareButtons","shareLink","appId","shareButtons","titleText","footerText","clientLabel","showReferralsInfoText","quote","title","shareButton","eventActionId","ConfirmationContainer","confirmationLabels","hasCopyIcon","isReferralEnabled","messengerAppId","onGetConfirmationDataSuccess","onGetConfirmationDataError","onLinkCopied","showCopyInfoModal","showPricingNoteSection","setData","dataEncoded","dataDecoded","product_id","confirmationDataResponse","personal_share_sales","salesItem","salesData","sales","symbol","unshift","product_price","setShowCopyModal","onChangeShareLink","newData","personal_share_link","confirmationTitle","confirmationMain","confirmationHelper","paymentPlanConfirmationTitle","paymentPlanConfirmationMain","paymentPlanConfirmationHelper","product_image","is_payment_plan","custom_confirmation_page_text","custom_confirmation_page_text_full_replacement","attach_tickets","disable_referral","ref","navigator","clipboard","writeText","pricing","getPreRegistrationInfluancers","getPreRegistrationShareOptions","submitShareAction","accessToken","phase","useCookieListener","handler","getCookie","intervalValue","setIntervalValue","cookieRef","handleCookieChange","currentCookie","prevCookie","setInterval","clearInterval","useLocalStorageListener","callback","setValue","intervalId","newValue","parsed","isTimeExpired","startDate","timezone","moment","isAfter","tz","guess","showMessage","disableLeadingZero","duration","setDuration","timeExpired","setTimeExpired","timer","currentDate","diffTime","diff","dateArr","year","years","month","months","day","hour","hours","minute","second","timeLeft","unit","val","generateQuantity","n","quantityList","WaitingList","defaultMaxQuantity","showSuccessMessage","setShowSuccessMessage","ticketTypesList","d","displayName","showTicketsField","ticketTypeId","selectedTicket","waitingListMaxQuantity","AccessCodeSection","setCode","updateTickets","isAccessCodeHasValue","onKeyPress","PromoCodeSection","codeIsApplied","showPromoInput","setShowPromoInput","setCodeIsApplied","codeIsInvalid","setCodeIsInvalid","promoText","showAlertIcons","isPromoCodeHasValue","renderInputField","DoneSvg","preProcessor","XmarkSvg","ReferralLogic","isAlreadyCounted","getTicketSelectOptions","multiplier","Math","defineIsSalesClosed","eventDatesInfo","salesStarted","salesEnded","presalesStarted","presalesEnded","presalesEnabled","isSalesClosed","TicketRow","ticketTier","prevTicketTier","selectedTickets","handleTicketSelect","isSeatMapAllowed","tableType","soldOutMessage","toUpperCase","presales_enabled","maxGuests","minGuests","minQuantity","ticketsClosedMessage","canPurchaseTicket","displayTicket","isDirectPurchaseAllowed","onSaleContent","borderRadius","displayEmpty","PaperProps","returnValue","isSoldOut","sold_out","soldOut","decodeHTML","html","textArea","TicketsSection","ticketsList","sortBySoldOut","ticketsHeaderComponent","tableTicketsHeaderComponent","hideTicketsHeader","hideTableTicketsHeader","showGroupNameBlock","currencySybmol","tableTickets","sortedTicketsList","showGroup","priceSymbol","arr","ticketPriceWithoutFees","ticketPriceWithFees","ticketOldPrice","oldPrice","ticketSelect","ticketIsDiscounted","ticketIsFree","ticketPriceElem","isNewGroupTicket","descriptionRich","depositPercent","TicketsContainer","getTicketsLabel","onAddToCartSuccess","contentStyle","onAddToCartError","onGetTicketsSuccess","onGetTicketsError","onLogoutSuccess","onLogoutError","onGetTicketsPress","queryPromoCode","isPromotionsEnabled","isAccessCodeEnabled","hideSessionButtons","hideWaitingList","isButtonScrollable","disableCountdownLeadingZero","ActionsSectionComponent","actionsSectionComponent","enableInfluencersSection","enableAddOns","handleNotInvitedModalClose","handleInvalidLinkModalClose","ordersPath","onReserveButtonClick","setSelectedTickets","isLogged","setIsLogged","showLoginModal","setShowLoginModal","setTickets","setEvent","showWaitingList","setShowWaitingList","setIsLoading","codeIsLoading","setCodeIsLoading","handleBookIsLoading","setHandleBookIsLoading","showAccessCodeSection","setShowAccessCodeSection","showPromoCodeSection","setShowPromoCodeSection","isNotInvitedError","setIsNotInvitedError","isInvalidLinkError","setIsInvalidLinkError","preregistereds","setPreregistereds","ticketsNotAvailableModalOpen","setTicketsNotAvailableModalOpen","checkUserPreregistration","isPreregistred","setIsPreregisred","ticketsContainerRef","user","isPreregistredUser","_some","getTicketsApi","fetchPreregisteredsData","handleLogout","handleExternalLogin","handleOnClose","handleOnLogin","isUpdateingCode","previewKey","eventResponse","ValidPromoCode","is_access_code","preregistrationData","influencers","toString","userDataString","handleOrdersClick","handleBook","optionName","isTableType","productCartQuantity","alternative_view_id","product_cart_quantity","product_options","ticket_types","ticket_price","hasAddOn","has_add_on","isTicketOnSale","eventHasTickets","removeEventListener","handleGetTicketClick","scrollIntoView","behavior","block","inline","handleNotAvailableTicketsClick","bookButtonIsDisabled","isTicketAvailable","wrappedActionsSectionComponent","cloneElement","externalUrl","redirectUrl","eventSaleIsNotStarted","salesStart","referralsEnabled","referrals","canShowGetTicketBtn","hideTopInfluencers","isTableMapEnabled","notAvailableTicketsMessage","_filter","ordinarTickets","influencer","EventInfoItem","tableConfig","columns","header","ItemComponent","row","columnProps","eventName","amount","Row","handleDetailsInfo","hideDetailsButton","TableRow","borderBottom","column","TableCell","scope","onCellClick","componentProps","MyTicketsContainer","onGetOrdersSuccess","onGetOrdersError","selectEventsLabel","openLoginModal","setLimit","setFilter","fetchData","handleChangePage","_event","newPage","handleChangeRowsPerPage","eventFilter","url_name","orders","Autocomplete","disablePortal","getOptionLabel","event_name","purchased_events","TableContainer","Paper","Table","TableHead","TableBody","MyTicketsRow","TablePagination","rowsPerPageOptions","total_count","rowsPerPage","onPageChange","onRowsPerPageChange","RadioField","schema","yup","to","when","is","confirm","TicketResaleModal","holder_name","retain_amount_on_sale","ticket_type_is_active","UserSvg","EmailSvg","CustomFieldsForm","handleFormSubmit","handleFormClose","adaptedCustomField","resetForm","getLabelForValue","getLabel","singleValue","labels","renderCustomFieldValue","isFieldUpdatable","settings","allowUpdate","createCustomFieldsUpdateBody","updatedValues","notUpdatableCustomFieldsValues","reduce","acc","TicketHolderCustomFields","holderCustomFields","handleTicketHoldersUpdate","showHolderCustomFieldsSection","setShowHolderCustomFieldsSection","useMemo","allowedFields","notAllowedFields","allowedHolderCustomFields","notAllowedHolderCustomFields","holderEditableFieldsFormInitialValues","getHolderCustomFieldsInitialValues","handleForSubmit","fullUpdatableValues","EditSvg","TicketsTable","displayColumnNameInRow","canSellTicket","ticketsTitle","handleSellTicket","handleRemoveFromResale","pdfError","setPdfError","pdfDownload","setPdfDownload","getRow","columnIndex","ticketIsDownloading","pdf_link","is_on_sale","pdfDownloadError","is_sellable","colSpan","add_on","getTotal","_has","items","OrderDetailsContainer","onRemoveFromResaleSuccess","onRemoveFromResaleError","onResaleTicketSuccess","onResaleTicketError","onUpdateOrderCustomFieldsSuccess","onUpdateOrderCustomFieldsError","onUpdateTicketHolderCustomFieldsSuccess","onUpdateTicketHolderCustomFieldsError","onReturnButtonClick","personalLinkIcon","ticketsTableColumns","pOrderId","referralTitle","itemsTitle","removeFromResaleLoading","setRemoveFromResaleLoading","resaleTicketLoading","setResaleTicketLoading","showResaleModal","setShowResaleModal","showRemoveResaleModal","setShowRemoveResaleModal","activeTicket","setActiveTicket","showOrderCustomFieldsSection","setShowOrderCustomFieldsSection","columnsProps","orderCustomFields","orderUpdatableCustomFields","orderNotUpdatableCustomFields","orderEditableFieldsFormInitialValues","orderSummery","ticketTypesArr","sellTicketType","ticket_type_hash","handleOnSubmit","updatedData","onCloseRemoveResale","onConfirmRemoveResale","handleOrderCustomFieldsUpdate","updatedCustomFields","updatedFields","notUpdatedFields","rel","sales_referred","is_table","guests_count","deposit_paid","remaining","password_confirmation","ResetPasswordContainer","tokenProps","onResetPasswordSuccess","onResetPasswordError","payload","TicketResaleContainer","onProcessTicketSuccess","onProcessTicketError","onDeclineTicketPurchaseSuccess","onDeclineTicketPurchaseError","billingPath","defaultRedirection","successMessage","setSuccessMessage","isDeclined","LoginForm","onLoginError","onForgotPasswordButtonClick","onSignupButtonClick","updateFormFieldsAttributes","formFields","updatedFormFields","fieldSection","fieldSectionAttributes","fieldItemAttributes","getFieldClassNames","existingClassNames","elem","getElementById","parentElement","clientWidth","insertHTML","elementId","childNodes","insertAdjacentHTML","SectionContainer","FieldsSection","containerClass","disableField","groupLabel","groupLabelVars","groupLabelClassName","groupClassName","fieldData","fieldIndex","classNames","collectStates","formDefaultFields","CLIENT_NAME","RegistrationForm","additionalFieldAttribute","registrationType","customerEmail","onRegisterAccountSuccess","onRegisterAccountError","setErrorMessage","showErrorModal","setshowErrorModal","fetchCountryId","handleRegisterAccount","profileRes","log","VERIFICATION_STATUSES","PENDING","APPROVED","FAILED","WRONG_CUSTOMER","VERIFICATION_PROVIDERS","JUMIO","STRIPE","VERIFICATION_MESSAGES","DELEGATION_ACCESS_ERROR","IssueTicketForm","selectTicketTypeOptions","setSubmitting","TicketsAssignedTable","tableTitle","issuePageData","noTicketsAssignedText","TicketsAvailableTable","ticketTypes","optionValue","delegationMaxQuantity","delegationQuantityIssued","IssueComponent","headTitle","onGetIssuePageDataSuccess","onGetIssuePageDataError","showMaxQtyModal","setShowMaxQtyModal","showSuccessModal","setShowSuccessModal","setIssuePageData","fetchDelegationTickets","eventImage","DelegationsContainer","registerFormFields","issuePageErrorText","onCustomerExistsError","isCustomerExsists","setIsCustomerExsists","issuePageError","setIssuePageError","setCustomerEmail","getCustomerData","useOnline","handleOffline","handleOnline","addToCartFunc","getTierIdBasedOnSeatId","eventSeats","seats","seatsCount","rowId","row_id","seat_id","tier_id","getButtonLabel","tableMapEnabled","getOwnReservationsBasedOnStatuses","statuses","ownReservations","groupRowId","seatIndex","getTicketDropdownData","reservationData","tierReleations","ticketsDropdownsData","reservation","ticketsData","_values","ticket_type_tier_id","ticket_type_name","ticket_type_price","ticket_type_id","getAddToCartRequestData","reservations","selectedSeats","guestCounts","hasGuests","addToCartData","productOptions","sitem","ticket_type_option","ticketTypesKey","getTierRelationsArray","ticketTypeTireRelationsArray","CONTAINER_DEFAULT_ID","SeatMapComponent","seatMapProps","mapContainerId","seatData","seatMapType","seatMapEvents","ticketTypeTierRelations","tierPrices","isReserving","predefinedSeats","isLoadingSeatMapData","mapComponent","SeatMapView","events","isSelectionOn","isBlockMap","isTableMap","ReactDom","render","reservedSeats","getTicketsBtnLabel","handleCancelReservation","ticketDeleteButtonContent","ticketInfoContent","currencySymbol","setGuestCounts","isAddingToCart","selectedTicketsInfo","setSelectedTicketsInfo","_keys","handleTicketChange","handleShowtTicketInfo","ticketItem","dropdownData","selectedTicketData","startNum","ticket_type_min_number_of_guests","endNum","ticket_type_max_number_of_guests","numLength","showGuestCountDropdown","showDescription","guestPrice","guest_price","finalPrice","justifyContent","fee_included","ticket_type_deposit","alignItems","arrow","tooltip","m","from","OFFLINE_MESSAGE","SeatMapContainer","timerMessage","seatMap","seatMapData","setSeatMapData","eventSeatsRef","ticketTypeTierRelationsRef","seatMapStatuses","setSeatMapStatuses","setReservedSeats","setIsLoadingSeatMapData","isLoadingStatuses","setIsLoadingStatuses","setIsReserving","setIsAddingToCart","isOnline","setIsOnline","isGuestCountsSet","updateGuestCounts","tierTickets","seatTicketsArray","fetchSeatMapData","seatMapDataResponse","seatReservationTime","fetchSeatMapReservations","statusesResponse","tierIdOfReservation","startTimer","endTimer","handleSeatReservation","relations","firstItem","handleCancelSeatReservtion","currentSelectedTickets","onSeatClick","seatInfo","seat","handleGetTicketBtnClick","ticketData","makeRequests","valueOf","onComplete","tireId","IDVerification","onGetVerifyUrlSuccess","onGetVerifyUrlError","onGetVerificationStatusSuccess","onGetVerificationStatusError","onVerificationMessageModalClose","onPassVerificationStepsSuccess","onPassVerificationStepsError","loadingStatus","setLoadingStatus","setVerificationStatus","netverifyUrl","setNetverifyUrl","provider","setProvider","setHasError","lastError","setLastError","displaModal","modalData","setModalData","isAccountVerifiedOrPending","handleClose","callbackNetVerify","origin","getUrl","transactionStatus","urlResponse","getVerificationStatus","verifyUrl","statusResponse","isApproved","getCustomerOrderStatus","customerOrderResponse","iframe","RedirectModal","onClickOk","RsvpContainer","showSection","modal","setModal","handleModalClose","requestData","getFormFieldsNotLoggedIn","clientName","getFormFieldsLoggedIn","shareOptionsAdapter","shareUrl","_split","socialUrl","point","getShuffleMethodByName","tokenShuffleMethod","reverseString","reverse","symmetricShuffleString","lengthOfStr","part1","shuffleEveryTwoSymbolsInString","words","shuffledStr","isDocumentDefined","PreRegistration","pFormFields","isPreregistrationStarted","onConfirmationSuccess","onConfirmationError","show","confirmModalState","setConfirmModalState","setUserData","formFieldsLoggedIn","formFieldsNotLoggedIn","referrerId","dobDay","dobMonth","dobYear","shareHash","confirmationData","emailErrors","Prewards","headerNode","prize","CopyField","copyValue","copyIconSrc","copyTitle","messageText","defaultValue","readOnly","ShareOptions","headerText","updateShareActionData","shareActionData","isShareLinkEnabled","shareActionToken","PreRegistrationComplete","pEventId","pageHeader","pageMessage","localStorageHash","queryHash","prizes","setPrizes","shareOptions","setShareOptions","setShareActionData","fetchConfirmationData","shareOptionsData","influencersData","_isEmpaty","Influancers","prereg_id","PreRegistrationInformations","onGetPreregistrationDataSuccess","onGetPreregistrationDataError","influancersHeaderNode","prewardsHeaderNode","setInfluencers","topInfluancers","_slice","fetchPreregistrationData"],"mappings":"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"}
1
+ {"version":3,"file":"tf-checkout-react.esm.js","sources":["../src/api/publicRequest.ts","../src/constants/index.ts","../src/utils/setConfigs.ts","../src/utils/getQueryVariable.ts","../src/utils/formikErrorFocus.ts","../src/utils/cookies.ts","../src/utils/downloadPDF.tsx","../src/utils/createCheckoutDataBodyWithDefaultHolder.ts","../src/utils/createMarkup.ts","../src/utils/replaceVarInString.ts","../src/utils/isBrowser.ts","../src/utils/form.ts","../src/utils/auth.ts","../src/utils/customFields.ts","../src/utils/jsonUtils.ts","../src/api/interceptors.ts","../src/adapters/customFields.ts","../src/api/auth.ts","../src/api/orders.ts","../src/api/cart.ts","../src/api/checkout.ts","../src/api/common.ts","../src/api/payment.ts","../src/api/resale.ts","../src/api/guestTicketDelegation.ts","../src/api/index.ts","../src/hoc/CustomFields/index.tsx","../src/hooks/usePixel.ts","../src/normalizers/index.ts","../src/components/common/ModalComponent/index.tsx","../src/components/idVerificationContainer/VerificationPendingModal.tsx","../src/components/ticketsContainer/InfoIcon.tsx","../src/utils/showZero.tsx","../src/components/timerWidget/index.tsx","../src/components/addonsContainer/adapters/index.tsx","../src/validators/index.ts","../src/components/common/CheckboxField/index.tsx","../src/components/common/Checkbox.tsx","../src/components/common/CustomField.tsx","../src/components/common/PhoneNumberField.tsx","../src/components/common/Loader.tsx","../src/components/common/SelectField/index.tsx","../src/components/common/CopyMessageModal.tsx","../src/components/common/DatePickerField.tsx","../src/components/common/NativeSelectFeild/index.tsx","../src/components/common/RadioGroupField/index.tsx","../src/components/billing-info-container/utils.ts","../src/components/addonsContainer/AddonComponent.tsx","../src/components/addonsContainer/normalizers/index.ts","../src/components/addonsContainer/utils/index.tsx","../src/components/addonsContainer/index.tsx","../src/components/common/SnackbarAlert.tsx","../src/components/common/PoweredBy.tsx","../src/components/forgotPasswordModal/index.tsx","../src/components/loginModal/index.tsx","../src/components/signupModal/index.tsx","../src/components/billing-info-container/index.tsx","../src/utils/adaptStripeErrors.ts","../src/components/confirmModal/index.tsx","../src/components/stripePayment/index.tsx","../src/components/paymentContainer/PaymentPlanSection.tsx","../src/components/paymentContainer/index.tsx","../src/utils/isValidNumber.ts","../src/utils/getImage.ts","../src/components/common/socials.tsx","../src/components/confirmationContainer/config.ts","../src/components/confirmationContainer/social-buttons.tsx","../src/components/confirmationContainer/index.tsx","../src/api/preRegistrationComplete.ts","../src/hooks/useCookieListener.ts","../src/hooks/useLocalStorageListener.ts","../src/components/countdown/index.tsx","../src/components/waitingList/index.tsx","../src/components/ticketsContainer/AccessCodeSection.tsx","../src/components/ticketsContainer/PromoCodeSection.tsx","../src/components/ticketsContainer/ReferralLogic.tsx","../src/components/ticketsContainer/utils.ts","../src/components/ticketsContainer/TicketRow.tsx","../src/components/ticketsContainer/TicketsSection.tsx","../src/components/ticketsContainer/TimeSlotsSection.tsx","../src/components/ticketsContainer/index.tsx","../src/components/myTicketsContainer/tableConfig.tsx","../src/components/myTicketsContainer/row.tsx","../src/components/myTicketsContainer/index.tsx","../src/components/common/RadioField.tsx","../src/components/ticketResaleModal/index.tsx","../src/components/orderDetailsContainer/CustomFieldsForm.tsx","../src/components/orderDetailsContainer/utils/index.tsx","../src/components/orderDetailsContainer/TicketHolderCustomFields.tsx","../src/components/orderDetailsContainer/ticketsTable.tsx","../src/components/orderDetailsContainer/index.tsx","../src/components/resetPasswordContainer/index.tsx","../src/components/ticketResale/index.tsx","../src/components/loginForm/index.tsx","../src/components/common/FieldSection/utils/index.tsx","../src/components/common/FieldSection/index.tsx","../src/components/registerForm/adapters/index.tsx","../src/components/registerForm/constants.tsx","../src/components/registerForm/index.tsx","../src/components/idVerificationContainer/constants.ts","../src/components/delegationsContainer/IssueTicketForm.tsx","../src/components/delegationsContainer/TicketsAssignedTable.tsx","../src/components/delegationsContainer/TicketsAvailableTable.tsx","../src/components/delegationsContainer/IssueComponent.tsx","../src/components/delegationsContainer/index.tsx","../src/hooks/useOnline.ts","../src/components/seatMapContainer/addToCart.ts","../src/components/seatMapContainer/utils.ts","../src/components/seatMapContainer/SeatMapComponent.tsx","../src/components/seatMapContainer/TicketsSection.tsx","../src/components/seatMapContainer/index.tsx","../src/components/idVerificationContainer/index.tsx","../src/components/common/RedirectModal.tsx","../src/components/rsvpContainer/index.tsx","../src/components/preRegistration/constants.tsx","../src/components/preRegistration/utils.ts","../src/components/preRegistration/FieldsSection.tsx","../src/components/preRegistration/index.tsx","../src/components/preRegistration/Prewards.tsx","../src/components/common/CopyField.tsx","../src/components/preRegistration/ShareOptions.tsx","../src/components/preRegistration/PreRegistrationComplete.tsx","../src/components/preRegistration/Influancers.tsx","../src/components/preRegistration/PreRegistrationInformations.tsx"],"sourcesContent":["import axios, { AxiosInstance } from 'axios'\n\nconst headers: { [key: string]: string } = {\n Accept: 'application/vnd.api+json',\n 'Content-Type': 'application/vnd.api+json',\n}\n\nconst isWindowDefined = typeof window !== 'undefined'\nconst authGuestToken = isWindowDefined ? localStorage.getItem('auth_guest_token') : ''\nif (isWindowDefined && authGuestToken) {\n headers['Authorization-Guest'] = authGuestToken\n}\n\nexport const setAxiosHeader = (key: string, value: string | number) => {\n headers[key] = `${value}`\n}\n\ninterface IPublicRequest extends AxiosInstance {\n setBaseUrl: (baseUrl: string) => void;\n setGuestToken: (guestToken: string) => void;\n}\n\nexport const publicRequest: IPublicRequest = axios.create({\n baseURL: 'https://www.ticketfairy.com/api',\n headers,\n}) as IPublicRequest\n\npublicRequest.setBaseUrl = (baseUrl: string) =>\n (publicRequest.defaults.baseURL = baseUrl + '/api')\n\npublicRequest.setGuestToken = (guestToken: string) =>\n (publicRequest.defaults.headers.common['Authorization-Guest'] = guestToken)\n\nexport const setBaseUrl = (baseUrl: string) => {\n publicRequest.setBaseUrl(baseUrl)\n}\n","export const X_TF_ECOMMERCE = 'X-TF-ECOMMERCE'\nexport const FEES_STYLES = {TRADITIONAL: 'TRADITIONAL', DISPLAY_BOTH: 'DISPLAY_BOTH'};\nexport const DEFAULT_FEES_STYLE = FEES_STYLES.TRADITIONAL;","import _forEach from 'lodash/forEach'\n\nimport { publicRequest } from '../api/publicRequest'\nimport {DEFAULT_FEES_STYLE} from \"../constants\";\n\nexport interface IConfigs {\n BASE_URL: string;\n CLIENT_ID: string;\n CLIENT_SECRET: string;\n STRIPE_PUBLISHABLE_KEY: string;\n X_SOURCE_ORIGIN: string;\n FEES_STYLE: string;\n [key: string]: string | number;\n}\n\nexport const CONFIGS: IConfigs = {FEES_STYLE: DEFAULT_FEES_STYLE} as IConfigs\n\nexport const setConfigs = (configs: IConfigs) => {\n _forEach(configs, (value, key) => {\n CONFIGS[key] = value\n })\n\n publicRequest.setBaseUrl(CONFIGS.BASE_URL)\n}\n","export const getQueryVariable = (variable: string) => {\n if (typeof window !== 'undefined') {\n const query = window.location.search.substring(1)\n const vars = query.split('&')\n for (let i = 0; i < vars.length; i++) {\n const pair = vars[i].split('=')\n if (pair[0] === variable) {\n return decodeURIComponent(pair[1])\n }\n }\n }\n return false\n}\n","import { connect, FormikContextType } from 'formik'\nimport { Component } from 'react'\n\ninterface IProps {\n formik: FormikContextType<any>;\n}\n\nclass ErrorFocusInternal extends Component<IProps> {\n public componentDidUpdate(prevProps: IProps) {\n const { isSubmitting, isValidating, errors } = prevProps.formik\n const keys = Object.keys(errors)\n if (keys.length > 0 && isSubmitting && !isValidating) {\n const selector = `[name=\"${keys[0]}\"]`\n const errorElement = document.querySelector(selector) as HTMLElement\n if (errorElement) {\n errorElement.focus()\n }\n }\n }\n\n public render = () => null;\n}\n\nexport const ErrorFocus = connect<{}>(ErrorFocusInternal)\n","\nexport function setCustomCookie(name: string, value: string, days = 5) {\n let expires = ''\n if (days) {\n const date = new Date()\n date.setTime(date.getTime() + days * 24 * 60 * 60 * 1000)\n expires = '; expires=' + date.toUTCString()\n }\n if (typeof window !== 'undefined') {\n const domain = window.location.hostname\n document.cookie =\n name + '=' + (value || '') + expires + `; path=/; domain=${domain}`\n }\n}\n\nexport function getCookieByName(cname: string) {\n if (typeof window === 'undefined') return ''\n const name = cname + '='\n const ca = document.cookie.split(';')\n for (let i = 0; i < ca.length; i++) {\n let c = ca[i]\n while (c.charAt(0) === ' ') {\n c = c.substring(1)\n }\n if (c.indexOf(name) === 0) {\n return c.substring(name.length, c.length)\n }\n }\n return ''\n}\n\nexport function deleteCookieByName(name: string) {\n if (typeof window !== 'undefined') {\n const domain = window.location.hostname\n document.cookie =\n name +\n '=; Path=/' +\n `; domain=${domain}` +\n '; Expires=Thu, 01 Jan 1970 00:00:01 GMT;'\n }\n}\n","import { getCookieByName } from './cookies'\n\nexport const downloadPDF = (pdfUrl: string) => {\n if (typeof window === 'undefined') return\n\n const xtfCookie = getCookieByName('X-TF-ECOMMERCE')\n\n if (!xtfCookie) return\n\n let headers = {}\n\n if (xtfCookie) {\n headers = {\n 'X-TF-ECOMMERCE': xtfCookie,\n }\n }\n\n return fetch(pdfUrl, {\n headers,\n credentials: 'include',\n })\n .then(async response => {\n const blobValue = await response.blob()\n const fileNameHeader = response.headers.get('content-disposition') || ''\n const fileName = fileNameHeader.split('\"')[1]\n return { blobValue, fileName }\n })\n .then(({ blobValue, fileName }) => {\n if (!fileName) {\n throw Error('Something went wrong.')\n }\n const file = new Blob([blobValue], { type: 'application/pdf' })\n const fileURL = URL.createObjectURL(file)\n const link = document.createElement('a')\n link.href = fileURL\n link.setAttribute('download', fileName)\n document.body.appendChild(link)\n link.click()\n document.body.removeChild(link)\n })\n .catch(error => error)\n}\n","import _get from 'lodash/get'\n\ntype Type1 = string | number | null | undefined\ninterface ICheckoutBody {\n attributes: {\n [key: string]:\n | Type1\n | Record<string | number, Type1>\n | Array<Type1 | IticketHolder>;\n };\n data_capture?: {\n [key: string]: any;\n };\n}\n\ninterface IticketHolder {\n first_name?: string;\n last_name?: string;\n phone?: string;\n email?: string;\n}\n\ninterface IUserCredentialsValues {\n emailLogged?: string;\n firstNameLogged?: string;\n lastNameLogged?: string;\n}\n\nexport const createCheckoutDataBodyWithDefaultHolder = (\n ticketsQuantity: number,\n logedInValues: Record<string, string | undefined>,\n includeDob = false,\n userCredentials: IUserCredentialsValues = {}\n): ICheckoutBody => {\n const ticket_holders: IticketHolder[] = []\n\n const first_name =\n _get(logedInValues, 'firstName') ||\n _get(logedInValues, 'first_name') ||\n _get(userCredentials, 'firstNameLogged') ||\n ''\n\n const last_name =\n _get(logedInValues, 'lastName') ||\n _get(logedInValues, 'last_name') ||\n _get(userCredentials, 'lastNameLogged') ||\n ''\n const phone = _get(logedInValues, 'phone', '')\n const email =\n _get(logedInValues, 'email') || _get(userCredentials, 'emailLogged') || ''\n\n for (let i = 0; i <= ticketsQuantity - 1; i++) {\n const individualHolder = i\n ? { first_name: '', last_name: '', phone: '', email: '' }\n : { first_name, last_name, phone, email }\n\n ticket_holders.push(individualHolder)\n }\n\n const body: ICheckoutBody = {\n attributes: {\n ...logedInValues,\n email,\n confirm_email: email,\n first_name,\n last_name,\n ticket_holders,\n },\n }\n\n if (includeDob) {\n const holderAgeDate = new Date(_get(logedInValues, 'holderAge', ''))\n body.attributes.dob_day = holderAgeDate.getDate()\n body.attributes.dob_month = holderAgeDate.getMonth() + 1\n body.attributes.dob_year = holderAgeDate.getFullYear()\n }\n\n return body\n}\n","export const createMarkup = (data: string) => ({ __html: data })","export const replaceVarInString = (message = '', varArray: Array<string>) => {\n const re = new RegExp(/\\{.*?\\}/g)\n let index = 0\n return message.replace(re, _ => {\n const value = varArray[index] || ''\n index++\n return value\n })\n}\n","export const isBrowser =\n typeof window !== 'undefined' && typeof window.document !== 'undefined'\n","import _forEach from 'lodash/forEach'\nimport _get from 'lodash/get'\n\nexport const getFormInitialValues = (fieldsSections: IFormFieldsSection[]) => {\n const initialValues: { [key: string]: string | number | boolean } = {}\n const isWindowDefined = typeof window !== 'undefined'\n const userData = JSON.parse(\n isWindowDefined ? window.localStorage.getItem('user_data') || '{}' : '{}'\n ) as IProfileData\n\n _forEach(fieldsSections, item => {\n _forEach(item.fields, fieldItem => {\n switch (fieldItem.name) {\n case 'country':\n case 'numTickets':\n case 'state':\n initialValues[fieldItem.name] = ''\n break\n case 'brandOptIn':\n initialValues[fieldItem.name] = true\n break\n case 'confirmEmail':\n initialValues[fieldItem.name] =\n _get(userData, fieldItem.name) || _get(userData, 'email') || ''\n break\n default:\n initialValues[fieldItem.name] = _get(userData, fieldItem.name) || ''\n break\n }\n })\n })\n\n return initialValues\n}\n","export const setLoggedUserData = (data: IProfileData) => ({\n id: data.id,\n first_name: data.firstName,\n last_name: data.lastName,\n email: data.email,\n confirmEmail: data.email,\n city: data?.city || '',\n country: data?.countryId || '',\n phone: data?.phone || '',\n street_address: data?.streetAddress || '',\n state: data?.stateId || '',\n zip: data?.zipCode || '',\n})\n","import _isEmpty from 'lodash/isEmpty'\nimport _map from 'lodash/map'\n\nimport { IBillingInfoData } from '../types'\n\nexport const getDataWithCustomFields = (\n initialData: IBillingInfoData[],\n ticketHoldersFields: IBillingInfoData,\n customFields: any\n) => {\n // Custom Fields are not specified case\n if (_isEmpty(customFields)) {\n const dataWithCustomFields = { ...initialData }\n const ticketHoldersWithCustomFields = { ...ticketHoldersFields }\n return { dataWithCustomFields, ticketHoldersWithCustomFields }\n }\n\n // Add Custom Fields for Order\n const orderWithCustomFields = {\n groupClassname: 'billing-info-container__customFields',\n groupItems: [...customFields.orderFields],\n }\n const initialDataFields = [...initialData[0].fields]\n\n // Add Custom Fields to penultimate position\n initialDataFields.splice(initialDataFields.length - 1, 0, {\n ...orderWithCustomFields,\n })\n\n const dataWithCustomFields = [\n {\n ...initialData[0],\n fields: initialDataFields,\n },\n ]\n\n // Add Custom Fields for Ticket Holders\n const ticketHoldersFieldsArr = ticketHoldersFields.fields || []\n\n const ticketHoldersCustomFieldsBlueprint = {\n id: ticketHoldersFieldsArr.length + 1,\n customFields: true,\n groupClassname: 'billing-info-container__customFields',\n groupItems: [...customFields.ticketsFields],\n }\n\n const ticketHoldersWithCustomFields = {\n ...ticketHoldersFields,\n fields: _isEmpty(ticketHoldersFieldsArr)\n ? []\n : [...ticketHoldersFieldsArr, ticketHoldersCustomFieldsBlueprint],\n }\n\n return { dataWithCustomFields, ticketHoldersWithCustomFields }\n}\n\nexport const getAddOnDataWithCustomFields = (\n customFields: any\n) => {\n // Custom Fields are not specified case\n if (_isEmpty(customFields)) {\n return { addOnDataWithCustomFields: {} }\n }\n\n // Add Custom Fields for Order\n const orderWithCustomFields = {\n id: 1,\n groupClassname: 'billing-info-container__customFields',\n groupItems: [...customFields.addOnFields],\n }\n\n const addOnDataWithCustomFields = {\n fields: orderWithCustomFields,\n }\n\n return { addOnDataWithCustomFields }\n}\n\nexport const getFieldsKeys = (customFields: any) =>\n _map(customFields, field => field.name)\n","export const isJson = (value: any): boolean => {\n try {\n JSON.parse(value)\n } catch (e) {\n return false\n }\n return true\n}\n","import { AxiosError, AxiosRequestConfig, AxiosResponse } from 'axios'\nimport _get from 'lodash/get'\n\nimport { CONFIGS, isBrowser } from '../utils'\nimport { getCookieByName, setCustomCookie } from '../utils/cookies'\nimport { publicRequest } from './publicRequest'\n\npublicRequest.interceptors.request.use((config: AxiosRequestConfig) => {\n const guestToken = isBrowser ? window.localStorage.getItem('auth_guest_token') : null\n if (guestToken) {\n const updatedHeaders = {\n ...config.headers,\n 'Authorization-Guest': guestToken,\n }\n config.headers = updatedHeaders\n }\n\n const xtfCookie = getCookieByName('X-TF-ECOMMERCE')\n if (xtfCookie) {\n const updatedHeaders = {\n ...config.headers,\n 'X-TF-ECOMMERCE': xtfCookie,\n }\n config.headers = updatedHeaders\n }\n\n const additionalCookiesHeaderValue = isBrowser ? document.cookie ?? '' : ''\n if (additionalCookiesHeaderValue !== '') {\n const updatedHeaders = {\n ...config.headers,\n 'Additional-Cookies': additionalCookiesHeaderValue,\n }\n config.headers = updatedHeaders\n }\n\n if (CONFIGS.X_SOURCE_ORIGIN) {\n const updatedHeaders = {\n ...config.headers,\n 'X-Source-Origin': CONFIGS.X_SOURCE_ORIGIN,\n }\n config.headers = updatedHeaders\n }\n\n if (CONFIGS.BASE_URL) {\n config.baseURL = CONFIGS.BASE_URL + '/api'\n }\n\n return config\n})\n\npublicRequest.interceptors.response.use(\n (response: AxiosResponse) => {\n const authGuestToken: string | null = _get(\n response,\n 'headers.authorization-guest',\n ''\n )\n\n if (isBrowser && authGuestToken) {\n window.localStorage.setItem('auth_guest_token', authGuestToken)\n publicRequest.setGuestToken(authGuestToken)\n }\n\n const xtfCookie = _get(response, 'headers.x-tf-ecommerce')\n const url = _get(response, 'config.url')\n const method = _get(response, 'config.method')\n\n if (xtfCookie && !(url === '/auth' && method === 'delete')) {\n setCustomCookie('X-TF-ECOMMERCE', xtfCookie)\n }\n\n return response\n },\n (error: AxiosError) => {\n if (error?.response?.status === 401) {\n if (isBrowser) {\n window.localStorage.removeItem('user_data')\n const errorType = _get(error, 'response.data.error')\n if (errorType === 'invalid_token') {\n window.location.href = '/'\n }\n }\n }\n\n const authGuestToken = _get(error, 'response.headers.authorization-guest')\n if (isBrowser && authGuestToken) {\n window.localStorage.setItem('auth_guest_token', authGuestToken)\n publicRequest.setGuestToken(authGuestToken)\n }\n\n return Promise.reject(error)\n }\n)\n","import _forEach from 'lodash/forEach'\nimport _get from 'lodash/get'\nimport _map from 'lodash/map'\n\nimport { IGroupItem } from '../types'\n\nexport const optionsAdapter = (options: any) => {\n const adaptedOptions = _map(options, option => ({\n id: option.id,\n label: option.name,\n value: option.value,\n }))\n return adaptedOptions\n}\n\nexport const fieldDataAdapter = (field: IGroupItem) => {\n const {\n name,\n label,\n required,\n description,\n type,\n options,\n ...restValues\n } = field\n\n const adaptedField: IGroupItem = {\n name,\n label,\n required,\n description,\n type,\n className: _get(restValues, 'settings.className', ''),\n value: _get(restValues, 'defaultValue'),\n }\n\n switch (type) {\n case 'textarea':\n adaptedField.type = 'text'\n adaptedField.multiline = true\n break\n case 'radio':\n adaptedField.radios = optionsAdapter(options)\n break\n case 'select_multi':\n adaptedField.isMultiple = true\n adaptedField.options = optionsAdapter(options)\n break\n case 'select':\n adaptedField.type = 'select_multi'\n adaptedField.isMultiple = false\n adaptedField.options = optionsAdapter(options)\n break\n default:\n break\n }\n\n return adaptedField\n}\n\nexport const customFieldsDataAdapter = (data: any) => {\n const adaptedTicketFields: Array<IGroupItem> = []\n const adaptedOrderFields: Array<IGroupItem> = []\n const adaptedAddOnFields: Array<IGroupItem> = []\n\n _forEach(data, field => {\n const ticketFields = _get(field, 'ticket.group.fields')\n const orderFields = _get(field, 'order.group.fields')\n const addOnFields = _get(field, 'add-on.group.fields')\n\n _forEach(ticketFields, ticketField => {\n adaptedTicketFields.push(fieldDataAdapter(ticketField))\n })\n\n _forEach(orderFields, orderField => {\n adaptedOrderFields.push(fieldDataAdapter(orderField))\n })\n\n _forEach(addOnFields, addOnField => {\n adaptedAddOnFields.push(fieldDataAdapter(addOnField))\n })\n })\n\n return { ticketsFields: adaptedTicketFields, orderFields: adaptedOrderFields, addOnFields: adaptedAddOnFields }\n}\n","import { AxiosRequestConfig, AxiosResponse } from 'axios'\n\nimport { CONFIGS } from '../utils'\nimport { publicRequest } from './publicRequest'\n\nexport const authorize = async (\n data: IAuthorizeRequestData\n): Promise<IProfileResponse> => {\n const response: AxiosResponse<IProfileResponse, AxiosRequestConfig> =\n await publicRequest.post(\n `/auth?clientId=${CONFIGS.CLIENT_ID || 'e9d8f8922797b4621e562255afe90dbf'}`,\n data\n )\n return response.data\n}\n\nexport const signUp = async (data: ISignupRequestData): Promise<IProfileResponse> => {\n const response: AxiosResponse<IProfileResponse, AxiosRequestConfig> =\n await publicRequest.post('auth/signup', { ...data })\n return response.data\n}\n\nexport const register = async (data: FormData): Promise<IProfileResponse> => {\n const response: AxiosResponse<IProfileResponse, AxiosRequestConfig> =\n await publicRequest.post('v1/oauth/register-rn', data)\n return response.data\n}\n\nexport const getProfileData = async (): Promise<IProfileResponse> => {\n const response: AxiosResponse<IProfileResponse, AxiosRequestConfig> = await publicRequest.get('/customer/profile/')\n return response.data\n}\n\nexport const logout = async (): Promise<IAxiosResponseData> => {\n const response: AxiosResponse<IAxiosResponseData, AxiosRequestConfig> =\n await publicRequest.delete('/auth')\n return response.data\n}\n","import { AxiosRequestConfig, AxiosResponse } from 'axios'\n\nimport { CONFIGS } from '../utils'\nimport { publicRequest } from './publicRequest'\n\nexport const getOrders = async (\n page: number,\n limit: number,\n eventSlug: string\n): Promise<IOrdersResponse> => {\n const slug = eventSlug || CONFIGS.EVENT_SLUG || ''\n\n const response: AxiosResponse<IOrdersResponse, AxiosRequestConfig> =\n await publicRequest.get(\n `v1/account/orders/?page=${page}&limit=${limit}&filter[event]=${slug}&${\n CONFIGS.BRAND_SLUG\n ? `filter[brand]=${CONFIGS.BRAND_SLUG}&filter[subbrands]=true`\n : ''\n }`\n )\n\n return response.data\n}\n\nexport const getOrderDetails = async (orderId: string): Promise<IOrderResponse> => {\n const response: AxiosResponse<IOrderResponse, AxiosRequestConfig> =\n await publicRequest.get(`v1/account/order/${orderId}`)\n\n return response.data\n}\n","import { AxiosRequestConfig, AxiosResponse } from 'axios'\n\nimport { isBrowser } from '../utils'\nimport { publicRequest } from './publicRequest'\n\nexport const addToCart = async (\n id: string | number,\n data: ICartRequestData\n): Promise<ICartResponse> => {\n const response: AxiosResponse<ICartResponse, AxiosRequestConfig> =\n await publicRequest.post(\n `v1/event/${id}/add-to-cart/`,\n { data },\n {\n headers: {\n ...publicRequest.defaults.headers.common,\n 'Referer-Url': isBrowser ? document.referrer : '',\n },\n }\n )\n return response.data\n}\n\nexport const getCart = async (): Promise<IGetCartResponse> => {\n const response: AxiosResponse<IGetCartResponse, AxiosRequestConfig> =\n await publicRequest.get(`v1/cart`)\n return response.data\n}\n","import { AxiosRequestConfig, AxiosResponse } from 'axios'\n\nimport { publicRequest } from './publicRequest'\n\nexport const postOnCheckout = async (\n data: any,\n freeTicket = false\n): Promise<ICheckoutResponse> => {\n if (freeTicket) {\n delete data.attributes.city\n delete data.attributes.country\n delete data.attributes.state\n delete data.attributes.street_address\n }\n\n const response: AxiosResponse<ICheckoutResponse, AxiosRequestConfig> =\n await publicRequest.post(\n `v1/on-checkout`,\n { data }\n )\n\n return response.data\n}\n","import { AxiosRequestConfig, AxiosResponse } from 'axios'\nimport _forEach from 'lodash/forEach'\n\nimport { getQueryVariable, isBrowser } from '../utils'\nimport { publicRequest } from './publicRequest'\n\nexport const getEvent = async (\n id: string | number,\n pk?: string\n): Promise<IEventResponse> => {\n let referralValue = ''\n if (isBrowser) {\n const params = new URL(`${window.location}`)\n const referralId = params.searchParams.get('ttf_r') || ''\n const referral_key = window.localStorage.getItem('referral_key')\n const [, referralIdlocal] = (referral_key || '').split('.')\n referralValue = referralId || (referralIdlocal ?? '')\n }\n\n const response: AxiosResponse<IEventResponse, AxiosRequestConfig> =\n await publicRequest.get(`v1/event/${id}`, {\n params: { pk },\n headers: {\n ...publicRequest.defaults.headers.common,\n 'Referer-Url': isBrowser ? document.referrer : '',\n 'Referrer-Id': isBrowser ? referralValue : '',\n },\n })\n return response.data\n}\n\nexport const getTickets = async (\n eventId: string | number,\n promoCode: string,\n pk?: string\n): Promise<ITicketsAdaptedResponse> => {\n const invitationHash = getQueryVariable('invitation-hash')\n const referralId = getQueryVariable('ttf_r')\n\n if (referralId) {\n window.localStorage.setItem('promoter_id', referralId)\n }\n\n const promoterId = window.localStorage.getItem('promoter_id')\n const params = { pk } as Record<string, string | number | undefined>\n\n if (invitationHash) {\n params['invitation-hash'] = invitationHash\n }\n\n const headers = publicRequest.defaults.headers.common\n\n if (promoterId) {\n headers['Promotion-Event'] = String(eventId)\n headers['Referrer-Id'] = isBrowser ? promoterId : ''\n }\n\n if (promoCode) {\n headers['Promotion-Event'] = String(eventId)\n headers['Promotion-Code'] = promoCode\n window.localStorage.removeItem('promoter_id')\n }\n\n const response: AxiosResponse<ITicketsResponse, AxiosRequestConfig> =\n await publicRequest.get(`v1/event/${eventId}/tickets/`, {\n params,\n headers,\n })\n\n const { tickets } = response.data.data.attributes\n const ticketsArr: ITicketData[] = []\n _forEach(tickets, item => {\n ticketsArr.push(item)\n })\n const adaptedResponse: AxiosResponse<ITicketsAdaptedResponse, AxiosRequestConfig> = {\n ...response,\n data: {\n ...response.data,\n data: {\n ...response.data.data,\n attributes: {\n ...response.data.data.attributes,\n tickets: ticketsArr,\n },\n },\n },\n }\n\n return adaptedResponse.data\n}\n\nexport const getTimeSlotsData = async (eventId: string | number): Promise<TimeSlotsResponse> => {\n const response: AxiosResponse<TimeSlotsResponse, AxiosRequestConfig> =\n await publicRequest.get(`/event/${eventId}/time-slot-groups-dates/`) // This endpoint currently works only for dashboard\n return response.data\n}\n\nexport const getCountries = async (): Promise<ICountriesResponse> => {\n const response: AxiosResponse<ICountriesResponse, AxiosRequestConfig> =\n await publicRequest.get('/countries/list')\n return response.data\n}\n\nexport const getStates = async (countryId: string | number): Promise<IStatesResponse> => {\n const response: AxiosResponse<IStatesResponse, AxiosRequestConfig> =\n await publicRequest.get(`/countries/${countryId}/states/`)\n return response.data\n}\n\nexport const sendRSVPInfo = async (\n eventId: number,\n data: { data: IRSVPRequestData }\n): Promise<IRSVPResponse> => {\n const response: AxiosResponse<IRSVPResponse, AxiosRequestConfig> =\n await publicRequest.post(`v1/event/${eventId}/send-rsvp-info`, data)\n\n return response.data\n}\n\nexport const addToWaitingList = async (\n id: number,\n data: IWaitingListRequestData\n): Promise<IWaitingListResponse> => {\n const response: AxiosResponse<IWaitingListResponse, AxiosRequestConfig> =\n await publicRequest.post(`v1/event/${id}/add_to_waiting_list`, {\n data,\n })\n\n return response.data\n}\n\nexport const postReferralVisits = async (\n eventId: string,\n referralId: string\n): Promise<IAxiosResponseData> => {\n const response: AxiosResponse<IAxiosResponseData, AxiosRequestConfig> =\n await publicRequest.post(`v1/event/${eventId}/referrer/`, {\n referrer: `${referralId}`,\n })\n\n return response.data\n}\n\nexport const validatePhoneNumber = async (phone: string): Promise<IAxiosResponseData> => {\n const response: AxiosResponse<IAxiosResponseData, AxiosRequestConfig> =\n await publicRequest.get(`/v1/account/validate_phone?phone=${phone}`)\n\n return response.data\n}\n","import { AxiosRequestConfig, AxiosResponse } from 'axios'\nimport _map from 'lodash/map'\nimport { nanoid } from 'nanoid'\n\nimport { isBrowser } from '../utils'\nimport { publicRequest } from './publicRequest'\n\nexport const getPaymentData = async (hash: string): Promise<IPaymentDataResponse> => {\n const response: AxiosResponse<IPaymentDataResponse, AxiosRequestConfig> =\n await publicRequest.get(`v1/order/${hash}/review`, {\n headers: { 'Referer-Url': isBrowser ? document.referrer : '' },\n })\n\n return response.data\n}\n\nexport const handlePaymentSuccess = async (\n orderHash: string\n): Promise<IPaymentSuccessDataResponse> => {\n const response: AxiosResponse<IPaymentSuccessDataResponse, AxiosRequestConfig> =\n await publicRequest.post(`v1/order/${orderHash}/success`, undefined, {\n headers: {\n ...publicRequest.defaults.headers.common,\n 'Referer-Url': isBrowser ? document.referrer : '',\n },\n })\n return response.data\n}\n\nexport const handleFreeSuccess = async (\n orderHash: string\n): Promise<IFreeRegistrationDataResponse> => {\n const response: AxiosResponse<IFreeRegistrationDataResponse, AxiosRequestConfig> =\n await publicRequest.post(\n `v1/order/${orderHash}/complete_free_registration`,\n undefined,\n { headers: { 'Referer-Url': isBrowser ? document.referrer : '' } }\n )\n return response.data\n}\n\nexport const getConfirmationData = async (\n orderHash: string\n): Promise<ICheckoutCompleteDataResponse> => {\n const response: AxiosResponse<ICheckoutCompleteDataResponse, AxiosRequestConfig> =\n await publicRequest.get(`v1/order/${orderHash}/payment/complete`)\n return response.data\n}\n\nexport const getConditions = async (\n eventId: string\n): Promise<IConditionsAdaptedDataResponse> => {\n const response: AxiosResponse<IConditionsDataResponse, AxiosRequestConfig> =\n await publicRequest.get(`v1/event/${eventId}/conditions`)\n\n const adaptedData: IConditionsAdaptedData[] = _map(\n response.data.data.attributes,\n item => ({\n id: nanoid(),\n text: item,\n checked: false,\n })\n )\n\n const returnData: AxiosResponse<IConditionsAdaptedDataResponse, AxiosRequestConfig> = {\n ...response,\n data: {\n ...response.data,\n data: {\n ...response.data.data,\n attributes: adaptedData,\n },\n },\n }\n\n return returnData.data\n}\n","import { AxiosRequestConfig, AxiosResponse } from 'axios'\n\nimport { publicRequest } from './publicRequest'\n\nexport const resaleTicket = async (\n data: FormData,\n hash: string\n): Promise<IResaleTicketResponse> => {\n const response: AxiosResponse<IResaleTicketResponse, AxiosRequestConfig> =\n await publicRequest.post(`v1/ticket/${hash}/sell`, data)\n\n return response.data\n}\n\nexport const removeFromResale = async (\n hash: string\n): Promise<IRemoveFromResaleResponse> => {\n const response: AxiosResponse<IRemoveFromResaleResponse, AxiosRequestConfig> =\n await publicRequest.delete(`v1/ticket/${hash}/sell`)\n\n return response.data\n}\n\nexport const processTicket = (hash: string) =>\n publicRequest.post(`v1/ticket/${hash}/process`)\n\nexport const declineInvitation = (hash: string) =>\n publicRequest.post(`v1/ticket/${hash}/decline`)\n","import { AxiosRequestConfig, AxiosResponse } from 'axios'\n\nimport { publicRequest } from './publicRequest'\n\nexport const getCustomerExistsData = async (\n accessHash: string\n): Promise<ICheckCustomerExistsData> => {\n const response: AxiosResponse<ICheckCustomerExistsData, AxiosRequestConfig> =\n await publicRequest.get(`/v1/delegation-access/${accessHash}/customer-exists`)\n return response.data\n}\n\ninterface IDelegationTicketType {\n delegationMaxQuantity: number | string;\n}\n\ninterface IIssueTicketResponseData {\n delegationName: string;\n eventImage: string;\n eventName: string;\n ticketTypes: {\n [key: number]: IDelegationTicketType;\n };\n}\n\ninterface IIssueTicketResponse {\n data: {\n attributes: IIssueTicketResponseData;\n relationships: Array<any>;\n type: string;\n message: string;\n };\n}\n\nexport interface IDelegationsTicketType {\n [key: number]: {\n delegationMaxQuantity: string | number;\n delegationQuantityIssued: string | number;\n matrixRecordId: string | number;\n optionValue: string | number;\n };\n}\nexport interface IDelegationsData {\n delegationName: string;\n eventImage: string;\n eventName: string;\n ticketTypes: IDelegationsTicketType;\n tickets: Array<any>;\n}\n\ninterface IDelegationsResponse {\n data: {\n data: {\n attributes: IDelegationsData;\n relationships: Array<any>;\n type: string;\n };\n };\n}\n\nexport const getDelegationTickets = (\n accessHash: string\n): Promise<IDelegationsResponse> => {\n const res = publicRequest.get(`v1/delegation-access/${accessHash}/consumer-page-info`)\n return res\n}\n\nexport const issueTicket = async (\n accessHash: string,\n data: ITicketIssueData\n): Promise<IIssueTicketResponse> => {\n const response: AxiosResponse<IIssueTicketResponse, AxiosRequestConfig> =\n await publicRequest.post(`v1/delegation-access/${accessHash}/issue-ticket`, {\n data: {\n attributes: data,\n },\n })\n return response.data\n}\n","import './interceptors'\n\nimport { AxiosRequestConfig, AxiosResponse } from 'axios'\nimport _get from 'lodash/get'\n\nimport { customFieldsDataAdapter } from '../adapters'\nimport {\n GetNetverifyUrlResponseData,\n UpdateVerificationStatusResponseData,\n VerificationStatusResponseData,\n} from '../types/verification'\nimport { getQueryVariable, isBrowser } from '../utils'\nimport { publicRequest } from './publicRequest'\n\nexport { authorize, getProfileData, signUp, register, logout } from './auth'\nexport { setAxiosHeader, setBaseUrl } from './publicRequest'\nexport { getOrders, getOrderDetails } from './orders'\nexport { addToCart, getCart } from './cart'\nexport { postOnCheckout } from './checkout'\n\nexport {\n getEvent,\n getTickets,\n getCountries,\n getStates,\n addToWaitingList,\n sendRSVPInfo,\n postReferralVisits,\n validatePhoneNumber,\n} from './common'\n\nexport {\n getPaymentData,\n getConditions,\n handlePaymentSuccess,\n handleFreeSuccess,\n getConfirmationData,\n} from './payment'\n\nexport {\n resaleTicket,\n removeFromResale,\n processTicket,\n declineInvitation,\n} from './resale'\n\nexport { issueTicket, getDelegationTickets } from './guestTicketDelegation'\n\nexport const setCustomHeader = (response: any) => {\n const guestHeaderResponseValue = _get(response, 'headers.authorization-guest')\n const guestHeaderExistingValue = _get(response, 'config.headers[Authorization-Guest]')\n const guestHeader = guestHeaderResponseValue || guestHeaderExistingValue\n\n if (guestHeader) {\n if (isBrowser) {\n window.localStorage.setItem('auth_guest_token', guestHeader)\n publicRequest.setGuestToken(guestHeader)\n }\n }\n}\n\nexport const handlePaymentData = (orderHash: string, data: any) => {\n const res = publicRequest\n .post(`v1/order/${orderHash}/pay`, {\n data: { attributes: { 'stripe-source': data } },\n })\n .catch(error => {\n throw error\n })\n return res\n}\n\nexport const createPaymentPlan = (orderHash: string, stripePaymentMethodId: string) => {\n const res = publicRequest\n .post(\n `v1/order/${orderHash}/payment_plan/create`,\n {\n stripe_payment_method_id: stripePaymentMethodId,\n },\n {\n headers: {\n 'Referer-Url': isBrowser ? document.referrer : '',\n },\n }\n )\n .catch(error => {\n throw error\n })\n return res\n}\n\n// forgot password\nexport const forgotPassword = (email: string) =>\n publicRequest.post(`/auth/restore-password`, { email })\n\n// reset password\ninterface IResetPasswordData {\n token: string;\n password: string;\n confirmPassword: string;\n}\nexport const resetPassword = (data: IResetPasswordData) =>\n publicRequest.post(`/auth/reset-password`, data)\n\nexport const getAddons = async (eventId: string) => {\n const result = await publicRequest.get(`/v1/event/${eventId}/add-ons`)\n const addons = _get(result, 'data.data.attributes', [])\n return addons\n}\n\nexport const selectAddons = (data: any) => {\n publicRequest.post(`v1/on-checkout`, data)\n}\n\nexport interface AttributesConfig {\n has_add_on: boolean;\n names_required: boolean;\n phone_required: boolean;\n minimum_age?: any;\n age_required: boolean;\n hide_phone_field: boolean;\n event_id: string;\n free_ticket: boolean;\n collect_mandatory_wallet_address: boolean;\n collect_optional_wallet_address: boolean;\n collect_mandatory_company: boolean;\n collect_optional_company: boolean;\n collect_mandatory_job_title: boolean;\n collect_optional_job_title: boolean;\n collect_mandatory_business_category: boolean;\n collect_optional_business_category: boolean;\n collect_mandatory_instagram: boolean;\n collect_optional_instagram: boolean;\n skip_billing_page: boolean;\n}\n\nexport interface ConfigsData {\n attributes: AttributesConfig;\n relationships: any[];\n type: string;\n}\n\nexport interface ResponseConfigs {\n data: ConfigsData;\n success: boolean;\n error: boolean;\n message: string;\n status: number;\n}\n\nexport const getCheckoutPageConfigs = async (): Promise<ResponseConfigs> => {\n const response = await publicRequest.get(`v1/checkout-configs`)\n return response.data\n}\n\n\nexport const getCustomFields = async (eventId: string) => {\n const response = await publicRequest.get(`/v1/event/${eventId}/custom_fields`)\n const customFields = _get(response, 'data.data.attributes', [])\n const adaptedResponse = customFieldsDataAdapter(customFields)\n return adaptedResponse\n}\n\nexport const updateOrderCustomFields = async (\n eventId: string,\n orderId: string,\n customFieldsData: Record<string, any>\n) => {\n const response = await publicRequest.put(`v1/event/${eventId}/order-data-capture`, {\n data: {\n attributes: {\n order_id: orderId,\n data_capture: customFieldsData,\n },\n },\n })\n return response\n}\n\nexport const updateTicketHoldersCustomFields = async (\n eventId: string,\n customFieldsData: Record<string, any>,\n ticketHash: string\n) => {\n const response = await publicRequest.put(`v1/event/${eventId}/ticket-data-capture`, {\n data: {\n attributes: {\n ticket_hash: ticketHash,\n ticket_data_capture: {\n [ticketHash]: customFieldsData,\n },\n },\n },\n })\n return response\n}\n\nexport const confirmPreRegistration = async (\n eventId: string | number,\n data: IConfirmPreRegistrationRequestData\n) => {\n const response = await publicRequest.post(\n `v1/event/${eventId}/pre-registration/confirm`,\n {\n data: {\n attributes: data,\n },\n }\n )\n return response.data\n}\n\n// seat map <--start-->\n\n// const makeId = (length = 20) => {\n// let result = ''\n// const characters =\n// 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'\n// const charactersLength = characters.length\n// for (let i = 0; i < length; i++) {\n// result += characters.charAt(Math.floor(Math.random() * charactersLength))\n// }\n// return result\n// }\n\nexport const getSeatMapData = async (\n eventId: string | number\n): Promise<SeatMapDataResponse> => {\n localStorage.setItem('tierId', '')\n const reservedSeatsHash = getQueryVariable('reserved_seats_hash')\n const params = {} as any\n if (reservedSeatsHash) {\n params.reserved_seats_hash = reservedSeatsHash\n }\n\n const response: AxiosResponse<SeatMapDataResponse, AxiosRequestConfig> =\n await publicRequest.get(`v1/event/${eventId}/seat-map-data`, { params })\n return response.data\n}\n\nexport const getSeatMapStatuses = async (\n eventId: string | number\n): Promise<SeatMapStatusesResponse> => {\n const response = await publicRequest.get(`v1/event/${eventId}/seats/status`)\n return response.data\n}\n\nexport const reserveSeat = async (\n eventId: string | number,\n tierId: string,\n seatId: string\n) => {\n const response = await publicRequest.post(`v1/event/${eventId}/seats/reserve`, {\n data: {\n tierId,\n seatId,\n ttl: 10,\n },\n })\n return response.data\n}\n\nexport const removeSeatReserve = async (\n eventId: string | number,\n tierId: string,\n seatIds: string[]\n) => {\n const response = await publicRequest.delete(\n `v1/event/${eventId}/seats/delete-reserved`,\n {\n data: {\n tierId,\n seatIds,\n },\n }\n )\n\n return response.data\n}\n\n// seat map <--end-->\nexport function getPixelScript(id: string | number, pageOptions: any) {\n const response = publicRequest.get(`v1/event/${id}/track`, {\n params: {\n page_url: pageOptions.pageUrl,\n page: pageOptions.page,\n order_hash: pageOptions.orderHash,\n },\n })\n return response\n}\n\n// ID Verification\nexport const getNetverifyUrl = async (): Promise<GetNetverifyUrlResponseData> => {\n const response: AxiosResponse<GetNetverifyUrlResponseData, AxiosRequestConfig> =\n await publicRequest.get('v1/authenticate/verify')\n return response.data\n}\n\nexport const checkVerificationStatus = async (): Promise<{\n data: VerificationStatusResponseData;\n}> => {\n const response: AxiosResponse<\n { data: VerificationStatusResponseData },\n AxiosRequestConfig\n > = await publicRequest.get('v1/authenticate/get-verification-info')\n return response.data\n}\n\nexport const updateVerificationStatus = async (): Promise<{\n data: UpdateVerificationStatusResponseData;\n}> => {\n const response: AxiosResponse<\n { data: UpdateVerificationStatusResponseData },\n AxiosRequestConfig\n > = await publicRequest.patch('v1/authenticate/verify', {\n data: {\n attributes: {\n verification: {\n verificationStatus: 'PENDING',\n },\n },\n },\n })\n return response.data\n}\n\nexport const checkCustomerOrder = async (orderHash: string): Promise<any> => {\n const response: AxiosResponse<any, AxiosRequestConfig> = await publicRequest.get(\n `v1/order/${orderHash}/verify-customer-order`\n )\n\n return response.data\n}\n\nexport const refreshSeatReservation = async (eventId: string, orderId: string) => {\n const response: AxiosResponse<any, AxiosRequestConfig> = await publicRequest.patch(\n `event/${eventId}/reservation/refresh/`,\n {\n order_id: orderId,\n }\n )\n return response\n}\n","import { CircularProgress } from '@mui/material'\nimport _get from 'lodash/get'\nimport _identity from 'lodash/identity'\nimport React, { useEffect, useState } from 'react'\n\nimport { getCustomFields } from '../../api'\nimport {\n getDataWithCustomFields,\n getFieldsKeys,\n getQueryVariable,\n} from '../../utils'\nimport { getAddOnDataWithCustomFields } from '../../utils/customFields'\n\nconst withCustomFields = (Children: any) => (props: any) => {\n const {\n data = [],\n ticketHoldersFields = {\n id: 1,\n fields: [],\n },\n skipCustomFields = true,\n onGetCustomFieldsError = _identity,\n onGetCustomFieldsSuccess = _identity,\n ...args\n } = props\n\n const [lodaing, setLoading] = useState(!skipCustomFields)\n const [customFieldsData, setCustomFieldsData] = useState({} as any)\n const [customFieldsOrderKeys, setCustomFieldsOrderKeys] = useState([] as any)\n const [customFieldsTicketHolderKeys, setCustomFieldsTicketHolderKeys] = useState([] as any)\n const [customFieldsAddOnKeys, setCustomFieldsAddOnKeys] = useState([] as any)\n\n const getFields = async () => {\n try {\n const eventId = getQueryVariable('event_id') || getQueryVariable(\"eventId\") || ''\n const customFields = await getCustomFields(eventId)\n\n const orderFieldsKeys = getFieldsKeys(_get(customFields, 'orderFields', []))\n const ticketHoldersFieldsKeys = getFieldsKeys(_get(customFields, 'ticketsFields', []))\n const addOnFieldsKeys = getFieldsKeys(_get(customFields, 'addOnFields', []))\n\n setCustomFieldsTicketHolderKeys(ticketHoldersFieldsKeys)\n setCustomFieldsOrderKeys(orderFieldsKeys)\n setCustomFieldsData(customFields)\n setCustomFieldsAddOnKeys(addOnFieldsKeys)\n\n onGetCustomFieldsSuccess(customFields)\n } catch (e) {\n onGetCustomFieldsError(e)\n } finally {\n setLoading(false)\n }\n }\n\n useEffect(() => {\n if (!skipCustomFields) {\n getFields()\n }\n }, [])\n\n const {\n dataWithCustomFields,\n ticketHoldersWithCustomFields,\n } = getDataWithCustomFields(data, ticketHoldersFields, customFieldsData)\n\n const { addOnDataWithCustomFields } = getAddOnDataWithCustomFields(customFieldsData)\n\n if (lodaing) {\n return <CircularProgress size={50} />\n }\n\n return (\n <Children\n {...args}\n data={dataWithCustomFields}\n ticketHoldersFields={ticketHoldersWithCustomFields}\n customFieldsOrderKeys={customFieldsOrderKeys}\n customFieldsTicketHolderKeys={customFieldsTicketHolderKeys}\n customFieldsAddOnKeys={customFieldsAddOnKeys}\n addOnDataWithCustomFields={addOnDataWithCustomFields}\n />\n )\n}\n\nexport { withCustomFields }\n","/* eslint-disable react-hooks/exhaustive-deps */\nimport _get from 'lodash/get'\nimport { useEffect } from 'react'\n\nimport { getPixelScript } from '../api'\nimport { isBrowser } from '../utils'\n\nexport interface pageOptions {\n pageUrl: string;\n page?: string;\n orderHash?: string;\n}\n\nfunction appendScriptsToHeader(code: string) {\n if (isBrowser && code) {\n const tempEl = document.createElement('div')\n tempEl.innerHTML = code\n const scripts = tempEl.getElementsByTagName('script')\n\n for (let index = 0; index < scripts.length; ++index) {\n const script = document.createElement('script')\n script.type = 'text/javascript'\n\n if (scripts[index].src) {\n script.src = scripts[index].src\n } else {\n script.innerHTML = scripts[index].innerHTML\n }\n\n document.head.appendChild(script)\n }\n }\n}\n\nconst addGTagToHeader = (tagId?: string, links?: string[]) => {\n if (document?.head && document?.body && tagId) {\n const script = document.createElement('script')\n script.innerHTML = `(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':\n new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],\n j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=\n 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);\n })(window,document,'script','dataLayer','${tagId}');`.trim()\n document.head.append(script)\n\n const scriptBody = document.createElement('noscript')\n scriptBody.innerHTML = `<iframe src=\"https://www.googletagmanager.com/ns.html?id=${tagId}\"\n height=\"0\" width=\"0\" style=\"display:none;visibility:hidden\"></iframe>`\n document.body.append(scriptBody);\n\n (window as any).dataLayer = (window as any).dataLayer || [];\n (window as any).gtag = function gtag(...args: any){(window as any).dataLayer.push(args)}\n if (links) {\n (window as any)?.gtag('set', 'linker', {\n 'domains': links\n })\n }\n (window as any).gtag('js', new Date());\n (window as any).gtag('config', tagId)\n }\n}\n\nexport const usePixel = async (\n eventId: string | number,\n options: pageOptions\n) => {\n const getScript = async () => {\n if (!eventId) return\n\n try {\n const response = await getPixelScript(eventId, options)\n const pixels = _get(response, 'data.data.attributes.pixels', '')\n appendScriptsToHeader(pixels)\n const brandGoogleTagKey = _get(response, 'data.data.attributes.brandGoogleTagKey', '')\n const eventGoogleTagKey = _get(response, 'data.data.attributes.eventGoogleTagKey', '')\n const eventGoogleTagManagerLinkerDomains = _get(response, 'data.data.attributes.eventGoogleTagManagerLinkerDomains', '')\n addGTagToHeader(brandGoogleTagKey, eventGoogleTagManagerLinkerDomains)\n if (eventGoogleTagKey) {\n addGTagToHeader(eventGoogleTagKey, eventGoogleTagManagerLinkerDomains)\n }\n } catch (e) {\n console.error(e)\n }\n }\n\n useEffect(() => {\n getScript()\n }, [eventId])\n}","export const currencyNormalizerCreator = (\n value: string | number,\n currency: string\n) => (!value ? '' : `${getCurrencySymbolByCurrency(currency)} ${value}`)\n\nexport const createFixedFloatNormalizer = (fixedValue: number) => (\n value: string | number\n) => (value || `${value}` === '0' ? (+value).toFixed(fixedValue) : '')\n\nexport const getCurrencySymbolByCurrency = (currency = '') => {\n switch (currency) {\n case 'GBP':\n return '£'\n case 'EUR':\n return '€'\n case 'INR':\n return '₹'\n case 'JMD':\n return 'J$'\n case 'NZD':\n return 'NZ$'\n case 'MYR':\n return 'RM'\n case 'MXN':\n return 'Mex$'\n case 'SGD':\n return 'S$'\n case 'AUD':\n return 'A$'\n case 'ZAR':\n return 'R'\n case 'ke':\n return 'Ksh'\n case 'TRY':\n return '₺'\n case 'CAD':\n return 'CA$'\n case 'THB':\n return '฿'\n case 'ISK':\n return 'Kr'\n case 'SEK':\n return 'kr'\n default:\n return 'US$'\n }\n}\n\nexport const removePlusSign = (string = '') => string.replace('+', '')\n","import { Modal as MuiModal } from '@mui/material'\nimport Box from '@mui/material/Box'\nimport Button from '@mui/material/Button'\nimport CircularProgress from '@mui/material/CircularProgress'\nimport _map from 'lodash/map'\nimport React, { FC } from 'react'\n\nexport interface Action {\n id: string;\n label: string;\n onClick: () => void;\n disabled?: boolean;\n loading?: boolean;\n variant?: \"text\" | \"contained\" | \"outlined\";\n}\n\ninterface Props {\n onClose?: () => void;\n actions: Action[];\n modalClassName?: string;\n}\n\nconst style: React.CSSProperties = {\n position: 'absolute',\n top: '50%',\n left: '50%',\n transform: 'translate(-50%, -50%)',\n minWidth: 480,\n backgroundColor: '#e3e3e3',\n border: '1px solid white',\n outline: 'none',\n padding: '14px',\n maxHeight: '85vh',\n overflow: 'auto',\n}\n\nconst Modal: FC<Props> = ({\n onClose,\n actions = [],\n children,\n modalClassName = '',\n}) => (\n <MuiModal\n open={true}\n onClose={onClose}\n aria-labelledby=\"modal-modal-title\"\n aria-describedby=\"modal-modal-description\"\n className={`confirm-modal ${modalClassName}`}\n >\n <Box style={style}>\n <div className=\"modal-body\">{children}</div>\n <div className=\"footer\">\n {_map(actions, (action: Action) => (\n <Button\n key={action.id}\n onClick={action.onClick}\n disabled={action.disabled || action.loading}\n variant={action.variant || \"text\"}\n >\n {action.loading ? <CircularProgress size=\"22px\" /> : action.label}\n </Button>\n ))}\n </div>\n </Box>\n </MuiModal>\n)\n\nexport default Modal\n","import React, { useEffect, useState } from 'react'\n\nimport Modal, { Action } from '../common/ModalComponent'\n\ninterface IDVerificationProps {\n message?: string | null;\n displayModal?: boolean;\n actions?: Action[];\n onClose?: () => void;\n}\n\nexport const VerificationPendingModal = (props: IDVerificationProps) => {\n const { message, displayModal, actions, onClose } = props\n const [showModal, setShowModal] = useState(false)\n\n useEffect(() => {\n if (displayModal === undefined) {\n setShowModal(Boolean(message))\n }\n }, [message, displayModal])\n\n return showModal || displayModal ? (\n <div>\n <Modal\n modalClassName=\"id-verification-modal\"\n actions={\n actions || [\n {\n id: 'okay',\n label: 'OK',\n variant: 'contained',\n onClick: () => {\n setShowModal(false)\n\n if (onClose) {\n onClose()\n }\n },\n },\n ]\n }\n >\n <div>{message}</div>\n </Modal>\n </div>\n ) : null\n}\n","import React from \"react\"\n\nconst InfoIcon = ({ size = 17 }) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={size}\n height={size}\n viewBox=\"0 0 17 17\"\n fill=\"none\"\n >\n <circle\n cx=\"8.5\"\n cy=\"8.5\"\n r=\"8\"\n stroke=\"black\"\n strokeWidth=\"1\"\n />\n <rect\n x=\"7.5\"\n y=\"4\"\n width=\"2\"\n height=\"2\"\n fill=\"black\"\n />\n <rect\n x=\"7.5\"\n y=\"7\"\n width=\"2\"\n height=\"5\"\n fill=\"black\"\n />\n </svg>\n)\n\nexport default InfoIcon","import _isNumber from 'lodash/isNumber'\n\nexport const showZero = (value = 0) => {\n const intNumber = Number(value)\n return _isNumber(intNumber)\n ? intNumber >= 0 && intNumber < 10\n ? '0' + intNumber\n : intNumber\n : null\n}\n","import './style.css'\n\nimport _identity from 'lodash/identity'\nimport React, { memo, useState } from 'react'\nimport Countdown from 'react-countdown'\nimport SVG from 'react-inlinesvg'\n\nimport Cross from '../../assets/images/cross.svg'\nimport { showZero } from '../../utils/showZero'\n\nexport interface ITimerWidgetPage {\n expires_at: number;\n buyLoading?: boolean;\n onCountdownFinish?: () => void;\n}\n\nexport interface IRenderer {\n minutes: number;\n seconds: number;\n completed: number;\n handleCountdownFinish: () => void;\n}\n\nconst TimerWidget = ({\n expires_at,\n buyLoading,\n onCountdownFinish = _identity,\n}: ITimerWidgetPage) => {\n const [showTimer, setShowTimer] = useState(true)\n\n const handleCountdownFinish = () => {\n setShowTimer(false)\n if (!buyLoading) {\n onCountdownFinish()\n }\n }\n\n const renderer = ({\n minutes,\n seconds,\n completed,\n handleCountdownFinish,\n }: IRenderer) => {\n if (completed) {\n handleCountdownFinish()\n return null\n }\n return (\n <span>\n {showZero(minutes)}:{showZero(seconds)}\n </span>\n )\n }\n\n const hideTimer = () => {\n const timerRl: HTMLElement | null = document.querySelector('.timer')\n if (timerRl) {\n timerRl.style.visibility = 'hidden'\n }\n }\n\n return showTimer && !!expires_at ? (\n <div className=\"timer\">\n <div className=\"close-icon\" onClick={hideTimer}>\n <SVG src={Cross} width=\"10\" height=\"10\" fill=\"#fff\" />\n </div>\n <div className=\"toast-message\">\n <p>Please complete your purchase before the timer reaches zero.</p>\n <p className=\"countdown\">\n <Countdown\n date={Date.now() + expires_at * 1000}\n renderer={(props: any) =>\n renderer({\n ...props,\n handleCountdownFinish,\n })\n }\n />\n </p>\n </div>\n </div>\n ) : null\n}\n\nexport default memo(TimerWidget)\n","import _get from 'lodash/get'\nimport _isEmpty from 'lodash/isEmpty'\n\nexport interface IAddOnsData {\n add_on_groups: Array<{ [key: string]: any }>;\n add_ons: Array<[]>;\n}\n\nexport const addonsWithGroupsAdapter = (data: IAddOnsData) => {\n const addonsData = { ...data }\n const addOnsGroups = _get(addonsData, 'add_on_groups', [])\n const addons = _get(addonsData, 'add_ons', [])\n\n if (!_isEmpty(addOnsGroups)) {\n const addOnGroupsWithVariants: any = []\n const addOnsWithoutVariants: any = []\n\n addons.forEach((addon: any) => {\n if (addon.attributes.addOnGroupId) {\n // Collect addons groups inside with their variants\n const currentGroupId = addon.attributes.addOnGroupId\n const exsistingGroupIndex = addOnGroupsWithVariants.findIndex(\n (item: any) => item.id === currentGroupId\n )\n\n if (addOnGroupsWithVariants[exsistingGroupIndex]) {\n const addOnGroup = addOnGroupsWithVariants[exsistingGroupIndex]\n addOnGroupsWithVariants[exsistingGroupIndex] = {\n ...addOnGroup,\n variants: [...addOnGroup.variants, ...addon.attributes],\n }\n } else {\n const group =\n addOnsGroups.find(group => group.attributes.id === currentGroupId) || {}\n\n addOnGroupsWithVariants.push({\n ...group.attributes,\n variants: [...addon.attributes],\n })\n }\n } else {\n addOnsWithoutVariants.push(addon.attributes)\n }\n })\n\n return addOnGroupsWithVariants.concat(addOnsWithoutVariants)\n }\n\n // Adapt only simple addons data\n const adaptedAddons = (addons as any[]).map((addon: any) => ({\n ...addon.attributes,\n }))\n return adaptedAddons\n}\n\nexport const cartAdapter = (cart: any) => {\n const cartData = _get(cart, 'data.attributes', [])\n const { expiresAt, cart: carts_arr } = cartData\n const { id, quantity } = carts_arr[0] || {}\n\n return { id, quantity, expiresAt }\n}\n","const emailRegex = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/\n\nexport const combineValidators = (...validators: any) => (...value: any) => {\n for (let i = 0; i < validators.length; ++i) {\n const error_message = validators[i](...value)\n if (error_message) return error_message\n }\n}\n\nexport function isFalsy(item: any) {\n try {\n if (\n !item || // handles most, like false, 0, null, etc\n (typeof item === 'object' &&\n Object.keys(item).length === 0 && // for empty objects, like {}, []\n !(typeof item.addEventListener === 'function')) // omit webpage elements\n ) {\n return true\n }\n } catch (err) {\n return true\n }\n\n return false\n}\n\nexport const requiredValidator = (\n value?: string | number | Array<string> | boolean,\n message?: string\n): string => {\n let errorMessage = ''\n\n if (isFalsy(typeof value === 'string' ? value.trim() : value)) {\n errorMessage = message || 'Required'\n }\n return errorMessage\n}\n\nexport const emailValidator = (email: string) =>\n !emailRegex.test(email) ? 'Please enter a valid email address' : ''\n","import { FormControl, FormHelperText } from '@mui/material'\nimport Checkbox from '@mui/material/Checkbox'\nimport FormControlLabel from '@mui/material/FormControlLabel'\nimport FormGroup from '@mui/material/FormGroup'\nimport { useTheme } from '@mui/styles'\nimport { FieldInputProps, FormikProps } from 'formik'\nimport _get from 'lodash/get'\nimport React from 'react'\n\ninterface ICheckboxField {\n label: string | number | JSX.Element;\n field: FieldInputProps<any>;\n form: FormikProps<any>;\n}\n\nexport const CheckboxField = ({\n label,\n field,\n form: { touched, errors },\n}: ICheckboxField) => {\n const isTouched = Boolean(_get(touched, field.name, false))\n const errorText = _get(errors, field.name)\n const hasError = isTouched && Boolean(errorText)\n const customTheme: any = useTheme()\n\n return (\n <FormControl\n className={`checkbox-field ${hasError ? 'required-checkbox-field' : ''}`}\n error={hasError}\n >\n <FormGroup>\n <FormControlLabel\n control={<Checkbox {...field} checked={Boolean(field.value)} />}\n label={label}\n componentsProps={{ typography: customTheme?.checkbox }}\n />\n </FormGroup>\n {hasError && <FormHelperText>Required</FormHelperText>}\n </FormControl>\n )\n}\n","import { FormControl, FormHelperText } from '@mui/material'\nimport CheckboxMaterial from '@mui/material/Checkbox'\nimport FormControlLabel from '@mui/material/FormControlLabel'\nimport FormGroup from '@mui/material/FormGroup'\nimport { useTheme } from '@mui/styles'\nimport { FieldInputProps } from 'formik'\nimport React from 'react'\n\nexport interface ICheckboxField {\n label: string | number | JSX.Element;\n field?: FieldInputProps<any>;\n}\n\ninterface IOtherProps {\n [key: string]: any;\n}\n\nexport const Checkbox = ({\n label,\n field,\n selectOptions,\n theme,\n setFieldValue,\n disableDropdown,\n setPhoneValidationIsLoading,\n defaultCountry,\n required,\n uniqueId,\n dateFormat,\n datePlaceholder,\n isCountryCodeEditable,\n ...rest\n}: ICheckboxField & IOtherProps) => {\n const customTheme: any = useTheme()\n return (\n <FormControl error={!!(rest?.form?.errors && rest.form.errors[field?.name ?? ''])}>\n <FormGroup>\n <FormControlLabel\n control={<CheckboxMaterial {...field} {...rest} />}\n label={label}\n componentsProps={{\n typography: customTheme?.checkbox,\n }}\n />\n </FormGroup>\n {rest?.form?.errors && rest.form.errors[field?.name ?? ''] ? (\n <FormHelperText>Required</FormHelperText>\n ) : null}\n </FormControl>\n )\n}\n","/* eslint-disable no-underscore-dangle */\nimport TextField from '@mui/material/TextField'\nimport { useTheme } from '@mui/styles'\nimport { FieldInputProps, FormikProps } from 'formik'\nimport _get from 'lodash/get'\nimport _includes from 'lodash/includes'\nimport _isFunction from 'lodash/isFunction'\nimport _isObject from 'lodash/isObject'\nimport _map from 'lodash/map'\nimport React, { useEffect, useRef, useState } from 'react'\n\nexport interface ISelectOption {\n label: string | number;\n value?: string | number;\n [key: string]: any;\n}\n\nexport interface ICustomField {\n onChange?: (e: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>) => void;\n label: string;\n field: FieldInputProps<any>;\n form: FormikProps<any>;\n theme: 'dark' | 'light';\n // optional\n type?: string;\n selectOptions?: ISelectOption[];\n inputRef?:\n | { current: HTMLInputElement | null }\n | ((node: HTMLInputElement | null) => void);\n multiline?: boolean;\n minRows?: string | number;\n maxRows?: string | number;\n}\nexport interface IOtherProps {\n [key: string]: any;\n}\n\nexport const CustomField = ({\n label,\n type = 'text',\n field,\n selectOptions = [] as ISelectOption[],\n form: { touched, errors, submitCount },\n theme,\n inputProps: pInputProps = {},\n InputProps = {},\n inputRef,\n onChange,\n multiline = false,\n minRows = 3,\n maxRows,\n disabled,\n}: ICustomField & IOtherProps) => {\n const [isShrinked, setIsShrinked] = useState(Boolean(field.value))\n const _ref = useRef<HTMLInputElement>(null)\n const isAutoFilled = _ref.current?.matches(':-webkit-autofill')\n const isSelectField = type === 'select'\n const error = _get(errors, field.name)\n const isTouched =\n Boolean(_get(touched, field.name)) ||\n (_includes(field.name, 'holder') && !!error && !!submitCount)\n\n const customTheme: any = useTheme()\n const inputProps: any = { sx: customTheme?.input }\n\n useEffect(() => {\n if (_isFunction(inputRef)) {\n inputRef(_ref.current)\n } else if (_isObject(inputRef)) {\n inputRef.current = _ref.current\n }\n })\n\n return (\n <TextField\n disabled={disabled}\n placeholder=\"\"\n id={field.name}\n label={label}\n type={type}\n select={isSelectField}\n fullWidth={true}\n error={!!error && isTouched}\n helperText={isTouched && error}\n onFocus={() => {\n setIsShrinked(true)\n }}\n SelectProps={{\n native: true,\n className: theme,\n MenuProps: { className: theme },\n }}\n InputLabelProps={{\n sx: customTheme?.input,\n shrink: isShrinked || Boolean(field.value) || isAutoFilled,\n }}\n InputProps={InputProps}\n inputProps={{ ...inputProps, ...pInputProps }}\n inputRef={_ref}\n multiline={multiline}\n minRows={minRows}\n maxRows={maxRows}\n {...field}\n onBlur={(e: React.FocusEvent<any, Element>) => {\n setIsShrinked(Boolean(field.value))\n if (field.onBlur) {\n field.onBlur(e)\n }\n }}\n onChange={onChange ?? field.onChange}\n >\n {isSelectField\n ? _map(selectOptions, option => (\n <option key={option.value} value={option.value} disabled={option.disabled}>\n {option.label}\n </option>\n ))\n : null}\n </TextField>\n )\n}\n","import { FieldInputProps, FormikProps } from 'formik'\nimport _debounce from 'lodash/debounce'\nimport _get from 'lodash/get'\nimport MuiPhoneNumber from 'material-ui-phone-number'\nimport React, { useCallback, useEffect } from 'react'\n\nimport { validatePhoneNumber } from '../../api'\n\nexport interface IPhoneNumberField {\n label: string;\n field: FieldInputProps<any>;\n form: FormikProps<any>;\n type: string;\n disableDropdown: boolean;\n fill: boolean;\n setPhoneValidationIsLoading: (isLoading: boolean) => void;\n\n // optional\n defaultCountry?: string;\n isCountryCodeEditable?: boolean;\n}\n\nexport const PhoneNumberField = ({\n label,\n field,\n form: {\n errors,\n touched,\n setFieldError,\n values,\n initialValues,\n setFieldValue,\n setFieldTouched,\n setErrors,\n },\n disableDropdown = true,\n defaultCountry = 'us',\n fill = false,\n setPhoneValidationIsLoading,\n isCountryCodeEditable,\n}: IPhoneNumberField) => {\n const error = _get(errors, field.name)\n const isTouched = Boolean(_get(touched, field.name))\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n const debounceCb = useCallback(\n _debounce((cb: () => void) => void cb(), 1000),\n []\n )\n\n useEffect(() => {\n if (field.value) {\n setPhoneValidationIsLoading(true)\n }\n\n debounceCb(async () => {\n try {\n if (!values[field.name]) {\n const newErrors = { ...errors }\n delete newErrors[field.name]\n setErrors(newErrors)\n return\n }\n if (values[field.name]) {\n await validatePhoneNumber(values[field.name])\n }\n if (errors[field.name]) {\n const newErrors = { ...errors }\n delete newErrors[field.name]\n setErrors(newErrors)\n }\n } catch (error) {\n const message = _get(\n error,\n 'response.data.message',\n 'Invalid phone number'\n )\n if (values[field.name] && errors[field.name] !== message) {\n setFieldError(field.name, message)\n }\n } finally {\n setPhoneValidationIsLoading(false)\n }\n })\n // eslint-disable-next-line\n }, [field.value])\n\n return (\n <>\n <MuiPhoneNumber\n name={field.name}\n value={fill ? values[field.name] : initialValues[field.name]}\n onChange={(value: any, country?: any) => {\n if (`+${country?.dialCode}` === value || value === '+') {\n setFieldValue(field.name, '')\n setFieldError(field.name, '')\n } else {\n setFieldTouched(field.name, true)\n setFieldValue(field.name, value)\n }\n }}\n variant=\"outlined\"\n defaultCountry={defaultCountry}\n disableDropdown={disableDropdown}\n label={label}\n error={!!error && (isTouched || fill)}\n helperText={(isTouched || fill) && error}\n fullWidth\n autoFormat={false}\n disableAreaCodes={true}\n countryCodeEditable={isCountryCodeEditable}\n />\n </>\n )\n}\n","import CircularProgress from '@mui/material/CircularProgress'\nimport React from 'react'\n\nexport const Loader = () => (\n <div className=\"loader-container\">\n <CircularProgress />\n </div>\n)\n","import { FormControl, InputLabel } from '@mui/material'\nimport Checkbox from '@mui/material/Checkbox'\nimport FormHelperText from '@mui/material/FormHelperText'\nimport ListItemText from '@mui/material/ListItemText'\nimport MenuItem from '@mui/material/MenuItem'\nimport OutlinedInput from '@mui/material/OutlinedInput'\nimport Select, { SelectChangeEvent } from '@mui/material/Select'\nimport { FieldInputProps, FormikProps } from 'formik'\nimport _get from 'lodash/get'\nimport _identity from 'lodash/identity'\nimport _map from 'lodash/map'\nimport React from 'react'\n\ninterface ISelectOption {\n id: string | number;\n label: string | number;\n value: string | number;\n}\n\ninterface ISelectField {\n field: FieldInputProps<any>;\n form: FormikProps<any>;\n options: ISelectOption[];\n\n // optional\n label?: string;\n isMultiple?: boolean;\n disabled?: boolean;\n onChange?: (e: SelectChangeEvent<string[]>) => void;\n}\n\nfunction SelectField({\n label,\n isMultiple,\n field,\n form: { touched, errors, setFieldValue },\n options = [],\n disabled,\n onChange = _identity,\n}: ISelectField) {\n const { name, value = [] } = field\n const selectId = `select-field-${name}`\n const error = _get(errors, name)\n const isTouched = Boolean(_get(touched, field.name))\n\n const handleChange = (event: SelectChangeEvent<string[]>) => {\n const {\n target: { value },\n } = event\n\n setFieldValue(name, value)\n onChange(event)\n }\n\n const getSelectedItemLabel = (selectedValue: any) => {\n const selectedItem = options.find(option => option.value === selectedValue)\n const label = _get(selectedItem, 'label', '')\n return label\n }\n\n return (\n <>\n <FormControl\n fullWidth={true}\n disabled={disabled}\n error={isTouched && Boolean(error)}\n >\n {label && <InputLabel id={selectId}>{label}</InputLabel>}\n <Select\n id={name}\n labelId={selectId}\n multiple={isMultiple}\n value={value || []}\n onChange={handleChange}\n input={<OutlinedInput label={label} />}\n renderValue={selected => {\n if (isMultiple) {\n const selectedLabels = _map(selected, (selectedValue: string) =>\n getSelectedItemLabel(selectedValue)\n )\n return selectedLabels.join(', ')\n }\n\n const selectedLabel = getSelectedItemLabel(selected)\n return selectedLabel\n }}\n sx={{ textAlign: 'start' }}\n >\n {options?.map((option: ISelectOption) => (\n <MenuItem key={option.label} value={option.value}>\n {isMultiple && <Checkbox checked={value.indexOf(option.value) > -1} />}\n <ListItemText primary={option.label} />\n </MenuItem>\n ))}\n </Select>\n {isTouched && Boolean(error) ? (\n <FormHelperText error>{error}</FormHelperText>\n ) : null}\n </FormControl>\n </>\n )\n}\n\nexport { SelectField }\n","import Modal from '@mui/material/Modal'\nimport React from 'react'\n\ninterface ICopyMessageModalProps {\n showCopyModal: boolean;\n onClose: () => void;\n}\n\nexport const CopyMessageModal = (props: ICopyMessageModalProps) => {\n const { showCopyModal = false, onClose } = props\n return (\n <Modal\n open={showCopyModal}\n onClose={onClose}\n aria-labelledby=\"modal-modal-title\"\n aria-describedby=\"modal-modal-description\"\n className=\"success-copy-modal\"\n >\n <div className=\"message-copy-success-box\">\n <div className=\"message-copy-success\">\n <span>\n Copied to your clipboard! Now paste your link in a Snapchat message,\n </span>\n <span>your Instagram bio, Whatsapp, Facebook or a text :)</span>\n </div>\n <div className=\"footer\">\n <button className=\"footer-button\" type=\"button\" onClick={onClose}>\n OK\n </button>\n </div>\n </div>\n </Modal>\n )\n}\n","import { createTheme, ThemeProvider } from '@mui/material/styles'\nimport { DatePicker } from '@mui/x-date-pickers'\nimport { AdapterMoment } from '@mui/x-date-pickers/AdapterMoment'\nimport { LocalizationProvider } from '@mui/x-date-pickers/LocalizationProvider'\nimport { FieldInputProps, FormikProps } from 'formik'\nimport React from 'react'\n\nimport { CustomField } from './CustomField'\nimport {ThemeOptions} from \"@mui/material\";\nimport {CSSProperties} from \"@mui/styles\";\n\nconst DATE_SIZE = 32\nconst compactStyles = {\n '& > div': {\n minWidth: 256,\n },\n '& > div > div, & > div > div > div, & .MuiCalendarPicker-root': {\n width: 256,\n },\n '& .MuiTypography-caption': {\n width: DATE_SIZE,\n margin: 0,\n },\n '& .PrivatePickersSlideTransition-root': {\n minHeight: DATE_SIZE * 6,\n },\n '& .PrivatePickersSlideTransition-root [role=\"row\"]': {\n margin: 0,\n },\n '& .MuiPickersDay-dayWithMargin': {\n margin: 0,\n },\n '& .MuiPickersDay-root': {\n width: DATE_SIZE,\n height: DATE_SIZE,\n },\n '& .MuiPickersArrowSwitcher-spacer': {\n width: 0,\n },\n '& [role=\"presentation\"] .PrivatePickersFadeTransitionGroup-root': {\n marginRight: -1,\n },\n}\n\nconst getTheme = (isCompact: boolean, baseThemeOptions?: object | null)=> {\n\n if (isCompact) {\n return createTheme(Object.assign(baseThemeOptions ?? {}, {\n components: {\n MuiPaper: {\n defaultProps: {\n sx: compactStyles,\n },\n },\n },\n }))\n }\n\n return createTheme(baseThemeOptions ?? {})\n}\n\nexport interface IDatePickerFieldProps {\n label: string;\n\n field: FieldInputProps<any>;\n form: FormikProps<any>;\n theme: 'dark' | 'light';\n themeOptions?: ThemeOptions & {\n input?: CSSProperties;\n checkbox?: CSSProperties;\n };\n\n useCompact?: boolean;\n}\n\ninterface IOtherProps {\n [key: string]: any;\n}\n\nexport const DatePickerField = ({\n label,\n field,\n form,\n theme,\n useCompact = true,\n themeOptions,\n dateFormat = 'DD/MM/YYYY',\n placeholder = 'dd/mm/yyyy',\n}: IDatePickerFieldProps & IOtherProps) => (\n <ThemeProvider theme={getTheme(useCompact, themeOptions ?? null)}>\n <LocalizationProvider dateAdapter={AdapterMoment}>\n <DatePicker\n value={field.value || ''}\n onChange={value => form.setFieldValue(field.name, value)}\n PopperProps={{\n placement: 'bottom-start',\n }}\n showDaysOutsideCurrentMonth={true}\n disableFuture={true}\n inputFormat={dateFormat}\n mask=\"__/__/____\"\n renderInput={(params: any) => (\n <CustomField\n {...params}\n inputProps={{ ...params.inputProps, placeholder }}\n theme={theme}\n field={{\n ...field,\n onChange: (\n evt: React.FormEvent<HTMLInputElement | HTMLTextAreaElement>\n ) => {\n if (params.inputProps && params.inputProps.onChange) {\n params.inputProps.onChange(evt)\n }\n },\n }}\n form={form}\n label={label}\n type=\"tel\"\n />\n )}\n />\n </LocalizationProvider>\n </ThemeProvider>\n)\n","import { FormControl, FormHelperText, InputLabel } from '@mui/material'\nimport Select from '@mui/material/Select'\nimport { useTheme } from '@mui/styles'\nimport { FieldInputProps, FormikProps } from 'formik'\nimport _get from 'lodash/get'\nimport _map from 'lodash/map'\nimport React from 'react'\n\nexport interface ISelectOption {\n label: string | number;\n value?: string | number;\n [key: string]: any;\n}\n\nexport interface ISelectField {\n label: string;\n\n field: FieldInputProps<any>;\n form: FormikProps<any>;\n theme: 'dark' | 'light';\n\n // optional\n type?: string;\n selectOptions?: ISelectOption[];\n onChange?: (e: any) => void;\n}\n\ninterface IOtherProps {\n [key: string]: any;\n}\n\nexport const NativeSelectField = ({\n label,\n type = 'text',\n field,\n selectOptions = [] as ISelectOption[],\n form: { touched, errors, setFieldValue },\n theme,\n onChange = () => {},\n}: ISelectField & IOtherProps) => {\n const isTouched = Boolean(_get(touched, field.name))\n const error = _get(errors, field.name)\n\n const customTheme: any = useTheme()\n\n return (\n <FormControl fullWidth={true}>\n <InputLabel\n style={customTheme?.input}\n htmlFor={field.name}\n error={!!error && isTouched}\n shrink={true}\n >\n {label}\n </InputLabel>\n <Select\n id={field.name}\n label={label}\n type={type}\n fullWidth={true}\n error={!!error && isTouched}\n inputProps={{\n id: field.name,\n }}\n native={true}\n className={`Mui-Select ${theme}`}\n MenuProps={{ className: theme }}\n {...field}\n style={customTheme?.input}\n onChange={e => {\n onChange(e)\n setFieldValue(field.name, e.target.value)\n }}\n >\n {_map(selectOptions, option => (\n <option key={option.value} value={option.value} disabled={option.disabled}>\n {option.label}\n </option>\n ))}\n </Select>\n {isTouched && error ? (\n <FormHelperText error={!!error && isTouched}>{error}</FormHelperText>\n ) : null}\n </FormControl>\n )\n}\n","import FormControl from '@mui/material/FormControl'\nimport FormControlLabel from '@mui/material/FormControlLabel'\nimport FormHelperText from '@mui/material/FormHelperText'\nimport FormLabel from '@mui/material/FormLabel'\nimport Radio from '@mui/material/Radio'\nimport RadioGroup from '@mui/material/RadioGroup'\nimport { FieldInputProps, FormikProps } from 'formik'\nimport _get from 'lodash/get'\nimport _identity from 'lodash/identity'\nimport React from 'react'\n\nexport interface IRadio {\n id: string | number;\n label: string | number;\n value: string | number;\n [key: string]: any;\n}\n\nexport interface IRadioGroupField {\n label?: string;\n field: FieldInputProps<any>;\n form: FormikProps<any>;\n radios: IRadio[];\n disabled?: boolean;\n onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;\n}\n\nexport const RadioGroupField = ({\n label,\n field,\n radios = [],\n disabled,\n form: { touched, errors, setFieldValue },\n onChange = _identity,\n}: IRadioGroupField) => {\n const radioId = `radio-${field.name}`\n const error = _get(errors, field.name)\n const isTouched = Boolean(_get(touched, field.name))\n\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const { value } = e.target as HTMLInputElement\n setFieldValue(field.name, value)\n onChange(e)\n }\n\n if (!radios) return null\n\n return (\n <FormControl disabled={disabled} error={isTouched && Boolean(error)}>\n {isTouched && Boolean(error) ? (\n <FormHelperText className=\"radio-error\" error>\n {error}\n </FormHelperText>\n ) : null}\n {label && <FormLabel id={radioId}>{label}</FormLabel>}\n <RadioGroup\n aria-labelledby={radioId}\n name={field.name}\n value={field.value}\n onChange={handleChange}\n >\n {radios.map(radio => {\n const { id, label, value } = radio\n return (\n <FormControlLabel\n key={id}\n label={label}\n value={value}\n control={<Radio />}\n />\n )\n })}\n </RadioGroup>\n </FormControl>\n )\n}\n","import { FormikErrors, FormikValues } from 'formik'\nimport _flatMapDeep from 'lodash/flatMapDeep'\nimport _forEach from 'lodash/forEach'\nimport _get from 'lodash/get'\nimport _isArray from 'lodash/isArray'\nimport _isEmpty from 'lodash/isEmpty'\nimport _map from 'lodash/map'\nimport { nanoid } from 'nanoid'\nimport React from 'react'\n\nimport { AttributesConfig } from '../../api'\nimport { IGroupItem } from '../../types'\nimport { CONFIGS } from '../../utils'\nimport { combineValidators, requiredValidator } from '../../validators'\nimport {\n CheckboxField,\n CustomField,\n DatePickerField,\n PhoneNumberField,\n RadioGroupField,\n SelectField,\n} from '../common/index'\n\nexport interface ILoggedInValues {\n emailLogged?: string;\n firstNameLogged?: string;\n lastNameLogged?: string;\n}\n\nexport interface IValues {\n [key: string]: any;\n}\n\nexport const getInitialValues = (\n data: any = [],\n propsInitialValues: IValues = {},\n userValues: any = {},\n ticketHoldersFields: any = {},\n ticketsQuantity: any = []\n): IValues => {\n const results = _flatMapDeep(data, ({ fields }) =>\n _map(fields, ({ groupItems }) =>\n _map(groupItems, ({ name, value }) => ({ name, value }))\n )\n )\n\n // Add Ticket Holder default values for custom fields\n const ticketHoldersCustomFields =\n ticketHoldersFields?.fields?.find((groupItem: any) => groupItem.customFields)\n ?.groupItems || []\n const ticketHoldersCustomFieldsInitValues = {} as IValues\n const selectedTicketsCount =\n ticketsQuantity.length || localStorage.getItem('selectedTicketsQuantity') || 0\n\n if (!_isEmpty(ticketHoldersCustomFields)) {\n for (const customField of ticketHoldersCustomFields) {\n for (let i = 0; i < selectedTicketsCount; i++) {\n const fieldName = `${customField.name}-${i}`\n const fieldValue = customField.value\n ticketHoldersCustomFieldsInitValues[fieldName] = fieldValue\n }\n }\n }\n\n const initialValues: IValues = {}\n _forEach(results, groupItem => {\n const { name, value } = groupItem\n initialValues[name] = value || propsInitialValues[name] || userValues[name] || ''\n })\n\n // set logged in user as first ticket holder\n initialValues['holderFirstName-0'] =\n propsInitialValues.firstName || userValues.firstName || ''\n initialValues['holderLastName-0'] =\n propsInitialValues.lastName || userValues.lastName || ''\n initialValues['holderEmail-0'] = propsInitialValues.email || userValues.email || ''\n\n return { ...initialValues, ...ticketHoldersCustomFieldsInitValues }\n}\n\nexport const createRegisterFormData = (\n values: IValues = {},\n checkoutBody: { attributes: { [key: string]: any } },\n flagFreeTicket = false\n): FormData => {\n const bodyFormData = new FormData()\n bodyFormData.append('first_name', values.firstName)\n bodyFormData.append('last_name', values.lastName)\n bodyFormData.append('email', values.email)\n bodyFormData.append('password', values.password)\n bodyFormData.append('password_confirmation', values.confirmPassword)\n bodyFormData.append(\n 'client_id',\n CONFIGS.CLIENT_ID || 'e9d8f8922797b4621e562255afe90dbf'\n )\n bodyFormData.append(\n 'client_secret',\n CONFIGS.CLIENT_SECRET || 'b89c191eff22fdcf84ac9bfd88d005355a151ec2c83b26b9'\n )\n bodyFormData.append('check_cart_expiration', 'true')\n\n _forEach(checkoutBody.attributes, (item: any, key: string) => {\n if (\n !(flagFreeTicket && ['country', 'state', 'city', 'street_address'].includes(key))\n ) {\n bodyFormData.append(key, item)\n }\n })\n\n return bodyFormData\n}\n\nexport interface ICheckoutBody {\n attributes: {\n [key: string]: any;\n };\n data_capture?: {\n [key: string]: any;\n };\n}\n\ninterface IticketHolder {\n first_name?: string;\n last_name?: string;\n phone?: string;\n email?: string;\n}\n\nexport const createCheckoutDataBody = (\n ticketsQuantity: number,\n values: IValues = {},\n logedInValues: ILoggedInValues = {},\n includeDob = false\n): ICheckoutBody => {\n const { firstName, lastName, holderAge, confirmEmail, confirmPassword, ...restValues } =\n values\n\n const holders = []\n let ticket_holders: IticketHolder[] = []\n\n for (let i = 0; i <= ticketsQuantity; i++) {\n const individualHolder = Object.fromEntries(\n Object.entries(values).filter(([key, _val]) => key.includes(String(i)))\n )\n holders.push(individualHolder)\n }\n\n const filteredHolders = holders.filter(holder => Object.entries(holder).length > 0)\n ticket_holders = filteredHolders.map((item, index) => ({\n first_name: !index\n ? item[`holderFirstName-${index}`] || logedInValues.firstNameLogged || ''\n : item[`holderFirstName-${index}`] || '',\n last_name: !index\n ? item[`holderLastName-${index}`] || logedInValues.lastNameLogged || ''\n : item[`holderLastName-${index}`] || '',\n phone: item[`holderPhone-${index}`] || '',\n email: !index\n ? item[`holderEmail-${index}`] || logedInValues.emailLogged || ''\n : item[`holderEmail-${index}`] || '',\n }))\n\n const filteredRestValue: { [key: string]: any } = {}\n _forEach(restValues, (value, key) => {\n if (!key.includes('holder')) {\n filteredRestValue[key] = value\n }\n })\n\n const body: ICheckoutBody = {\n attributes: {\n ...filteredRestValue,\n email: restValues.email || logedInValues.emailLogged,\n confirm_email: restValues.email || logedInValues.emailLogged,\n first_name: firstName || logedInValues.firstNameLogged,\n last_name: lastName || logedInValues.lastNameLogged,\n ticket_holders,\n },\n }\n\n if (includeDob) {\n const holderAgeDate = new Date(holderAge)\n body.attributes.dob_day = holderAgeDate.getDate()\n body.attributes.dob_month = holderAgeDate.getMonth() + 1\n body.attributes.dob_year = holderAgeDate.getFullYear()\n }\n return body\n}\n\nexport const getValidateFunctions = (\n element: IGroupItem,\n states: Array<{ [key: string]: any }>,\n values: FormikValues,\n errors: FormikErrors<any>\n) => {\n const validationFunctions: any[] = []\n\n if (element.required) {\n if (element.name !== 'state' || (element.name === 'state' && states.length)) {\n validationFunctions.push(requiredValidator)\n }\n }\n\n if (element.onValidate) {\n validationFunctions.push(element.onValidate)\n }\n\n if (element.name === 'phone') {\n const invalidPhone = () =>\n errors.phone === 'Invalid phone number' ? 'Invalid phone number' : null\n validationFunctions.push(invalidPhone)\n }\n\n if (element.name === 'confirmEmail') {\n const isSameEmail = (confirmEmail?: string) =>\n values.email !== confirmEmail ? 'Please confirm your email address correctly' : null\n validationFunctions.push(isSameEmail)\n }\n\n if (element.name === 'confirmPassword') {\n const isSame = (confirmPassword?: string) =>\n values.password !== confirmPassword ? 'Password confirmation does not match' : null\n validationFunctions.push(isSame)\n }\n\n return combineValidators(...validationFunctions)\n}\n\nexport const assingUniqueIds = (data: any): any => {\n if (_get(data[0], 'uniqueId')) {\n return data\n }\n\n return _map(data, (item: any) => {\n _forEach(item, (itemValue: string, key) => {\n if (_isArray(itemValue) && !itemValue.some(item => typeof item === 'string')) {\n item[key] = assingUniqueIds(itemValue)\n }\n })\n\n return { ...item, uniqueId: nanoid() }\n })\n}\n\nexport const isRequiredField = (\n element: IGroupItem,\n configs?: null | AttributesConfig\n) => {\n const { name, required } = element\n const flagRequirePhone = _get(configs, 'phone_required', false)\n const collectMandatoryWalletAddress = _get(\n configs,\n 'collect_mandatory_wallet_address',\n false\n )\n\n if (\n required ||\n (name === 'phone' && flagRequirePhone) ||\n (name === 'data_capture[wallet_address]' && !collectMandatoryWalletAddress)\n ) {\n return true\n }\n\n return false\n}\n\nexport const getFieldLabel = (element: IGroupItem, configs?: null | AttributesConfig) => {\n if (isRequiredField(element, configs) || React.isValidElement(element.label)) {\n return element.label\n }\n\n return `${element.label} (optional)`\n}\n\nexport const getFieldComponent = (element: IGroupItem) => {\n const type = _get(element, 'type', 'text')\n\n const fieldComponentConfigs = {\n checkbox: CheckboxField,\n select: CustomField, // Temp change untill refactoring\n select_multi: SelectField,\n phone: PhoneNumberField,\n date: DatePickerField,\n radio: RadioGroupField,\n text: CustomField,\n }\n\n const fieldComponent = _get(fieldComponentConfigs, type, CustomField)\n return fieldComponent\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { Field } from 'formik'\nimport _identity from 'lodash/identity'\nimport _isEmpty from 'lodash/isEmpty'\nimport _isNull from 'lodash/isNull'\nimport _map from 'lodash/map'\nimport React from 'react'\n\nimport { getFieldComponent, getFieldLabel, getValidateFunctions } from '../billing-info-container/utils'\nimport { NativeSelectField } from '../common'\n\n// TO DO:\n// - Need to add custom fields validations\n// - Need to apply correct styles\n\ninterface IAddonComponentProps {\n classNamePrefix: string;\n data: any;\n selectOptions: any;\n handleAddonChange?: (...res: any) => void;\n addOnDataWithCustomFields: any;\n configs: any;\n values: any;\n errors: any;\n}\n\nconst AddonComponent = ({\n classNamePrefix = '',\n data,\n selectOptions,\n handleAddonChange = _identity,\n addOnDataWithCustomFields,\n configs,\n values,\n errors,\n}: IAddonComponentProps) => {\n const { id, name, active, stock } = data\n\n return (\n <div key={id} className={`${classNamePrefix}_product_select_container`}>\n <div className={`${classNamePrefix}_product_select_block`} key={name}>\n <div className={`${classNamePrefix}_product_size`}>{name}</div>\n <div className={`${classNamePrefix}_product_qty_select_block`}>\n {!active || (!_isNull(stock) && stock <= 0) ? (\n <div className=\"sold_out\">SOLD OUT</div>\n ) : (\n <>\n <div className={`${classNamePrefix}_product_qty_select`}>\n <Field\n name={id}\n selectOptions={selectOptions}\n component={NativeSelectField}\n onChange={(e: any) => {\n const { value } = e.target\n handleAddonChange(id, value)\n }}\n />\n </div>\n {!_isEmpty(addOnDataWithCustomFields?.fields) && (\n <div className=\"ticket-holders-fields\">\n <h2>{addOnDataWithCustomFields.label}</h2>\n {_map(addOnDataWithCustomFields.fields, group => {\n const { id, groupClassname, groupItems } = group\n return (\n <div key={id}>\n <div className={groupClassname}>\n {_map(groupItems, element => (\n <div className={element.className} key={element.name}>\n <Field\n {...element}\n type={\n element.type === 'radio' ||\n element.type === 'checkbox'\n ? undefined\n : element.type\n }\n name={`${element.name}`}\n label={getFieldLabel(element, configs)}\n component={getFieldComponent(element)}\n validate={getValidateFunctions(\n element,\n [],\n values,\n errors\n )}\n />\n </div>\n ))}\n </div>\n </div>\n )\n })}\n </div>\n )}\n </>\n )}\n </div>\n </div>\n </div>\n )\n}\n\nexport default AddonComponent\n","export const getNormalizedPrice = (value: any) => {\n const minimizedValue = Number(value) / 100\n const normalized = minimizedValue.toFixed(2)\n return normalized\n}","import _isEmpty from 'lodash/isEmpty'\nimport _isNull from 'lodash/isNull'\nimport _reverse from 'lodash/reverse'\nimport _sortBy from 'lodash/sortBy'\n\ninterface ObjectLiteral {\n [key: string]: any;\n}\n\nexport const generateSelectOptions = (minCount = 1, maxCount = 10) => {\n const options = []\n for (let i = minCount; i <= maxCount; i++) {\n options.push({ label: i, value: i })\n }\n return options\n}\n\nconst generateStockBasedOnLimitations = (\n addon: any,\n ticketQuantity: number\n) => {\n // Generate addon available stock count based on limitations\n const { flagLimitToTicketQuantity, maxQuantity, limitPerTicket } = addon\n\n let allowedStockCount\n\n // Generate stock\n if (flagLimitToTicketQuantity) {\n // Limited to ticket quantity case\n allowedStockCount = ticketQuantity\n } else if (maxQuantity && limitPerTicket) {\n const stockBasedOnLimitPerTicket = limitPerTicket * ticketQuantity\n // Both maximum quantity and limited to per ticket selected case, stock is minimum of them\n allowedStockCount =\n maxQuantity <= stockBasedOnLimitPerTicket\n ? maxQuantity\n : stockBasedOnLimitPerTicket\n } else if (maxQuantity && !limitPerTicket) {\n // Limited to maximum quantity case\n allowedStockCount = maxQuantity\n } else if (!maxQuantity && limitPerTicket) {\n // Limited to per ticket case\n allowedStockCount = limitPerTicket * ticketQuantity\n }\n\n return Number(allowedStockCount)\n}\n\nconst filterStockBasedOnAvailability = (\n generatedStock: any,\n availableStock: any\n) => {\n // Check generated stock count admissibility with addon stock availability\n let filteredStockCount = generatedStock\n\n if (generatedStock) {\n if (generatedStock > availableStock && !_isNull(availableStock)) {\n filteredStockCount = availableStock\n }\n } else {\n // Not set any restriction\n // Here 10 value is business logic\n filteredStockCount = 10\n\n if (!_isNull(availableStock) && availableStock < filteredStockCount) {\n filteredStockCount = availableStock\n }\n }\n\n return filteredStockCount\n}\n\nexport const getAddonSelectOptions = (addons: any, choosedTicketCount: any) => {\n const addonsWithOptions: ObjectLiteral = {}\n const groupsWithSelectedVariantsInfo: ObjectLiteral = {}\n const groupsWithVariants: ObjectLiteral = {}\n\n addons.forEach((addon: any) => {\n // Here addon can act either as simple Addon or Addon Group\n const {\n id,\n stock: simpleAddonStock,\n variants,\n active,\n flagLimitToTicketQuantity,\n maxQuantity,\n limitPerTicket,\n } = addon\n\n if (variants) {\n // Addon Group with inside addon variants case\n variants.forEach((variant: any) => {\n const { id: variantId, stock: variantStock } = variant\n\n // null checking is for unlimited stock value\n if (active && (variantStock > 0 || _isNull(variantStock))) {\n // Generate Addon Group allowed stock count based on limitations\n const stockBasedOnLimitation = generateStockBasedOnLimitations(\n addon,\n choosedTicketCount\n )\n\n // Detect if group has limitation or not\n if (flagLimitToTicketQuantity || maxQuantity || limitPerTicket) {\n // Generate Group with inside variants info\n if (groupsWithSelectedVariantsInfo[id]) {\n // Set group limit\n if (\n groupsWithSelectedVariantsInfo[id].limit <\n stockBasedOnLimitation\n ) {\n groupsWithSelectedVariantsInfo[\n id\n ].limit = stockBasedOnLimitation\n }\n\n // Set choosed variants info\n groupsWithSelectedVariantsInfo[id] = {\n ...groupsWithSelectedVariantsInfo[id],\n choosedVariants: {\n ...groupsWithSelectedVariantsInfo[id].choosedVariants,\n [variantId]: 0,\n },\n }\n } else {\n groupsWithSelectedVariantsInfo[id] = {\n limit: stockBasedOnLimitation,\n selectedCount: 0,\n choosedVariants: { [variantId]: 0 },\n }\n }\n }\n\n // Check stock admissibility with addon stock availability\n const allowedVariantStockCount = filterStockBasedOnAvailability(\n stockBasedOnLimitation,\n variantStock\n )\n\n // Generate options for variant\n const variantOptions = generateSelectOptions(\n 0,\n allowedVariantStockCount\n )\n\n addonsWithOptions[variantId] = [...variantOptions]\n\n // Generate Group with its variants list\n groupsWithVariants[id] = {\n ...groupsWithVariants[id],\n [variantId]: allowedVariantStockCount,\n }\n }\n })\n } else {\n // Simple addon case, null checking is for unlimited stock value\n if (active && (simpleAddonStock > 0 || _isNull(simpleAddonStock))) {\n // Generate Addon Group allowed stock count based on limitations\n const stockBasedOnLimitation = generateStockBasedOnLimitations(\n addon,\n choosedTicketCount\n )\n\n // Check stock admissibility with addon stock availability\n const allowedVariantStockCount = filterStockBasedOnAvailability(\n stockBasedOnLimitation,\n simpleAddonStock\n )\n\n const addonOptions = generateSelectOptions(0, allowedVariantStockCount)\n addonsWithOptions[id] = [...addonOptions]\n }\n }\n })\n\n return {\n addonsWithOptions,\n groupsWithSelectedVariantsInfo,\n groupsWithVariants,\n }\n}\n\nexport const getTicketRelatedAddons = (addons: any, ticketId: any) => {\n // Filter addons based on choosed ticket\n const filteredAddons: any = addons.filter(\n (addon: any) =>\n _isNull(addon.prerequisiteTicketTypeIds) ||\n addon.prerequisiteTicketTypeIds.includes(ticketId)\n )\n\n return filteredAddons\n}\n\nexport const getSortedAddons = (addons: any, sortDirection = 'asc') => {\n const addonsCopy = [...addons]\n\n addonsCopy.forEach(addon => {\n if (addon.variants) {\n const unsortedVariants: any = []\n addon.variants.forEach((variant: any) => {\n unsortedVariants.push({\n ...variant,\n sortOrder: Number(variant.sortOrder),\n })\n })\n addon.sortOrder = Number(addon.variants[0].sortOrder)\n const sortedVariants = _sortBy(\n unsortedVariants,\n variant => variant.sortOrder\n )\n addon.variants = sortedVariants\n } else {\n addon.sortOrder = Number(addon.sortOrder)\n }\n })\n\n const sortedAddons = _sortBy(addonsCopy, addon => addon.sortOrder)\n if (sortDirection === 'desc') {\n return _reverse(sortedAddons)\n }\n\n return sortedAddons\n}\n\nexport const isAtLeastOneAddonSelected = (value: any) => {\n const selectedAddons = Object.fromEntries(\n Object.entries(value).filter(([_, count]) => Number(count) !== 0)\n )\n\n return !_isEmpty(selectedAddons)\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable react/no-unescaped-entities */\n\nimport { CircularProgress } from '@mui/material'\nimport { Form, Formik } from 'formik'\nimport _get from 'lodash/get'\nimport _identity from 'lodash/identity'\nimport React, { useEffect, useState } from 'react'\nimport { Tooltip } from \"react-tooltip\"\n\nimport { getAddons, getCart, getCheckoutPageConfigs, postOnCheckout } from '../../api'\nimport { FEES_STYLES } from \"../../constants\"\nimport { currencyNormalizerCreator } from '../../normalizers'\nimport { ICheckoutPageConfigs } from '../../types'\nimport {\n CONFIGS,\n createCheckoutDataBodyWithDefaultHolder,\n createMarkup,\n getQueryVariable,\n isBrowser,\n} from '../../utils'\nimport { VerificationPendingModal } from '../idVerificationContainer/VerificationPendingModal'\nimport InfoIcon from '../ticketsContainer/InfoIcon'\nimport TimerWidget from '../timerWidget'\nimport { addonsWithGroupsAdapter, cartAdapter } from './adapters'\nimport AddonComponent from './AddonComponent'\nimport { getNormalizedPrice } from './normalizers'\nimport {\n generateSelectOptions,\n getAddonSelectOptions,\n getSortedAddons,\n getTicketRelatedAddons,\n isAtLeastOneAddonSelected,\n} from './utils'\n\nexport interface IAddonContainterProps {\n classNamePrefix?: string;\n enableBillingInfoAutoCreate?: boolean;\n enableTimer?: boolean;\n onGetAddonsPageInfoSuccess?: (res: any) => void;\n onGetAddonsPageInfoError?: (error: any) => void;\n onPostCheckoutSuccess?: (res: any) => void;\n onPostCheckoutError?: (error: any) => void;\n onConfirmSelectionSuccess?: (res: any) => void;\n onConfirmSelectionError?: (error: any) => void;\n onCountdownFinish?: () => void;\n onPendingVerification?: () => void;\n samePage?: boolean;\n descriptionTrigger?: \"click\" | \"hover\" | \"always\";\n addOnDataWithCustomFields: any;\n configs: any;\n}\n\nexport interface ObjectLiteral {\n [key: string]: any;\n}\n\nexport const AddonsContainter = ({\n classNamePrefix = 'add_on',\n enableBillingInfoAutoCreate = true,\n enableTimer = false,\n onGetAddonsPageInfoSuccess = _identity,\n onGetAddonsPageInfoError = _identity,\n onPostCheckoutSuccess = _identity,\n onPostCheckoutError = _identity,\n onConfirmSelectionSuccess = _identity,\n onConfirmSelectionError = _identity,\n onCountdownFinish = _identity,\n onPendingVerification = _identity,\n samePage,\n descriptionTrigger = 'click',\n addOnDataWithCustomFields,\n configs,\n}: IAddonContainterProps) => {\n const eventId = getQueryVariable('event_id')\n const [addons, setAddons] = useState<any>([])\n const [addonsOptions, setAddonsOptions] = useState<any>({})\n const [groupsWithSelectedVariants, setGroupsWithSelectedVariants] = useState<any>({})\n const [groupsWithInitialVariantsValues, setGroupsWithInitialVariantsValues] =\n useState<any>({})\n const [loading, setLoading] = useState(true)\n const [cartExpirationTime, setCartExpirationTime] = useState(0)\n const [pendingVerificationMessage, setPendingVerificationMessage] = useState()\n\n const [visibleDescription, setVisibleDescription] = useState<string | null>(null)\n\n const handleDescriptionToggle = (ticketId: string) => {\n setVisibleDescription(current => (current === ticketId ? null : ticketId))\n }\n\n useEffect(() => {\n if (samePage) {\n window.localStorage.removeItem('add_ons')\n }\n const getAddonsPageInfo = async () => {\n try {\n if (eventId) {\n setLoading(true)\n\n // Get choosed ticket info (id, count) from Cart request for addons options calculations\n const cart = await getCart()\n const { id: choosedTicketID, quantity, expiresAt } = cartAdapter(cart)\n const choosedTicketCount = Number(quantity)\n setCartExpirationTime(expiresAt)\n\n // Get and collect addons data\n const addonsData = await getAddons(eventId)\n const adaptedAddons = addonsWithGroupsAdapter(addonsData)\n const ticketRelatedAddons = getTicketRelatedAddons(\n adaptedAddons,\n choosedTicketID\n )\n const sortedTicketAddons = getSortedAddons(ticketRelatedAddons)\n\n setAddons(sortedTicketAddons)\n\n // Collect addons and addon group options\n const {\n addonsWithOptions,\n groupsWithSelectedVariantsInfo,\n groupsWithVariants,\n } = getAddonSelectOptions(adaptedAddons, choosedTicketCount)\n\n setAddonsOptions(addonsWithOptions)\n setGroupsWithSelectedVariants(groupsWithSelectedVariantsInfo)\n setGroupsWithInitialVariantsValues(groupsWithVariants)\n\n // Success callback props\n onGetAddonsPageInfoSuccess(addonsData)\n }\n } catch (e) {\n // Callback error props\n onGetAddonsPageInfoError(e)\n } finally {\n setLoading(false)\n }\n }\n\n getAddonsPageInfo()\n }, [])\n\n const recreateGroupVariantsSelectOptions = (groupId: any, changedGroupd: any) => {\n const { choosedVariants, limit, selectedCount } = changedGroupd\n const remainingGroupStock = limit - selectedCount\n const recreatedVariantsOptions: ObjectLiteral = {}\n\n // Regenerate variants allowed stock counts\n for (const variant in choosedVariants) {\n const variantId = variant\n const variantCurrSelectedValue = choosedVariants[variant]\n let allowedOptionCount\n\n // Formula for regenerating\n if (\n remainingGroupStock >=\n groupsWithInitialVariantsValues[groupId][variantId] - variantCurrSelectedValue\n ) {\n allowedOptionCount = groupsWithInitialVariantsValues[groupId][variantId]\n } else {\n allowedOptionCount = remainingGroupStock + variantCurrSelectedValue\n }\n\n recreatedVariantsOptions[variantId] = generateSelectOptions(0, allowedOptionCount)\n }\n\n setAddonsOptions((prevState: any) =>\n Object.assign({}, prevState, recreatedVariantsOptions)\n )\n }\n\n const onFieldChange = (id: any, value: any, addon: any) => {\n // If changeableGroup exsists it means that group with limitation variant was changed\n const changeableGroup = groupsWithSelectedVariants[addon.id]\n\n if (changeableGroup) {\n const currGroupId = addon.id\n const currSelectedVariantId = id\n const currSelectedVariantCount = Number(value)\n const currSelectedVariantPrevCount =\n groupsWithSelectedVariants[currGroupId].choosedVariants[currSelectedVariantId]\n\n const currSelectedGroupCount =\n changeableGroup.selectedCount +\n (currSelectedVariantCount - currSelectedVariantPrevCount)\n\n // Update Group info\n const updatedGroupsWithSelectedVariants = {\n ...groupsWithSelectedVariants,\n [currGroupId]: {\n ...groupsWithSelectedVariants[currGroupId],\n selectedCount: currSelectedGroupCount,\n choosedVariants: {\n ...groupsWithSelectedVariants[currGroupId].choosedVariants,\n [currSelectedVariantId]: currSelectedVariantCount,\n },\n },\n }\n setGroupsWithSelectedVariants(updatedGroupsWithSelectedVariants)\n\n // Recreate Select Options for Addon Group Variants\n recreateGroupVariantsSelectOptions(\n currGroupId,\n updatedGroupsWithSelectedVariants[currGroupId]\n )\n }\n }\n\n const handleConfirm = async (values: any, skipAddonPage?: boolean) => {\n try {\n const pageConfigsDataResponse = await getCheckoutPageConfigs()\n const pageConfigsData: ICheckoutPageConfigs =\n _get(pageConfigsDataResponse, 'data.attributes') || {}\n\n const skipBillingPage = pageConfigsData.skip_billing_page ?? false\n\n if (skipBillingPage && enableBillingInfoAutoCreate) {\n const ticketsQuantity = window.localStorage.getItem('quantity')\n const userData = JSON.parse(window.localStorage.getItem('user_data') || '{}')\n\n const checkoutBody = createCheckoutDataBodyWithDefaultHolder(\n Number(ticketsQuantity) || 0,\n userData\n )\n\n try {\n const checkoutResponse = await postOnCheckout({\n ...checkoutBody,\n attributes: {\n ...checkoutBody.attributes,\n ...(!skipAddonPage && { add_ons: values }),\n },\n })\n const hash = checkoutResponse?.data?.attributes?.hash || ''\n const total = checkoutResponse?.data?.attributes?.total || ''\n\n isBrowser && window.localStorage.removeItem('quantity')\n isBrowser && window.localStorage.removeItem('add_ons')\n\n onPostCheckoutSuccess(checkoutResponse?.data.attributes)\n onConfirmSelectionSuccess({\n skip_billing_page: skipBillingPage,\n event_id: String(eventId),\n hash,\n total,\n })\n } catch (error) {\n if (error.response?.data?.data?.hasUnverifiedOrder) {\n setPendingVerificationMessage(error.response?.data?.message)\n } else {\n onPostCheckoutError(error)\n onConfirmSelectionError(error)\n }\n }\n } else {\n if (isBrowser) {\n if (!skipAddonPage) {\n window.localStorage.setItem('add_ons', JSON.stringify(values))\n }\n\n onConfirmSelectionSuccess({\n skip_billing_page: skipBillingPage && enableBillingInfoAutoCreate,\n event_id: String(eventId),\n })\n } else {\n onConfirmSelectionError({\n error: true,\n message: 'Window is not defined',\n })\n }\n }\n } catch (e) {\n onConfirmSelectionError(e)\n }\n }\n\n const handleClearAddons = () => {\n window.localStorage.removeItem('add_ons')\n }\n\n if (loading) {\n return (\n <div className={`${classNamePrefix}_loader`}>\n <CircularProgress size={50} />\n </div>\n )\n }\n\n const params = new URL(`${window.location}`).searchParams\n const addOnIsIncluded = params.get(\"include_add_on\") === \"true\"\n const isResale = params.get(\"resale\") === 'true'\n\n return (\n <>\n {!!cartExpirationTime && enableTimer && !samePage && (\n <TimerWidget\n expires_at={cartExpirationTime}\n onCountdownFinish={() => {\n handleClearAddons()\n onCountdownFinish()\n }}\n />\n )}\n <div className={`${classNamePrefix}_container`}>\n <div className={`${classNamePrefix}_block`}>\n <div className={`${classNamePrefix}_line_block`}>\n {samePage ? null : <p className={`${classNamePrefix}_info_title`}>Get Your Tickets</p>}\n {(\n !addons?.length ||\n (isResale && addOnIsIncluded)\n ) && samePage ? null : <div className={`${classNamePrefix}_title`}>UPGRADES & ADD-ONS</div>}\n {samePage ? null : <button\n type=\"button\"\n className={`${classNamePrefix}_skip`}\n onClick={() => {\n handleClearAddons()\n handleConfirm({}, true)\n }}\n >\n Skip\n </button>}\n </div>\n {(\n !addons?.length ||\n (isResale && addOnIsIncluded)\n ) && samePage ? null : <div className={`${classNamePrefix}_subtitle`}>\n PLEASE SELECT FROM THE OPTIONAL ADD-ONS BELOW\n </div>}\n <Formik\n initialValues={{}}\n onSubmit={values => {\n handleConfirm(values)\n }}\n validate={samePage ? values => {\n if (isBrowser) {\n window.localStorage.setItem('add_ons', JSON.stringify(values))\n }\n } : undefined}\n >\n {({ values, errors }) => {\n const isConfirmDisabled = !isAtLeastOneAddonSelected(values)\n\n return (\n <Form autoComplete=\"off\" className=\"form_holder\">\n <>\n {(isResale && addOnIsIncluded ? [] : addons).map((addon: any) => {\n const price = addon.feeIncluded ? addon.price : addon.cost\n const isAddonFree = Number(addon?.price) === 0\n\n const addOnNormalizedCost = isAddonFree ? 'FREE'\n : currencyNormalizerCreator(\n getNormalizedPrice(addon?.cost ?? 0),\n addon.currency\n )\n\n const addonNormalizedPrice = isAddonFree\n ? 'FREE'\n : currencyNormalizerCreator(\n getNormalizedPrice(CONFIGS.FEES_STYLE === FEES_STYLES.DISPLAY_BOTH ? (addon?.price ?? price) : price),\n addon.currency\n )\n\n return (\n <div\n key={addon.id}\n className={`${classNamePrefix}_product_block`}\n >\n <div className={`${classNamePrefix}_product_images`}>\n {addon.imageUrl && (\n <div className={`${classNamePrefix}_product_image_block`}>\n <img src={addon.imageUrl} alt=\"No Data\" />\n </div>\n )}\n </div>\n <div className={`${classNamePrefix}_product_info_block`}>\n <div className={`${classNamePrefix}_product_title`}>\n {addon.name}\n {addon.description && descriptionTrigger !== 'always' && (\n <>\n <span\n aria-hidden\n className=\"info-icon\"\n onClick={\n descriptionTrigger === 'click'\n ? () => handleDescriptionToggle(addon.id)\n : undefined\n }\n onMouseEnter={\n descriptionTrigger === 'hover'\n ? () => setVisibleDescription(addon.id)\n : undefined\n }\n onMouseLeave={\n descriptionTrigger === 'hover'\n ? () => setVisibleDescription(null)\n : undefined\n }\n style={{ marginLeft: 8, cursor: 'pointer', display: \"flex\" }}\n data-tooltip-id={`tooltip-${addon.id}`}\n data-tooltip-content=\"View Add-On info\"\n >\n <InfoIcon size={14} />\n </span>\n <Tooltip id={`tooltip-${addon.id}`} place=\"top\">\n {addon.description || \"No description available\"}\n </Tooltip>\n </>\n )}\n </div>\n <div className={`${classNamePrefix}_product_price`}>\n {CONFIGS.FEES_STYLE === FEES_STYLES.TRADITIONAL ? addonNormalizedPrice : addOnNormalizedCost}\n {!isAddonFree && CONFIGS.FEES_STYLE === FEES_STYLES.TRADITIONAL && (\n <span className={`${classNamePrefix}_product_fee`}>\n {addon.feeIncluded ? '(incl. Fees)' : '(excl. Fees)'}\n </span>\n )}\n {!isAddonFree && CONFIGS.FEES_STYLE === FEES_STYLES.DISPLAY_BOTH && (\n <>\n <span className={`${classNamePrefix}_product_fee`}>\n {`(${addonNormalizedPrice} with fees)`}\n </span>\n </>\n )}\n </div>\n </div>\n {(visibleDescription === addon.id || descriptionTrigger === 'always') && (\n <div\n className={`${classNamePrefix}_product_desc`}\n dangerouslySetInnerHTML={createMarkup(addon.description)}\n />\n )}\n <div className={`${classNamePrefix}_product_select_container`}>\n {addon.variants ? (\n addon.variants.map((variant: any) => (\n // Group Variants\n <AddonComponent\n key={variant.id}\n data={variant}\n selectOptions={addonsOptions[variant.id]}\n classNamePrefix={classNamePrefix}\n handleAddonChange={(id, value) =>\n onFieldChange(id, value, addon)\n }\n addOnDataWithCustomFields={addOnDataWithCustomFields}\n configs={configs}\n values={values}\n errors={errors}\n />\n ))\n ) : (\n // Simple Addon\n <AddonComponent\n key={addon.id}\n data={addon}\n selectOptions={addonsOptions[addon.id]}\n classNamePrefix={classNamePrefix}\n handleAddonChange={(id, value) =>\n onFieldChange(id, value, addon)\n }\n addOnDataWithCustomFields={addOnDataWithCustomFields}\n configs={configs}\n values={values}\n errors={errors}\n />\n )}\n </div>\n </div>\n )\n })}\n {samePage ? null : <button\n type=\"submit\"\n className={`${isConfirmDisabled ? `${classNamePrefix}_is_disabled` : ''\n } ${classNamePrefix}_submit_button`}\n disabled={isConfirmDisabled}\n >\n CONFIRM SELECTION\n </button>}\n </>\n </Form>\n )\n }}\n </Formik>\n </div>\n </div>\n <VerificationPendingModal\n message={pendingVerificationMessage}\n onClose={() => {\n onPendingVerification()\n }}\n />\n </>\n )\n}\n","import React from 'react'\nimport { Alert, AlertColor, Snackbar, SnackbarOrigin } from '@mui/material'\n\ninterface ISnackbarAlertProps {\n isOpen: boolean\n message: string\n type: AlertColor\n position?: SnackbarOrigin\n autoHideDuration?: number\n variant?: 'filled' | 'standard' | 'outlined'\n\n onClose: () => void\n}\n\nconst SnackbarAlert = ({\n isOpen,\n message,\n type,\n position,\n autoHideDuration = 3000,\n variant,\n onClose,\n}: ISnackbarAlertProps) => {\n return (\n <div className=\"snackbar-alert-container\">\n <Snackbar\n autoHideDuration={autoHideDuration}\n open={isOpen}\n anchorOrigin={position || { vertical: 'top', horizontal: 'center' }}\n onClose={onClose}\n classes={{\n root: 'snackbar-alert-snackbar-root',\n }}\n >\n <Alert\n severity={type}\n onClose={onClose}\n variant={variant || 'filled'}\n classes={{\n icon: 'snackbar-alert-icon',\n root: 'snackbar-alert-alert-root',\n action: 'snackbar-alert-action',\n message: 'snackbar-alert-message',\n filled: 'snackbar-alert-filled',\n }}\n >\n {message}\n </Alert>\n </Snackbar>\n </div>\n )\n}\n\nexport default SnackbarAlert\n","import React from 'react'\n\nexport const PoweredBy = () => (\n <div className=\"powered-container\">\n <div className='powered-text'>Powered By</div>\n <img\n className='powered-img'\n alt=\"The Ticket Fairy\"\n src={\"https://cdn-checkout.s3.us-east-2.amazonaws.com/IconTicketFairy.svg\"}\n />\n <div className='powered-ttf'>\n The<strong>Ticket</strong>Fairy\n </div>\n </div>\n)\n","import './style.css'\n\nimport { Box, CircularProgress, Modal } from '@mui/material'\nimport axios, { AxiosError } from 'axios'\nimport { Field, Form, Formik } from 'formik'\nimport React, { FC, useState } from 'react'\nimport * as Yup from 'yup'\n\nimport { forgotPassword } from '../../api'\nimport { CustomField } from '../common/CustomField'\nimport { PoweredBy } from '../common/PoweredBy'\n\nexport interface IForgotPasswordProps {\n onClose: () => void;\n onLoginButtonClick: () => void;\n onForgotPasswordSuccess: (res: any) => void;\n onForgotPasswordError: (e: AxiosError) => void;\n showPoweredByImage?: boolean;\n}\n\ninterface ValuesTypes {\n email: string;\n}\n\nconst style: React.CSSProperties = {\n position: 'absolute',\n top: '50%',\n left: '50%',\n transform: 'translate(-50%, -50%)',\n minWidth: 480,\n backgroundColor: '#fff',\n border: '1px solid white',\n outline: 'none',\n padding: '14px',\n}\n\nconst Schema = Yup.object().shape({\n email: Yup.string().email('Invalid email').required('Required'),\n})\n\nexport const ForgotPasswordModal: FC<IForgotPasswordProps> = ({\n onClose = () => {},\n onLoginButtonClick = () => {},\n onForgotPasswordSuccess = () => {},\n onForgotPasswordError = () => {},\n showPoweredByImage = false,\n}) => {\n const [loading, setLoading] = useState(false)\n\n const onForgotPassword = async ({ email }: ValuesTypes) => {\n try {\n setLoading(true)\n const { data } = await forgotPassword(email)\n\n onForgotPasswordSuccess(data)\n onClose()\n } catch (e) {\n if (axios.isAxiosError(e)) {\n onForgotPasswordError(e)\n }\n } finally {\n setLoading(false)\n }\n }\n\n const _onClose = loading ? () => {} : onClose\n\n return (\n <Modal\n open={true}\n onClose={_onClose}\n aria-labelledby=\"modal-modal-title\"\n aria-describedby=\"modal-modal-description\"\n className=\"forgot-password-modal\"\n >\n <Box style={style}>\n <div>\n <Formik\n initialValues={{ email: '' }}\n validationSchema={Schema}\n onSubmit={onForgotPassword}\n >\n {({ isValid, dirty, handleSubmit }) => (\n <Form onSubmit={handleSubmit}>\n <div className=\"forgot-password-container\">\n <div className=\"title\">Password Reset</div>\n <div className=\"forgot-password-container__singleField\">\n <Field name=\"email\" label=\"Email\" component={CustomField} />\n </div>\n </div>\n <div className=\"forgot-password-action-button\">\n <button type=\"submit\" disabled={!(isValid && dirty)}>\n {loading ? <CircularProgress size=\"22px\" /> : 'Submit'}\n </button>\n </div>\n <div className=\"login\">\n <span onClick={onLoginButtonClick}>Back to Log In</span>\n </div>\n {showPoweredByImage ? <PoweredBy /> : null}\n </Form>\n )}\n </Formik>\n </div>\n </Box>\n </Modal>\n )\n}\n","import './style.css'\n\nimport { TextField } from '@mui/material'\nimport Box from '@mui/material/Box'\nimport Modal from '@mui/material/Modal'\nimport axios, { AxiosError } from 'axios'\nimport { Field, Form, Formik } from 'formik'\nimport _get from 'lodash/get'\nimport _identity from 'lodash/identity'\nimport React, { FC, useState } from 'react'\n\nimport { authorize, getProfileData } from '../../api'\nimport { isBrowser, setLoggedUserData } from '../../utils'\nimport { requiredValidator } from '../../validators'\nimport { PoweredBy } from '../common/PoweredBy'\n\nexport interface Props {\n onClose: () => void;\n onLogin: (res: IProfileData) => void;\n alreadyHasUser?: boolean;\n userExpired?: boolean;\n onAuthorizeSuccess?: (res: any) => void;\n onAuthorizeError?: (e: AxiosError) => void;\n onGetProfileDataSuccess?: (res: any) => void;\n onGetProfileDataError?: (e: AxiosError) => void;\n onForgotPassword?: () => void;\n onSignup?: () => void;\n modalClassname?: string;\n logo?: string;\n showForgotPasswordButton?: boolean;\n showSignUpButton?: boolean;\n showPoweredByImage?: boolean;\n}\n\nconst style: React.CSSProperties = {\n position: 'absolute',\n top: '50%',\n left: '50%',\n transform: 'translate(-50%, -50%)',\n minWidth: 480,\n backgroundColor: '#e3e3e3',\n border: '1px solid white',\n outline: 'none',\n}\n\nexport const LoginModal: FC<Props> = ({\n onClose,\n onLogin,\n alreadyHasUser = false,\n userExpired = false,\n onGetProfileDataSuccess = _identity,\n onGetProfileDataError = _identity,\n onForgotPassword = _identity,\n onSignup = _identity,\n modalClassname = '',\n logo,\n showForgotPasswordButton = false,\n showSignUpButton = false,\n showPoweredByImage = false,\n}) => {\n const [error, setError] = useState('')\n return (\n <Modal\n open={true}\n onClose={onClose}\n aria-labelledby=\"modal-modal-title\"\n aria-describedby=\"modal-modal-description\"\n className={`login-modal ${modalClassname}`}\n >\n <Box style={style}>\n <div>\n <Formik\n initialValues={{ email: '', password: '' }}\n onSubmit={async ({ email, password }) => {\n try {\n const body = { email, password }\n const authRes = await authorize(body)\n let profileResponse = null\n try {\n profileResponse = await getProfileData()\n onGetProfileDataSuccess(profileResponse.data)\n } catch (e) {\n if (axios.isAxiosError(e)) {\n onGetProfileDataError(e)\n }\n return\n }\n\n const profileSpecifiedData = profileResponse.data\n const profileDataObj = setLoggedUserData(profileSpecifiedData)\n if (isBrowser) {\n window.localStorage.setItem('user_data', JSON.stringify(profileDataObj))\n const event = new window.CustomEvent('tf-login')\n window.document.dispatchEvent(event)\n }\n onLogin(_get(authRes, 'data.data', {}) as IProfileData)\n } catch (e) {\n if (axios.isAxiosError(e)) {\n const error = _get(e, 'response.data.message', 'Error')\n setError(error)\n } else if (e instanceof Error) {\n setError(e?.message || 'Error')\n }\n }\n }}\n >\n {props => (\n <Form onSubmit={props.handleSubmit}>\n <div className=\"modal-title\">Login</div>\n <div className=\"login-logo-container\">\n <img\n className=\"login-logo-tff\"\n src={\n logo ||\n 'https://www.ticketfairy.com/resources/images/logo-ttf-black.svg'\n }\n alt=\"logo\"\n />\n </div>\n <div className=\"server_auth__error\">{error}</div>\n {alreadyHasUser && (\n <p className=\"info-text-for-login\">\n It appears this email is already attached to an account. Please log in\n here to complete your registration.\n </p>\n )}\n {userExpired && (\n <p className=\"info-text-for-login\">\n Your session has expired, please log in again.\n </p>\n )}\n <div className=\"login-modal-body\">\n <div className=\"login-modal-body__email\">\n <Field name={'email'} validate={requiredValidator}>\n {({ field, meta }: { [key: string]: any }) => (\n <TextField\n label={'Email'}\n type={'email'}\n fullWidth\n error={!!meta.error && meta.touched}\n helperText={meta.touched && meta.error}\n {...field}\n />\n )}\n </Field>\n </div>\n <div className=\"login-modal-body__password\">\n <Field name={'password'} validate={requiredValidator}>\n {({ field, meta }: { [key: string]: any }) => (\n <TextField\n label=\"Password\"\n type=\"password\"\n fullWidth\n error={!!meta.error && meta.touched}\n helperText={meta.touched && meta.error}\n {...field}\n />\n )}\n </Field>\n </div>\n <div className=\"login-action-button\">\n <button type=\"submit\">Login</button>\n </div>\n {showForgotPasswordButton && (\n <div className=\"forgot-password\">\n <span aria-hidden=\"true\" onClick={onForgotPassword}>\n Forgot password?\n </span>\n </div>\n )}\n {showSignUpButton && (\n <div className=\"forgot-password\">\n <span aria-hidden=\"true\" onClick={onSignup}>\n Sign up\n </span>\n </div>\n )}\n {showPoweredByImage ? <PoweredBy /> : null}\n </div>\n </Form>\n )}\n </Formik>\n </div>\n </Box>\n </Modal>\n )\n}\n","import './style.css'\n\nimport { Box, CircularProgress, Modal } from '@mui/material'\nimport axios, { AxiosError } from 'axios'\nimport { Field, Form, Formik } from 'formik'\nimport React, { FC, useState } from 'react'\nimport * as Yup from 'yup'\n\nimport { register } from '../../api'\nimport { CONFIGS } from '../../utils'\nimport { CustomField } from '../common/CustomField'\nimport { PoweredBy } from '../common/PoweredBy'\n\ninterface ISignupProps {\n onClose: () => void;\n onLogin: () => void;\n onRegisterSuccess: (res: any) => void;\n onRegisterError: (e: AxiosError, email: string) => void;\n showPoweredByImage?: boolean;\n}\n\ninterface ValuesTypes {\n firstName: string;\n lastName: string;\n email: string;\n password: string;\n confirmPassword: string;\n}\n\nconst style: React.CSSProperties = {\n position: 'absolute',\n top: '50%',\n left: '50%',\n transform: 'translate(-50%, -50%)',\n minWidth: 480,\n backgroundColor: '#fff',\n border: '1px solid white',\n outline: 'none',\n padding: '14px',\n}\n\nconst SignupSchema = Yup.object().shape({\n firstName: Yup.string().required('Required'),\n lastName: Yup.string().required('Required'),\n email: Yup.string().email('Invalid email').required('Required'),\n password: Yup.string().min(6, 'Password must have 5+ characters').required('Required'),\n confirmPassword: Yup.string()\n .required('Required')\n .oneOf([Yup.ref('password'), null], 'Passwords must match'),\n})\n\nexport const SignupModal: FC<ISignupProps> = ({\n onClose = () => {},\n onLogin = () => {},\n onRegisterSuccess = () => {},\n onRegisterError = () => {},\n showPoweredByImage = false,\n}) => {\n const [loading, setLoading] = useState(false)\n\n const onSignup = async (values: ValuesTypes) => {\n try {\n setLoading(true)\n const formData = new FormData()\n formData.set('first_name', values.firstName)\n formData.set('last_name', values.lastName)\n formData.set('email', values.email)\n formData.set('password', values.password)\n formData.set('password_confirmation', values.confirmPassword)\n formData.append(\n 'client_id',\n CONFIGS.CLIENT_ID || 'e9d8f8922797b4621e562255afe90dbf'\n )\n formData.append(\n 'client_secret',\n CONFIGS.CLIENT_SECRET || 'b89c191eff22fdcf84ac9bfd88d005355a151ec2c83b26b9'\n )\n\n const res = await register(formData)\n\n onRegisterSuccess(res)\n onClose()\n } catch (e) {\n if (axios.isAxiosError(e)) {\n onRegisterError(e, values.email)\n }\n } finally {\n setLoading(false)\n }\n }\n\n const _onClose = loading ? () => {} : onClose\n\n return (\n <Modal\n open={true}\n onClose={_onClose}\n aria-labelledby=\"modal-modal-title\"\n aria-describedby=\"modal-modal-description\"\n className=\"signup-modal\"\n >\n <Box style={style}>\n <div>\n <Formik\n initialValues={{\n firstName: '',\n lastName: '',\n email: '',\n password: '',\n confirmPassword: '',\n }}\n validationSchema={SignupSchema}\n onSubmit={onSignup}\n >\n {({ isValid, dirty, handleSubmit }) => (\n <Form onSubmit={handleSubmit}>\n <div className=\"signup-container\">\n <div className=\"title\">Create an Account</div>\n <div className=\"signup-container__twoFields\">\n <div className=\"is-half\">\n <Field\n name=\"firstName\"\n label=\"First Name\"\n component={CustomField}\n />\n </div>\n <div className=\"is-half\">\n <Field name=\"lastName\" label=\"Last Name\" component={CustomField} />\n </div>\n </div>\n <div className=\"signup-container__singleField\">\n <div className=\"\">\n <Field name=\"email\" label=\"Email\" component={CustomField} />\n </div>\n </div>\n <div className=\"signup-container__twoFields\">\n <div className=\"is-half\">\n <Field\n name=\"password\"\n label=\"Password\"\n type=\"password\"\n component={CustomField}\n />\n </div>\n <div className=\"is-half\">\n <Field\n name=\"confirmPassword\"\n label=\"Confirm Password\"\n type=\"password\"\n component={CustomField}\n />\n </div>\n </div>\n </div>\n <div className=\"signup-action-button\">\n <button type=\"submit\" disabled={!(isValid && dirty)}>\n {loading ? <CircularProgress size=\"22px\" /> : 'Submit'}\n </button>\n </div>\n <div className=\"login\">\n <span onClick={onLogin}>Login</span>\n </div>\n {showPoweredByImage ? <PoweredBy /> : null}\n </Form>\n )}\n </Formik>\n </div>\n </Box>\n </Modal>\n )\n}\n","import './style.css'\n\nimport { CircularProgress, ThemeOptions } from '@mui/material'\nimport Backdrop from '@mui/material/Backdrop'\nimport Button from '@mui/material/Button'\nimport { createTheme, ThemeProvider } from '@mui/material/styles'\nimport { CSSProperties } from '@mui/styles'\nimport axios, { AxiosError } from 'axios'\nimport { Field, Form, Formik, FormikHelpers, FormikProps, FormikValues } from 'formik'\nimport _find from 'lodash/find'\nimport _forEach from 'lodash/forEach'\nimport _get from 'lodash/get'\nimport _identity from 'lodash/identity'\nimport _includes from 'lodash/includes'\nimport _isEmpty from 'lodash/isEmpty'\nimport _isEqual from 'lodash/isEqual'\nimport _map from 'lodash/map'\nimport { nanoid } from 'nanoid'\nimport React, { FC, useEffect, useRef, useState } from 'react'\n\nimport {\n AttributesConfig,\n getCart,\n getCheckoutPageConfigs,\n getCountries,\n getProfileData,\n getStates,\n postOnCheckout,\n register,\n setCustomHeader,\n} from '../../api'\nimport { withCustomFields } from '../../hoc'\nimport { usePixel } from '../../hooks/usePixel'\nimport { IBillingInfoData } from '../../types'\nimport {\n createCheckoutDataBodyWithDefaultHolder,\n deleteCookieByName,\n getCookieByName,\n isBrowser,\n setLoggedUserData,\n} from '../../utils'\nimport { ErrorFocus } from '../../utils/formikErrorFocus'\nimport { AddonsContainter, IAddonContainterProps } from '../addonsContainer'\nimport SnackbarAlert from '../common/SnackbarAlert'\nimport { ForgotPasswordModal } from '../forgotPasswordModal'\nimport { VerificationPendingModal } from '../idVerificationContainer/VerificationPendingModal'\nimport { LoginModal } from '../loginModal'\nimport { SignupModal } from '../signupModal'\nimport TimerWidget from '../timerWidget'\nimport {\n assingUniqueIds,\n createCheckoutDataBody,\n createRegisterFormData,\n getFieldComponent,\n getFieldLabel,\n getInitialValues,\n getValidateFunctions,\n ICheckoutBody,\n} from './utils'\n\nexport interface IBillingInfoPage {\n data?: IBillingInfoData[];\n ticketHoldersFields?: IBillingInfoData;\n handleSubmit?: (\n values: FormikValues,\n formikHelpers: FormikHelpers<FormikValues>,\n eventId: any,\n res: any\n ) => void;\n onRegisterSuccess?: (value: any) => void;\n onRegisterError?: (e: AxiosError, email: string) => void;\n onSubmitError?: (e: AxiosError) => void;\n onGetCartSuccess?: (res: any) => void;\n onGetCartError?: (e: AxiosError) => void;\n onGetCountriesSuccess?: (res: any) => void;\n onGetCountriesError?: (e: AxiosError) => void;\n onGetStatesSuccess?: (res: any) => void;\n onGetStatesError?: (e: AxiosError) => void;\n onGetProfileDataSuccess?: (res: any) => void;\n onGetProfileDataError?: (e: AxiosError) => void;\n onGetCheckoutConfigsSuccess?: (res: any) => void;\n onGetCheckoutConfigsError?: (e: AxiosError) => void;\n onLogin?: () => void;\n onLoginSuccess?: () => void;\n onErrorClose?: () => void;\n initialValues?: FormikValues;\n buttonName?: string;\n theme?: 'light' | 'dark';\n isLoggedIn?: boolean;\n accountInfoTitle?: string | JSX.Element;\n hideLogo?: boolean;\n themeOptions?: ThemeOptions & {\n input?: CSSProperties;\n checkbox?: CSSProperties;\n };\n hideErrorsAlertSection?: boolean;\n onSkipBillingPage: (data: any) => void;\n skipPage?: boolean;\n canSkipHolderNames?: boolean;\n shouldFetchCountries?: boolean;\n onForgotPasswordSuccess?: (res: any) => void;\n onForgotPasswordError?: (e: AxiosError) => void;\n onCountdownFinish?: () => void;\n enableTimer?: boolean;\n logo?: string;\n showForgotPasswordButton?: boolean;\n showSignUpButton?: boolean;\n brandOptIn?: boolean;\n showPoweredByImage?: boolean;\n isCountryCodeEditable?: boolean;\n customFieldsOrderKeys?: string[];\n customFieldsTicketHolderKeys?: string[];\n onPendingVerification?: () => void;\n includeAddons?: boolean;\n addonsProps?: IAddonContainterProps;\n addOnDataWithCustomFields?: any;\n}\n\nconst LogicRunner: FC<{\n brandOptIn?: boolean;\n values: any;\n setStates: React.Dispatch<any>;\n setFieldValue: any;\n setValues: any;\n setUserValues: any;\n onGetStatesSuccess: any;\n onGetStatesError: any;\n shouldFetchCountries: boolean;\n}> = ({\n values,\n setStates,\n setFieldValue,\n setValues,\n setUserValues,\n onGetStatesSuccess,\n onGetStatesError,\n shouldFetchCountries,\n brandOptIn,\n}) => {\n const prevCountry = useRef(values.country)\n useEffect(() => {\n const fetchStates = async () => {\n try {\n const res = await getStates(values.country)\n const mappedStates = _map(res.data, (item, key) => ({\n label: item,\n value: key,\n }))\n setStates(mappedStates)\n if (prevCountry.current !== values.country) {\n const stateExists = mappedStates.find(\n state => state.value === values.state\n )?.value\n setFieldValue('state', stateExists ?? mappedStates[0]?.value ?? '')\n prevCountry.current = values.country\n }\n onGetStatesSuccess(res.data)\n } catch (e) {\n if (axios.isAxiosError(e)) {\n onGetStatesError(e)\n }\n }\n }\n shouldFetchCountries && fetchStates()\n }, [values.country, setStates, setFieldValue])\n const userDataEncoded = isBrowser ? window.localStorage.getItem('user_data') : ''\n useEffect(() => {\n // set user data from local storage\n const getStoredUserData = () => {\n if (isBrowser) {\n if (userDataEncoded) {\n try {\n const parsedData = JSON.parse(userDataEncoded)\n const mappedValues = {\n firstName: parsedData?.first_name || parsedData?.firstName || '',\n lastName: parsedData?.last_name || parsedData?.lastName || '',\n email: parsedData?.email || '',\n phone: parsedData?.phone || '',\n confirmEmail: parsedData?.email || '',\n state: parsedData?.state || '',\n street_address: parsedData?.street_address || '',\n country: parsedData?.country || '1',\n zip: parsedData?.zip || '',\n brand_opt_in: brandOptIn ? brandOptIn : parsedData?.brand_opt_in || false,\n city: parsedData?.city || '',\n confirmPassword: '',\n password: '',\n 'holderFirstName-0': parsedData?.first_name || parsedData?.firstName || '',\n 'holderLastName-0': parsedData?.last_name || parsedData?.lastName || '',\n 'holderEmail-0': parsedData?.email || '',\n }\n\n const extraDataJSON = window.localStorage.getItem('extraData')\n const extraData = extraDataJSON ? JSON.parse(extraDataJSON) : null\n\n setValues({ ...values, ...mappedValues, ...(extraData ?? {}) })\n setUserValues(mappedValues)\n } catch (e) { }\n }\n }\n }\n getStoredUserData()\n }, [userDataEncoded, setValues, setUserValues])\n return null\n }\n\nconst BillingInfoContainer = React.memo(\n ({\n data = [],\n ticketHoldersFields = {\n id: 1,\n fields: [],\n },\n initialValues = {},\n buttonName = 'Submit',\n handleSubmit = _identity,\n theme = 'light',\n onRegisterSuccess = _identity,\n onRegisterError = _identity,\n onSubmitError = _identity,\n onGetCartSuccess = _identity,\n onGetCartError = _identity,\n onGetCountriesSuccess = _identity,\n onGetCountriesError = _identity,\n onGetStatesSuccess = _identity,\n onGetStatesError = _identity,\n onGetProfileDataSuccess = _identity,\n onGetProfileDataError = _identity,\n onLogin,\n onLoginSuccess = _identity,\n isLoggedIn: pIsLoggedIn = false,\n accountInfoTitle = '',\n hideLogo,\n themeOptions,\n onErrorClose = _identity,\n hideErrorsAlertSection = false,\n onSkipBillingPage = _identity,\n skipPage = false,\n canSkipHolderNames = false,\n onForgotPasswordSuccess = _identity,\n onForgotPasswordError = _identity,\n shouldFetchCountries = true,\n onCountdownFinish = _identity,\n enableTimer = false,\n logo,\n showForgotPasswordButton = false,\n showSignUpButton = false,\n brandOptIn = false,\n showPoweredByImage = false,\n customFieldsOrderKeys,\n customFieldsTicketHolderKeys,\n isCountryCodeEditable = true,\n onPendingVerification = _identity,\n onGetCheckoutConfigsSuccess = _identity,\n onGetCheckoutConfigsError = _identity,\n includeAddons = false,\n addonsProps,\n addOnDataWithCustomFields,\n }: IBillingInfoPage) => {\n const [extraData, setExtraData] = useState(null)\n const [isConfigLoading, setIsConfigLoading] = useState(true)\n const [configs, setConfigs] = useState<null | AttributesConfig>(null)\n const [isNewUser, setIsNewUser] = useState(false)\n const themeMui = createTheme(themeOptions)\n\n useEffect(() => {\n if (isBrowser) {\n const extraData = window.localStorage.getItem('extraData')\n if (extraData) {\n setExtraData(JSON.parse(extraData))\n }\n }\n getCheckoutPageConfigs()\n .then(data => {\n if (data?.data?.attributes) {\n setConfigs(data.data.attributes)\n setIsConfigLoading(false)\n }\n onGetCheckoutConfigsSuccess(data)\n })\n .catch(e => {\n setIsConfigLoading(false)\n onGetCheckoutConfigsError(e)\n })\n }, [isBrowser])\n\n const defaultCountry = isBrowser ? window.localStorage.getItem('eventCountry') : ''\n const userData =\n isBrowser && window.localStorage.getItem('user_data')\n ? JSON.parse(window.localStorage.getItem('user_data') || '')\n : {}\n const [dataWithUniqueIds, setDataWithUniqueIds] = useState<IBillingInfoData[]>(\n assingUniqueIds(data)\n )\n const xtfCookie = getCookieByName('X-TF-ECOMMERCE')\n const [isLoggedIn, setIsLoggedIn] = useState(!!(pIsLoggedIn || xtfCookie))\n const [cartInfoData, setCartInfo] = useState<any>({})\n const [countries, setCountries] = useState<any>([])\n const [states, setStates] = useState<any>([])\n const [showModalLogin, setShowModalLogin] = useState(false)\n const [alreadyHasUser, setAlreadyHasUser] = useState(false)\n const [userExpired, setUserExpired] = useState(false)\n const [showModalSignup, setShowModalSignup] = useState(false)\n const [showModalForgotPassword, setShowModalForgotPassword] = useState(false)\n const [ticketsQuantity, setTicketsQuantity] = useState<string[]>([])\n const [userValues, setUserValues] = useState<any>({\n firstName: '',\n lastName: '',\n email: '',\n phone: '',\n confirmEmail: '',\n holderFirstName: '',\n holderLastName: '',\n holderAge: '',\n city: '',\n country: '',\n street_address: '',\n state: '',\n zip: '',\n })\n const [loading, setLoading] = useState(true)\n const [cardLoading, setCardLoading] = useState(false)\n const [isCountriesLoading, setIsCountriesLoading] = useState(true)\n const [error, setError] = useState<string | null>(null)\n const [phoneValidationIsLoading, setPhoneValidationIsLoading] = useState(false)\n const emailLogged = _get(userData, 'email', '') || _get(userValues, 'email', '')\n const firstNameLogged =\n _get(userData, 'first_name', '') || _get(userValues, 'first_name', '')\n const lastNameLogged =\n _get(userData, 'last_name', '') || _get(userValues, 'last_name', '')\n const showDOB = configs?.age_required\n const showTicketHolders = configs?.names_required\n const eventId = configs?.event_id\n const optedInFieldValue: boolean = brandOptIn\n ? brandOptIn\n : _get(cartInfoData, 'optedIn', false)\n const ttfOptIn = Boolean(_get(cartInfoData, 'ttfOptIn', false))\n const isTable = Boolean(_get(cartInfoData, 'is_table', false))\n const hideTtfOptIn: boolean = _get(cartInfoData, 'hide_ttf_opt_in', true)\n const expirationTime = _get(cartInfoData, 'expiresAt')\n const flagRequirePhone = configs?.phone_required\n const collectMandatoryWalletAddress = configs?.collect_mandatory_wallet_address\n const collectOptionalWalletAddress = configs?.collect_optional_wallet_address\n const flagFreeTicket = configs?.free_ticket\n const hidePhoneField = configs?.hide_phone_field\n const hideWalletAddressField =\n !collectOptionalWalletAddress && !collectMandatoryWalletAddress\n const collectMandatoryCompany = configs?.collect_mandatory_company\n const collectOptionalCompany = configs?.collect_optional_company\n const hideCompanyField = !collectOptionalCompany && !collectMandatoryCompany\n const collectMandatoryJobTitle = configs?.collect_mandatory_job_title\n const collectOptionalJobTitle = configs?.collect_optional_job_title\n const hideJobTitleField = !collectMandatoryJobTitle && !collectOptionalJobTitle\n const collectMandatoryInstagram = configs?.collect_mandatory_instagram\n const collectOptionalInstagram = configs?.collect_optional_instagram\n const hideInstagramField = !collectMandatoryInstagram && !collectOptionalInstagram\n const collectMandatoryBusinessCategory = configs?.collect_mandatory_business_category\n const collectOptionalBusinessCategory = configs?.collect_optional_business_category\n const hideBusinessCategoryField =\n !collectMandatoryBusinessCategory && !collectOptionalBusinessCategory\n\n const [pendingVerificationMessage, setPendingVerificationMessage] = useState<string>()\n\n // Get prevProps\n const prevData = useRef(data)\n\n const addAddOnsInAttributes = (checkoutBody: any) => {\n const selectedAddOns = window.localStorage.getItem('add_ons') || '{}'\n checkoutBody.attributes.add_ons = JSON.parse(selectedAddOns)\n }\n\n useEffect(() => {\n const hasUniqueId = _get(dataWithUniqueIds, '[0].uniqueId')\n const isEqualData = _isEqual(prevData.current, data)\n if (!hasUniqueId || !isEqualData) {\n setDataWithUniqueIds(assingUniqueIds(data))\n if (!isEqualData) {\n prevData.current = data\n }\n }\n }, [dataWithUniqueIds, data])\n\n const getQuantity = (cart: any = []) => {\n let qty = 0\n cart.forEach((item: any) => {\n qty += +item.quantity\n })\n return qty\n }\n\n useEffect(() => {\n if (pIsLoggedIn !== isLoggedIn || xtfCookie) {\n setIsLoggedIn(!!(pIsLoggedIn || xtfCookie))\n }\n }, [pIsLoggedIn, isLoggedIn, xtfCookie])\n\n //just once\n useEffect(() => {\n // fetch countries data\n const fetchCountries = async () => {\n try {\n const res = await getCountries()\n setCustomHeader(res)\n setCountries(res.data)\n setIsCountriesLoading(false)\n onGetCountriesSuccess(res.data)\n } catch (e) {\n if (axios.isAxiosError(e)) {\n onGetCountriesError(e)\n }\n setIsCountriesLoading(false)\n }\n }\n shouldFetchCountries && fetchCountries()\n fetchCart()\n\n return () => {\n isBrowser && localStorage.removeItem('selectedTicketsQuantity')\n }\n }, [])\n\n // fetch cart data\n const fetchCart = async () => {\n try {\n setCardLoading(true)\n const res = await getCart()\n setCustomHeader(res)\n const cartInfo = res.data.attributes\n setCartInfo(cartInfo)\n const { cart = [] } = cartInfo\n setTicketsQuantity(new Array(getQuantity(cart)).fill(null).map(() => nanoid()))\n onGetCartSuccess(res.data)\n } catch (e) {\n if (axios.isAxiosError(e)) {\n onGetCartError(e)\n }\n } finally {\n setCardLoading(false)\n }\n }\n\n // fetch user data\n const fetchUserData = async () => {\n try {\n if (isLoggedIn) {\n const userDataResponse = await getProfileData()\n const profileSpecifiedData = _get(userDataResponse, 'data')\n const profileDataObj = setLoggedUserData(profileSpecifiedData)\n setUserValues({\n ...profileDataObj,\n firstName: profileDataObj.first_name,\n lastName: profileDataObj.last_name,\n })\n window.localStorage.setItem('user_data', JSON.stringify(profileDataObj))\n onGetProfileDataSuccess(userDataResponse.data)\n }\n } catch (e) {\n if (axios.isAxiosError(e)) {\n onGetProfileDataError(e)\n }\n }\n }\n\n useEffect(() => {\n fetchUserData()\n fetchCart()\n }, [isLoggedIn])\n\n useEffect(() => {\n const collectPaymentData = async () => {\n if (\n skipPage &&\n !_isEmpty(ticketsQuantity) &&\n !showDOB &&\n !loading &&\n !isNewUser\n ) {\n setLoading(true)\n const checkoutBody = createCheckoutDataBodyWithDefaultHolder(\n ticketsQuantity.length,\n userData\n )\n\n try {\n if (isBrowser) {\n addAddOnsInAttributes(checkoutBody)\n }\n\n const checkoutResponse = await postOnCheckout(checkoutBody, flagFreeTicket)\n removeReferralKey()\n onSkipBillingPage(checkoutResponse.data.attributes)\n setLoading(false)\n } catch (e) {\n onSubmitError(e as AxiosError)\n if (_get(e, 'response.data.data.hasUnverifiedOrder')) {\n setPendingVerificationMessage(_get(e, 'response.data.message'))\n }\n }\n } else {\n setLoading(false)\n }\n }\n collectPaymentData()\n }, [skipPage, ticketsQuantity])\n\n const collectCheckoutBody = (\n values: Record<string, any>,\n profileData?: any\n ): Record<string, any> => {\n let checkoutBody = {} as ICheckoutBody\n\n // Auto collect ticket holders name when it was skipped optionally\n if (showDOB && !showTicketHolders && canSkipHolderNames) {\n checkoutBody = createCheckoutDataBodyWithDefaultHolder(\n ticketsQuantity.length,\n values,\n true,\n { emailLogged, firstNameLogged, lastNameLogged }\n )\n } else {\n checkoutBody = createCheckoutDataBody(\n ticketsQuantity.length,\n values,\n {\n emailLogged: emailLogged || profileData.email,\n firstNameLogged:\n firstNameLogged || profileData.first_name || profileData.firstName,\n lastNameLogged:\n lastNameLogged || profileData.last_name || profileData.lastName,\n },\n showDOB\n )\n }\n\n // Collect data_capture for Order Custom Fields\n const data_capture: Record<string, any> = {}\n _forEach(customFieldsOrderKeys, (key: string) => {\n data_capture[key] = values[key]\n\n // Delete from values list\n delete checkoutBody.attributes[key]\n })\n\n // Temp solution for hardcoded data capture values, to be deleted in the future\n const captureKeys = [\n 'businessCategory',\n 'company',\n 'instagram',\n 'jobTitle',\n 'wallet_address',\n ]\n\n captureKeys.forEach(key => {\n const path = `data_capture.${key}`\n const value = _get(values, path, '')\n\n if (value !== '') {\n data_capture[key] = value\n }\n\n const attributeKey = `data_capture[${key}]`\n delete checkoutBody.attributes?.[attributeKey]\n })\n\n // Collect data_capture for Ticket Holders Fields\n _forEach(checkoutBody.attributes.ticket_holders, (holder, holderIndex) => {\n const holderDataCapture: Record<string, any> = {}\n\n _forEach(customFieldsTicketHolderKeys, customFieldKey => {\n const customFieldHolderName = `${customFieldKey}-${holderIndex}`\n const customFieldHolderKey = values[customFieldHolderName] || ''\n holderDataCapture[customFieldKey] = customFieldHolderKey\n\n // Delete holder specific value from values list\n delete checkoutBody.attributes[customFieldHolderName]\n })\n\n // Assign Ticket Holder data_capture final value\n if (!_isEmpty(holderDataCapture)) {\n holder.ticket_data_capture = holderDataCapture\n }\n })\n\n return { attributes: { ...checkoutBody.attributes, data_capture } }\n }\n\n const removeReferralKey = () => {\n localStorage.removeItem('referral_key')\n }\n\n if (loading || (enableTimer && !expirationTime && isBrowser)) {\n if (expirationTime === 0) {\n // Redirect to homepage (countdown finished and browser reloaded case)\n window.location.href = '/'\n }\n }\n\n const selectedCountry =\n _find(countries, item => item.code.toLowerCase() === defaultCountry) || {}\n const initialCountry = selectedCountry.id || _get(userData, 'countryId', '') || '1'\n\n const pageUrl = isBrowser ? window.location.href.split('?')[0] : ''\n usePixel(eventId || cartInfoData?.eventId, { page: 'billing', pageUrl })\n if (isTable) {\n dataWithUniqueIds[0].label = 'Get Your Tables'\n }\n return (\n <ThemeProvider theme={themeMui}>\n {(loading || cardLoading || isCountriesLoading || isConfigLoading) && (\n <Backdrop\n sx={{ color: '#fff', backgroundColor: '#000000bd', zIndex: 1205 }}\n open={true}\n >\n <CircularProgress color=\"inherit\" />\n </Backdrop>\n )}\n {!!expirationTime && enableTimer && (\n <TimerWidget\n expires_at={expirationTime}\n onCountdownFinish={onCountdownFinish}\n />\n )}\n {!isCountriesLoading && !isConfigLoading && (\n <Formik\n initialValues={getInitialValues(\n dataWithUniqueIds,\n {\n country: initialCountry,\n state: _get(userData, 'stateId', '') || '1',\n brand_opt_in: Boolean(optedInFieldValue),\n ttf_opt_in: ttfOptIn,\n data_capture: {\n instagram: _get(extraData, 'data_capture.instagram', ''),\n company: _get(extraData, 'data_capture.company', ''),\n businessCategory: _get(extraData, 'data_capture.businessCategory', ''),\n jobTitle: _get(extraData, 'data_capture.jobTitle', ''),\n },\n ...initialValues,\n },\n userValues,\n ticketHoldersFields,\n ticketsQuantity\n )}\n enableReinitialize={false}\n onSubmit={async (values, formikHelpers) => {\n try {\n if (isBrowser) {\n window.localStorage.setItem(\n 'extraData',\n JSON.stringify({\n data_capture: {\n instagram: _get(values, 'data_capture.instagram', ''),\n company: _get(values, 'data_capture.company', ''),\n businessCategory: _get(\n values,\n 'data_capture.businessCategory',\n ''\n ),\n jobTitle: _get(values, 'data_capture.jobTitle', ''),\n },\n })\n )\n }\n if (isLoggedIn) {\n const checkoutBody = collectCheckoutBody(values, userData)\n\n if (isBrowser) {\n addAddOnsInAttributes(checkoutBody)\n }\n\n const checkoutResponse = await postOnCheckout(\n checkoutBody,\n flagFreeTicket\n )\n removeReferralKey()\n // After checkout is successful recover updated profile and store it on local storage if needed\n if (isBrowser) {\n const updatedUserData = await getProfileData()\n const profileSpecifiedData = _get(updatedUserData, 'data')\n const profileDataObj = setLoggedUserData(profileSpecifiedData)\n window.localStorage.setItem(\n 'user_data',\n JSON.stringify(profileDataObj)\n )\n }\n\n handleSubmit(\n values,\n formikHelpers as FormikHelpers<any>,\n eventId,\n checkoutResponse\n )\n return\n }\n const checkoutBodyForRegistration = createCheckoutDataBody(\n ticketsQuantity.length,\n values,\n { emailLogged, firstNameLogged, lastNameLogged },\n showDOB\n )\n const bodyFormData = createRegisterFormData(\n values,\n checkoutBodyForRegistration,\n flagFreeTicket\n )\n try {\n setLoading(true)\n const resRegister = await register(bodyFormData)\n const xtfCookie = _get(resRegister, 'headers.x-tf-ecommerce')\n const refreshToken = _get(resRegister, 'data.attributes.refresh_token')\n const userProfile = _get(resRegister, 'data.attributes.user_profile')\n\n setIsNewUser(true)\n onRegisterSuccess({\n xtfCookie,\n refreshToken,\n userProfile,\n })\n } catch (e) {\n setLoading(false)\n const hasUnverifiedOrder = _get(e, 'response.data.data.hasUnverifiedOrder')\n const message = _get(e, 'response.data.message', {}) as { password?: string | null, email?: string | null } | string\n\n if (hasUnverifiedOrder && typeof message === 'string') {\n setPendingVerificationMessage(message)\n } else if (axios.isAxiosError(e)) {\n if (\n _includes(message, 'You must be aged') &&\n typeof message === 'string'\n ) {\n formikHelpers.setFieldError('holderAge', message)\n }\n if (typeof message !== 'string' && message?.password) {\n formikHelpers.setFieldError('password', message.password)\n formikHelpers.setFieldError('confirmPassword', message.password)\n }\n if (typeof message !== 'string' && message?.email && !onLogin) {\n // False will stand for outside controll\n setAlreadyHasUser(true)\n setShowModalLogin(true)\n }\n\n if (\n _includes(error, 'The cart is expired') &&\n !hideErrorsAlertSection\n ) {\n setError(error)\n }\n\n onRegisterError(e, values.email)\n }\n return\n }\n const profileData = await getProfileData()\n const profileSpecifiedData = _get(profileData, 'data')\n const profileDataObj = setLoggedUserData(profileSpecifiedData)\n if (isBrowser) {\n window.localStorage.setItem('user_data', JSON.stringify(profileDataObj))\n }\n\n const checkoutBody = collectCheckoutBody(values, profileDataObj)\n\n if (isBrowser) {\n addAddOnsInAttributes(checkoutBody)\n }\n\n const checkoutResponse = await postOnCheckout(\n checkoutBody,\n flagFreeTicket\n )\n removeReferralKey()\n handleSubmit(\n values,\n formikHelpers as FormikHelpers<any>,\n eventId,\n checkoutResponse\n )\n } catch (e) {\n setLoading(false)\n const hasUnverifiedOrder = _get(e, 'response.data.data.hasUnverifiedOrder')\n const message = _get(e, 'response.data.message', {}) as { password?: string | null, email?: string | null } | string\n\n if (hasUnverifiedOrder && typeof message === \"string\") {\n setPendingVerificationMessage(message)\n } else if (axios.isAxiosError(e)) {\n if (\n e.response?.status === 401 ||\n _get(e, 'response.data.error') === 'invalid_token'\n ) {\n if (isBrowser) {\n window.localStorage.removeItem('user_data')\n setUserExpired(true)\n setShowModalLogin(true)\n setIsLoggedIn(false)\n setShowModalSignup(false)\n setShowModalForgotPassword(false)\n const event = new window.CustomEvent('tf-logout')\n deleteCookieByName('X-TF-ECOMMERCE')\n window.document.dispatchEvent(event)\n }\n }\n if (message && !hideErrorsAlertSection && typeof message === \"string\") {\n setError(message)\n }\n onSubmitError(e)\n }\n } finally {\n setLoading(false)\n }\n }}\n >\n {(props: FormikProps<any>) => (\n <Form onSubmit={props.handleSubmit}>\n <ErrorFocus />\n <LogicRunner\n brandOptIn={brandOptIn}\n values={props.values}\n setStates={setStates}\n setFieldValue={props.setFieldValue}\n setValues={props.setValues}\n setUserValues={setUserValues}\n onGetStatesSuccess={onGetStatesSuccess}\n onGetStatesError={onGetStatesError}\n shouldFetchCountries={shouldFetchCountries}\n />\n <div className={`billing-info-container ${theme}`}>\n <SnackbarAlert\n type=\"error\"\n isOpen={!!error}\n message={error || ''}\n onClose={() => {\n setError(null)\n onErrorClose()\n }}\n />\n {!isLoggedIn && (\n <div className=\"account-actions-block\">\n <div className=\"action-item\">\n <div>{accountInfoTitle}</div>\n <div>Login & skip ahead:</div>\n </div>\n <div className=\"action-item login-block\">\n <button\n className=\"login-register-button\"\n type=\"button\"\n onClick={() => {\n // If outside login needed to skip package login functionallity\n if (onLogin) {\n onLogin()\n } else {\n setShowModalLogin(true)\n }\n }}\n >\n Login\n </button>\n {!hideLogo && (\n <div className=\"logo-image-container\">\n <img\n src={\n theme === 'dark'\n ? 'https://www.ticketfairy.com/resources/images/logo-ttf.svg'\n : 'https://www.ticketfairy.com/resources/images/logo-ttf-black.svg'\n }\n alt=\"nodata\"\n />\n </div>\n )}\n </div>\n </div>\n )}\n {includeAddons ? (\n <AddonsContainter\n {...(addonsProps ?? {})}\n addOnDataWithCustomFields={addOnDataWithCustomFields}\n configs={configs}\n />\n ) : null}\n {!cardLoading &&\n _map(dataWithUniqueIds, item => {\n const { label, labelClassName, fields } = item\n return (\n <React.Fragment key={item.uniqueId}>\n <p className={labelClassName}>{label}</p>\n {_map(fields, group => {\n const { groupClassname, groupItems } = group\n return (\n <React.Fragment key={group.uniqueId}>\n <div className={groupClassname}>\n {_map(\n groupItems.filter(el => {\n if (el.name === 'holderAge' && !showDOB) {\n return false\n }\n if (el.name === 'ttf_opt_in' && hideTtfOptIn) {\n return false\n }\n if (el.name === 'phone') {\n if (!hidePhoneField) {\n el.required = flagRequirePhone\n } else {\n return false\n }\n }\n if (el.name === 'data_capture[wallet_address]') {\n if (collectMandatoryWalletAddress) {\n el.required = true\n }\n }\n if (el.name === 'data_capture[jobTitle]') {\n if (collectMandatoryJobTitle) {\n el.required = true\n }\n }\n if (el.name === 'data_capture[businessCategory]') {\n if (collectMandatoryBusinessCategory) {\n el.required = true\n }\n }\n if (el.name === 'data_capture[company]') {\n if (collectMandatoryCompany) {\n el.required = true\n }\n }\n if (el.name === 'data_capture[instagram]') {\n if (collectMandatoryInstagram) {\n el.required = true\n }\n }\n if (\n [\n 'street_address',\n 'country',\n 'state',\n 'city',\n ].includes(el.name)\n ) {\n if (flagFreeTicket) {\n el.required = false\n return false\n }\n }\n if (\n hideWalletAddressField &&\n (el.name === 'wallet-address-info' ||\n el.name === 'data_capture[wallet_address]')\n ) {\n return false\n }\n if (\n hideJobTitleField &&\n el.name === 'data_capture[jobTitle]'\n ) {\n return false\n }\n if (\n hideBusinessCategoryField &&\n el.name === 'data_capture[businessCategory]'\n ) {\n return false\n }\n if (\n hideCompanyField &&\n el.name === 'data_capture[company]'\n ) {\n return false\n }\n if (\n hideInstagramField &&\n (el.name === 'data_capture[instagram]' ||\n el.name === 'instagram-info')\n ) {\n return false\n }\n return true\n }),\n element =>\n [\n 'password',\n 'confirmPassword',\n 'password-info',\n ].includes(element.name) && isLoggedIn ? null : (\n <React.Fragment key={element.uniqueId}>\n <div\n className={`${element.className} ${props?.errors[element.name] || ''\n }`}\n >\n {element.component ? (\n element.component\n ) : (\n <Field\n {...element}\n type={\n element.type === 'radio' ||\n element.type === 'checkbox'\n ? undefined\n : element.type\n }\n setPhoneValidationIsLoading={\n element.type === 'phone'\n ? setPhoneValidationIsLoading\n : undefined\n }\n label={getFieldLabel(element, configs)}\n validate={getValidateFunctions(\n element,\n states,\n props.values,\n props.errors\n )}\n setFieldValue={props.setFieldValue}\n onBlur={props.handleBlur}\n component={getFieldComponent(element)}\n selectOptions={\n element.name === 'country'\n ? _map(countries, item => ({\n value: item.id,\n label: item.name,\n }))\n : element.name === 'state'\n ? [\n {\n label: element.label,\n value: '',\n disabled: true,\n },\n ...states,\n ]\n : element.selectOptions || []\n }\n theme={theme}\n defaultCountry={\n defaultCountry || element.defaultCountry\n }\n dateFormat={element.format}\n isCountryCodeEditable={\n isCountryCodeEditable\n }\n />\n )}\n </div>\n </React.Fragment>\n )\n )}\n </div>\n </React.Fragment>\n )\n })}\n </React.Fragment>\n )\n })}\n {!_isEmpty(ticketHoldersFields.fields) && (\n <div className=\"ticket-holders-fields\">\n <h2>{ticketHoldersFields.label}</h2>\n {_map(ticketsQuantity, (_item, index) => (\n <div key={_item}>\n <h5>Ticket {index + 1}</h5>\n {_map(ticketHoldersFields.fields, group => {\n const { id, groupClassname, groupItems } = group\n return (\n <div key={id}>\n <div className={groupClassname}>\n {_map(groupItems, element => (\n <div className={element.className} key={element.name}>\n <Field\n {...element}\n type={\n element.type === 'radio' ||\n element.type === 'checkbox'\n ? undefined\n : element.type\n }\n name={`${element.name}-${index}`}\n label={getFieldLabel(element, configs)}\n component={getFieldComponent(element)}\n validate={getValidateFunctions(\n element,\n states,\n props.values,\n props.errors\n )}\n setPhoneValidationIsLoading={\n setPhoneValidationIsLoading\n }\n defaultCountry={\n defaultCountry || element.defaultCountry\n }\n isCountryCodeEditable={isCountryCodeEditable}\n />\n </div>\n ))}\n </div>\n </div>\n )\n })}\n </div>\n ))}\n </div>\n )}\n <div className=\"button-container\">\n <Button\n type=\"submit\"\n variant=\"contained\"\n className=\"login-register-button\"\n disabled={props.isSubmitting || phoneValidationIsLoading}\n >\n {props.isSubmitting ? <CircularProgress size={26} /> : buttonName}\n </Button>\n </div>\n </div>\n </Form>\n )}\n </Formik>\n )}\n {showModalLogin && (\n <LoginModal\n logo={logo}\n onClose={() => {\n setShowModalLogin(false)\n }}\n onLogin={() => {\n setShowModalLogin(false)\n setUserExpired(false)\n onLoginSuccess()\n }}\n alreadyHasUser={alreadyHasUser}\n userExpired={userExpired}\n onGetProfileDataSuccess={(data: any) => {\n fetchCart()\n onGetProfileDataSuccess(data)\n }}\n onGetProfileDataError={onGetProfileDataError}\n showSignUpButton={showSignUpButton}\n showForgotPasswordButton={showForgotPasswordButton}\n onForgotPassword={() => {\n setShowModalLogin(false)\n setShowModalForgotPassword(true)\n }}\n onSignup={() => {\n setShowModalLogin(false)\n setShowModalSignup(true)\n }}\n showPoweredByImage={showPoweredByImage}\n />\n )}\n {showModalSignup && (\n <SignupModal\n onClose={() => {\n setShowModalSignup(false)\n }}\n onLogin={() => {\n setShowModalSignup(false)\n setShowModalLogin(true)\n }}\n onRegisterSuccess={onRegisterSuccess}\n onRegisterError={onRegisterError}\n showPoweredByImage={showPoweredByImage}\n />\n )}\n {showModalForgotPassword && (\n <ForgotPasswordModal\n onClose={() => {\n setShowModalForgotPassword(false)\n }}\n onLoginButtonClick={() => {\n setShowModalForgotPassword(false)\n setShowModalLogin(true)\n }}\n onForgotPasswordSuccess={onForgotPasswordSuccess}\n onForgotPasswordError={onForgotPasswordError}\n showPoweredByImage={showPoweredByImage}\n />\n )}\n <VerificationPendingModal\n message={pendingVerificationMessage}\n onClose={() => {\n onPendingVerification()\n }}\n />\n </ThemeProvider>\n )\n }\n)\n\nconst WithCustomFieldsBillingInfoContainer = withCustomFields(BillingInfoContainer)\n\nexport { WithCustomFieldsBillingInfoContainer as BillingInfoContainer }\n","import { StripeError } from '@stripe/stripe-js'\n\ntype stripeErrorReason = 'PAYMENT_ALREADY_CONFIRMED'\n\ninterface IAdaptedStripeError extends StripeError {\n isStripeError: boolean;\n errorReason?: stripeErrorReason;\n}\n\nexport const adaptStripeError = (error: StripeError): IAdaptedStripeError => {\n const adaptedError = { ...error, isStripeError: true }\n switch (error.code) {\n case 'payment_intent_unexpected_state':\n if (error?.payment_intent?.status === 'succeeded') {\n return {\n ...adaptedError,\n errorReason: 'PAYMENT_ALREADY_CONFIRMED',\n message:\n 'You cannot confirm this PaymentIntent because it has already succeeded after being previously confirmed.',\n }\n }\n return { ...adaptedError }\n default:\n return adaptedError\n }\n}\n","import Box from '@mui/material/Box'\nimport Button from '@mui/material/Button'\nimport CircularProgress from '@mui/material/CircularProgress'\nimport Modal from '@mui/material/Modal'\nimport _identity from 'lodash/identity'\nimport React, { FC } from 'react'\n\ninterface Props {\n message: string;\n loading?: boolean;\n hideCancelBtn?: boolean;\n onClose?: () => void;\n onConfirm?: () => void;\n}\n\nconst style: React.CSSProperties = {\n position: 'absolute',\n top: '50%',\n left: '50%',\n transform: 'translate(-50%, -50%)',\n minWidth: 480,\n backgroundColor: '#e3e3e3',\n border: '1px solid white',\n outline: 'none',\n padding: '14px',\n maxHeight: '85vh',\n overflow: 'auto',\n}\n\nconst ConfirmModal: FC<Props> = ({\n message = '',\n loading = false,\n hideCancelBtn = false,\n onClose = _identity,\n onConfirm = _identity,\n}) => (\n <Modal\n open={true}\n onClose={onClose}\n aria-labelledby=\"modal-modal-title\"\n aria-describedby=\"modal-modal-description\"\n className=\"confirm-modal\"\n >\n <Box style={style}>\n <p>{message}</p>\n <div className=\"footer\">\n {!hideCancelBtn && (\n <Button onClick={onClose} disabled={loading}>\n Cancel\n </Button>\n )}\n <Button onClick={onConfirm}>\n {loading ? <CircularProgress size=\"22px\" /> : 'OK'}\n </Button>\n </div>\n </Box>\n </Modal>\n)\n\nexport default ConfirmModal\n","import './style.css'\n\nimport CircularProgress from '@mui/material/CircularProgress'\nimport {\n CardCvcElement,\n CardExpiryElement,\n CardNumberElement,\n useElements,\n useStripe,\n} from '@stripe/react-stripe-js'\nimport { StripeCardNumberElementOptions } from '@stripe/stripe-js'\nimport _get from 'lodash/get'\nimport _identity from 'lodash/identity'\nimport React, { useEffect, useState } from 'react'\n\nimport { refreshSeatReservation } from '../../api'\nimport { getCurrencySymbolByCurrency } from '../../normalizers'\nimport { getQueryVariable } from '../../utils'\nimport { adaptStripeError } from '../../utils/adaptStripeErrors'\nimport { Checkbox } from '../common/index'\nimport ConfirmModal from '../confirmModal'\n\nconst options: StripeCardNumberElementOptions = {\n style: {\n base: {\n backgroundColor: '#000',\n fontSize: '18px',\n color: '#ffffff',\n letterSpacing: '1px',\n ':-webkit-autofill': {\n color: '#ffffff',\n },\n '::placeholder': {\n color: 'rgba(201, 201, 201, 0.5)',\n },\n },\n invalid: {\n color: '#E53935',\n },\n },\n}\n\nexport interface ICheckoutForm {\n total: string | number;\n currency: string;\n onSubmit: (error: any, data?: object) => Promise<any>;\n error?: string | null;\n stripeCardOptions?: StripeCardNumberElementOptions;\n stripe_client_secret: string;\n billing_info: { [key: string]: any };\n isLoading: any;\n handleSetLoading: (loading: any) => void;\n conditions: any;\n disableZipSection: boolean;\n paymentButtonText?: string;\n forPaymentPlan?: boolean;\n orderId?: string;\n hasSeatMapActions: boolean;\n}\n\ninterface AddressTypes {\n city: string;\n line1: string;\n state: string;\n postal_code?: string;\n}\n\nconst CheckoutForm = ({\n total,\n orderId,\n onSubmit = _identity,\n stripeCardOptions = {},\n error = null,\n stripe_client_secret,\n currency,\n billing_info,\n isLoading = false,\n handleSetLoading = _identity,\n conditions = [],\n disableZipSection,\n paymentButtonText,\n forPaymentPlan = false,\n hasSeatMapActions = false,\n}: ICheckoutForm) => {\n const stripe = useStripe()\n const elements = useElements()\n const [postalCode, setPostalCode] = useState<any>('')\n const [stripeError, setStripeError] = useState<any>(null)\n const [checkboxes, setCheckboxes] = useState<any>([])\n const [allowSubmit, setAllowSubmit] = useState(false)\n const eventId = getQueryVariable('event_id') || ''\n\n const handleSubmit = async (event: React.SyntheticEvent) => {\n setStripeError(null)\n try {\n event.preventDefault()\n\n if (!postalCode && !disableZipSection) {\n setStripeError({ message: 'Please enter your zip code.' })\n handleSetLoading(false)\n return\n }\n\n if (!stripe || !elements) {\n // Stripe.js has not loaded yet. Make sure to disable\n // form submission until Stripe.js has loaded.\n handleSetLoading(false)\n return\n }\n\n const card = elements.getElement(CardNumberElement)\n\n const address: AddressTypes = {\n city: billing_info.city,\n line1: billing_info.street_address,\n state: billing_info.state,\n }\n\n if (!disableZipSection) {\n address.postal_code = postalCode\n }\n\n if (forPaymentPlan) {\n const setupResponse = await stripe.confirmCardSetup(stripe_client_secret, {\n payment_method: { card: card || { token: '' } },\n })\n onSubmit(null, { paymentMethodId: setupResponse.setupIntent?.payment_method })\n return\n }\n\n const paymentMethodReq = await stripe.createPaymentMethod({\n type: 'card',\n card: card || { token: '' },\n billing_details: {\n address,\n },\n })\n\n if (paymentMethodReq.error) {\n setStripeError(paymentMethodReq.error || null)\n handleSetLoading(false)\n return\n }\n\n handleSetLoading(true)\n const { error } = await stripe.confirmCardPayment(stripe_client_secret, {\n payment_method: paymentMethodReq.paymentMethod.id,\n })\n\n if (error) {\n setStripeError(adaptStripeError(error))\n hasSeatMapActions && (await refreshSeatReservation(eventId, orderId || ''))\n handleSetLoading(false)\n return\n }\n\n onSubmit(null)\n } catch (e) {\n onSubmit(e)\n }\n }\n\n const handleCheckboxes = (e: any) => {\n const checkbox = e.target\n const updatedCheckedState = checkboxes.map((item: any) => {\n const value = item.id === checkbox.name ? !item.checked : item.checked\n return {\n ...item,\n checked: value,\n }\n })\n setCheckboxes(updatedCheckedState)\n }\n\n const onChangePostalCode = (e: any) => {\n setPostalCode(e.target.value)\n }\n\n useEffect(() => {\n if (typeof window !== 'undefined') {\n const userData = JSON.parse(window.localStorage.getItem('user_data') || '')\n const zipCode = _get(userData, 'zip', '')\n zipCode && setPostalCode(zipCode)\n }\n }, [])\n\n useEffect(() => {\n if (conditions.length) {\n setCheckboxes(conditions)\n }\n }, [conditions])\n\n useEffect(() => {\n if (checkboxes.length) {\n const allChecked = checkboxes.every((item: any) => item?.checked === true)\n setAllowSubmit(allChecked)\n } else {\n setAllowSubmit(true)\n }\n }, [checkboxes])\n\n const buttonIsDiabled = !stripe || !!error || isLoading || !allowSubmit\n return (\n <div className=\"stripe_payment_container\">\n {!!stripeError && (\n <ConfirmModal\n hideCancelBtn\n onConfirm={() => {\n setStripeError(null)\n onSubmit(stripeError)\n }}\n message={stripeError?.message}\n />\n )}\n <form onSubmit={handleSubmit}>\n <div className=\"card_form_inner\">\n <div className=\"card_number_element\">\n <span className=\"card_label_text\">Card number</span>\n <CardNumberElement\n options={{ ...options, ...stripeCardOptions }}\n onReady={_identity}\n onChange={_identity}\n onBlur={_identity}\n onFocus={_identity}\n />\n </div>\n <div className=\"elements\">\n <div className=\"expiration_element\">\n <span className=\"card_label_text\">Expiration date</span>\n <CardExpiryElement options={{ ...options, ...stripeCardOptions }} />\n </div>\n <div className=\"cvc_element\">\n <span className=\"card_label_text\">CVC</span>\n <CardCvcElement options={{ ...options, ...stripeCardOptions }} />\n </div>\n </div>\n {!disableZipSection && (\n <div className=\"zip_element\">\n <p className=\"card_label_text\">ZIP</p>\n <input\n type=\"text\"\n value={postalCode}\n onChange={onChangePostalCode}\n placeholder=\"ZIP\"\n />\n </div>\n )}\n </div>\n {checkboxes?.map((checkbox: any) => (\n <div className={'billing-info-container__singleField'} key={checkbox.id}>\n <div className=\"conditions-block\">\n <Checkbox\n name={checkbox.id}\n label={checkbox.text}\n required={true}\n onChange={handleCheckboxes}\n checked={checkbox.checked}\n />\n </div>\n </div>\n ))}\n <div\n className={`payment_button ${buttonIsDiabled ? 'disabled-payment-button' : ''}`}\n >\n <button disabled={buttonIsDiabled} type=\"submit\">\n {isLoading ? (\n <CircularProgress size={26} />\n ) : forPaymentPlan ? (\n 'Confirm Payment Plan'\n ) : (\n `${paymentButtonText ? paymentButtonText : 'Pay'\n } ${getCurrencySymbolByCurrency(currency)}${total}`\n )}\n </button>\n </div>\n </form>\n </div>\n )\n}\n\nexport default CheckoutForm\n","import React from 'react'\n\nimport { createFixedFloatNormalizer, currencyNormalizerCreator } from '../../normalizers'\nimport { IPaymentPlanConfig } from '../../types/payment-plan-configuration'\nimport { Checkbox } from '../common'\n\ninterface PaymentPlanSectionProps {\n paymentPlanConfig: IPaymentPlanConfig;\n currency: string;\n paymentPlanUseSavedCard: boolean;\n setPaymentPlanUseSavedCard: (value: boolean) => void;\n}\n\nexport const PaymentPlanSection = (props: PaymentPlanSectionProps) => {\n const {\n paymentPlanConfig,\n currency,\n paymentPlanUseSavedCard,\n setPaymentPlanUseSavedCard,\n } = props\n\n return (\n <div className=\"payment_plan\">\n <h2 className=\"payment_plan_title\">Payment Plan Terms</h2>\n <div className=\"payment_plan_block\">\n <div className=\"payment_plan_text\">\n By clicking on the “Confirm Payment Plan” button, you are starting your payment\n plan of{' '}\n <span className=\"payment_plan_highlight\">\n {paymentPlanConfig.total_installments}\n </span>{' '}\n payments of{' '}\n <span className=\"payment_plan_highlight\">\n {currencyNormalizerCreator(\n createFixedFloatNormalizer(2)(paymentPlanConfig.price_per_installment),\n currency\n )}\n </span>\n , which will be drawn from your account every {paymentPlanConfig.interval} days,\n with the first payment taken later today.\n </div>\n {paymentPlanConfig.has_admin_fee && (\n <div className=\"payment_plan_text\">\n This includes a non-refundable admin fee of{' '}\n <span className=\"payment_plan_highlight\">\n {currencyNormalizerCreator(\n createFixedFloatNormalizer(2)(paymentPlanConfig.admin_fee),\n currency\n )}\n </span>{' '}\n per payment.\n </div>\n )}\n {paymentPlanConfig.requires_deposit && (\n <div className=\"payment_plan_text\">\n You will also be charged a single, non-refundable deposit of{' '}\n <span className=\"payment_plan_highlight\">\n {currencyNormalizerCreator(\n createFixedFloatNormalizer(2)(paymentPlanConfig.deposit),\n currency\n )}\n </span>\n .\n </div>\n )}\n <div className=\"payment_plan_text payment_plan_note payment_plan_highlight\">\n NOTE: If today’s payment fails, your plan will not activate. Your tickets will\n not be issued until you complete your final payment.\n </div>\n {!paymentPlanConfig.non_refundable_type && (\n <div className=\"payment_plan_text\">\n If you do not complete your payments, your order will be canceled. Your{' '}\n <span className=\"payment_plan_highlight\">\n first payment of{' '}\n {currencyNormalizerCreator(\n createFixedFloatNormalizer(2)(paymentPlanConfig.price_per_installment),\n currency\n )}\n </span>\n {paymentPlanConfig.has_admin_fee && (\n <>\n , plus the{' '}\n <span className=\"payment_plan_highlight\">\n non-refundable admin-fee of{' '}\n {currencyNormalizerCreator(\n createFixedFloatNormalizer(2)(paymentPlanConfig.admin_fee),\n currency\n )}\n </span>\n </>\n )}{' '}\n will not be refunded.\n </div>\n )}\n {paymentPlanConfig.non_refundable_type === 'percent' && (\n <div className=\"payment_plan_text\">\n If you do not complete your payments, you will receive{' '}\n <span className=\"payment_plan_highlight\">\n {createFixedFloatNormalizer(0)(\n 100 - paymentPlanConfig.non_refundable_amount\n )}\n %\n </span>{' '}\n of your money back\n {paymentPlanConfig.requires_deposit && (\n <>\n , excluding your{' '}\n {currencyNormalizerCreator(\n createFixedFloatNormalizer(2)(paymentPlanConfig.deposit),\n currency\n )}{' '}\n deposit\n </>\n )}\n .\n </div>\n )}\n {paymentPlanConfig.non_refundable_type === 'fixed' && (\n <div className=\"payment_plan_text\">\n If you do not complete your payments, you will receive all your money back\n {paymentPlanConfig.non_refundable_amount && (\n <>\n except for the non-refundable amount of{' '}\n {currencyNormalizerCreator(\n createFixedFloatNormalizer(2)(paymentPlanConfig.non_refundable_amount),\n currency\n )}\n {paymentPlanConfig.requires_deposit && (\n <>\n , excluding your{' '}\n {currencyNormalizerCreator(\n createFixedFloatNormalizer(2)(paymentPlanConfig.deposit),\n currency\n )}{' '}\n deposit\n </>\n )}\n </>\n )}\n .\n </div>\n )}\n {!!paymentPlanConfig.saved_card?.stripe_payment_method_id && (\n <>\n {paymentPlanUseSavedCard && (\n <div className=\"payment_plan_text\">\n {' '}\n Your payment will proceed with the card ending in ****{' '}\n <span className=\"payment_plan_highlight\">\n {'' + paymentPlanConfig.saved_card.last_4_digits}\n </span>\n </div>\n )}\n <div>\n <Checkbox\n label={<span className=\"payment_plan_toggle_label\">Use this card</span>}\n required={true}\n onChange={() => {\n setPaymentPlanUseSavedCard(!paymentPlanUseSavedCard)\n }}\n checked={paymentPlanUseSavedCard}\n />\n </div>\n </>\n )}\n </div>\n </div>\n )\n}\n","/* eslint-disable max-len */\nimport './style.css'\n\nimport { ThemeOptions } from '@mui/material'\nimport Alert from '@mui/material/Alert'\nimport CircularProgress from '@mui/material/CircularProgress'\nimport Container from '@mui/material/Container'\nimport { createTheme, ThemeProvider } from '@mui/material/styles'\nimport { CSSProperties } from '@mui/styles'\nimport { Elements } from '@stripe/react-stripe-js'\nimport {\n loadStripe,\n StripeCardNumberElementOptions,\n StripeConstructorOptions,\n StripeElementsOptions,\n} from '@stripe/stripe-js'\nimport { AxiosError } from 'axios'\nimport _get from 'lodash/get'\nimport _identity from 'lodash/identity'\nimport _isEmpty from 'lodash/isEmpty'\nimport _map from 'lodash/map'\nimport { nanoid } from 'nanoid'\nimport React, { useEffect, useState } from 'react'\n\nimport {\n createPaymentPlan,\n getConditions,\n getPaymentData,\n handleFreeSuccess,\n handlePaymentSuccess,\n} from '../../api'\nimport { FEES_STYLES } from \"../../constants\"\nimport { usePixel } from '../../hooks/usePixel'\nimport { createFixedFloatNormalizer, currencyNormalizerCreator } from '../../normalizers'\nimport { IAddOn, IOrderData, IPaymentField } from '../../types'\nimport {\n IPaymentPlanConfig,\n IPaymentPlanConfigCard,\n} from '../../types/payment-plan-configuration'\nimport { CONFIGS, isBrowser } from '../../utils'\nimport { getQueryVariable } from '../../utils/getQueryVariable'\nimport { Checkbox, Loader } from '../common/index'\nimport StripePayment from '../stripePayment'\nimport TimerWidget from '../timerWidget'\nimport { PaymentPlanSection } from './PaymentPlanSection'\n\nconst publishableKey = CONFIGS.STRIPE_PUBLISHABLE_KEY || ''\n\nconst getStripePromise = (reviewData: any) => {\n const stripePublishableKey =\n _get(reviewData, 'payment_method.stripe_publishable_key') || publishableKey\n const stripeAccount = _get(reviewData, 'payment_method.stripe_connected_account')\n\n const options: StripeConstructorOptions = {}\n if (stripeAccount) {\n options.stripeAccount = stripeAccount\n }\n\n return loadStripe(stripePublishableKey, options)\n}\nexport interface IPaymentPage {\n paymentFields: IPaymentField[];\n handlePayment: any;\n checkoutData: any;\n formTitle?: string;\n errorText?: string;\n onErrorClose?: () => void;\n onGetPaymentDataSuccess: (value: any) => void;\n onGetPaymentDataError: (value: AxiosError) => void;\n onPaymentError: (value: AxiosError, slug?: string) => void;\n stripeCardOptions?: StripeCardNumberElementOptions;\n disableZipSection: boolean;\n themeOptions?: ThemeOptions & {\n input?: CSSProperties;\n checkbox?: CSSProperties;\n };\n elementsOptions?: StripeElementsOptions;\n onCountdownFinish?: () => void;\n enableTimer?: boolean;\n enablePaymentPlan?: boolean;\n paymentButtonText?: string;\n paymentInfoLabel?: string;\n orderInfoLabel?: string;\n}\n\nconst initialPaymentPlanConfiguration: IPaymentPlanConfig = {\n requires_deposit: false,\n deposit: 0,\n interval: 0,\n non_refundable_amount: 0,\n non_refundable_type: null,\n has_admin_fee: false,\n admin_fee: 0,\n total_installments: 0,\n price_per_installment: 0,\n stripe_setup_intent_secret: '',\n total: 0,\n saved_card: {\n last_4_digits: null,\n stripe_payment_method_id: null,\n } as IPaymentPlanConfigCard,\n}\n\nconst initialOrderValues: IOrderData = {\n id: '',\n product_name: '',\n ticketType: '',\n quantity: '',\n price: '',\n total: '',\n currency: '',\n guest_count: '',\n pay_now: '',\n add_ons: [] as IAddOn[],\n cost: '',\n}\n\nconst initialReviewValues = {\n order_details: {\n id: '',\n order_hash: '',\n },\n payment_method: {\n stripe_client_secret: '',\n stripe_payment_plan_enabled: false,\n stripe_payment_plan_configuration: {} as any,\n },\n billing_info: {},\n event_details: {\n flagSeatMapAllowed: false,\n slug: ''\n },\n}\n\nexport const PaymentContainer = ({\n paymentFields = [],\n handlePayment,\n formTitle = 'Get Your Tickets',\n errorText,\n checkoutData,\n onErrorClose = _identity,\n onGetPaymentDataSuccess = _identity,\n onGetPaymentDataError = _identity,\n onPaymentError = _identity,\n stripeCardOptions = {},\n disableZipSection = false,\n themeOptions,\n elementsOptions,\n onCountdownFinish = _identity,\n enableTimer = false,\n enablePaymentPlan = true,\n paymentButtonText,\n orderInfoLabel = 'Order Review',\n paymentInfoLabel = 'Order Confirmation',\n}: IPaymentPage) => {\n const [reviewData, setReviewData] = useState(initialReviewValues)\n const [orderData, setOrderData] = useState(initialOrderValues)\n const [error, setError] = useState(null)\n const [showPaymentPlanSection, setShowPaymentPlanSection] = useState(false)\n const [paymentIsLoading, setPaymentIsLoading] = useState(false)\n const [paymentDataIsLoading, setPaymentDataIsLoading] = useState(true)\n const [conditions, setConditions] = useState<{ id: string, text: string }[]>([])\n const [paymentPlanIsAvailable, setPaymentPlanIsAvailable] = useState(false)\n const [paymentPlanConfig, setPaymentPlanConfig] = useState(\n initialPaymentPlanConfiguration\n )\n const [paymentPlanUseSavedCard, setPaymentPlanUseSavedCard] = useState(true)\n const [currency, setCurrency] = useState('')\n\n const showFormTitle = Boolean(formTitle)\n const showErrorText = Boolean(errorText)\n\n const eventId =\n getQueryVariable('event_id') || _get(reviewData, 'cart[0].product_id') || ''\n const { hash, total } = checkoutData\n const isFreeTickets =\n (!Number(total) && !Number(orderData.total)) || !Number(orderData.pay_now)\n\n const pageUrl = isBrowser ? window.location.href.split('?')[0] : ''\n usePixel(eventId, { page: 'review', pageUrl })\n\n useEffect(() => {\n const paymentMethod = reviewData.payment_method || {}\n const paymentPlanAvailable =\n paymentMethod.stripe_payment_plan_enabled && enablePaymentPlan\n setPaymentPlanIsAvailable(paymentPlanAvailable)\n\n if (paymentPlanAvailable) {\n const paymentPlanConfig =\n paymentMethod.stripe_payment_plan_configuration || initialPaymentPlanConfiguration\n setPaymentPlanConfig(paymentPlanConfig)\n setPaymentPlanUseSavedCard(!!paymentPlanConfig.saved_card?.stripe_payment_method_id)\n if (isBrowser) {\n const sessionData = window.localStorage.getItem('paymentConfiguration')\n const session = sessionData ? JSON.parse(sessionData) : {}\n if (!!session && session?.orderId == reviewData.order_details?.id) {\n setPaymentPlanUseSavedCard(session.paymentPlanUseSavedCard ?? false)\n setShowPaymentPlanSection(session.showPaymentPlanSection ?? false)\n }\n }\n }\n }, [enablePaymentPlan, reviewData])\n\n useEffect(() => {\n updateSessionInformation()\n }, [showPaymentPlanSection, paymentPlanUseSavedCard])\n\n useEffect(() => {\n (async () => {\n try {\n const paymentDataResponse = await getPaymentData(hash)\n if (paymentDataResponse.success) {\n const attributes = paymentDataResponse?.data?.attributes\n setReviewData(attributes)\n const { cart, order_details } = attributes\n const {\n tickets: [ticket],\n } = order_details\n\n const orderDataArray = _map(order_details.tickets, item => ({\n product_name: cart[0]?.product_name,\n ticketType: item?.name,\n quantity: item?.guest_count,\n price: item?.price,\n cost: item?.cost,\n id: item.id,\n count: item?.quantity,\n }))\n\n const orderData = {\n id: order_details?.id,\n product_name: cart[0]?.product_name,\n ticketType: ticket?.name,\n quantity: ticket?.quantity,\n price: ticket?.price,\n total: order_details?.total,\n currency: order_details?.currency,\n add_ons: order_details?.add_ons || [],\n pay_now: order_details?.pay_now || '',\n guest_count: order_details?.guest_count || '',\n debt: order_details?.debt || null,\n tableTypes: orderDataArray,\n cost: ticket?.cost,\n subtotal: order_details?.subtotal,\n fees: order_details?.fees,\n }\n setOrderData(orderData)\n setCurrency(order_details?.currency)\n onGetPaymentDataSuccess(paymentDataResponse.data)\n }\n } catch (e) {\n setError(_get(e, 'response.data.message', null))\n onGetPaymentDataError(e.response)\n } finally {\n setPaymentDataIsLoading(false)\n }\n })()\n }, [checkoutData])\n\n //just once\n useEffect(() => {\n // fetch conditions data\n const fetchConditions = async () => {\n if (eventId) {\n const conditionsResponse = await getConditions(eventId)\n const conditionsInfo = conditionsResponse.data.attributes\n setConditions(\n conditionsInfo\n ? conditionsInfo.map((item: { text: any }) => ({\n id: nanoid(),\n text: item.text,\n checked: false,\n }))\n : []\n )\n }\n }\n fetchConditions()\n }, [])\n\n // 1. get payment data ---> v1/order/${hash}/review/ done\n // 2. handle payment ---> v1/order/${orderHash}/pay/\n // 3. redirect to confirmation page\n const handlePaymentMiddleWare = async (error: any, data?: object) => {\n try {\n if (error) {\n throw error\n }\n const {\n order_details: { order_hash },\n } = reviewData\n\n let paymentSuccessResponse\n\n if (isFreeTickets) {\n paymentSuccessResponse = await handleFreeSuccess(order_hash)\n } else if (paymentPlanIsAvailable && showPaymentPlanSection) {\n paymentSuccessResponse = await createPaymentPlan(\n order_hash,\n _get(data, 'paymentMethodId', '')\n )\n } else {\n paymentSuccessResponse = await handlePaymentSuccess(order_hash)\n }\n\n if (paymentSuccessResponse.status === 200) {\n handlePayment(paymentSuccessResponse)\n setPaymentIsLoading(false)\n\n // clear seat-map related data from localStorage\n localStorage.removeItem('reservationData')\n localStorage.removeItem(`reservationStart-${eventId}`)\n localStorage.removeItem('ownReservations')\n localStorage.removeItem('tierId')\n\n if (isBrowser) {\n (window as any)?.dataLayer?.push({\n event: 'Purchase',\n orderValue: orderData.total,\n orderCurrency: orderData.currency,\n orderId: orderData.id,\n })\n }\n }\n } catch (e) {\n setError(_get(e, 'response.data.message', null))\n setPaymentIsLoading(false)\n onPaymentError(e.response || e, reviewData.event_details.slug)\n }\n }\n\n const showPaymentForm = () => {\n let showPaymentForm = !isFreeTickets\n\n if (\n paymentPlanIsAvailable &&\n showPaymentPlanSection &&\n !!paymentPlanConfig.saved_card?.stripe_payment_method_id\n ) {\n showPaymentForm = !paymentPlanUseSavedCard\n }\n\n return showPaymentForm\n }\n const updateSessionInformation = () => {\n if (isBrowser && !!orderData?.id) {\n window.localStorage.setItem(\n 'paymentConfiguration',\n JSON.stringify({\n paymentPlanUseSavedCard,\n showPaymentPlanSection,\n orderId: orderData?.id,\n })\n )\n }\n }\n\n const themeMui = createTheme(themeOptions)\n const hasTableTypes = Boolean(Number(orderData.guest_count))\n const paymentFieldsData = hasTableTypes\n ? [\n {\n label: 'Event',\n id: 'product_name',\n },\n {\n label: '',\n id: 'tableTypes',\n },\n {\n label: 'Add-ons',\n id: 'add_ons',\n },\n {\n label: 'Total (incl. fees, card processing and taxes)',\n id: 'total',\n normalizer: (value: string, currency: string) =>\n currencyNormalizerCreator(\n createFixedFloatNormalizer(2)(parseFloat(value)),\n currency\n ),\n },\n {\n label: 'Pay Now',\n id: 'pay_now',\n normalizer: (value: string, currency: string) =>\n currencyNormalizerCreator(\n createFixedFloatNormalizer(2)(parseFloat(value)),\n currency\n ),\n },\n {\n label: 'Pay On Check-in',\n id: 'debt',\n normalizer: (value: string, currency: string) =>\n currencyNormalizerCreator(\n createFixedFloatNormalizer(2)(parseFloat(value)),\n currency\n ),\n },\n ]\n : paymentFields\n const isTable = orderData?.guest_count\n return (\n <ThemeProvider theme={themeMui}>\n <div className=\"payment_page\">\n {enableTimer && (\n <TimerWidget\n expires_at={_get(reviewData, 'expires_at', 0)}\n buyLoading={paymentIsLoading}\n onCountdownFinish={onCountdownFinish}\n />\n )}\n {error && (\n <Alert severity=\"error\" onClose={onErrorClose} variant=\"filled\">\n {error}\n </Alert>\n )}\n {paymentDataIsLoading && <Loader />}\n {!paymentDataIsLoading && (\n <Container maxWidth=\"md\">\n {showFormTitle && <h1>{isTable ? 'Get Your Tables' : formTitle}</h1>}\n <div className=\"order_info_text\">{orderInfoLabel}</div>\n <div\n className=\"order_info_section\"\n style={{ display: hasTableTypes ? 'block' : 'grid' }}\n >\n {_map(paymentFieldsData, field => {\n const { id, label, className = '', normalizer = _identity } = field\n let value = orderData[id as keyof IOrderData] || \"\"\n let component = null\n\n if (field.id === 'add_ons' && _isEmpty(value)) {\n return false\n }\n\n if (\n field.id === 'total' &&\n paymentPlanIsAvailable &&\n showPaymentPlanSection\n ) {\n value = '' + paymentPlanConfig.total\n }\n\n if (field.id === 'tableTypes') {\n const valueArray = value as Array<any>\n\n component = (\n <div\n key={id}\n className=\"order_info_block\"\n style={{\n display: 'flex',\n flexDirection: 'column',\n }}\n >\n {_map(valueArray, tableTypeItem => (\n <div\n key={tableTypeItem.id}\n style={{\n display: 'grid',\n gridTemplateColumns: '33% 33% 33%',\n gridColumnGap: '10%',\n }}\n >\n <div className=\"order_info_block\">\n <div className=\"order_info_title\">Table Type</div>\n <div className={`${className} order_info_text`}>\n {tableTypeItem.ticketType}\n </div>\n </div>\n <div className=\"order_info_block\">\n <div className=\"order_info_title\">Number of Tables</div>\n <div className={`${className} order_info_text`}>\n {tableTypeItem.count}\n </div>\n </div>\n <div className=\"order_info_block\">\n <div className=\"order_info_title\">Guest Count</div>\n <div className={`${className} order_info_text`}>\n {tableTypeItem.quantity}\n </div>\n </div>\n </div>\n ))}\n </div>\n )\n }\n\n return (\n component || (\n <div key={id} className={`order_info_block ${className}`}>\n <div className=\"order_info_title\">{label}</div>\n <div className={`${className} order_info_text`}>\n {typeof value === 'string' || typeof value === 'number'\n ? normalizer(value, currency, orderData)\n : _map(value, item => (\n <div>\n <div key={item.id} className=\"add-on-container\">\n <span>{item.quantity}</span>\n <span className=\"add-on-x\">{' x '}</span>\n <span>\n {item.groupName ? item.groupName + ' - ' : ''}\n </span>\n <span>{item.name}</span>\n <span>{' - '}</span>\n <span>\n {CONFIGS.FEES_STYLE === FEES_STYLES.TRADITIONAL && (currencyNormalizerCreator(\n createFixedFloatNormalizer(2)(parseFloat(item.price)),\n currency\n ) + ' (incl. fees)')}\n {CONFIGS.FEES_STYLE === FEES_STYLES.DISPLAY_BOTH && currencyNormalizerCreator(\n createFixedFloatNormalizer(2)(parseFloat(item.cost)),\n currency\n )}\n </span>\n <span className=\"add-on-each\">{' each'}</span>\n </div>\n {CONFIGS.FEES_STYLE === FEES_STYLES.DISPLAY_BOTH && (\n <p className=\"fees\">\n {`(${currencyNormalizerCreator(\n createFixedFloatNormalizer(2)(parseFloat(String(item.price))),\n currency\n )} with fees)`}\n </p>\n )}\n </div>\n ))}\n </div>\n </div>\n )\n )\n })}\n </div>\n {!isFreeTickets && paymentPlanIsAvailable && (\n <div className=\"payment_toggle\">\n <Checkbox\n label={\n <span className=\"payment_plan_toggle_label\">\n Click to checkout using Payment Plan\n </span>\n }\n required={true}\n onChange={() => {\n setShowPaymentPlanSection(!showPaymentPlanSection)\n }}\n checked={showPaymentPlanSection}\n />\n </div>\n )}\n {showPaymentPlanSection && (\n <PaymentPlanSection\n paymentPlanConfig={paymentPlanConfig}\n currency={currency}\n paymentPlanUseSavedCard={paymentPlanUseSavedCard}\n setPaymentPlanUseSavedCard={setPaymentPlanUseSavedCard}\n />\n )}\n {showPaymentForm() ? (\n <div className=\"payment_info\">\n <div className=\"payment_info_label\">{paymentInfoLabel}</div>\n {showErrorText && <p className=\"payment_info__error\">{errorText}</p>}\n <div>\n <Elements\n stripe={getStripePromise(reviewData)}\n options={elementsOptions}\n >\n <StripePayment\n stripe_client_secret={\n paymentPlanIsAvailable && showPaymentPlanSection\n ? paymentPlanConfig.stripe_setup_intent_secret\n : _get(reviewData, 'payment_method.stripe_client_secret')\n }\n hasSeatMapActions={reviewData.event_details.flagSeatMapAllowed}\n total={orderData.guest_count ? orderData.pay_now : orderData.total}\n onSubmit={handlePaymentMiddleWare}\n error={error}\n orderId={orderData.id}\n currency={orderData.currency}\n billing_info={reviewData.billing_info}\n isLoading={paymentIsLoading}\n handleSetLoading={value => setPaymentIsLoading(value)}\n conditions={conditions}\n stripeCardOptions={stripeCardOptions}\n disableZipSection={disableZipSection}\n paymentButtonText={paymentButtonText}\n forPaymentPlan={paymentPlanIsAvailable && showPaymentPlanSection}\n />\n </Elements>\n </div>\n </div>\n ) : (\n <div\n className={`payment_button ${paymentIsLoading ? 'disabled-payment-button' : ''\n }`}\n >\n <button\n disabled={paymentIsLoading}\n type=\"button\"\n onClick={() => {\n setPaymentIsLoading(true)\n let data\n\n if (\n paymentPlanIsAvailable &&\n showPaymentPlanSection &&\n paymentPlanUseSavedCard\n ) {\n data = {\n paymentMethodId:\n paymentPlanConfig.saved_card?.stripe_payment_method_id,\n }\n }\n\n handlePaymentMiddleWare(null, data)\n }}\n >\n {paymentIsLoading ? (\n <CircularProgress size={26} />\n ) : isFreeTickets ? (\n 'Complete Registration'\n ) : (\n 'Confirm Payment Plan'\n )}\n </button>\n </div>\n )}\n </Container>\n )}\n </div>\n </ThemeProvider>\n )\n}\n","import _isNumber from 'lodash/isNumber'\n\nexport const isValidNumber = (value?: number | string): boolean => {\n if (isNaN(Number(value))) {\n return false\n }\n return _isNumber(Number(value))\n}\n","export const getImage = (name: string = ''): any => {\n let image: any = ''\n\n if (!name.trim().length) {\n return image\n }\n\n if (process.env.NODE_ENV === 'production') {\n image = require(`./images/${name}`)\n return image.default\n }\n\n return image\n}\n","import _identity from 'lodash/identity'\nimport React from 'react'\nimport SVG from 'react-inlinesvg'\n\nimport { getImage } from '../../utils/getImage'\n\ninterface IShareButtonProps {\n url: string;\n disabled: boolean;\n children: Node;\n}\n\nexport const SpotifyIcon = () => <SVG src={getImage('spotify.svg')} />\n\nexport const InstagramIcon = () => <SVG src={getImage('instagram.svg')} />\n\nexport const SocialButton = (props: IShareButtonProps) => {\n const { children, url, disabled } = props\n\n const handleClick = () => {\n window.open(url)\n }\n\n return (\n <button\n className={`react-share__ShareButton ${disabled ? 'disabled-action' : ''}`}\n type=\"button\"\n onClick={!disabled ? handleClick : _identity}\n >\n {children}\n </button>\n )\n}\n","import {\n EmailIcon,\n EmailShareButton,\n FacebookIcon,\n FacebookMessengerIcon,\n FacebookMessengerShareButton,\n FacebookShareButton,\n HatenaIcon,\n HatenaShareButton,\n InstapaperIcon,\n InstapaperShareButton,\n LineIcon,\n LineShareButton,\n LinkedinIcon,\n LinkedinShareButton,\n LivejournalIcon,\n LivejournalShareButton,\n MailruIcon,\n MailruShareButton,\n OKIcon,\n OKShareButton,\n PinterestIcon,\n PinterestShareButton,\n PocketIcon,\n PocketShareButton,\n RedditIcon,\n RedditShareButton,\n TelegramIcon,\n TelegramShareButton,\n TumblrIcon,\n TumblrShareButton,\n TwitterIcon,\n TwitterShareButton,\n ViberIcon,\n ViberShareButton,\n VKIcon,\n VKShareButton,\n WeiboIcon,\n WeiboShareButton,\n WhatsappIcon,\n WhatsappShareButton,\n WorkplaceIcon,\n WorkplaceShareButton,\n} from 'react-share'\n\nimport { InstagramIcon, SocialButton, SpotifyIcon } from '../common/socials'\n\nconst config: any = {\n facebook: { component: FacebookShareButton, icon: FacebookIcon },\n messenger: {\n component: FacebookMessengerShareButton,\n icon: FacebookMessengerIcon,\n },\n twitter: { component: TwitterShareButton, icon: TwitterIcon },\n linkedin: { component: LinkedinShareButton, icon: LinkedinIcon },\n pinterest: { component: PinterestShareButton, icon: PinterestIcon },\n vk: { component: VKShareButton, icon: VKIcon },\n ok: { component: OKShareButton, icon: OKIcon },\n telegram: { component: TelegramShareButton, icon: TelegramIcon },\n whatsapp: { component: WhatsappShareButton, icon: WhatsappIcon },\n reddit: { component: RedditShareButton, icon: RedditIcon },\n tumblr: { component: TumblrShareButton, icon: TumblrIcon },\n mailru: { component: MailruShareButton, icon: MailruIcon },\n email: { component: EmailShareButton, icon: EmailIcon },\n livejournal: { component: LivejournalShareButton, icon: LivejournalIcon },\n viber: { component: ViberShareButton, icon: ViberIcon },\n workplace: { component: WorkplaceShareButton, icon: WorkplaceIcon },\n line: { component: LineShareButton, icon: LineIcon },\n pocket: { component: PocketShareButton, icon: PocketIcon },\n instapaper: { component: InstapaperShareButton, icon: InstapaperIcon },\n weibo: { component: WeiboShareButton, icon: WeiboIcon },\n hatena: { component: HatenaShareButton, icon: HatenaIcon },\n instagram: { component: SocialButton, icon: InstagramIcon },\n spotify: { component: SocialButton, icon: SpotifyIcon },\n}\n\nexport default function(key: string) {\n return config[key]\n}\n","import _identity from 'lodash/identity'\nimport React, { ReactElement } from 'react'\n\nimport { isValidNumber } from '../../utils/isValidNumber'\nimport config from './config'\nimport { IShareButton } from './index'\n\nconst SocialComponent = ({\n mainLabel,\n subLabel,\n platform,\n shareData,\n points,\n onAfterShare,\n alreadyApplied,\n oneTimeAction,\n}: IShareButton) => {\n const Component = config(platform)?.component\n const Icon = config(platform)?.icon\n const isActionDisabled = alreadyApplied && oneTimeAction\n return (\n <>\n {Component && (\n <Component {...shareData} disabled={isActionDisabled}>\n <div\n onKeyDown={_identity}\n onClick={!isActionDisabled ? onAfterShare : _identity}\n className={`social-media-sharing ${platform}`}\n >\n <div className=\"share-icon\">\n <Icon size={32} round />\n </div>\n <span className=\"share-text\">\n <span className=\"main-label\">{mainLabel} </span>\n <span className=\"sub-label\">{subLabel}</span>\n </span>\n {isValidNumber(points) && (\n <div className=\"share-points\">\n <span className=\"points-count\">{points}</span>\n <span className=\"points-text\">Points</span>\n </div>\n )}\n </div>\n </Component>\n )}\n </>\n )\n}\n\ninterface SocialButtonsTypes {\n shareLink: string;\n name: string;\n appId: string;\n showDefaultShareButtons: boolean;\n shareButtons: IShareButton[];\n titleText?: string;\n footerText?: string | ReactElement;\n clientLabel?: string;\n showReferralsInfoText?: boolean;\n onAfterShare?: (eventActionId: string | undefined) => void;\n}\n\nconst SocialButtons = ({\n showDefaultShareButtons,\n shareLink,\n name,\n appId,\n shareButtons,\n titleText = 'or use one of these convenient buttons:',\n footerText = (\n <p>\n We <strong>never</strong> post on Facebook without your permission!\n </p>\n ) as ReactElement,\n clientLabel,\n onAfterShare = _identity,\n showReferralsInfoText = false,\n}: SocialButtonsTypes) => (\n <>\n {titleText && <div className=\"convenient_buttons\">{titleText}</div>}\n <div className=\"social-media-btns\">\n {showDefaultShareButtons && (\n <>\n <SocialComponent\n mainLabel=\"Share on\"\n subLabel=\"Facebook\"\n platform=\"facebook\"\n shareData={{\n quote: name,\n url: shareLink,\n }}\n />\n <SocialComponent\n mainLabel=\"Tweet to your\"\n subLabel=\"Followers\"\n platform=\"twitter\"\n shareData={{\n title: name,\n url: shareLink,\n }}\n />\n <SocialComponent\n mainLabel=\"Message friends on\"\n subLabel=\"Facebook\"\n platform=\"messenger\"\n shareData={{\n appId,\n url: shareLink,\n }}\n />\n <SocialComponent\n mainLabel=\"Message friends on\"\n subLabel=\"Whatsapp\"\n platform=\"whatsapp\"\n shareData={{\n title: name,\n url: shareLink,\n }}\n />\n </>\n )}\n {shareButtons.map((shareButton: IShareButton, index: number) => (\n <SocialComponent\n onAfterShare={() => onAfterShare(shareButton.eventActionId)}\n key={index}\n {...shareButton}\n />\n ))}\n </div>\n {showDefaultShareButtons || shareButtons.length ? footerText : null}\n {(showReferralsInfoText || Boolean(clientLabel)) && (\n <p className=\"note-message\">\n <span>\n *Please note, only purchases made from a different{' '}\n {clientLabel || 'Ticket Fairy'} account can count towards your referrals\n </span>\n <span>\n {' '}\n so please make sure you ask your friends to buy their own tickets using their\n own {clientLabel || 'Ticket Fairy'} account!\n </span>\n </p>\n )}\n </>\n)\n\nexport default SocialButtons\n","/* eslint-disable max-len */\nimport './style.css'\n\nimport axios, { AxiosError } from 'axios'\nimport _get from 'lodash/get'\nimport _identity from 'lodash/identity'\nimport _map from 'lodash/map'\nimport React, { SyntheticEvent, useEffect, useRef, useState } from 'react'\n\nimport { getConfirmationData } from '../../api'\nimport { usePixel } from '../../hooks/usePixel'\nimport { IReferralPromotion } from '../../types'\nimport { createMarkup, isBrowser } from '../../utils'\nimport { CopyMessageModal } from '../common'\nimport SocialButtons from './social-buttons'\n\nexport interface IShareButton {\n mainLabel: string;\n subLabel: string;\n platform: string;\n shareData: any;\n points?: number | string;\n onAfterShare?: (event: SyntheticEvent) => void;\n eventActionId?: string;\n oneTimeAction?: boolean;\n alreadyApplied?: boolean;\n}\n\nexport interface IConfirmationLabels {\n confirmationTitle?: string;\n confirmationMain?: string;\n confirmationHelper?: string;\n paymentPlanConfirmationTitle?: string;\n paymentPlanConfirmationMain?: string;\n paymentPlanConfirmationHelper?: string;\n}\n\nexport interface IConfirmationPage {\n hasCopyIcon?: boolean;\n isReferralEnabled: boolean;\n showDefaultShareButtons: boolean;\n messengerAppId: string;\n shareButtons: IShareButton[];\n onGetConfirmationDataSuccess: (res: ICheckoutCompleteData) => void;\n onGetConfirmationDataError: (e: AxiosError) => void;\n onLinkCopied: () => void;\n orderHash?: string;\n confirmationLabels: IConfirmationLabels;\n clientLabel?: string;\n showReferralsInfoText?: boolean;\n showCopyInfoModal?: boolean;\n showPricingNoteSection?: boolean;\n}\n\nexport const ConfirmationContainer = ({\n confirmationLabels,\n hasCopyIcon = true,\n isReferralEnabled,\n showDefaultShareButtons,\n messengerAppId = '',\n shareButtons = [],\n onGetConfirmationDataSuccess = _identity,\n onGetConfirmationDataError = _identity,\n orderHash,\n onLinkCopied = _identity,\n clientLabel,\n showReferralsInfoText = false,\n showCopyInfoModal = false,\n showPricingNoteSection = false,\n}: IConfirmationPage) => {\n const inputRef = useRef(null)\n const [data, setData] = useState<ICheckoutCompleteData | null>(null)\n const dataEncoded = (isBrowser && window.localStorage.getItem('checkoutData')) || ''\n const dataDecoded = dataEncoded ? JSON.parse(dataEncoded) : { hash: orderHash }\n const { hash } = dataDecoded\n const eventId = data?.product_id || ''\n\n useEffect(() => {\n (async () => {\n if (hash) {\n try {\n const confirmationDataResponse = await getConfirmationData(hash)\n const data = confirmationDataResponse.data.attributes\n data.personal_share_sales = data.personal_share_sales.map(salesItem => {\n const salesData: IReferralPromotion = {\n label: `If your friends buy ${salesItem.sales} tickets`,\n price: '',\n }\n if (salesItem.price === 0) {\n salesData.subLabel = 'Your ticket becomes'\n salesData.price = 'FREE!'\n } else {\n salesData.subLabel = 'Your ticket goes down to'\n salesData.price = data.currency.symbol + Number(salesItem.price).toFixed(2)\n }\n\n return salesData\n })\n data.personal_share_sales.unshift({\n label: 'Your ticket is currently',\n price: data.currency.symbol + data.product_price?.toFixed(2),\n })\n setData(data)\n onGetConfirmationDataSuccess(confirmationDataResponse.data.attributes)\n } catch (error) {\n if (axios.isAxiosError(error)) onGetConfirmationDataError(error)\n }\n }\n })()\n }, [hash])\n\n const [showCopyModal, setShowCopyModal] = useState(false)\n\n const onClose = () => {\n setShowCopyModal(false)\n }\n\n const onChangeShareLink = (e: React.ChangeEvent<HTMLInputElement>) => {\n const newData = {\n ...data,\n personal_share_link: e.target.value,\n } as ICheckoutCompleteData\n setData(newData)\n }\n const {\n confirmationTitle = 'Your Tickets are Confirmed!',\n confirmationMain = 'Your tickets are available in My Tickets section',\n confirmationHelper = 'Please bring them with you to the event',\n paymentPlanConfirmationTitle = 'Your Tickets are Confirmed!',\n paymentPlanConfirmationMain = 'Your payment plan is pending and we are trying to take your initial payment. If your initial payment does not complete, your payment plan will be cancelled.',\n paymentPlanConfirmationHelper = 'You will receive a confirmation with your tickets once your final payment has been made.',\n } = confirmationLabels\n\n const pageUrl = isBrowser ? window.location.href.split('?')[0] : ''\n usePixel(eventId, { page: 'complete', pageUrl, orderHash: hash })\n\n return (\n <div className=\"confirmation-page\">\n {showCopyInfoModal && (\n <CopyMessageModal onClose={onClose} showCopyModal={showCopyModal} />\n )}\n {data && (\n <>\n <div className=\"header-container\">\n <div className=\"header-product-image\">\n <img alt=\"\" className=\"product-image\" src={data.product_image} />\n </div>\n <div className=\"header-product-text\">\n <p className=\"title\">\n {data.is_payment_plan ? paymentPlanConfirmationTitle : confirmationTitle}\n </p>\n <div\n className=\"share-message-section\"\n dangerouslySetInnerHTML={\n data.custom_confirmation_page_text &&\n data.custom_confirmation_page_text_full_replacement\n ? createMarkup(data.custom_confirmation_page_text)\n : undefined\n }\n >\n {data.custom_confirmation_page_text &&\n data.custom_confirmation_page_text_full_replacement ? undefined : (\n <>\n {Boolean(data.is_payment_plan) && (\n <>\n <span className=\"main\">{paymentPlanConfirmationMain}</span>\n <span className=\"helper\">{paymentPlanConfirmationHelper}</span>\n </>\n )}\n {!data.is_payment_plan && (\n <>\n {data.attach_tickets ? (\n <span className=\"main\">\n Your tickets have been emailed to you\n </span>\n ) : (\n <span className=\"main\">{confirmationMain}</span>\n )}\n <span className=\"helper\">\n {data.attach_tickets\n ? 'Please bring them with you to the event'\n : confirmationHelper}\n </span>\n </>\n )}\n </>\n )}\n </div>\n </div>\n </div>\n {data.custom_confirmation_page_text &&\n !data.custom_confirmation_page_text_full_replacement ? (\n <div\n className=\"custom-confirmation-page-text\"\n dangerouslySetInnerHTML={createMarkup(data.custom_confirmation_page_text)}\n />\n ) : null}\n {data.disable_referral === false && isReferralEnabled && (\n <>\n <div className=\"referral_text_image_section\">\n <div className=\"referral_text_section\">\n <div className=\"referral_title_text\">\n Your ticket can become\n <span className=\"strong-text\"> cheaper </span>\n or even\n <span className=\"strong-text\"> FREE!</span>\n </div>\n <div className=\"referral_text\">\n <span className=\"strong-text\"> Invite friends </span>\n and we'll refund up to\n <span className=\"strong-text\"> 100% </span>\n of your ticket money, if they buy tickets as well!\n </div>\n </div>\n <img\n className=\"body-product-image\"\n src={data.product_image}\n alt=\"No Data\"\n />\n </div>\n <div className=\"share_wrapper\">\n <div className=\"share_section\">\n <div className=\"invitation_section\">\n <div className=\"invitation_title\">\n How do you invite your friends?\n </div>\n <div className=\"share_buttons\">\n <div className=\"share-by-link\">\n <h5 className=\"share-by-link label\">Send them this link:</h5>\n <div className=\"share-btn-inner\">\n <input\n ref={inputRef}\n className=\"share-input\"\n value={data.personal_share_link}\n onChange={onChangeShareLink}\n />\n <div\n aria-hidden={true}\n className=\"share-by-link-copy-icon\"\n onClick={() => {\n navigator.clipboard.writeText(\n _get(inputRef, 'current.value') || \"\"\n )\n setShowCopyModal(true)\n onLinkCopied()\n }}\n >\n {hasCopyIcon ? (\n <img\n src=\"https://img.icons8.com/office/50/000000/copy.png\"\n alt=\"copy\"\n />\n ) : (\n <span className=\"copy-icon\">Copy</span>\n )}\n </div>\n </div>\n </div>\n {(showDefaultShareButtons || !!shareButtons.length) && (\n <SocialButtons\n showDefaultShareButtons={showDefaultShareButtons}\n name={data.product_name}\n appId={messengerAppId}\n shareLink={data.personal_share_link}\n shareButtons={shareButtons}\n clientLabel={clientLabel}\n showReferralsInfoText={showReferralsInfoText}\n />\n )}\n </div>\n </div>\n </div>\n <div className=\"pricing-section\">\n <div className=\"invitation_title\">How much cheaper?</div>\n {_map(data.personal_share_sales, (pricing, index) => (\n <div key={index} className=\"pricing-section_wrapper\">\n <div className=\"pricing-section_label\">\n {pricing.label}\n {pricing.subLabel && (\n <div className=\"pricing-section_sublabel\">\n {pricing.subLabel}\n </div>\n )}\n </div>\n <div className=\"pricing-section_price\"> {pricing.price}</div>\n </div>\n ))}\n {showPricingNoteSection && (\n <div className=\"note-pricing-section\">\n ^ This is based on the most expensive ticket in your order.\n </div>\n )}\n </div>\n </div>\n </>\n )}\n </>\n )}\n </div>\n )\n}\n","import { AxiosRequestConfig, AxiosResponse } from 'axios'\n\nimport { publicRequest } from '../api/publicRequest'\n\nexport const getPreRegistrationInfluancers = async (\n data: IInfluancersRequestData\n): Promise<IInfluancersResponseData> => {\n const response: AxiosResponse<IInfluancersResponseData, AxiosRequestConfig> =\n await publicRequest.get(`v1/event/${data.eventId}/pre-registration/influencers`)\n return response.data\n}\n\nexport const getPreRegistrationShareOptions = async (\n data: IShareOptionsRequestData\n): Promise<IShareOptionsResponseData> => {\n const response: AxiosResponse<IShareOptionsResponseData, AxiosRequestConfig> =\n await publicRequest.get(`/v1/pre-registration/${data.hash}/confirmation-page`)\n return response.data\n}\n\nexport const submitShareAction = async (\n data: ISubmitShareActionRequestData\n): Promise<ISubmitShareActionResponseData> => {\n const { eventActionId, accessToken, hash } = data\n\n const response: AxiosResponse<ISubmitShareActionResponseData, AxiosRequestConfig> =\n await publicRequest.post(`/v1/pre-registration/${hash}/submit-action`, {\n data: {\n attributes: {\n phase: 'pre-registration',\n eventActionId: Number(eventActionId),\n accessToken,\n },\n },\n })\n return response.data\n}\n","import { useEffect, useRef, useState } from 'react'\n\nimport { getCookieByName } from '../utils'\n\nexport const useCookieListener = (\n key: string,\n handler: (value: string | null) => void\n) => {\n const getCookie = () => getCookieByName(key)\n const [intervalValue, setIntervalValue] = useState<NodeJS.Timeout>()\n const cookieRef = useRef<string>(getCookie())\n\n const handleCookieChange = () => {\n const currentCookie = getCookie()\n const prevCookie = cookieRef.current\n\n if (currentCookie !== prevCookie) {\n cookieRef.current = getCookie()\n handler(cookieRef.current)\n }\n }\n\n useEffect(() => {\n const interval = setInterval(handleCookieChange, 500)\n setIntervalValue(interval)\n\n return () => {\n intervalValue && clearInterval(intervalValue)\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [])\n}\n","import { useEffect, useState } from 'react'\n\nexport function useLocalStorageListener(\n key: string,\n callback: (value: string | null) => void\n): string | null {\n const isWindowDefined = typeof window !== 'undefined'\n const [value, setValue] = useState<string | null>(\n isWindowDefined ? localStorage.getItem(key) : ''\n )\n\n useEffect(() => {\n const intervalId = setInterval(() => {\n const newValue = localStorage.getItem(key)\n if (newValue !== value) {\n setValue(newValue)\n if (newValue) {\n const parsed = JSON.parse(newValue)\n if (parsed) {\n callback(parsed)\n }\n }\n }\n }, 100)\n\n return () => {\n clearInterval(intervalId)\n }\n }, [key, value, callback])\n\n return value\n}\n","import React, { useEffect, useState } from 'react'\nimport moment from 'moment-timezone'\nimport './style.css'\n\ninterface CountdownTypes {\n startDate: string;\n timezone?: string;\n title?: string;\n message?: string;\n showMessage?: boolean;\n disableLeadingZero?: boolean;\n callback?: () => void;\n isLoggedIn?: boolean;\n}\n\nconst isTimeExpired = (startDate: string, timezone: string) => {\n return !moment(startDate).isAfter(moment.tz(moment(), timezone).format('YYYY-MM-DD HH:mm:ss'))\n}\n\nfunction Countdown({\n startDate,\n timezone = moment.tz.guess(),\n title = '',\n message = '',\n showMessage = false,\n disableLeadingZero = false,\n callback = () => {},\n isLoggedIn\n}: CountdownTypes) {\n const [duration, setDuration] = useState('')\n const [timeExpired, setTimeExpired] = useState(false)\n\n useEffect(() => {\n setTimeExpired(isTimeExpired(startDate, timezone))\n }, [])\n\n useEffect(() => {\n let timer: any;\n\n if(!timeExpired) {\n timer = setInterval(() => {\n if(isTimeExpired(startDate, timezone)) {\n clearInterval(timer)\n setTimeExpired(true)\n callback()\n return\n }\n\n const currentDate = moment.tz(moment(), timezone).format('YYYY-MM-DD HH:mm:ss')\n const diffTime = moment(startDate).diff(currentDate)\n const duration = moment.duration(diffTime)\n const dateArr: any = {\n year: duration.years(),\n month: duration.months(),\n day: duration.days(),\n hour: duration.hours(),\n minute: duration.minutes(),\n second: duration.seconds(),\n }\n let timeLeft = ''\n \n for(let date in dateArr) {\n const unit = dateArr[date] === 1 ? date : date + 's'\n let val = dateArr[date]\n\n if (!disableLeadingZero && String(dateArr[date]).length === 1) {\n val = '0' + dateArr[date]\n }\n\n if(timeLeft) {\n timeLeft += `, ${val} ${unit}`\n } else if(dateArr[date]) {\n timeLeft += `${val} ${unit}`\n }\n }\n \n setDuration(timeLeft)\n }, 1000)\n }\n return () => {\n clearInterval(timer)\n }\n }, [timeExpired])\n\n return (\n <>\n {!timeExpired && duration && (\n <div className={`countdown ${!isLoggedIn ? 'countdown-on-bottom' : ''}`}>\n <div>\n <p className='title'>{title}</p>\n <p>{duration}</p>\n </div>\n {showMessage && <p className='message'>{message}</p>}\n </div>\n )}\n </>\n )\n}\n\nexport default Countdown\n","import './style.css'\n\nimport Button from '@mui/material/Button'\nimport CircularProgress from '@mui/material/CircularProgress'\nimport { Field, Form, Formik } from 'formik'\nimport _find from 'lodash/find'\nimport React, { useState } from 'react'\n\nimport { addToWaitingList } from '../../api'\nimport { isBrowser } from '../../utils'\nimport { ErrorFocus } from '../../utils/formikErrorFocus'\nimport {\n combineValidators,\n emailValidator,\n requiredValidator,\n} from '../../validators'\nimport { CustomField } from '../common/index'\n\ninterface WaitingListProps {\n tickets: any;\n eventId: number;\n defaultMaxQuantity: number;\n}\n\ninterface WaitingListFields {\n ticketTypeId: string;\n quantity: string;\n firstName: string;\n lastName: string;\n email: string;\n}\n\nconst generateQuantity = (n: number) => {\n const quantityList = []\n for (let i = 1; i <= n; i++) {\n quantityList.push({ label: i, value: i })\n }\n return quantityList\n}\n\nconst WaitingList = ({\n tickets = {},\n eventId,\n defaultMaxQuantity = 10,\n}: WaitingListProps) => {\n const userData =\n isBrowser && window.localStorage.getItem('user_data')\n ? JSON.parse(window.localStorage.getItem('user_data') || '')\n : {}\n\n const [showSuccessMessage, setShowSuccessMessage] = useState(false)\n const [loading, setLoading] = useState(false)\n const ticketTypesList = Object.values(tickets).map((d: any) => ({\n label: d.displayName,\n value: d.id,\n }))\n\n const showTicketsField = Boolean(ticketTypesList.length)\n\n const handleSubmit = async (values: WaitingListFields) => {\n try {\n setLoading(true)\n const response = await addToWaitingList(eventId, { attributes: values })\n\n if (response.success) {\n setShowSuccessMessage(true)\n }\n } catch (error) {\n } finally {\n setLoading(false)\n }\n }\n\n return (\n <div className=\"waiting-list\">\n {showSuccessMessage ? (\n <div className=\"success-message\">\n <p className=\"added-success-message\">You&apos;ve been added to the waiting list!</p>\n <p>You&apos;ll be notified if tickets become available.</p>\n </div>\n ) : (\n <>\n <h2>WAITING LIST</h2>\n <Formik\n initialValues={{\n ticketTypeId: '',\n quantity: '',\n firstName: userData.first_name || '',\n lastName: userData.last_name || '',\n email: userData.email || '',\n }}\n onSubmit={handleSubmit}\n >\n {({ values, setFieldValue }) => {\n const selectedTicket = _find(tickets, n => n.id === values.ticketTypeId)\n return (\n <Form>\n <ErrorFocus />\n {showTicketsField && (\n <>\n <div className=\"field-item\">\n <Field\n name=\"ticketTypeId\"\n label=\"Type of Ticket\"\n type=\"select\"\n component={CustomField}\n onChange={(e: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>) => {\n setFieldValue('ticketTypeId', e.target.value)\n setFieldValue('quantity', '')\n }}\n selectOptions={[\n { label: 'Type of Ticket', value: '', disabled: true },\n ...ticketTypesList,\n ]}\n />\n </div>\n <div className=\"field-item\">\n <Field\n name=\"quantity\"\n label=\"Quantity Requested\"\n type=\"select\"\n component={CustomField}\n selectOptions={[\n {\n label: 'Quantity Requested',\n value: '',\n disabled: true,\n },\n ...generateQuantity(selectedTicket?.waitingListMaxQuantity || (defaultMaxQuantity ?? 10)\n ),\n ]}\n />\n </div>\n </>\n )}\n <div className=\"field-item\">\n <Field\n name=\"firstName\"\n label=\"First name\"\n validate={(value: string) =>\n requiredValidator(value, 'Please enter your First name')\n }\n component={CustomField}\n />\n </div>\n <div className=\"field-item\">\n <Field\n name=\"lastName\"\n label=\"Last name\"\n validate={(value: string) =>\n requiredValidator(value, 'Please enter your Last name')\n }\n component={CustomField}\n />\n </div>\n <div className=\"field-item\">\n <Field\n name=\"email\"\n label=\"Email\"\n validate={combineValidators(\n (value: string) =>\n requiredValidator(value, 'Please enter your Email'),\n (value: string) => emailValidator(value)\n )}\n component={CustomField}\n />\n </div>\n\n <Button\n type=\"submit\"\n variant=\"contained\"\n className=\"waiting-list-button\"\n >\n {loading ? (\n <CircularProgress size=\"22px\" />\n ) : (\n 'ADD TO WAITING LIST'\n )}\n </Button>\n </Form>\n )\n }}\n </Formik>\n </>\n )}\n </div>\n )\n}\n\nexport default WaitingList\n","import React from 'react'\nimport Button from 'react-bootstrap/Button'\n\nexport interface IAccessCodeSectionProps {\n code: string;\n setCode: (value: string) => void;\n updateTickets: (value: boolean) => void;\n}\n\n// This section is seperate because additional changes layter may be applied to Access Code\n\nexport const AccessCodeSection = ({\n code,\n setCode,\n updateTickets\n}: IAccessCodeSectionProps) => {\n const isAccessCodeHasValue = !!code.trim()\n\n return (\n <div className=\"access-code-block\">\n <div className=\"access-code-block\">\n <p className=\"access-code-text\">\n Access code required\n </p>\n </div>\n <input\n className=\"access-code-input\"\n placeholder=\"\"\n onChange={e => {\n setCode(e.target.value)\n }}\n onKeyPress={event => {\n if (event.key === 'Enter' && isAccessCodeHasValue) {\n updateTickets(true)\n }\n }}\n />\n <Button\n className=\"access-submit-button\"\n onClick={() => {\n if (isAccessCodeHasValue) {\n updateTickets(true)\n }\n }}\n >\n ENTER\n </Button>\n </div>\n )\n}\n","import React from 'react'\nimport Button from 'react-bootstrap/Button'\nimport SVG from 'react-inlinesvg'\n\nimport DoneSvg from '../../assets/images/done.svg'\nimport XmarkSvg from '../../assets/images/xmark.svg'\n\nexport interface IPromoCodeSectionProps {\n code: string;\n codeIsApplied: boolean;\n showPromoInput: boolean;\n setCode: (value: string) => void;\n setShowPromoInput: (value: boolean) => void;\n updateTickets: (value: boolean, type: string) => void;\n setCodeIsApplied: (value: boolean) => void;\n codeIsInvalid: boolean;\n setCodeIsInvalid: (value: boolean) => void;\n promoText?: string;\n showAlertIcons?: boolean;\n}\n\nexport const PromoCodeSection = ({\n code,\n codeIsApplied,\n showPromoInput,\n setCode,\n setShowPromoInput,\n updateTickets,\n setCodeIsApplied,\n codeIsInvalid,\n setCodeIsInvalid,\n promoText,\n showAlertIcons\n}: IPromoCodeSectionProps) => {\n const isPromoCodeHasValue = !!code.trim()\n\n const renderInputField = () => (\n <div className=\"promo-code-block\">\n <div className=\"promo-code-block\">\n <p className=\"promo-code-text\">Promo code</p>\n </div>\n <input\n className=\"promo-code-input\"\n placeholder=\"\"\n onChange={e => {\n setCode(e.target.value)\n }}\n onKeyPress={event => {\n if (event.key === 'Enter' && isPromoCodeHasValue) {\n setShowPromoInput(false)\n updateTickets(true, 'promo')\n }\n }}\n />\n <Button\n className=\"promo-submit-button\"\n onClick={() => {\n if (isPromoCodeHasValue) {\n setShowPromoInput(false)\n updateTickets(true, 'promo')\n }\n }}\n >\n APPLY\n </Button>\n </div>\n )\n\n return (\n <div>\n {codeIsApplied ? (\n <div className=\"alert-info\">\n {showAlertIcons && (\n <SVG\n src={DoneSvg}\n preProcessor={code =>\n code.replace(/fill=\".*?\"/g, 'fill=\"currentColor\"')\n }\n />\n )}\n <p className=\"promo-code-success\">PROMO CODE APPLIED SUCCESSFULLY</p>\n </div>\n ) : null}\n {codeIsInvalid ? (\n <div className=\"alert-info fail\">\n {showAlertIcons && (\n <SVG\n src={XmarkSvg}\n />\n )}\n <p className=\"promo-code-fail\">Invalid Promo Code</p>\n </div>\n ) : null}\n {!showPromoInput && (\n <Button\n className=\"promo-code-button\"\n placeholder=\"Promo Codes\"\n onClick={() => {\n setCodeIsApplied(false)\n setShowPromoInput(true)\n setCodeIsInvalid(false)\n }}\n >\n {promoText ?? 'Got a promo code? Click here'}\n </Button>\n )}\n {showPromoInput && renderInputField()}\n </div>\n )\n}","import { useEffect } from 'react'\n\nimport { postReferralVisits } from '../../api'\n\ninterface IReferralLogicProps {\n eventId: string | number;\n}\n\nexport const ReferralLogic = (props: IReferralLogicProps) => {\n const { eventId } = props\n\n useEffect(() => {\n const isWindowDefined = typeof window !== 'undefined'\n\n if (isWindowDefined) {\n const params: URLSearchParams = new URL(`${window.location}`).searchParams\n const referralId = params.get('ttf_r') || params.get('referrer_id') || ''\n const referralValue = [eventId, '.', referralId].join('')\n const isAlreadyCounted = localStorage.getItem('referral_key') === referralValue\n\n if (referralId && eventId && !isAlreadyCounted) {\n (async () => {\n try {\n await postReferralVisits(`${eventId}`, referralId)\n localStorage.setItem('referral_key', referralValue)\n } catch (error) {}\n })()\n }\n }\n }, [eventId])\n\n return null\n}\n","export const getTicketSelectOptions = (maxCount = 10, minCount = 1, multiplier = 1) => {\n const options = [{ label: 0, value: 0 }]\n for (let i = minCount || 1; i <= Math.min(50, maxCount); i += multiplier) {\n options.push({ label: i, value: i })\n }\n return options\n}\n\ninterface eventDatesInfo {\n salesStarted: boolean;\n salesEnded: boolean;\n presalesStarted: boolean;\n presalesEnded: boolean;\n presalesEnabled: boolean;\n}\n\nexport const defineIsSalesClosed = (eventDatesInfo: eventDatesInfo): boolean => {\n const { salesStarted, salesEnded, presalesStarted, presalesEnded, presalesEnabled } =\n eventDatesInfo\n let isSalesClosed = false\n if (!salesStarted || (salesStarted && salesEnded)) {\n isSalesClosed = true\n }\n if (presalesEnabled) {\n if (\n (!presalesStarted && !presalesEnded) ||\n (presalesStarted && presalesEnded && !salesStarted)\n ) {\n isSalesClosed = true\n } else {\n isSalesClosed = false\n }\n }\n return isSalesClosed\n}\n","import './style.css'\n\nimport Box from '@mui/material/Box'\nimport FormControl from '@mui/material/FormControl'\nimport MenuItem from '@mui/material/MenuItem'\nimport Select from '@mui/material/Select'\nimport _get from 'lodash/get'\nimport React from 'react'\n\nimport { defineIsSalesClosed, getTicketSelectOptions } from './utils'\n\ninterface ITicketRowProps {\n ticketTier: any;\n prevTicketTier: any;\n selectedTickets: any;\n handleTicketSelect: any;\n event: any;\n isSeatMapAllowed?: boolean;\n tableType?: boolean;\n}\n\nexport const TicketRow = ({\n ticketTier,\n prevTicketTier,\n selectedTickets,\n handleTicketSelect,\n event,\n isSeatMapAllowed,\n tableType,\n}: ITicketRowProps) => {\n const soldOutMessage = ticketTier.soldOutMessage\n ? `${ticketTier.soldOutMessage}`.toUpperCase()\n : 'SOLD OUT'\n const isSalesClosed = defineIsSalesClosed({\n salesStarted: ticketTier.salesStarted,\n salesEnded: ticketTier.salesEnded,\n presalesStarted: event?.presalesStarted,\n presalesEnded: event?.presalesEnded,\n presalesEnabled: event?.presales_enabled,\n })\n const maxCount = tableType ? ticketTier.maxGuests : ticketTier.maxQuantity\n const minCount = tableType ? ticketTier.minGuests : ticketTier.minQuantity\n const { multiplier } = ticketTier\n const options = getTicketSelectOptions(maxCount, minCount, multiplier)\n\n const ticketsClosedMessage = !ticketTier.salesStarted\n ? 'Sales not started'\n : 'Sales Ended'\n const canPurchaseTicket = ticketTier.displayTicket && ticketTier.maxQuantity\n const isDirectPurchaseAllowed = _get(ticketTier, 'allowDirectPurchase', false)\n\n const onSaleContent = (\n <div className=\"get-tickets\">\n {ticketTier.isTable && <span>GUESTS</span>}\n <Box className=\"get-tickets__selectbox\">\n <FormControl fullWidth>\n <Select\n sx={{ borderRadius: 0 }}\n value={selectedTickets[ticketTier.id] ? selectedTickets[ticketTier.id] : 0}\n onChange={handleTicketSelect}\n displayEmpty\n inputProps={{ 'aria-label': 'Without label' }}\n MenuProps={{\n PaperProps: {\n sx: { maxHeight: 150 },\n className: 'get-tickets-paper',\n },\n }}\n >\n {options.map((option, index) => (\n <MenuItem key={index} value={option.value}>\n {option.value}\n </MenuItem>\n ))}\n </Select>\n </FormControl>\n </Box>\n </div>\n )\n\n let returnValue: any = ''\n\n // ticketTier.soldOut === false --> means that ticket is in the stock\n const isSoldOut =\n ticketTier.sold_out ||\n !(ticketTier.displayTicket || ticketTier.slotGroupId) ||\n ticketTier.soldOut ||\n ticketTier.soldOut === false\n\n if (isSoldOut) {\n returnValue = soldOutMessage\n } else if (isSalesClosed) {\n returnValue = ticketsClosedMessage\n } else if (canPurchaseTicket && isSeatMapAllowed && !isDirectPurchaseAllowed) {\n // Seat Map Tickets renderer logic\n returnValue = null\n } else if (\n canPurchaseTicket ||\n (canPurchaseTicket && event?.presalesStarted && !event?.presalesEnded)\n ) {\n returnValue = onSaleContent\n } else if (_get(prevTicketTier, 'in_stock')) {\n returnValue = 'SOON'\n }\n\n return <>{returnValue} </>\n}\n","import './style.css'\n\nimport _get from 'lodash/get'\nimport _sortBy from 'lodash/sortBy'\nimport React, { ReactNode, useState } from 'react'\nimport { Tooltip } from \"react-tooltip\"\n\nimport { FEES_STYLES } from \"../../constants\"\nimport { CONFIGS } from \"../../utils\"\nimport InfoIcon from './InfoIcon'\nimport { TicketRow } from './TicketRow'\n\nfunction decodeHTML(html: string): string {\n const textArea = document.createElement(\"textarea\")\n textArea.innerHTML = html\n return textArea.value\n}\n\ninterface ITicketsSectionProps {\n event: any;\n ticketsList: any;\n selectedTickets: any;\n handleTicketSelect: any;\n sortBySoldOut: boolean;\n hideTicketsHeader: boolean;\n hideTableTicketsHeader: boolean;\n tableTickets: any;\n ticketsHeaderComponent?: ReactNode;\n tableTicketsHeaderComponent?: ReactNode;\n showGroupNameBlock?: boolean;\n currencySybmol?: string;\n isSeatMapAllowed?: boolean;\n descriptionTrigger?: \"click\" | \"hover\";\n}\n\nexport const TicketsSection = ({\n event,\n ticketsList,\n selectedTickets,\n handleTicketSelect,\n sortBySoldOut,\n ticketsHeaderComponent,\n tableTicketsHeaderComponent,\n hideTicketsHeader,\n hideTableTicketsHeader,\n showGroupNameBlock,\n currencySybmol,\n isSeatMapAllowed,\n tableTickets,\n descriptionTrigger = 'click',\n}: ITicketsSectionProps) => {\n const symbol = _get(event, 'currency.symbol')\n const sortedTicketsList = sortBySoldOut\n ? _sortBy(_sortBy(ticketsList, 'sortOrder'), 'soldOut')\n : _sortBy(ticketsList, 'sortOrder')\n const showGroup = !!sortedTicketsList.find(ticket => ticket.groupName)\n const priceSymbol = currencySybmol || symbol\n\n const [visibleDescription, setVisibleDescription] = useState<string | null>(null)\n\n const handleDescriptionToggle = (ticketId: string) => {\n setVisibleDescription(current => (current === ticketId ? null : ticketId))\n }\n\n return (\n <>\n {!hideTicketsHeader && ticketsHeaderComponent}\n {sortedTicketsList.map((ticket, i, arr) => {\n const ticketPriceWithoutFees = `${priceSymbol} ${(+ticket.cost).toFixed(2)}`\n const ticketPriceWithFees = `${priceSymbol} ${(+ticket.price).toFixed(2)}`\n const ticketOldPrice = `${priceSymbol} ${(+ticket.oldPrice).toFixed(2)}`\n\n const isSoldOut = ticket.sold_out || !(ticket.displayTicket || ticket.slotGroupId) || ticket.soldOut\n const ticketSelect = (event: any) => {\n const { value } = event.target\n handleTicketSelect(ticket.id, value)\n }\n\n let ticketIsDiscounted = false\n if (ticket.oldPrice && !isSoldOut && ticket.oldPrice !== ticket.price) {\n ticketIsDiscounted = true\n }\n\n const ticketIsFree = +ticket.price === 0\n const ticketPriceElem = isSoldOut ? 'SOLD OUT' : ticketIsFree ? 'FREE' : (CONFIGS.FEES_STYLE == FEES_STYLES.DISPLAY_BOTH ? ticketPriceWithoutFees : ticketPriceWithFees)\n const isNewGroupTicket = ticket?.groupName !== arr[i - 1]?.groupName\n\n return (\n <React.Fragment key={ticket.id || ticket.name}>\n {showGroupNameBlock && showGroup && isNewGroupTicket ? (\n <div className=\"event-detail__tier group-title\">\n {ticket.groupName || ''}\n </div>\n ) : null}\n <div className={`event-detail__tier ${isSoldOut ? 'disabled' : ''}`}>\n <div className=\"event-detail__tier-name\">\n {ticket.displayName || ticket.name}\n {ticket.descriptionRich && (\n <>\n <span\n aria-hidden\n className=\"info-icon\"\n onClick={\n descriptionTrigger === \"click\"\n ? () => handleDescriptionToggle(ticket.id)\n : undefined\n }\n onMouseEnter={\n descriptionTrigger === \"hover\"\n ? () => setVisibleDescription(ticket.id)\n : undefined\n }\n onMouseLeave={\n descriptionTrigger === \"hover\"\n ? () => setVisibleDescription(null)\n : undefined\n }\n data-tooltip-id={`tooltip-${ticket.id}`}\n data-tooltip-content=\"View ticket info\"\n style={{\n marginLeft: 8,\n cursor: \"pointer\",\n display: \"flex\",\n }}\n >\n <InfoIcon />\n </span>\n\n <Tooltip id={`tooltip-${ticket.id}`} place=\"top\">\n {ticket.description || \"No description available\"}\n </Tooltip>\n </>\n )}\n </div>\n <div className=\"event-tickets-container\">\n <div className=\"event-detail__tier-price\">\n {ticketIsDiscounted && <p className=\"old-price\">{ticketOldPrice}</p>}\n <p className={isSoldOut ? 'sold-out' : ''}>{ticketPriceElem}</p>\n {!isSoldOut && !ticketIsFree && (\n <p className=\"fees\">\n {CONFIGS.FEES_STYLE === FEES_STYLES.TRADITIONAL && (ticket.feeIncluded ? '(incl. Fees)' : '(excl. Fees)')}\n {CONFIGS.FEES_STYLE === FEES_STYLES.DISPLAY_BOTH && `(${ticketPriceWithFees} with fees)`}\n </p>\n )}\n </div>\n <div className=\"event-detail__tier-state\" style={{ minWidth: 55 }}>\n <TicketRow\n ticketTier={ticket}\n prevTicketTier={arr[i - 1]}\n selectedTickets={selectedTickets}\n handleTicketSelect={ticketSelect}\n event={event}\n />\n </div>\n </div>\n {visibleDescription === ticket.id && (\n <div className=\"ticket-description\">\n <div dangerouslySetInnerHTML={{ __html: decodeHTML(ticket.descriptionRich) }} />\n </div>\n )}\n </div>\n </React.Fragment>\n )\n })}\n {!hideTableTicketsHeader && tableTicketsHeaderComponent}\n {tableTickets.map((ticket: any, i: any, arr: any) => {\n const ticketPriceWithoutFees = `${priceSymbol} ${(+ticket.cost).toFixed(2)}`\n const ticketPriceWithFees = `${priceSymbol} ${(+ticket.price).toFixed(2)}`\n const ticketOldPrice = `${priceSymbol} ${(+ticket.oldPrice).toFixed(2)}`\n\n const isSoldOut = ticket.sold_out || !(ticket.displayTicket || ticket.slotGroupId) || ticket.soldOut\n const ticketSelect = (event: any) => {\n const { value } = event.target\n handleTicketSelect(ticket.id, value, true)\n }\n\n let ticketIsDiscounted = false\n if (ticket.oldPrice && !isSoldOut && ticket.oldPrice !== ticket.price) {\n ticketIsDiscounted = true\n }\n\n const ticketIsFree = +ticket.price === 0\n const ticketPriceElem = isSoldOut\n ? 'SOLD OUT'\n : ticketIsFree\n ? 'FREE'\n : (CONFIGS.FEES_STYLE === FEES_STYLES.DISPLAY_BOTH ? ticketPriceWithoutFees : ticketPriceWithFees)\n const isNewGroupTicket = ticket?.groupName !== arr[i - 1]?.groupName\n\n return (\n <>\n <React.Fragment key={ticket.id || ticket.name}>\n {showGroupNameBlock && showGroup && isNewGroupTicket ? (\n <div className=\"event-detail__tier group-title\">\n {ticket.groupName || ''}\n </div>\n ) : null}\n <div className={`event-detail__tier ${isSoldOut ? 'disabled' : ''}`}>\n <div className=\"event-detail__tier-name\">\n {ticket.displayName || ticket.name}\n {ticket.descriptionRich && (\n <>\n <span\n aria-hidden\n className=\"info-icon\"\n onClick={\n descriptionTrigger === 'click'\n ? () => handleDescriptionToggle(ticket.id)\n : undefined\n }\n onMouseEnter={\n descriptionTrigger === 'hover'\n ? () => setVisibleDescription(ticket.id)\n : undefined\n }\n onMouseLeave={\n descriptionTrigger === 'hover'\n ? () => setVisibleDescription(null)\n : undefined\n }\n style={{ marginLeft: 8, cursor: 'pointer', display: \"flex\" }}\n data-tooltip-id={`tooltip-${ticket.id}`}\n data-tooltip-content=\"View ticket info\"\n >\n <InfoIcon />\n </span>\n <Tooltip id={`tooltip-${ticket.id}`} place=\"top\">\n {ticket.description || \"No description available\"}\n </Tooltip>\n </>\n )}\n </div>\n <div className=\"event-tickets-container\">\n <div className=\"event-detail__tier-price\">\n {ticketIsDiscounted && <p className=\"old-price\">{ticketOldPrice}</p>}\n <p className={isSoldOut ? 'sold-out' : ''}>{ticketPriceElem}</p>\n {!isSoldOut && !ticketIsFree && (\n <p className=\"fees\">\n {CONFIGS.FEES_STYLE === FEES_STYLES.TRADITIONAL && (ticket.feeIncluded ? '(incl. Fees)' : '(excl. Fees)')}\n {CONFIGS.FEES_STYLE === FEES_STYLES.DISPLAY_BOTH && `(${ticketPriceWithFees} with fees)`}\n </p>\n )}\n {ticket.depositPercent && (\n <p className=\"deposits\">{ticket.depositPercent + '% DEPOSIT'}</p>\n )}\n </div>\n <div className=\"event-detail__tier-state\" style={{ minWidth: 55 }}>\n <TicketRow\n tableType={true}\n ticketTier={ticket}\n prevTicketTier={arr[i - 1]}\n selectedTickets={selectedTickets}\n handleTicketSelect={ticketSelect}\n isSeatMapAllowed={isSeatMapAllowed}\n event={event}\n />\n </div>\n </div>\n {visibleDescription === ticket.id && (\n <div className=\"ticket-description\">\n <div dangerouslySetInnerHTML={{ __html: decodeHTML(ticket.descriptionRich) }} />\n </div>\n )}\n </div>\n </React.Fragment>\n </>\n )\n })}\n </>\n )\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { Box, CircularProgress, TextField } from \"@mui/material\"\nimport { LocalizationProvider, StaticDatePicker as DatePicker } from \"@mui/x-date-pickers\"\nimport { AdapterMoment } from \"@mui/x-date-pickers/AdapterMoment\"\nimport axios from \"axios\"\nimport _isEmpty from 'lodash/isEmpty'\nimport moment from \"moment-timezone\"\nimport React, { Dispatch, ReactNode, SetStateAction, useState } from \"react\"\n\nimport { TicketsSection } from \"./TicketsSection\"\n\ninterface Ticket {\n\tid: string | number;\n\ttype: string;\n\t[key: string]: any;\n}\n\ninterface Props {\n\tevent: any;\n\teventId: number;\n\tavailableDates: string[];\n\n\tselectedTickets: any;\n\tsetSelectedTickets: Dispatch<SetStateAction<any>>;\n\thandleTicketSelect: any;\n\tsortBySoldOut: boolean;\n\thideTicketsHeader: boolean;\n\tticketsHeaderComponent?: ReactNode;\n\tshowGroupNameBlock?: boolean;\n\tcurrencySybmol?: string;\n\tisSeatMapAllowed?: boolean;\n}\n\nconst TimeSlotsSection: React.FC<Props> = ({\n\tevent,\n\teventId,\n\tavailableDates,\n\tselectedTickets,\n\tsetSelectedTickets,\n\thandleTicketSelect,\n\tsortBySoldOut,\n\thideTicketsHeader,\n\tticketsHeaderComponent,\n\tshowGroupNameBlock,\n\tcurrencySybmol,\n\tisSeatMapAllowed }) => {\n\tconst [selectedDate, setSelectedDate] = useState<string | null>(null)\n\tconst [tickets, setTickets] = useState<Ticket[]>([])\n\tconst [loading, setLoading] = useState(false)\n\n\tconst handleDateChange = async (date: string | null) => {\n\t\tsetSelectedDate(date)\n\t\tif (date) {\n\t\t\tsetLoading(true)\n\t\t\ttry {\n\t\t\t\t// Note this is temp endpoint\n\t\t\t\tconst response = await axios.get(`/api/time-slots`, {\n\t\t\t\t\tparams: {\n\t\t\t\t\t\teventId,\n\t\t\t\t\t\tdate: moment(date).format(\"YYYY-MM-DD\"),\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\tsetTickets(response.data.tickets)\n\t\t\t\tsetSelectedTickets(response.data.tickets)\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error(\"Error fetching time slots:\", error)\n\t\t\t\tsetTickets([])\n\t\t\t\tsetSelectedTickets([])\n\t\t\t} finally {\n\t\t\t\tsetLoading(false)\n\t\t\t}\n\t\t}\n\t}\n\n\tconst isDateDisabled = (date: string) => {\n\t\tconst formattedDate = moment(date).format(\"YYYY-MM-DD\")\n\t\treturn !availableDates.includes(formattedDate)\n\t}\n\n\treturn (\n\t\t<Box sx={{ display: \"flex\", flexDirection: \"column\", alignItems: \"center\" }}>\n\t\t\t<LocalizationProvider dateAdapter={AdapterMoment}>\n\t\t\t\t<DatePicker\n\t\t\t\t\tvalue={selectedDate}\n\t\t\t\t\tonChange={handleDateChange}\n\t\t\t\t\tshouldDisableDate={isDateDisabled}\n\t\t\t\t\trenderInput={params => <TextField {...params} />}\n\t\t\t\t\tshowToolbar={false}\n\t\t\t\t\tcomponentsProps={{ actionBar: { actions: [] } }}\n\t\t\t\t\tdisablePast\n\t\t\t\t/>\n\t\t\t</LocalizationProvider>\n\t\t\t{loading ? (\n\t\t\t\t<CircularProgress sx={{ marginTop: 2 }} />\n\t\t\t) : (\n\t\t\t\t<Box sx={{ marginTop: 2, width: \"100%\" }}>\n\t\t\t\t\t<TicketsSection\n\t\t\t\t\t\tevent={event}\n\t\t\t\t\t\tticketsList={tickets}\n\t\t\t\t\t\ttableTickets={[]}\n\t\t\t\t\t\tselectedTickets={selectedTickets}\n\t\t\t\t\t\thandleTicketSelect={handleTicketSelect}\n\t\t\t\t\t\tsortBySoldOut={sortBySoldOut}\n\t\t\t\t\t\tticketsHeaderComponent={ticketsHeaderComponent}\n\t\t\t\t\t\ttableTicketsHeaderComponent={null}\n\t\t\t\t\t\thideTableTicketsHeader={true}\n\t\t\t\t\t\thideTicketsHeader={hideTicketsHeader || _isEmpty(tickets)}\n\t\t\t\t\t\tshowGroupNameBlock={showGroupNameBlock}\n\t\t\t\t\t\tcurrencySybmol={currencySybmol}\n\t\t\t\t\t\tisSeatMapAllowed={isSeatMapAllowed}\n\t\t\t\t\t/>\n\t\t\t\t</Box>\n\t\t\t)}\n\t\t</Box>\n\t)\n}\n\nexport default TimeSlotsSection","import './style.css'\n\nimport { ThemeOptions } from '@mui/material'\nimport Alert from '@mui/material/Alert'\nimport { createTheme, ThemeProvider } from '@mui/material/styles'\nimport { CSSProperties } from '@mui/styles'\nimport axios, { AxiosError } from 'axios'\nimport _filter from 'lodash/filter'\nimport _find from 'lodash/find'\nimport _forEach from 'lodash/forEach'\nimport _get from 'lodash/get'\nimport _identity from 'lodash/identity'\nimport _includes from 'lodash/includes'\nimport _isEmpty from 'lodash/isEmpty'\nimport _some from 'lodash/some'\nimport moment from 'moment-timezone'\nimport React, { ReactNode, useEffect, useRef, useState } from 'react'\nimport Button from 'react-bootstrap/Button'\n\nimport {\n addToCart,\n getCheckoutPageConfigs,\n getEvent,\n getProfileData,\n getTickets,\n logout,\n postOnCheckout,\n} from '../../api'\nimport { getTimeSlotsData } from '../../api/common'\nimport { getPreRegistrationInfluancers } from '../../api/preRegistrationComplete'\nimport { X_TF_ECOMMERCE } from '../../constants'\nimport { useCookieListener } from '../../hooks/useCookieListener'\nimport { useLocalStorageListener } from '../../hooks/useLocalStorageListener'\nimport { usePixel } from '../../hooks/usePixel'\nimport {\n createCheckoutDataBodyWithDefaultHolder,\n deleteCookieByName,\n getCookieByName,\n getQueryVariable,\n isBrowser,\n setLoggedUserData,\n} from '../../utils'\nimport { Loader } from '../common/index'\nimport { PoweredBy } from '../common/PoweredBy'\nimport ConfirmModal from '../confirmModal'\nimport Countdown from '../countdown'\nimport { VerificationPendingModal } from '../idVerificationContainer/VerificationPendingModal'\nimport { LoginModal } from '../loginModal'\nimport WaitingList from '../waitingList'\nimport { AccessCodeSection } from './AccessCodeSection'\nimport { PromoCodeSection } from './PromoCodeSection'\nimport { ReferralLogic } from './ReferralLogic'\nimport { TicketsSection } from './TicketsSection'\nimport TimeSlotsSection from './TimeSlotsSection'\n\ninterface CartSuccess {\n skip_billing_page: boolean;\n event_id: string;\n hash?: string | number;\n total?: string | number;\n hasAddOn?: boolean;\n}\n\nexport interface IGetTickets {\n eventId: number;\n onAddToCartSuccess: (response: CartSuccess) => void;\n getTicketsLabel?: string;\n contentStyle?: React.CSSProperties;\n onAddToCartError: (e: AxiosError) => void;\n onGetTicketsSuccess: (response: any) => void;\n onGetTicketsPress: () => void;\n onGetTicketsError: (e: AxiosError) => void;\n onLogoutSuccess: () => void;\n onLogoutError: (e: AxiosError) => void;\n onGetProfileDataSuccess: (response: any) => void;\n onGetProfileDataError: (e: AxiosError) => void;\n onLoginSuccess: () => void;\n handleNotInvitedModalClose: () => void;\n handleInvalidLinkModalClose: () => void;\n theme?: 'light' | 'dark';\n queryPromoCode?: string;\n isPromotionsEnabled?: boolean;\n themeOptions?: ThemeOptions & {\n input?: CSSProperties;\n checkbox?: CSSProperties;\n };\n isAccessCodeEnabled?: boolean;\n hideSessionButtons?: boolean;\n hideWaitingList?: boolean;\n enableBillingInfoAutoCreate?: boolean;\n isButtonScrollable?: boolean;\n sortBySoldOut?: boolean;\n disableCountdownLeadingZero?: boolean;\n isLoggedIn?: boolean;\n actionsSectionComponent?: any;\n ticketsHeaderComponent?: ReactNode;\n hideTicketsHeader?: boolean;\n tableTicketsHeaderComponent?: ReactNode;\n hideTableTicketsHeader?: boolean;\n enableInfluencersSection?: boolean;\n enableAddOns?: boolean;\n ordersPath?: string;\n showPoweredByImage?: boolean;\n promoText?: string;\n showGroupNameBlock?: boolean;\n currencySybmol?: string;\n onReserveButtonClick?: () => void;\n onPendingVerification?: () => void;\n showAlertIcons?: boolean;\n}\n\nexport interface ITicket {\n id: string | number;\n [key: string]: string | number;\n}\n\ninterface IInfluencer {\n [key: string]: string | undefined;\n}\nexport interface ISelectedTickets {\n isTable: boolean;\n [key: string]: string | number | boolean;\n}\n\nexport const TicketsContainer = ({\n onLoginSuccess,\n getTicketsLabel,\n eventId,\n onAddToCartSuccess,\n contentStyle = {},\n onAddToCartError = _identity,\n onGetTicketsSuccess = _identity,\n onGetTicketsError = _identity,\n onLogoutSuccess = _identity,\n onLogoutError = _identity,\n onGetProfileDataSuccess = _identity,\n onGetProfileDataError = _identity,\n onGetTicketsPress = _identity,\n theme = 'light',\n queryPromoCode = '',\n isPromotionsEnabled = true,\n themeOptions,\n isAccessCodeEnabled = false,\n hideSessionButtons = false,\n hideWaitingList = false,\n enableBillingInfoAutoCreate = true,\n isButtonScrollable = false,\n sortBySoldOut = false,\n disableCountdownLeadingZero = false,\n isLoggedIn = false,\n actionsSectionComponent: ActionsSectionComponent,\n ticketsHeaderComponent,\n hideTicketsHeader = false,\n tableTicketsHeaderComponent,\n hideTableTicketsHeader = false,\n enableInfluencersSection = true,\n enableAddOns = true,\n handleNotInvitedModalClose = _identity,\n handleInvalidLinkModalClose = _identity,\n ordersPath,\n showPoweredByImage = false,\n promoText,\n showGroupNameBlock = false,\n currencySybmol = '',\n onReserveButtonClick = _identity,\n onPendingVerification = _identity,\n showAlertIcons = true,\n}: IGetTickets) => {\n const [selectedTickets, setSelectedTickets] = useState({} as ISelectedTickets)\n const isWindowDefined = typeof window !== 'undefined'\n const [isLogged, setIsLogged] = useState(Boolean(getCookieByName(X_TF_ECOMMERCE)))\n const [showLoginModal, setShowLoginModal] = useState(false)\n const [tickets, setTickets] = useState([] as ITicketData[])\n const [event, setEvent] = useState<any>(null)\n const [showWaitingList, setShowWaitingList] = useState(false)\n const [isLoading, setIsLoading] = useState(true)\n const [codeIsLoading, setCodeIsLoading] = useState(false)\n const [handleBookIsLoading, setHandleBookIsLoading] = useState(false)\n const [code, setCode] = useState(getQueryVariable('r') || queryPromoCode)\n const [showPromoInput, setShowPromoInput] = useState(false)\n const [codeIsApplied, setCodeIsApplied] = useState(false)\n const [codeIsInvalid, setCodeIsInvalid] = useState(false)\n const [showAccessCodeSection, setShowAccessCodeSection] = useState(isAccessCodeEnabled)\n const [showPromoCodeSection, setShowPromoCodeSection] = useState(isPromotionsEnabled)\n const [error, setError] = useState<string | null>(null)\n const [isNotInvitedError, setIsNotInvitedError] = useState('')\n const [isInvalidLinkError, setIsInvalidLinkError] = useState('')\n const [pendingVerificationMessage, setPendingVerificationMessage] = useState()\n const [preregistereds, setPreregistereds] = useState([] as Array<IInfluancerData>)\n const [ticketsNotAvailableModalOpen, setTicketsNotAvailableModalOpen] = useState(false)\n const [isPreregistred, setIsPreregisred] = useState(checkUserPreregistration())\n const ticketsContainerRef = useRef<HTMLDivElement>(null)\n const pageUrl = isBrowser ? window.location.href.split('?')[0] : ''\n const isTimeSlotEvent = event?.isTimeSlotEvent\n const [availableDates, setAvailableDates] = useState<string[]>([])\n\n useCookieListener(X_TF_ECOMMERCE, value => setIsLogged(Boolean(value)))\n useLocalStorageListener('user_data', (user: any) => {\n const isPreregistredUser = _some(preregistereds, item => item.email === user?.email)\n setIsPreregisred(isPreregistredUser)\n })\n usePixel(eventId, { pageUrl })\n\n useEffect(() => {\n window.localStorage.removeItem('extraData')\n }, [])\n\n useEffect(() => {\n if (eventId) {\n getTicketsApi()\n fetchPreregisteredsData()\n }\n }, [eventId, isTimeSlotEvent])\n\n useEffect(() => {\n setIsPreregisred(checkUserPreregistration())\n }, [preregistereds])\n\n useEffect(() => {\n if (isLogged) {\n fetchUserData()\n .then(res => {\n window.localStorage.setItem('user_data', JSON.stringify(res))\n onGetProfileDataSuccess(res)\n })\n .catch(e => {\n if (axios.isAxiosError(e)) {\n onGetProfileDataError(e)\n }\n })\n }\n }, [isLogged])\n\n const handleLogout = async () => {\n try {\n await logout()\n onLogoutSuccess()\n if (isBrowser) {\n window.localStorage.removeItem('user_data')\n setIsLogged(false)\n const event = new window.CustomEvent('tf-logout')\n deleteCookieByName('X-TF-ECOMMERCE')\n window.document.dispatchEvent(event)\n }\n } catch (e) {\n onLogoutError(e)\n }\n }\n\n const handleExternalLogin = () => {\n setIsLogged(true)\n }\n\n const handleOnClose = () => {\n setShowLoginModal(false)\n }\n\n const handleOnLogin = () => {\n setShowLoginModal(false)\n setIsLogged(true)\n if (onLoginSuccess) {\n onLoginSuccess()\n }\n }\n\n async function getTicketsApi(isUpdateingCode?: boolean, type?: string) {\n try {\n if (isUpdateingCode) {\n setCodeIsLoading(true)\n } else {\n setIsLoading(true)\n }\n\n\n const previewKey = getQueryVariable('pk') || undefined\n const eventResponse = await getEvent(eventId, previewKey)\n if (eventResponse.success) {\n const event = eventResponse.data.attributes\n setEvent(event)\n\n if (event.country && isBrowser) {\n window.localStorage.setItem('eventCountry', event.country)\n }\n }\n\n if (isTimeSlotEvent) {\n const response = await getTimeSlotsData(eventId)\n console.log(response)\n if (response.success) {\n setAvailableDates(response.data)\n }\n return\n }\n\n const response = await getTickets(eventId, code, previewKey)\n\n if (response.success) {\n const attributes = response?.data?.attributes\n type === 'promo' && setCodeIsApplied(attributes.ValidPromoCode)\n type === 'promo' && setCodeIsInvalid(!attributes.ValidPromoCode)\n setTickets(attributes.tickets)\n setShowWaitingList(attributes.showWaitingList)\n onGetTicketsSuccess(response.data)\n setCode('')\n setShowAccessCodeSection(attributes.is_access_code)\n setShowPromoCodeSection(attributes.isPromotionsEnabled)\n }\n } catch (e) {\n if (axios.isAxiosError(e)) {\n onGetTicketsError(e)\n setError(_get(e, 'response.data.message', ''))\n }\n } finally {\n setIsLoading(false)\n setCodeIsLoading(false)\n }\n }\n\n async function fetchPreregisteredsData() {\n try {\n const preregistrationData = await getPreRegistrationInfluancers({\n eventId,\n })\n setPreregistereds(preregistrationData.data.attributes.influencers)\n } catch (error) {\n if (axios.isAxiosError(error)) {\n setError(_get(error, 'response.data.message', ''))\n }\n }\n }\n\n const handleTicketSelect = (key: string, value: number | string, isTable = false) => {\n localStorage.setItem('selectedTicketsQuantity', value.toString())\n setSelectedTickets(prevState => {\n if (Object.keys(prevState)[0] !== key && !value) {\n return prevState\n }\n return {\n [key]: value,\n isTable,\n }\n })\n }\n\n function checkUserPreregistration() {\n const userDataString = isWindowDefined ? window.localStorage.getItem('user_data') : ''\n let isPreregistredUser = false\n if (userDataString) {\n const user = JSON.parse(userDataString)\n isPreregistredUser = _some(preregistereds, item => item.email === user?.email)\n }\n return isPreregistredUser\n }\n\n const handleOrdersClick = () => {\n if (isBrowser) {\n window.location.href = ordersPath ?? '/orders'\n }\n }\n\n const onErrorClose = () => {\n setError(null)\n }\n\n const handleBook = async () => {\n setHandleBookIsLoading(true)\n const ticket = _find(tickets, item => Number(selectedTickets[item.id]) > 0) || ({} as ITicket)\n const optionName = _get(ticket, 'optionName')\n const ticketId = _get(ticket, 'id')\n const isTableType = _get(ticket, 'isTable', false)\n const productCartQuantity = +selectedTickets[ticket.id]\n const ticketQuantity = isTableType ? 1 : +selectedTickets[ticket.id]\n\n const data: ICartRequestData = {\n attributes: {\n alternative_view_id: null,\n product_cart_quantity: productCartQuantity,\n product_options: {\n [optionName]: ticketId,\n },\n product_id: eventId,\n ticket_types: {\n [ticketId]: {\n product_options: {\n [optionName]: ticketId,\n ticket_price: ticket.price,\n },\n quantity: ticketQuantity,\n },\n },\n },\n }\n\n try {\n onGetTicketsPress()\n const result = await addToCart(eventId, data)\n const pageConfigsDataResponse = enableAddOns\n ? await getCheckoutPageConfigs()\n : {\n status: 200,\n data: { attributes: _get(result, 'data.attributes') },\n }\n\n if (result.status === 200 && pageConfigsDataResponse.status === 200) {\n const pageConfigsData = _get(pageConfigsDataResponse, 'data.attributes') || {}\n\n const skipBillingPage = pageConfigsData.skip_billing_page ?? false\n const hasAddOn = pageConfigsData.has_add_on ?? false\n const freeTicket = pageConfigsData.free_ticket ?? false\n\n let hash: string | number | undefined = ''\n let total: string | number | undefined = ''\n\n isBrowser && window.localStorage.removeItem('add_ons')\n\n if (skipBillingPage && !hasAddOn) {\n // Get user data for checkout data\n const userData =\n isBrowser && window.localStorage.getItem('user_data')\n ? JSON.parse(window.localStorage.getItem('user_data') || '')\n : {}\n\n const checkoutBody = createCheckoutDataBodyWithDefaultHolder(\n ticketQuantity,\n userData\n )\n\n const checkoutResponse = enableBillingInfoAutoCreate\n ? await postOnCheckout(checkoutBody, freeTicket)\n : null\n\n hash = checkoutResponse?.data?.attributes?.hash || ''\n total = checkoutResponse?.data?.attributes?.total || ''\n }\n\n onAddToCartSuccess({\n skip_billing_page: skipBillingPage,\n event_id: String(eventId),\n hash,\n total,\n hasAddOn,\n })\n }\n } catch (e) {\n if (e.response?.data?.data?.hasUnverifiedOrder) {\n setPendingVerificationMessage(e.response?.data?.message)\n } else if (axios.isAxiosError(e)) {\n onAddToCartError(e)\n const message = _get(e, 'response.data.message', '')\n const isInvalidLinkError = _includes(\n message,\n 'No more of this ticket type are available right now'\n )\n const isNotInvitedError = _includes(\n message,\n 'You must have been invited to this event to attend'\n )\n\n if (isInvalidLinkError) {\n setIsInvalidLinkError(message)\n } else if (isNotInvitedError) {\n setIsNotInvitedError(message)\n } else {\n setError(message)\n }\n }\n } finally {\n setHandleBookIsLoading(false)\n }\n }\n\n const updateTickets = (isUpdateingCode?: boolean, type?: string) => {\n getTicketsApi(isUpdateingCode, type)\n }\n\n const fetchUserData = async () => {\n const userDataResponse = await getProfileData()\n const profileData = _get(userDataResponse, 'data')\n const profileDataObj = setLoggedUserData(profileData)\n return profileDataObj\n }\n\n const isTicketOnSale = _some(\n tickets,\n item =>\n (item.salesStarted || event?.presalesStarted) && !item.salesEnded && !item.soldOut\n )\n\n const eventHasTickets = !_isEmpty(tickets)\n const isSalesClosed = event?.salesEnded\n\n const themeMui = createTheme(themeOptions)\n\n useEffect(() => {\n window.document.addEventListener('custom-login', handleExternalLogin)\n window.document.addEventListener('custom-logout', handleLogout)\n\n return () => {\n window.document.removeEventListener('custom-login', handleExternalLogin)\n window.document.removeEventListener('custom-logout', handleLogout)\n }\n }, [])\n\n const handleGetTicketClick = () => {\n if (\n !handleBookIsLoading &&\n !_isEmpty(selectedTickets) &&\n Object.values(selectedTickets)[0] > 0\n ) {\n handleBook()\n } else {\n if (isButtonScrollable && ticketsContainerRef && ticketsContainerRef.current) {\n ticketsContainerRef.current.scrollIntoView({\n behavior: 'smooth',\n block: 'center',\n inline: 'nearest',\n })\n }\n }\n }\n\n const handleNotAvailableTicketsClick = () => {\n if (!_isEmpty(selectedTickets)) {\n setTicketsNotAvailableModalOpen(true)\n }\n }\n\n const bookButtonIsDisabled =\n (handleBookIsLoading ||\n _isEmpty(selectedTickets) ||\n Object.values(selectedTickets)[0] === 0) &&\n !event?.flagSeatMapAllowed\n\n const isTicketAvailable = _some(\n tickets,\n ticket =>\n ticket.displayTicket &&\n !ticket.soldOut &&\n (ticket.salesStarted || (event?.presalesStarted && !event?.presalesEnded))\n )\n\n const wrappedActionsSectionComponent = React.isValidElement(ActionsSectionComponent)\n ? React.cloneElement(ActionsSectionComponent as React.ReactElement<any>, {\n handleGetTicketClick,\n isTicketOnSale,\n isTicketAvailable,\n })\n : null\n\n const externalUrl = event?.redirectUrl\n const eventSaleIsNotStarted =\n !event?.salesStarted && event?.salesStart && !isTicketAvailable\n const influencers = event?.referralsEnabled ? event?.referrals : []\n\n const canShowGetTicketBtn = () => {\n if (\n !wrappedActionsSectionComponent &&\n !eventSaleIsNotStarted &&\n isTicketOnSale &&\n !event?.salesEnded &&\n !externalUrl\n ) {\n return true\n }\n\n return false\n }\n\n const onClose = (value: string) => {\n if (value === 'notInvited') {\n handleNotInvitedModalClose()\n } else if (value === 'invalidLink') {\n handleInvalidLinkModalClose()\n }\n setIsNotInvitedError('')\n setIsInvalidLinkError('')\n }\n const hideTopInfluencers = event?.hideTopInfluencers\n const isSeatMapAllowed = _get(event, 'seatMapAllowed', false)\n const isTableMapEnabled = _get(event, 'tableMapEnabled', false)\n\n const notAvailableTicketsMessage = `Tickets for this event are not available until ${moment(\n event?.salesStart\n ).format(\n 'dddd, DD MMMM YYYY'\n )}. \\n If you pre-registered, log into your account first to buy your pre-sale ticket.`\n\n const tableTickets = _filter(tickets, (ticket: any) => ticket.isTable)\n const ordinarTickets = {} as ITicket\n _forEach(tickets, (ticket: any, key: string) => {\n if (!ticket.isTable) {\n ordinarTickets[key] = ticket\n }\n })\n\n return (\n <ThemeProvider theme={themeMui}>\n {!isLoading && <ReferralLogic eventId={eventId} />}\n <div className={`get-tickets-page ${theme}`} style={contentStyle}>\n {isInvalidLinkError && (\n <ConfirmModal\n message={isInvalidLinkError}\n hideCancelBtn={true}\n onClose={() => onClose('invalidLink')}\n onConfirm={() => onClose('invalidLink')}\n />\n )}\n {isNotInvitedError && (\n <ConfirmModal\n hideCancelBtn={true}\n message={isNotInvitedError}\n onClose={() => onClose('notInvited')}\n onConfirm={() => onClose('notInvited')}\n // loading={removeFromResaleLoading}\n />\n )}\n {error && (\n <Alert\n severity=\"error\"\n onClose={onErrorClose}\n variant=\"filled\"\n style={{ width: '350px' }}\n >\n {error}\n </Alert>\n )}\n {ticketsNotAvailableModalOpen && (\n <ConfirmModal\n message={notAvailableTicketsMessage}\n hideCancelBtn={true}\n onClose={() => onClose('invalidLink')}\n onConfirm={() => setTicketsNotAvailableModalOpen(false)}\n />\n )}\n {isLoading ? (\n <Loader />\n ) : (\n <div ref={ticketsContainerRef} className='tickets-section-container'>\n {isTimeSlotEvent && <TimeSlotsSection\n event={event}\n eventId={eventId}\n availableDates={availableDates}\n selectedTickets={selectedTickets}\n setSelectedTickets={setSelectedTickets}\n handleTicketSelect={handleTicketSelect}\n sortBySoldOut={sortBySoldOut}\n ticketsHeaderComponent={ticketsHeaderComponent}\n hideTicketsHeader={hideTicketsHeader}\n showGroupNameBlock={showGroupNameBlock}\n currencySybmol={currencySybmol}\n isSeatMapAllowed={isSeatMapAllowed}\n />}\n {!isSalesClosed && !isTimeSlotEvent && (\n <TicketsSection\n event={event}\n ticketsList={ordinarTickets}\n tableTickets={tableTickets}\n selectedTickets={selectedTickets}\n handleTicketSelect={handleTicketSelect}\n sortBySoldOut={sortBySoldOut}\n ticketsHeaderComponent={ticketsHeaderComponent}\n tableTicketsHeaderComponent={tableTicketsHeaderComponent}\n hideTableTicketsHeader={hideTableTicketsHeader || _isEmpty(tableTickets)}\n hideTicketsHeader={hideTicketsHeader || _isEmpty(ordinarTickets)}\n showGroupNameBlock={showGroupNameBlock}\n currencySybmol={currencySybmol}\n isSeatMapAllowed={isSeatMapAllowed}\n />\n )}\n {externalUrl ? null : isSalesClosed ? (\n <p\n className={`event-closed-message ${!isLoggedIn ? 'event-closed-on-bottom' : ''}`}\n >\n Sales for this event are closed.\n </p>\n ) : eventSaleIsNotStarted ? (\n <Countdown\n startDate={event.salesStart}\n timezone={event.timezone}\n title=\"Sales start in:\"\n message=\"No tickets are currently available for this event.\"\n showMessage={!eventHasTickets}\n callback={updateTickets}\n disableLeadingZero={disableCountdownLeadingZero}\n isLoggedIn={isLoggedIn}\n />\n ) : null}\n {showWaitingList && event.salesStarted && !hideWaitingList && (\n <WaitingList\n tickets={ordinarTickets}\n eventId={eventId}\n defaultMaxQuantity={event.waitingListMaxQuantity}\n />\n )}\n {codeIsLoading ? (\n <Loader />\n ) : isSalesClosed ? null : showAccessCodeSection ? (\n <AccessCodeSection\n code={code}\n setCode={setCode}\n updateTickets={updateTickets}\n />\n ) : showPromoCodeSection ? (\n <PromoCodeSection\n code={code}\n codeIsApplied={codeIsApplied}\n setCodeIsApplied={setCodeIsApplied}\n showPromoInput={showPromoInput}\n setShowPromoInput={setShowPromoInput}\n setCode={setCode}\n updateTickets={updateTickets}\n codeIsInvalid={codeIsInvalid}\n setCodeIsInvalid={setCodeIsInvalid}\n promoText={promoText}\n showAlertIcons={showAlertIcons}\n />\n ) : null}\n {wrappedActionsSectionComponent}\n {canShowGetTicketBtn() && (\n <Button\n aria-hidden={true}\n className={`book-button \n ${bookButtonIsDisabled ? 'disabled' : ''} \n ${isButtonScrollable ? 'is-scrollable' : ''}\n ${!isLoggedIn ? 'on-bottom' : ''}\n `}\n onClick={\n event?.salesStart &&\n event?.presalesStarted &&\n !event?.presalesEnded &&\n (!isPreregistred || !isLogged)\n ? handleNotAvailableTicketsClick\n : handleGetTicketClick\n }\n >\n {selectedTickets.isTable\n ? 'RESERVE TABLES'\n : getTicketsLabel || 'GET TICKETS'}\n </Button>\n )}\n {isSeatMapAllowed && !event?.salesEnded && isTicketAvailable && (\n <Button\n className=\"reserve-button\"\n aria-hidden={true}\n onClick={onReserveButtonClick}\n >\n {isTableMapEnabled ? 'Select on map' : 'Select your seats'}\n </Button>\n )}\n {isLogged && !hideSessionButtons ? (\n <div className=\"session-wrapper\">\n <span className=\"session-container\">\n <Button\n variant=\"outline-light\"\n className=\"session-buttons\"\n onClick={handleOrdersClick}\n >\n My Orders\n </Button>\n </span>\n <span className=\"session-container\">\n <Button\n variant=\"outline-light\"\n className=\"session-buttons\"\n onClick={handleLogout}\n >\n Log out\n </Button>\n </span>\n </div>\n ) : (\n ''\n )}\n </div>\n )}\n {showLoginModal ? (\n <LoginModal onClose={handleOnClose} onLogin={handleOnLogin} />\n ) : null}\n </div>\n {showPoweredByImage ? <PoweredBy /> : null}\n {enableInfluencersSection && !hideTopInfluencers && influencers.length ? (\n <div className=\"event-influencers\">\n <h3>\n <span>TOP</span> INFLUENCERS\n </h3>\n <ol className=\"influencer-list\">\n {influencers.map((influencer: IInfluencer, i: number) => (\n <li className=\"influencer-item\" key={i}>\n {`${influencer.firstName} ${influencer.lastName?.charAt(0)}`}{' '}\n </li>\n ))}\n </ol>\n </div>\n ) : null}\n <VerificationPendingModal\n message={pendingVerificationMessage}\n onClose={() => {\n onPendingVerification()\n }}\n />\n </ThemeProvider>\n )\n}\n","import _map from 'lodash/map'\nimport moment from 'moment-timezone'\nimport React from 'react'\n\nconst EventInfoItem = ({ image, name }: EventInfoTypes) => (\n <div className=\"event-info\">\n <img src={image} alt=\"event\" />\n {name}\n </div>\n)\n\nconst tableConfig = (columns?: IColumnData[], key?: string) => {\n let config\n\n if (columns?.length) {\n return {\n header: _map(columns, item => item.label),\n body: _map(columns, item => {\n if (item.component) {\n const ItemComponent = item.component\n return (row: RowItems) => ({\n columnProps: item,\n component: <ItemComponent {...row} />,\n })\n }\n\n if (item.key === 'event') {\n return (row: RowItems) => ({\n columnProps: item,\n component: <EventInfoItem image={row.image} name={row.eventName} />,\n })\n }\n\n if (item.key === 'total') {\n return (row: RowItems) => ({\n columnProps: item,\n component: row.currency + row.amount,\n })\n }\n\n return (row: RowItems) => ({\n columnProps: item,\n component: item.normalizer\n ? item.normalizer(row[item.key as keyof RowItems])\n : row[item.key as keyof RowItems],\n })\n }) as ITableBodyType[],\n }\n }\n\n switch (key) {\n default:\n config = {\n header: ['Order No.', 'Date', 'Event', 'Total'],\n body: [\n (row: RowItems) => ({\n columnProps: {} as IColumnData,\n component: row.id,\n }),\n (row: RowItems) => ({\n columnProps: {} as IColumnData,\n component: row.timezone\n ? moment.tz(row.date, row.timezone).format('DD MMMM YYYY')\n : row.date,\n }),\n (row: RowItems) => ({\n columnProps: {} as IColumnData,\n component: <EventInfoItem image={row.image} name={row.eventName} />,\n }),\n (row: RowItems) => ({\n columnProps: {} as IColumnData,\n component: row.currency + row.amount,\n }),\n ] as ITableBodyType[],\n }\n }\n return config\n}\n\nexport default tableConfig\n","import TableCell from '@mui/material/TableCell'\nimport TableRow from '@mui/material/TableRow'\nimport _get from 'lodash/get'\nimport _identity from 'lodash/identity'\nimport React from 'react'\n\nimport tableConfig from './tableConfig'\n\nconst Row = ({\n row,\n handleDetailsInfo,\n columns = [],\n hideDetailsButton,\n}: RowPropsTypes) => (\n <TableRow sx={{ '& > *': { borderBottom: 'unset' } }}>\n {tableConfig(columns).body.map((column: ITableBodyType, index: number) => (\n <TableCell\n component=\"th\"\n scope=\"row\"\n key={index}\n onClick={e => {\n const { columnProps, component }: IRowReturnType = column(row)\n const onCellClick = columnProps?.onCellClick || _identity\n const componentProps = _get(component, 'props', {})\n\n onCellClick(componentProps, e)\n }}\n >\n {column(row).component}\n </TableCell>\n ))}\n {!hideDetailsButton && (\n <TableCell component=\"th\" scope=\"row\">\n <button\n type=\"button\"\n className=\"order-details-button\"\n onClick={() => handleDetailsInfo(row.id)}\n >\n Details\n </button>\n </TableCell>\n )}\n </TableRow>\n)\n\nexport default Row\n","import './style.css'\n\nimport Autocomplete from '@mui/material/Autocomplete'\nimport CircularProgress from '@mui/material/CircularProgress'\nimport Paper from '@mui/material/Paper'\nimport Table from '@mui/material/Table'\nimport TableBody from '@mui/material/TableBody'\nimport TableCell from '@mui/material/TableCell'\nimport TableContainer from '@mui/material/TableContainer'\nimport TableHead from '@mui/material/TableHead'\nimport TablePagination from '@mui/material/TablePagination'\nimport TableRow from '@mui/material/TableRow'\nimport TextField from '@mui/material/TextField'\nimport axios from 'axios'\nimport _get from 'lodash/get'\nimport _identity from 'lodash/identity'\nimport React, { useEffect, useState } from 'react'\n\nimport { getOrders } from '../../api'\nimport { getCookieByName } from '../../utils'\nimport { LoginModal } from '../loginModal'\nimport MyTicketsRow from './row'\nimport tableConfig from './tableConfig'\n\ninterface MyTicketsTypes {\n handleDetailsInfo: (id: string | number) => void;\n onGetOrdersSuccess: (res: any) => void;\n onGetOrdersError: (err: any) => void;\n logo?: string;\n theme?: 'light' | 'dark';\n selectEventsLabel?: string;\n openLoginModal?: () => void;\n hideDetailsButton?: boolean;\n columns?: IColumnData[];\n}\n\ninterface EventFilter {\n event_name: string;\n url_name: string;\n}\n\nexport const MyTicketsContainer = ({\n handleDetailsInfo = _identity,\n onGetOrdersSuccess = _identity,\n onGetOrdersError = _identity,\n theme = 'dark',\n selectEventsLabel = 'Events',\n logo,\n hideDetailsButton = false,\n columns = [],\n openLoginModal,\n}: MyTicketsTypes) => {\n const [data, setData] = useState<any>(null)\n const [loading, setLoading] = useState(true)\n const [limit, setLimit] = useState(10)\n const [filter, setFilter] = useState('')\n\n const isWindowDefined = typeof window !== 'undefined'\n const [isLogged, setIsLogged] = useState(\n isWindowDefined ? !!getCookieByName('X-TF-ECOMMERCE') : false\n )\n const [showModalLogin, setShowModalLogin] = useState(false)\n const [userExpired, setUserExpired] = useState(false)\n\n //just once\n useEffect(() => {\n fetchData(1, limit, filter)\n }, [isLogged])\n\n const fetchData = async (page: number, limit: number, eventSlug: string) => {\n try {\n setLoading(true)\n const response = await getOrders(page, limit, eventSlug)\n onGetOrdersSuccess(response)\n\n const data = _get(response, 'data.attributes')\n data.page -= 1\n\n setData(data)\n } catch (error) {\n if (axios.isAxiosError(error)) {\n if (_get(error, 'response.data.error') === 'invalid_token') {\n if (isWindowDefined) {\n window.localStorage.removeItem('user_data')\n setUserExpired(true)\n setShowModalLogin(true)\n }\n }\n }\n onGetOrdersError(error)\n } finally {\n setLoading(false)\n }\n }\n\n const handleChangePage = (_event: any, newPage: number) => {\n fetchData(newPage + 1, limit, filter)\n }\n\n const handleChangeRowsPerPage = (event: React.ChangeEvent<HTMLInputElement>) => {\n fetchData(1, +event.target.value, filter)\n setLimit(+event.target.value)\n }\n\n const onChange = (\n _event: React.SyntheticEvent<Element, Event>,\n eventFilter: EventFilter | null\n ) => {\n fetchData(1, limit, eventFilter?.url_name || '')\n setFilter(eventFilter?.url_name || '')\n }\n\n return (\n <div className={`my-ticket ${theme}`}>\n <>\n {showModalLogin || !isLogged ? (\n openLoginModal ? (\n openLoginModal()\n ) : (\n <LoginModal\n onClose={() => {\n setShowModalLogin(false)\n }}\n onLogin={() => {\n setShowModalLogin(false)\n setUserExpired(false)\n setIsLogged(true)\n }}\n userExpired={userExpired}\n logo={logo}\n />\n )\n ) : null}\n </>\n {data?.orders?.length ? (\n <>\n <h2>My Ticket Orders</h2>\n <Autocomplete\n disablePortal\n id=\"combo-box-demo\"\n getOptionLabel={(option: EventFilter) => option.event_name}\n onChange={onChange}\n options={data.purchased_events}\n sx={{ width: 300 }}\n renderInput={params => <TextField {...params} label={selectEventsLabel} />}\n />\n {loading ? (\n <div className=\"loading\">\n <CircularProgress />\n </div>\n ) : (\n <>\n <TableContainer component={Paper} className=\"my-ticket-table\">\n <Table aria-label=\"collapsible table\">\n <TableHead>\n <TableRow>\n {tableConfig(columns).header.map(\n (column: string, index: number) => (\n <TableCell key={index}>{column}</TableCell>\n )\n )}\n {!hideDetailsButton && <TableCell />}\n </TableRow>\n </TableHead>\n <TableBody>\n {data.orders?.map((row: RowItems) => (\n <MyTicketsRow\n key={row.id}\n row={row}\n handleDetailsInfo={handleDetailsInfo}\n columns={columns}\n hideDetailsButton={hideDetailsButton}\n />\n ))}\n </TableBody>\n </Table>\n </TableContainer>\n <TablePagination\n rowsPerPageOptions={[10, 25, 100]}\n component=\"div\"\n count={data.total_count}\n rowsPerPage={limit}\n page={data.page}\n onPageChange={handleChangePage}\n onRowsPerPageChange={handleChangeRowsPerPage}\n />\n </>\n )}\n </>\n ) : (\n !loading && (\n <>\n <h2>My Ticket Orders</h2>\n <div className=\"no_orders_section\">\n <div className=\"nodata_title\">\n You have no current ticket orders on this account\n </div>\n <div className=\"nodata_subtitle\">\n Discover your next nite out <a href=\"/events\">here</a>.\n </div>\n </div>\n </>\n )\n )}\n <>\n {showModalLogin && (\n <LoginModal\n onClose={() => {\n setShowModalLogin(false)\n }}\n onLogin={() => {\n setShowModalLogin(false)\n setUserExpired(false)\n setIsLogged(true)\n }}\n userExpired={userExpired}\n />\n )}\n </>\n </div>\n )\n}\n","import React from 'react'\nimport FormGroup from '@mui/material/FormGroup'\nimport FormControlLabel from '@mui/material/FormControlLabel'\nimport Radio from '@mui/material/Radio';\nimport { FieldInputProps } from 'formik'\nimport { useTheme } from '@mui/styles'\n\nexport interface IRadioField {\n label: string | number | JSX.Element;\n field?: FieldInputProps<any>;\n}\n\ninterface IOtherProps {\n [key: string]: any;\n}\n\nexport const RadioField = ({\n label,\n field,\n theme,\n disableDropdown,\n ...rest\n}: IRadioField & IOtherProps) => {\n const customTheme: any = useTheme()\n return (\n <FormGroup>\n <FormControlLabel\n control={<Radio {...field} {...rest} />}\n label={label}\n componentsProps={{\n typography: customTheme?.checkbox\n }}\n />\n </FormGroup>\n )\n}\n","import './style.css'\n\nimport Box from '@mui/material/Box'\nimport Button from '@mui/material/Button'\nimport CircularProgress from '@mui/material/CircularProgress'\nimport Modal from '@mui/material/Modal'\nimport { Field, Form, Formik } from 'formik'\nimport React from 'react'\nimport SVG from 'react-inlinesvg'\nimport * as yup from 'yup'\n\nimport EmailSvg from '../../assets/images/email.svg'\nimport UserSvg from '../../assets/images/user.svg'\nimport { CheckboxField } from '../common/CheckboxField'\nimport { CustomField } from '../common/CustomField'\nimport { RadioField } from '../common/RadioField'\nimport { ITicketTypes } from '../orderDetailsContainer/ticketsTable'\n\ninterface Props {\n ticket: ITicketTypes;\n onClose: () => void;\n onSubmit: (values: InitialValuesTypes) => void;\n loading?: boolean;\n}\n\nexport interface InitialValuesTypes {\n to: string;\n first_name: string;\n last_name: string;\n email: string;\n confirm_email: string;\n confirm: boolean;\n}\n\nconst style: React.CSSProperties = {\n position: 'absolute',\n top: '50%',\n left: '50%',\n transform: 'translate(-50%, -50%)',\n minWidth: 480,\n backgroundColor: '#e3e3e3',\n border: '1px solid white',\n outline: 'none',\n padding: '14px',\n maxHeight: '85vh',\n overflow: 'auto'\n}\n\nconst schema = yup.object().shape({\n to: yup.string().required(),\n first_name: yup.string().when('to', {\n is: (to: string) => to === 'friend',\n then: yup.string().required('First Name is required')\n }),\n last_name: yup.string().when('to', {\n is: (to: string) => to === 'friend',\n then: yup.string().required('Last Name is required')\n }),\n email: yup.string().when('to', {\n is: (to: string) => to === 'friend',\n then: yup.string().email('Invalid email').required('Email is required')\n }),\n confirm_email: yup.string().when('to', {\n is: (to: string) => to === 'friend',\n then: yup.string().email('Invalid email').oneOf([yup.ref('email'), null], 'Emails must match').required('Confirm Email is required')\n }),\n confirm: yup.boolean().oneOf([true])\n})\n\nconst initialValues: InitialValuesTypes = {\n to: 'friend',\n first_name: '',\n last_name: '',\n email: '',\n confirm_email: '',\n confirm: false\n}\n\nexport const TicketResaleModal = ({\n ticket = {} as ITicketTypes,\n onClose = () => { },\n onSubmit = () => { },\n loading = false\n}: Props) => {\n const { hash, holder_name, event_name, currency, retain_amount_on_sale, ticket_type_is_active } = ticket\n\n return (\n <Modal\n open={true}\n onClose={onClose}\n aria-labelledby=\"modal-modal-title\"\n aria-describedby=\"modal-modal-description\"\n className='resale-modal'\n >\n <Box style={style}>\n <h3>Sell Ticket</h3>\n <div>\n <h3>Ticket Details</h3>\n <div>\n <h4>Event</h4>\n <p>{event_name}</p>\n </div>\n <div>\n <h4>Ticket Holder</h4>\n <p>{holder_name}</p>\n </div>\n <div>\n <h4>Ticket ID</h4>\n <p>{hash}</p>\n </div>\n </div>\n <div>\n <h3>Sell to Whom</h3>\n <Formik\n initialValues={initialValues}\n validationSchema={schema}\n onSubmit={onSubmit}\n >\n {({ values, isValid, dirty }) => (\n <Form>\n <div>\n <Field\n name='to'\n label='I want to sell the ticket to someone I know'\n type='radio'\n value='friend'\n component={RadioField}\n />\n {values.to === 'friend' && (\n <div className='sell-to-friend'>\n <div className='user-info-box'>\n <div className='field-box'>\n <div className='icon'>\n <SVG\n src={UserSvg}\n width='24'\n height='24'\n />\n </div>\n <Field\n name='first_name'\n label='First Name'\n type='text'\n component={CustomField}\n />\n </div>\n <div className='field-box'>\n <div className='empty-box' />\n <Field\n name='last_name'\n label='Last Name'\n type='text'\n component={CustomField}\n />\n </div>\n </div>\n <div className='email-info-box'>\n <div className='field-box'>\n <div className='icon'>\n <SVG\n src={EmailSvg}\n width='24'\n height='24'\n />\n </div>\n <Field\n name='email'\n label='Email address'\n type='text'\n component={CustomField}\n />\n </div>\n <div className='field-box'>\n <div className='empty-box' />\n <Field\n name='confirm_email'\n label='Confirm Email address'\n type='text'\n component={CustomField}\n />\n </div>\n </div>\n </div>\n )}\n </div>\n {ticket_type_is_active && (\n <div>\n <Field\n name=\"to\"\n label=\"I will sell my ticket to anyone who wants to buy it\"\n type=\"radio\"\n value=\"anyone\"\n component={RadioField}\n />\n </div>\n )}\n <div>\n <h4>Terms of Resale</h4>\n <p>I confirm that I want to sell this ticket and that, if someone chooses to buy it, I will no longer own it or have the right to ask for it back.</p>\n <p>I also understand that, if no one chooses to buy it, it remains my property, is valid for entry to <strong>{event_name}</strong> and I will not receive any refund.</p>\n <p>If my ticket is sold, the original card I used to buy my ticket will be refunded with the original amount paid, minus a small handling fee of <strong>{`${currency ?? ''} ${retain_amount_on_sale ?? '0'}`}</strong>, and that any existing refunds due to me for referring sales for this event are no longer valid.</p>\n <Field\n name='confirm'\n label='I agree'\n type='checkbox'\n component={CheckboxField}\n />\n </div>\n <div className=\"resale-action-button\">\n <Button\n type=\"submit\"\n disabled={!(isValid && dirty)}\n >\n {loading ? <CircularProgress size=\"22px\" /> : 'Sell Ticket'}\n </Button>\n </div>\n </Form>\n )}\n </Formik>\n </div>\n </Box>\n </Modal>\n )\n}\n","import { Field, Form, Formik, FormikProps } from 'formik'\nimport _identity from 'lodash/identity'\nimport React from 'react'\n\nimport { fieldDataAdapter } from '../../adapters/customFields'\nimport {\n getFieldComponent,\n getFieldLabel,\n getValidateFunctions,\n} from '../billing-info-container/utils'\nimport { CustomFieldTypes } from './index'\n\ninterface HolderCustomFieldsProps {\n initialValues: { [key: string]: any };\n fields: Array<CustomFieldTypes>;\n handleFormSubmit?: (values: Record<string, any>) => void;\n handleFormClose?: () => void;\n}\n\nconst CustomFieldsForm = ({\n initialValues = {},\n fields = [],\n handleFormSubmit = _identity,\n handleFormClose = _identity,\n}: HolderCustomFieldsProps) => (\n <Formik\n initialValues={initialValues}\n onSubmit={values => handleFormSubmit(values)}\n enableReinitialize={true}\n >\n {(props: FormikProps<any>) => (\n <Form>\n <div className=\"updatable-custom-fields\">\n {fields.map((customField: CustomFieldTypes) => {\n const adaptedCustomField = fieldDataAdapter(customField)\n return (\n <Field\n key={customField.id}\n name={customField.name}\n label={getFieldLabel(customField)}\n component={getFieldComponent(adaptedCustomField)}\n validate={getValidateFunctions(\n customField,\n [],\n props.values,\n props.errors\n )}\n isMultiple={adaptedCustomField.isMultiple}\n radios={adaptedCustomField.radios}\n options={adaptedCustomField.options}\n />\n )\n })}\n </div>\n <div className=\"buttons-block\">\n <button\n className=\"cancel-btn\"\n type=\"button\"\n onClick={() => {\n props.resetForm()\n handleFormClose()\n }}\n >\n Cancel\n </button>\n <button className=\"submit-btn\" type=\"submit\">\n Update ticket\n </button>\n </div>\n </Form>\n )}\n </Formik>\n)\n\nexport { CustomFieldsForm }\n","import _isArray from 'lodash/isArray'\nimport _isEmpty from 'lodash/isEmpty'\n\nimport { CustomFieldOption, CustomFieldTypes } from '../index'\n\nconst getLabelForValue = (options: CustomFieldOption[], value: string | string[]): string => {\n const getLabel = (singleValue: string) => {\n const option = options.find(option => option.value === singleValue)\n return option ? option.name : ''\n }\n\n if (_isArray(value)) {\n const labels = value.map(getLabel)\n return labels.join(', ')\n }\n\n return getLabel(value as string)\n}\n\nexport const renderCustomFieldValue = (customField: CustomFieldTypes) => {\n if (customField.type === 'checkbox') {\n return customField.value ? 'Checked' : 'Unchecked'\n }\n\n if (_isEmpty(customField.value)) {\n return 'N/A'\n }\n\n if (customField.type === 'select' || customField.type === 'select_multi' || customField.type === 'radio') {\n return getLabelForValue(customField.options as CustomFieldOption[], customField.value)\n }\n\n return customField.value\n}\n\nexport const isFieldUpdatable = (field: CustomFieldTypes): boolean => {\n if (!field?.settings?.allowUpdate || (field?.type === 'checkbox' && field?.required)) {\n return false\n }\n return true\n}\n\nexport const createCustomFieldsUpdateBody = (\n updatedValues: Record<string, any>,\n notUpdatableCustomFieldsValues: Array<CustomFieldTypes> = []\n) =>\n notUpdatableCustomFieldsValues.reduce(\n (acc, customField) => {\n if (!isFieldUpdatable(customField)) {\n acc[customField.name] = customField.value\n }\n return acc\n },\n { ...updatedValues }\n )\n","import _identity from 'lodash/identity'\nimport _isEmpty from 'lodash/isEmpty'\nimport React, { useMemo, useState } from 'react'\nimport SVG from 'react-inlinesvg'\n\nimport EditSvg from '../../assets/images/edit.svg'\nimport { CustomFieldsForm } from './CustomFieldsForm'\nimport { CustomFieldTypes } from './index'\nimport { ITicketTypes } from './ticketsTable'\nimport {\n createCustomFieldsUpdateBody,\n isFieldUpdatable,\n renderCustomFieldValue,\n} from './utils'\n\ninterface HolderCustomFieldsProps {\n ticket: ITicketTypes;\n holderCustomFields: CustomFieldTypes[];\n handleTicketHoldersUpdate: (values: Record<string, any>, ticketHash: string) => void;\n}\n\nconst TicketHolderCustomFields = ({\n ticket,\n holderCustomFields,\n handleTicketHoldersUpdate = _identity,\n}: HolderCustomFieldsProps) => {\n const [showHolderCustomFieldsSection, setShowHolderCustomFieldsSection] =\n useState(false)\n\n const [allowedHolderCustomFields, notAllowedHolderCustomFields] = useMemo(() => {\n const allowedFields: CustomFieldTypes[] = []\n const notAllowedFields: CustomFieldTypes[] = []\n\n holderCustomFields.forEach((field: CustomFieldTypes) => {\n if (isFieldUpdatable(field)) {\n allowedFields.push(field)\n } else {\n notAllowedFields.push(field)\n }\n })\n return [allowedFields, notAllowedFields]\n }, [holderCustomFields])\n\n const holderEditableFieldsFormInitialValues = useMemo(\n () => getHolderCustomFieldsInitialValues(holderCustomFields),\n [holderCustomFields]\n )\n\n const handleFormClose = () => {\n setShowHolderCustomFieldsSection(false)\n }\n\n const handleForSubmit = (values: Record<string, any>) => {\n // Collect all updatable and non updatable values for bulk update\n const fullUpdatableValues = createCustomFieldsUpdateBody(\n values,\n notAllowedHolderCustomFields\n )\n setShowHolderCustomFieldsSection(false)\n handleTicketHoldersUpdate(fullUpdatableValues, ticket.hash)\n }\n\n function getHolderCustomFieldsInitialValues(fields: Array<CustomFieldTypes>) {\n const initialValues: { [key: string]: string | boolean | string[] } = {}\n\n for (const field of fields) {\n if (isFieldUpdatable(field)) {\n initialValues[field.name] =\n field.type === 'checkbox' ? Boolean(field.value) : field.value || ''\n }\n }\n return initialValues\n }\n\n return (\n <>\n <div className=\"holder-custom-fields\">\n {!_isEmpty(allowedHolderCustomFields) && <SVG src={EditSvg} onClick={() => setShowHolderCustomFieldsSection(true)} />}\n {holderCustomFields.map((customField: CustomFieldTypes) => (\n <div className=\"info-item\" key={customField.id}>\n <b>{customField.label} :</b> {renderCustomFieldValue(customField)}\n </div>\n ))}\n </div>\n {showHolderCustomFieldsSection && (\n <div className=\"custom-fields-block show\">\n <p className=\"editable-ticket-id\">Edit ticket {ticket.hash}</p>\n <CustomFieldsForm\n initialValues={holderEditableFieldsFormInitialValues}\n fields={allowedHolderCustomFields}\n handleFormSubmit={handleForSubmit}\n handleFormClose={handleFormClose}\n />\n </div>\n )}\n </>\n )\n}\n\nexport { TicketHolderCustomFields }\n","import CircularProgress from '@mui/material/CircularProgress'\nimport Paper from '@mui/material/Paper'\nimport Table from '@mui/material/Table'\nimport TableBody from '@mui/material/TableBody'\nimport TableCell from '@mui/material/TableCell'\nimport TableContainer from '@mui/material/TableContainer'\nimport TableHead from '@mui/material/TableHead'\nimport TableRow from '@mui/material/TableRow'\nimport _identity from 'lodash/identity'\nimport _isEmpty from 'lodash/isEmpty'\nimport _map from 'lodash/map'\nimport React, { Fragment, useState } from 'react'\n\nimport { downloadPDF } from '../../utils'\nimport SnackbarAlert from '../common/SnackbarAlert'\nimport { CustomFieldTypes } from './index'\nimport { TicketHolderCustomFields } from './TicketHolderCustomFields'\n\ninterface IAddOnTypes {\n name: string;\n groupName: string;\n status: string;\n}\n\nexport interface ITicketTypes {\n add_ons?: IAddOnTypes[];\n hash: string;\n ticket_type: string;\n holder_name: string;\n status: string;\n pdf_link: string;\n is_sellable: boolean;\n is_on_sale?: boolean;\n event_name: string;\n currency: string;\n ticket_type_hash: string;\n ticket_type_is_active?: boolean;\n canSellTicket?: boolean;\n retain_amount_on_sale: number | string;\n ticketsTitle: string;\n}\n\nexport interface IActionColumns {\n download?: boolean;\n sell_ticket?: boolean;\n}\n\ninterface TicketsTableTypes {\n canSellTicket?: boolean;\n tickets: ITicketTypes[];\n columns: Array<{\n id?: string | number;\n key: keyof ITicketTypes & keyof IActionColumns;\n label: string | number | null | undefined;\n }>;\n handleSellTicket: (ticket: ITicketTypes) => void;\n handleRemoveFromResale: (ticket: ITicketTypes) => void;\n handleTicketHoldersUpdate: (values: Record<string, any>, ticketHash: string) => void;\n\n icon?: string;\n displayColumnNameInRow?: boolean;\n ticketsTitle?: string;\n ticketHoldersCustomFields?: Array<CustomFieldTypes>;\n}\n\ntype PdfDownload = {\n hash: string;\n loading: boolean;\n}\n\nconst TicketsTable = ({\n tickets = [],\n columns = [],\n icon = '',\n displayColumnNameInRow = false,\n canSellTicket = true,\n ticketsTitle = 'Your Tickets',\n ticketHoldersCustomFields = [],\n handleSellTicket = _identity,\n handleRemoveFromResale = _identity,\n handleTicketHoldersUpdate = _identity,\n}: TicketsTableTypes) => {\n const [pdfError, setPdfError] = useState<string | null>(null)\n const [pdfDownload, setPdfDownload] = useState<PdfDownload>({\n hash: '',\n loading: false,\n })\n\n const getRow = (ticket: ITicketTypes) =>\n _map(columns, (column, columnIndex) => {\n if (column.key === 'download') {\n const ticketIsDownloading =\n pdfDownload.loading && pdfDownload.hash === ticket.hash\n\n if (!ticket.pdf_link || ticket.status === 'Sold' || ticket.is_on_sale)\n return <TableCell key={columnIndex}>{null}</TableCell>\n\n return (\n <TableCell key={columnIndex}>\n {Boolean(icon) && <img src={icon} alt=\"nodata\" />}\n <span\n aria-hidden={true}\n className=\"action-button\"\n onClick={async () => {\n if (ticketIsDownloading) {\n return\n }\n\n setPdfDownload({ hash: ticket.hash, loading: true })\n try {\n const pdfDownloadError = await downloadPDF(ticket.pdf_link)\n if (pdfDownloadError) {\n setPdfError(pdfDownloadError?.message)\n }\n } catch (err) {\n if (err && typeof err === 'string') {\n setPdfError(err)\n }\n } finally {\n setPdfDownload({ hash: '', loading: false })\n }\n }}\n >\n {ticketIsDownloading ? <CircularProgress size=\"22px\" /> : 'Download'}\n </span>\n </TableCell>\n )\n }\n\n if (column.key === 'sell_ticket') {\n return (\n <TableCell key={columnIndex}>\n {ticket.is_sellable && canSellTicket && (\n <span\n aria-hidden={true}\n className=\"action-button\"\n onClick={() => handleSellTicket(ticket)}\n >\n Sell Ticket\n </span>\n )}\n {ticket.is_on_sale && (\n <span\n aria-hidden={true}\n className=\"action-button\"\n onClick={() => handleRemoveFromResale(ticket)}\n >\n Remove from Resale\n </span>\n )}\n </TableCell>\n )\n }\n\n return displayColumnNameInRow ? (\n <TableCell key={columnIndex}>\n <div className=\"cell-block\">\n <span>{column.label}</span>\n <span>{ticket[column.key]}</span>\n </div>\n </TableCell>\n ) : (\n <TableCell key={columnIndex}>\n <div className=\"cell-block\">\n <span>{ticket[column.key]}</span>\n </div>\n </TableCell>\n )\n })\n\n return (\n <div className=\"tickets-box\">\n <SnackbarAlert\n type=\"error\"\n isOpen={!!pdfError}\n message={pdfError || ''}\n onClose={() => setPdfError(null)}\n />\n <h4 className=\"sub-title tickets-title\">{ticketsTitle}</h4>\n <TableContainer component={Paper}>\n <Table aria-label=\"collapsible table\">\n {displayColumnNameInRow ? null : (\n <TableHead>\n <TableRow>\n {_map(columns, item => (\n <TableCell key={item.key}>{item.label || ''}</TableCell>\n ))}\n </TableRow>\n </TableHead>\n )}\n <TableBody>\n {tickets.map((ticket: ITicketTypes, index: number) => {\n const holderCustomFields = ticketHoldersCustomFields.filter(\n (field: CustomFieldTypes) => field?.ticketHash === ticket?.hash\n )\n\n return (\n <Fragment key={index}>\n <TableRow>{getRow(ticket)}</TableRow>\n {!_isEmpty(holderCustomFields) && (\n <TableRow>\n <TableCell colSpan={columns.length}>\n <TicketHolderCustomFields\n ticket={ticket}\n holderCustomFields={holderCustomFields}\n handleTicketHoldersUpdate={handleTicketHoldersUpdate}\n />\n </TableCell>\n </TableRow>\n )}\n {!!ticket.add_ons?.length && (\n <TableRow>\n <TableCell colSpan={6}>\n <Table className=\"ticket-add-on-table\">\n <TableHead>\n <TableRow>\n <TableCell>Add-On</TableCell>\n <TableCell>Status</TableCell>\n </TableRow>\n </TableHead>\n <TableBody>\n {ticket.add_ons.map((add_on: IAddOnTypes, index: number) => (\n <TableRow key={index}>\n <TableCell>\n {add_on.groupName && `${add_on.groupName}: `}{' '}\n {add_on.name}\n </TableCell>\n <TableCell>{add_on.status}</TableCell>\n </TableRow>\n ))}\n </TableBody>\n </Table>\n </TableCell>\n </TableRow>\n )}\n </Fragment>\n )\n })}\n </TableBody>\n </Table>\n </TableContainer>\n </div>\n )\n}\n\nexport default TicketsTable\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport './style.css'\n\nimport { ThemeOptions } from \"@mui/material\"\nimport Paper from '@mui/material/Paper'\nimport { createTheme, ThemeProvider } from \"@mui/material/styles\"\nimport Table from '@mui/material/Table'\nimport TableBody from '@mui/material/TableBody'\nimport TableCell from '@mui/material/TableCell'\nimport TableContainer from '@mui/material/TableContainer'\nimport TableHead from '@mui/material/TableHead'\nimport TableRow from '@mui/material/TableRow'\nimport { CSSProperties } from \"@mui/styles\"\nimport _find from 'lodash/find'\nimport _get from 'lodash/get'\nimport _has from 'lodash/has'\nimport _identity from 'lodash/identity'\nimport _isEmpty from 'lodash/isEmpty'\nimport _map from 'lodash/map'\nimport moment from 'moment-timezone'\nimport React, { useEffect, useMemo, useState } from 'react'\nimport SVG from 'react-inlinesvg'\n\nimport {\n getOrderDetails,\n removeFromResale,\n resaleTicket,\n updateOrderCustomFields,\n updateTicketHoldersCustomFields,\n} from '../../api'\nimport EditSvg from '../../assets/images/edit.svg'\nimport { isBrowser } from '../../utils'\nimport ConfirmModal from '../confirmModal'\nimport { InitialValuesTypes, TicketResaleModal } from '../ticketResaleModal'\nimport { CustomFieldsForm } from './CustomFieldsForm'\nimport TicketsTable, { IActionColumns, ITicketTypes } from './ticketsTable'\nimport { isFieldUpdatable, renderCustomFieldValue } from './utils'\n\ninterface TicketTypes {\n currency: string;\n discount: string;\n name: string;\n price: string;\n quantity: string;\n total: string;\n groupName: string;\n guests_count: string;\n deposit_paid: string;\n remaining: string;\n}\n\ninterface OrderDetailsTypes {\n columns: Array<{ label: string }>;\n onGetOrdersSuccess: (res: any) => void;\n onGetOrdersError: (err: any) => void;\n onReturnButtonClick: (data: any) => void;\n onRemoveFromResaleSuccess: () => void;\n onRemoveFromResaleError: (err: any) => void;\n onResaleTicketSuccess: () => void;\n onResaleTicketError: (err: any) => void;\n onUpdateOrderCustomFieldsSuccess: (val: any) => void;\n onUpdateOrderCustomFieldsError: (err: any) => void;\n onUpdateTicketHolderCustomFieldsSuccess: (val: any) => void;\n onUpdateTicketHolderCustomFieldsError: (err: any) => void;\n personalLinkIcon?: string;\n displayColumnNameInRow?: boolean;\n canSellTicket?: boolean;\n themeOptions?: ThemeOptions & {\n input?: CSSProperties;\n checkbox?: CSSProperties;\n };\n ticketsTableColumns?: Array<{\n id?: string | number;\n key: keyof ITicketTypes & keyof IActionColumns;\n label: string | number | null | undefined;\n }>;\n ordersPath?: string;\n orderId?: string | number;\n referralTitle?: string;\n itemsTitle?: string;\n ticketsTitle?: string;\n}\n\nexport interface CustomFieldOption {\n id: string;\n name: string;\n value: string;\n order: string;\n}\n\nexport interface CustomFieldTypes {\n description: string;\n enabled: string;\n id: string;\n label: string;\n name: string;\n orderId: string;\n required: boolean;\n settings: {\n showOnMyTickets: boolean;\n allowUpdate: boolean;\n className: string;\n };\n type: string;\n value: string | Array<string>;\n\n ticketHash?: string;\n options?: CustomFieldOption[];\n}\n\nconst getTotal = (data: any) => {\n if (data?.total && data?.tickets && data.tickets[0]?.currency)\n return data.tickets[0].currency + data.total\n if (!data?.total || !_has(data, 'items.ticket_types.length')) return ''\n\n return data.items.ticket_types[0].currency + data.total\n}\n\nexport const OrderDetailsContainer = ({\n columns = [],\n onGetOrdersSuccess = _identity,\n onGetOrdersError = _identity,\n onRemoveFromResaleSuccess = _identity,\n onRemoveFromResaleError = _identity,\n onResaleTicketSuccess = _identity,\n onResaleTicketError = _identity,\n onUpdateOrderCustomFieldsSuccess = _identity,\n onUpdateOrderCustomFieldsError = _identity,\n onUpdateTicketHolderCustomFieldsSuccess = _identity,\n onUpdateTicketHolderCustomFieldsError = _identity,\n onReturnButtonClick,\n personalLinkIcon = '',\n displayColumnNameInRow = false,\n canSellTicket = true,\n ticketsTableColumns,\n ordersPath,\n orderId: pOrderId,\n referralTitle = '',\n itemsTitle = '',\n ticketsTitle = 'Your Tickets',\n themeOptions,\n}: OrderDetailsTypes) => {\n const [data, setData] = useState<any>({})\n const [removeFromResaleLoading, setRemoveFromResaleLoading] = useState(false)\n const [resaleTicketLoading, setResaleTicketLoading] = useState(false)\n const [showResaleModal, setShowResaleModal] = useState(false)\n const [showRemoveResaleModal, setShowRemoveResaleModal] = useState(false)\n const [activeTicket, setActiveTicket] = useState<any>(null)\n const [showOrderCustomFieldsSection, setShowOrderCustomFieldsSection] = useState(false)\n\n const isTable = _get(data, 'tickets[0].is_table', false)\n const columnsProps = isTable\n ? [\n { label: 'Items' },\n { label: 'Price' },\n { label: 'Guests count' },\n { label: 'Deposit paid' },\n { label: 'Remaining' },\n ]\n : columns\n const ticketHoldersCustomFields = _get(data, 'ticket_data_capture', [])\n\n const orderCustomFields = _get(data, 'data_capture', [])\n const [orderUpdatableCustomFields, orderNotUpdatableCustomFields] = useMemo(() => {\n const allowedFields: CustomFieldTypes[] = []\n const notAllowedFields: CustomFieldTypes[] = []\n\n orderCustomFields.forEach((field: CustomFieldTypes) => {\n if (isFieldUpdatable(field)) {\n allowedFields.push(field)\n } else {\n notAllowedFields.push(field)\n }\n })\n return [allowedFields, notAllowedFields]\n }, [orderCustomFields])\n const orderEditableFieldsFormInitialValues = useMemo(() => {\n const initialValues = orderUpdatableCustomFields.map((field: CustomFieldTypes) => [\n field.name,\n field.type === 'checkbox' ? Boolean(field.value) : field.value || '',\n ])\n return Object.fromEntries(initialValues)\n }, [orderUpdatableCustomFields])\n\n let orderId = String(pOrderId) || ''\n if (isBrowser && !pOrderId) {\n const params: URLSearchParams = new URL(`${window.location}`).searchParams\n orderId = params.get('o') || ''\n }\n\n let orderSummery = `ID ${data.id}, placed`\n if (data.date && data.timezone) {\n const date = moment.tz(data.date, data.timezone).format('dddd, DD MMMM YYYY')\n orderSummery += ` ${date}`\n }\n\n useEffect(() => {\n (async () => {\n try {\n let orderId = pOrderId || ''\n if (isBrowser && !pOrderId) {\n const params: URLSearchParams = new URL(`${window.location}`).searchParams\n orderId = params.get('o') || ''\n }\n const response = await getOrderDetails(String(orderId))\n onGetOrdersSuccess(response)\n\n const data = _get(response, 'data.attributes')\n setData(data)\n } catch (error) {\n onGetOrdersError(error)\n }\n })()\n }, [])\n\n const handleSellTicket = (ticket: ITicketTypes) => {\n const ticketTypesArr = data.items.ticket_types\n const sellTicketType = _find(\n ticketTypesArr,\n ticketType => ticketType.hash === ticket.ticket_type_hash\n )\n setActiveTicket({\n ...ticket,\n ticket_type_is_active: sellTicketType?.active,\n })\n setShowResaleModal(true)\n }\n\n const handleOnClose = () => {\n setShowResaleModal(false)\n setActiveTicket(null)\n }\n\n const handleOnSubmit = async (values: InitialValuesTypes) => {\n if (resaleTicketLoading) {\n return\n }\n\n try {\n setResaleTicketLoading(true)\n const { to, first_name, last_name, email, confirm_email, confirm } = values\n const formData = new FormData()\n formData.append('to', to)\n formData.append('first_name', first_name)\n formData.append('last_name', last_name)\n formData.append('email', email)\n formData.append('confirm_email', confirm_email)\n formData.append('confirm', String(confirm))\n\n await resaleTicket(formData, activeTicket.hash)\n const response = await getOrderDetails(orderId)\n onGetOrdersSuccess(response)\n\n const data = _get(response, 'data.attributes')\n const updatedData = { ...data }\n updatedData?.tickets?.forEach((ticket: ITicketTypes) => {\n if (ticket.hash === activeTicket.hash) {\n ticket.is_sellable = false\n ticket.is_on_sale = true\n }\n })\n\n setData(updatedData)\n onResaleTicketSuccess()\n } catch (error) {\n onResaleTicketError(error)\n } finally {\n setShowResaleModal(false)\n setResaleTicketLoading(false)\n }\n }\n\n const handleRemoveFromResale = (ticket: ITicketTypes) => {\n setShowRemoveResaleModal(true)\n setActiveTicket(ticket)\n }\n\n const onCloseRemoveResale = () => {\n setShowRemoveResaleModal(false)\n setActiveTicket(null)\n }\n\n const onConfirmRemoveResale = async () => {\n if (removeFromResaleLoading) {\n return\n }\n\n try {\n setRemoveFromResaleLoading(true)\n await removeFromResale(activeTicket.hash)\n const response = await getOrderDetails(orderId)\n onGetOrdersSuccess(response)\n\n const data = _get(response, 'data.attributes')\n const updatedData = { ...data }\n updatedData?.tickets?.forEach((ticket: ITicketTypes) => {\n if (ticket.hash === activeTicket.hash) {\n ticket.is_sellable = true\n ticket.is_on_sale = false\n }\n })\n\n setData(updatedData)\n onRemoveFromResaleSuccess()\n } catch (error) {\n onRemoveFromResaleError(error)\n } finally {\n setShowRemoveResaleModal(false)\n setRemoveFromResaleLoading(false)\n }\n }\n\n const handleOrderCustomFieldsUpdate = async (values: Record<string, any>) => {\n setShowOrderCustomFieldsSection(false)\n try {\n // Collect all updatable and non updatable values for bulk update\n const fullUpdatableValues = orderNotUpdatableCustomFields.reduce(\n (acc, customField) => {\n acc[customField.name] = customField.value\n return acc\n },\n { ...values }\n )\n const eventId = _get(data, 'event_id')\n const response = await updateOrderCustomFields(\n eventId,\n orderId,\n fullUpdatableValues\n )\n const updatedCustomFields = _get(response, 'data.data.attributes', [])\n\n setData((prevState: Record<string, any>) => ({\n ...prevState,\n data_capture: updatedCustomFields,\n }))\n onUpdateOrderCustomFieldsSuccess(response)\n } catch (error) {\n onUpdateOrderCustomFieldsError(error)\n }\n }\n\n const handleTicketHoldersUpdate = async (\n values: Record<string, any>,\n ticketHash: string\n ) => {\n try {\n const eventId = _get(data, 'event_id')\n const response = await updateTicketHoldersCustomFields(eventId, values, ticketHash)\n const updatedFields = _get(response, 'data.data.attributes', [])\n const notUpdatedFields = ticketHoldersCustomFields.filter(\n (field: CustomFieldTypes) => field.ticketHash !== ticketHash\n )\n\n setData((prevState: Record<string, any>) => ({\n ...prevState,\n ticket_data_capture: [...updatedFields, ...notUpdatedFields],\n }))\n onUpdateTicketHolderCustomFieldsSuccess(response)\n } catch (error) {\n onUpdateTicketHolderCustomFieldsError(error)\n }\n }\n\n const theme = createTheme(themeOptions ?? {})\n\n return (\n <ThemeProvider theme={theme}>\n <div className=\"order-details\">\n <div className=\"layout-block\">\n <h1 className=\"layout-title\">Order Details</h1>\n {!_isEmpty(orderUpdatableCustomFields) && (\n <SVG src={EditSvg} onClick={() => setShowOrderCustomFieldsSection(true)}/>\n )}\n </div>\n <div className=\"order-summary-box\">\n <div className=\"summary-block\">\n <div className=\"summary-item\">\n <h6 className=\"sub-title\">Order Summary</h6>\n <p className=\"order-summary-date\">{orderSummery}</p>\n </div>\n <div className=\"summary-item\">\n <div className=\"return-button-container\">\n <button\n type=\"button\"\n className=\"return-button\"\n onClick={() => {\n if (isBrowser) {\n window.location.assign(ordersPath ?? '/orders')\n }\n }}\n >\n Back to Orders\n </button>\n </div>\n </div>\n </div>\n {!_isEmpty(orderCustomFields) && (\n <>\n <div className=\"custom-field-value-container\">\n {orderCustomFields.map((customField: CustomFieldTypes) => (\n <div className=\"info-item\" key={customField.id}>\n <b>{customField.label} :</b> {renderCustomFieldValue(customField)}\n </div>\n ))}\n </div>\n {!_isEmpty(orderUpdatableCustomFields) && (\n <div\n className={`custom-fields-block ${\n showOrderCustomFieldsSection ? 'show' : ''\n }`}\n >\n <p className=\"title\">Aditional Information Request</p>\n <CustomFieldsForm\n initialValues={orderEditableFieldsFormInitialValues}\n fields={orderUpdatableCustomFields}\n handleFormSubmit={handleOrderCustomFieldsUpdate}\n handleFormClose={() => setShowOrderCustomFieldsSection(false)}\n />\n </div>\n )}\n </>\n )}\n {!data?.disable_referral && (\n <>\n {referralTitle && (\n <h4 className=\"referral-title sub-title\">{referralTitle}</h4>\n )}\n <div className=\"personal-link\">\n <div className=\"link-item\">\n <span>Personal Share Link: </span>\n <a href={data?.personal_share_link} target=\"_blank\" rel=\"noreferrer\">\n {Boolean(personalLinkIcon) && <img src={personalLinkIcon} alt=\"Icon\"/>}\n {data?.personal_share_link}\n </a>\n </div>\n {data?.sales_referred ? (\n <div className=\"link-item\">\n <p className=\"total-referrer\">{`So far, you’ve referred ${data.sales_referred} tickets`}</p>\n </div>\n ) : null}\n </div>\n </>\n )}\n {itemsTitle && <h4 className=\"items-title sub-title\">{itemsTitle}</h4>}\n <TableContainer component={Paper}>\n <Table className=\"tt-type\" aria-label=\"collapsible table\">\n <TableHead>\n <TableRow>\n {_map(columnsProps, item => (\n <TableCell>{item.label || ''}</TableCell>\n ))}\n </TableRow>\n </TableHead>\n <TableBody>\n {data?.items?.ticket_types?.map((ticket: TicketTypes, index: number) =>\n data?.tickets && !data?.tickets[0].is_table ? (\n <TableRow key={index}>\n <TableCell>\n <b>Ticket Type:</b> {ticket.name}\n </TableCell>\n <TableCell>{ticket.currency + ticket.price}</TableCell>\n <TableCell>{ticket.quantity}</TableCell>\n <TableCell>{ticket.currency + ticket.total}</TableCell>\n </TableRow>\n ) : (\n <TableRow key={index}>\n <TableCell>\n <b>Ticket Type:</b> {ticket.name}\n </TableCell>\n <TableCell>{ticket.currency + ticket.price}</TableCell>\n <TableCell>{ticket.guests_count}</TableCell>\n <TableCell>{ticket.deposit_paid}</TableCell>\n <TableCell>{ticket.remaining}</TableCell>\n </TableRow>\n )\n )}\n {data?.items?.add_ons?.map((ticket: TicketTypes, index: number) => (\n <TableRow key={index}>\n <TableCell>\n <div>\n <b>Add-On</b>\n <div>\n {ticket.groupName && `${ticket.groupName}: `} {ticket.name}\n </div>\n </div>\n </TableCell>\n <TableCell>{ticket.currency + ticket.price}</TableCell>\n <TableCell>{ticket.quantity}</TableCell>\n <TableCell>{ticket.currency + ticket.total}</TableCell>\n </TableRow>\n ))}\n <TableRow className=\"total-row\">\n <TableCell/>\n <TableCell/>\n <TableCell>Total</TableCell>\n <TableCell>{getTotal(data)}</TableCell>\n </TableRow>\n </TableBody>\n </Table>\n </TableContainer>\n </div>\n <TicketsTable\n ticketsTitle={ticketsTitle}\n tickets={data.tickets}\n columns={\n ticketsTableColumns?.length\n ? ticketsTableColumns\n : [\n { key: 'hash' as never, label: 'Ticket ID' },\n { key: 'ticket_type' as never, label: 'Ticket Type' },\n { key: 'holder_name' as never, label: 'Ticket Holder' },\n { key: 'status' as never, label: 'Status' },\n { key: 'download' as never, label: '' },\n { key: 'sell_ticket' as never, label: '' },\n ]\n }\n handleSellTicket={handleSellTicket}\n handleRemoveFromResale={handleRemoveFromResale}\n displayColumnNameInRow={displayColumnNameInRow}\n canSellTicket={canSellTicket}\n ticketHoldersCustomFields={ticketHoldersCustomFields}\n handleTicketHoldersUpdate={handleTicketHoldersUpdate}\n />\n <div className=\"return-button-container\">\n <button\n type=\"button\"\n className=\"return-button\"\n onClick={() => {\n if (onReturnButtonClick) {\n onReturnButtonClick(data)\n } else if (isBrowser) {\n window.location.assign(ordersPath ?? '/orders')\n }\n }}\n >\n Return to Order History\n </button>\n </div>\n {showResaleModal && (\n <TicketResaleModal\n ticket={activeTicket}\n onClose={handleOnClose}\n onSubmit={handleOnSubmit}\n loading={resaleTicketLoading}\n />\n )}\n {showRemoveResaleModal && (\n <ConfirmModal\n message=\"Are you sure you want to withdraw your ticket from resale?\"\n onClose={onCloseRemoveResale}\n onConfirm={onConfirmRemoveResale}\n loading={removeFromResaleLoading}\n />\n )}\n </div>\n </ThemeProvider>\n )\n}\n","import React, { FC, useState } from 'react'\nimport { Field, Form, Formik } from 'formik'\nimport { CircularProgress } from '@mui/material'\nimport { CustomField } from '../common/CustomField'\nimport axios, { AxiosError } from 'axios'\nimport * as Yup from 'yup'\nimport { resetPassword } from '../../api'\nimport './style.css'\n\ninterface IResetPasswordProps {\n token?: string\n onResetPasswordSuccess?: (res: any) => void\n onResetPasswordError?: (e: AxiosError) => void\n}\n\nconst Schema = Yup.object().shape({\n password: Yup.string()\n .min(6, 'Password must have 5+ characters')\n .required('Required'),\n password_confirmation: Yup.string()\n .required('Required')\n .oneOf([Yup.ref('password'), null], 'Passwords must match'),\n})\n\nexport const ResetPasswordContainer: FC<IResetPasswordProps> = ({\n token: tokenProps = '',\n onResetPasswordSuccess = () => {},\n onResetPasswordError = () => {},\n}) => {\n const [loading, setLoading] = useState(false)\n return (\n <div className=\"reset-password\">\n <div className=\"title\">Change Password</div>\n <Formik\n initialValues={{ password: '', password_confirmation: '' }}\n validationSchema={Schema}\n onSubmit={async (values: any) => {\n try {\n setLoading(true)\n let token\n if (tokenProps) {\n token = tokenProps\n } else {\n if (typeof window !== 'undefined') {\n const params: URLSearchParams = new URL(`${window.location}`)\n .searchParams\n token = params.get('token')\n }\n }\n\n const payload = {\n token,\n ...values,\n }\n const res = await resetPassword(payload)\n onResetPasswordSuccess(res)\n } catch (e) {\n if (axios.isAxiosError(e)) {\n onResetPasswordError(e)\n }\n } finally {\n setLoading(false)\n }\n }}\n >\n {({ isValid, dirty }) => (\n <Form>\n <div className=\"body\">\n <div className=\"field-item\">\n <Field\n name=\"password\"\n label=\"New Password\"\n type=\"password\"\n component={CustomField}\n />\n </div>\n <div className=\"field-item\">\n <Field\n name=\"password_confirmation\"\n label=\"Confirm Password\"\n type=\"password\"\n component={CustomField}\n />\n </div>\n </div>\n <div className=\"action-button\">\n <button type=\"submit\" disabled={!(isValid && dirty)}>\n {loading ? <CircularProgress size=\"22px\" /> : 'Submit'}\n </button>\n </div>\n </Form>\n )}\n </Formik>\n </div>\n )\n}\n","import { AxiosError } from 'axios'\nimport _get from 'lodash/get'\nimport React, { useEffect, useState } from 'react'\n\nimport { declineInvitation, processTicket } from '../../api'\n\nexport interface ITicketResaleContainer {\n onProcessTicketSuccess: (res: any) => void;\n onProcessTicketError: (e: AxiosError) => void;\n onDeclineTicketPurchaseSuccess: (res: any) => void;\n onDeclineTicketPurchaseError: (e: AxiosError) => void;\n orderHash?: string;\n billingPath?: string;\n defaultRedirection?: boolean;\n}\n\nexport const TicketResaleContainer = ({\n onProcessTicketSuccess = () => {},\n onProcessTicketError = () => {},\n onDeclineTicketPurchaseSuccess = () => {},\n onDeclineTicketPurchaseError = () => {},\n orderHash,\n billingPath,\n defaultRedirection = true,\n}: ITicketResaleContainer) => {\n const isWindowDefined = typeof window !== 'undefined'\n const [error, setError] = useState('')\n const [successMessage, setSuccessMessage] = useState('')\n\n useEffect(() => {\n (async () => {\n if (isWindowDefined) {\n const params: URLSearchParams = new URL(`${window.location}`).searchParams\n const hash = params.get('invitation_hash') || orderHash || null\n const isDeclined = params.get('decline') || false\n\n if (hash) {\n // Process of declining ticket purchase invitation\n if (isDeclined) {\n try {\n const response = await declineInvitation(hash)\n onDeclineTicketPurchaseSuccess(response)\n setSuccessMessage(\n \"Thanks for letting us know! We'll offer this ticket to someone else!\"\n )\n } catch (error) {\n setError(error?.response?.data?.message)\n onDeclineTicketPurchaseError(error.response)\n }\n return\n }\n\n try {\n const response = await processTicket(hash)\n const event_id = _get(response.data.data.attributes, 'event_id')\n\n onProcessTicketSuccess(response.data)\n if (defaultRedirection) {\n window.location.href = `${billingPath ?? '/billing/billing-info'}?event_id=${event_id}`\n }\n } catch (error) {\n setError(error?.response?.data?.message)\n onProcessTicketError(error.response)\n }\n } else {\n window.location.href = '/'\n }\n }\n })()\n }, [])\n\n return (\n <div className=\"ticket-resale-page\">\n <div className={`${successMessage ? 'success-block' : 'error-block'}`}>\n <h3>{successMessage ? successMessage : error}</h3>\n </div>\n </div>\n )\n}\n","import axios, { AxiosError } from 'axios'\nimport { Field, Form, Formik } from 'formik'\nimport _get from 'lodash/get'\nimport _identity from 'lodash/identity'\nimport React, { FC, useState } from 'react'\n\nimport { authorize, getProfileData } from '../../api'\nimport { combineValidators, emailValidator, requiredValidator } from '../../validators'\nimport { CustomField } from '../common'\nimport { PoweredBy } from '../common/PoweredBy'\n\nexport interface ILoginFormProps {\n alreadyHasUser?: boolean;\n userExpired?: boolean;\n\n onLoginSuccess?: (res: IProfileData) => void;\n onLoginError?: (e: AxiosError) => void;\n\n onGetProfileDataSuccess?: (res: IProfileData) => void;\n onGetProfileDataError?: (e: AxiosError) => void;\n\n onForgotPasswordButtonClick?: () => void;\n onSignupButtonClick?: () => void;\n\n logo?: string;\n showForgotPasswordButton?: boolean;\n showSignUpButton?: boolean;\n showPoweredByImage?: boolean;\n}\n\n// interface IUserData {\n// id: string;\n// firstName: string;\n// lastName: string;\n// email: string;\n// city?: string;\n// country?: string;\n// countryId?: string;\n// phone?: string;\n// streetAddress?: string;\n// state?: string;\n// zip?: string;\n// zipCode?: string;\n// stateId?: string;\n// }\n\nexport const setLoggedUserData = (data: IProfileData) => ({\n id: data.id,\n first_name: data.firstName,\n last_name: data.lastName,\n email: data.email,\n confirmEmail: data.email,\n city: data?.city || '',\n country: data?.countryId || '',\n phone: data?.phone || '',\n street_address: data?.streetAddress || '',\n state: data?.stateId || '',\n zip: data?.zipCode || '',\n})\n\nexport const LoginForm: FC<ILoginFormProps> = ({\n alreadyHasUser = false,\n userExpired = false,\n\n onLoginSuccess = _identity,\n onLoginError = _identity,\n\n onGetProfileDataSuccess = _identity,\n onGetProfileDataError = _identity,\n\n onForgotPasswordButtonClick = _identity,\n onSignupButtonClick = _identity,\n\n logo,\n showForgotPasswordButton = false,\n showSignUpButton = false,\n showPoweredByImage = false,\n}) => {\n const [error, setError] = useState('')\n return (\n <div className=\"login-modal\">\n <Formik\n initialValues={{ email: '', password: '' }}\n onSubmit={async ({ email, password }) => {\n try {\n const body = { email, password }\n const authRes = await authorize(body)\n let profileResponse = null\n try {\n profileResponse = await getProfileData()\n onGetProfileDataSuccess(_get(profileResponse, 'data'))\n } catch (e) {\n if (axios.isAxiosError(e)) {\n onGetProfileDataError(e)\n }\n return\n }\n\n const profileSpecifiedData = _get(profileResponse, 'data')\n const profileDataObj = setLoggedUserData(profileSpecifiedData)\n if (typeof window !== 'undefined') {\n window.localStorage.setItem('user_data', JSON.stringify(profileDataObj))\n const event = new window.CustomEvent('tf-login')\n window.document.dispatchEvent(event)\n }\n onLoginSuccess(_get(authRes, 'data'))\n } catch (e) {\n if (axios.isAxiosError(e)) {\n const error = _get(e, 'response.data.message') || 'Error'\n setError(error)\n onLoginError(e)\n } else if (e instanceof Error) {\n setError(e?.message || 'Error')\n }\n }\n }}\n >\n {props => (\n <Form onSubmit={props.handleSubmit}>\n <div className=\"modal-title\">Login</div>\n <div className=\"login-logo-container\">\n <img\n className=\"login-logo-tff\"\n src={\n logo ||\n 'https://www.ticketfairy.com/resources/images/logo-ttf-black.svg'\n }\n alt=\"logo\"\n />\n </div>\n <div className=\"server_auth__error\">{error}</div>\n {alreadyHasUser && (\n <p className=\"info-text-for-login\">\n It appears this email is already attached to an account. Please log in\n here to complete your registration.\n </p>\n )}\n {userExpired && (\n <p className=\"info-text-for-login\">\n Your session has expired, please log in again.\n </p>\n )}\n <div className=\"login-modal-body\">\n <div className=\"login-modal-body__email\">\n <Field\n name=\"email\"\n label=\"Email\"\n type=\"email\"\n component={CustomField}\n validate={combineValidators(requiredValidator, emailValidator)}\n />\n </div>\n <div className=\"login-modal-body__password\">\n <Field\n name=\"password\"\n label=\"Password\"\n type=\"password\"\n component={CustomField}\n validate={requiredValidator}\n />\n </div>\n <div className=\"login-action-button\">\n <button type=\"submit\">Login</button>\n </div>\n {showForgotPasswordButton && (\n <div className=\"forgot-password\">\n <span aria-hidden=\"true\" onClick={onForgotPasswordButtonClick}>\n Forgot password?\n </span>\n </div>\n )}\n {showSignUpButton && (\n <div className=\"forgot-password\">\n <span aria-hidden=\"true\" onClick={onSignupButtonClick}>\n Sign up\n </span>\n </div>\n )}\n {showPoweredByImage ? <PoweredBy /> : null}\n </div>\n </Form>\n )}\n </Formik>\n </div>\n )\n}\n","import { FormikValues } from 'formik'\nimport _isEmpty from 'lodash/isEmpty'\nimport _map from 'lodash/map'\n\nimport { isBrowser } from '../../../../utils'\nimport { combineValidators, requiredValidator } from '../../../../validators'\n\nexport const getValidateFunctions = ({\n element,\n values,\n}: {\n element: IFormField;\n values: FormikValues;\n}) => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const validationFunctions: any[] = []\n if (element.required) {\n validationFunctions.push(requiredValidator)\n }\n\n if (element.onValidate) {\n validationFunctions.push(element.onValidate)\n }\n\n if (element.name === 'confirmEmail') {\n const isSameEmail = (confirmEmail?: string) =>\n values.email !== confirmEmail\n ? 'Please confirm your email address correctly'\n : null\n validationFunctions.push(isSameEmail)\n }\n\n if (element.name === 'confirmPassword') {\n const isSame = (confirmPassword?: string) =>\n values.password !== confirmPassword\n ? 'Password confirmation does not match'\n : null\n\n validationFunctions.push(isSame)\n }\n\n return combineValidators(...validationFunctions)\n}\n\nexport const updateFormFieldsAttributes = (\n formFields: IFormFieldsSection[],\n attributes?: IFieldAttribute\n) => {\n if (attributes && !_isEmpty(attributes)) {\n const updatedFormFields = _map(formFields, fieldSection => {\n const fieldSectionAttributes = attributes[fieldSection.name] || {}\n\n const updatedFields = _map(fieldSection.fields, fieldItem => {\n const fieldItemAttributes = attributes[fieldItem.name] || {}\n return { ...fieldItem, ...fieldItemAttributes }\n })\n\n return {\n ...fieldSection,\n ...fieldSectionAttributes,\n fields: updatedFields,\n }\n })\n\n return updatedFormFields\n }\n return formFields\n}\n\nexport const getFieldClassNames = (id: string, existingClassNames: string) => {\n if (isBrowser) {\n const elem = document && document.getElementById(id)\n\n if ((elem?.parentElement?.clientWidth || 0) < 375) {\n return existingClassNames + ' full-width'\n }\n }\n\n return existingClassNames\n}\n\nexport const insertHTML = (elementId: string, text = '') => {\n if (isBrowser) {\n const elem = document && document.getElementById(elementId)\n\n if (!elem?.childNodes.length) {\n elem?.insertAdjacentHTML('afterbegin', text)\n }\n }\n\n return null\n}\n","import { Field, FormikValues } from 'formik'\nimport _identity from 'lodash/identity'\nimport _map from 'lodash/map'\nimport React, { FC } from 'react'\n\nimport { replaceVarInString } from '../../../utils'\nimport {\n CheckboxField,\n CustomField,\n DatePickerField,\n PhoneNumberField,\n SelectField,\n} from '../index'\nimport { getFieldClassNames, getValidateFunctions, insertHTML } from './utils'\n\nexport interface IFieldsSectionProps {\n formFields?: IFormFieldsSection[];\n values: FormikValues;\n setFieldValue: (\n field: string,\n value: FormikValues | string | number,\n shouldValidate?: boolean | undefined\n ) => void;\n disableField?: string;\n countries?: { [key: string]: string | number }[];\n states?: { [key: string]: string | number }[];\n theme?: 'dark' | 'light';\n containerClass?: string;\n setPhoneValidationIsLoading?: (isLoading: boolean) => void;\n onFieldChange?: (name: string, value: string | number) => void;\n}\n\nconst SectionContainer: FC<{ className: string }> = ({\n children,\n className,\n}) => <div className={className}>{children}</div>\n\nexport const FieldsSection = ({\n formFields = [],\n countries = [],\n states = [],\n values,\n setFieldValue,\n theme,\n containerClass = '',\n setPhoneValidationIsLoading = _identity,\n onFieldChange = _identity,\n disableField,\n}: IFieldsSectionProps) => (\n <>\n {_map(formFields, (item, index) => {\n const {\n name,\n groupLabel,\n groupLabelVars = [],\n groupLabelClassName,\n groupClassName = '',\n fields,\n } = item\n return (\n <SectionContainer key={name} className={groupClassName}>\n <span id={`group_label_${index}`} className={groupLabelClassName}>\n {typeof groupLabel === 'string'\n ? insertHTML(\n `group_label_${index}`,\n replaceVarInString(groupLabel, groupLabelVars)\n )\n : groupLabel}\n </span>\n <div className={`fields-container ${groupClassName}`}>\n {_map(fields, (fieldData, fieldIndex) => {\n const {\n name,\n label,\n className = 'full-width',\n type,\n component,\n options = [],\n required,\n } = fieldData\n const id = `${name}-${fieldIndex}`\n const classNames = `${containerClass}-container__field ${className}`\n return (\n component || (\n <div\n key={name}\n id={id}\n className={getFieldClassNames(id, classNames)}\n >\n <Field\n disabled={name === disableField || name === 'state' && !states.length}\n name={name}\n label={`${label}${required ? '' : ' (optional)'}`}\n type={type}\n validate={name === 'state' && !states.length ? false : getValidateFunctions({\n element: fieldData,\n values,\n })}\n setFieldValue={setFieldValue}\n component={\n type === 'checkbox'\n ? CheckboxField\n : type === 'select'\n ? SelectField\n : type === 'phone'\n ? PhoneNumberField\n : type === 'date'\n ? DatePickerField\n : CustomField\n }\n options={\n name === 'country'\n ? countries\n : name === 'state'\n ? states\n : options\n }\n theme={theme}\n setPhoneValidationIsLoading={\n type === 'phone'\n ? setPhoneValidationIsLoading\n : undefined\n }\n onChange={(e: React.FormEvent<EventTarget>) => {\n const element = e.target as HTMLInputElement\n const { value } = element\n setFieldValue(name, value)\n onFieldChange(name, value)\n }}\n disableDropdown={fieldData.disableDropdown}\n />\n </div>\n )\n )\n })}\n </div>\n </SectionContainer>\n )\n })}\n </>\n)\n","import _map from 'lodash/map'\n\nexport const collectStates = (states: any) => {\n const mappedStates = _map(states, (item, key) => ({\n label: item,\n value: key,\n }))\n\n return mappedStates\n}\n","import React from 'react'\n\nimport { CONFIGS } from '../../utils'\n\nexport const formDefaultFields: IFormFieldsSection[] = [\n {\n name: 'basic-info',\n groupLabel: 'Create your account.',\n groupLabelClassName: '',\n groupClassName: '',\n fields: [\n {\n className: 'half-width',\n name: 'firstName',\n label: 'First Name',\n type: 'text',\n required: true,\n onValidate: null,\n },\n {\n className: 'half-width',\n name: 'lastName',\n label: 'Last Name',\n type: 'text',\n required: true,\n onValidate: null,\n },\n {\n name: 'email',\n label: 'Email',\n type: 'email',\n required: true,\n onValidate: null,\n },\n {\n name: 'confirmEmail',\n label: 'Confirm Email',\n type: 'email',\n required: true,\n onValidate: null,\n },\n ],\n },\n {\n name: 'billing-info',\n groupLabel: '',\n groupLabelClassName: '',\n groupClassName: '',\n fields: [\n {\n className: 'half-width',\n name: 'zip',\n label: 'Post Code/Zip',\n type: 'text',\n required: true,\n onValidate: null,\n },\n {\n className: 'half-width',\n name: 'country',\n label: 'Country',\n type: 'select',\n required: true,\n onValidate: null,\n },\n ],\n },\n {\n name: 'password-info',\n groupLabel: (\n <div className=\"email-info-block\">\n <span>Choose a password for your new</span>\n <b> {CONFIGS.CLIENT_NAME || 'Mana Common'} </b>\n <span>account</span>\n </div>\n ),\n groupLabelClassName: '',\n groupClassName: '',\n fields: [\n {\n className: 'half-width',\n name: 'password',\n label: 'Password',\n type: 'password',\n required: true,\n onValidate: null,\n },\n {\n className: 'half-width',\n name: 'confirmPassword',\n label: 'Confirm Password',\n type: 'password',\n required: true,\n onValidate: null,\n },\n ],\n },\n]\n","import { Button, CircularProgress } from '@mui/material'\nimport axios, { AxiosError } from 'axios'\nimport { Form, Formik, FormikValues } from 'formik'\nimport _get from 'lodash/get'\nimport _identity from 'lodash/identity'\nimport _map from 'lodash/map'\nimport React, { FC, useEffect, useState } from 'react'\n\nimport { getCountries, getProfileData, getStates, register } from '../../api'\nimport { CONFIGS, getFormInitialValues, getQueryVariable } from '../../utils'\nimport { FieldsSection } from '../common/FieldSection'\nimport { updateFormFieldsAttributes } from '../common/FieldSection/utils'\nimport ConfirmModal from '../confirmModal'\nimport { collectStates } from './adapters'\nimport { formDefaultFields } from './constants'\n\ninterface IRegistrationProps {\n formFields?: Array<IFormFieldsSection>;\n additionalFieldAttribute?: IFieldAttribute;\n registrationType: string;\n onGetCountriesSuccess?: (res: any) => void;\n onGetCountriesError?: (e: AxiosError) => void;\n onRegisterAccountSuccess?: (res: any) => void;\n onRegisterAccountError?: (e: AxiosError) => void;\n onGetStatesSuccess?: (res: any) => void;\n onGetStatesError?: (e: AxiosError) => void;\n customerEmail: string;\n}\n\nexport const RegistrationForm: FC<IRegistrationProps> = ({\n formFields,\n additionalFieldAttribute,\n registrationType,\n customerEmail,\n onGetCountriesSuccess = _identity,\n onGetCountriesError = _identity,\n onRegisterAccountSuccess = _identity,\n onRegisterAccountError = _identity,\n onGetStatesSuccess = _identity,\n onGetStatesError = _identity,\n}) => {\n const [errorMessage, setErrorMessage] = useState('')\n const [countries, setCountries] = useState<{ [key: string]: string | number }[]>([])\n const [states, setStates] = useState<{ [key: string]: string | number }[]>([])\n const [phoneValidationIsLoading, setPhoneValidationIsLoading] = useState(false)\n const [showErrorModal, setshowErrorModal] = useState(false)\n\n const updatedFormFields = updateFormFieldsAttributes(\n formFields || formDefaultFields,\n additionalFieldAttribute\n )\n\n // Fetch countries data\n const fetchCountries = async () => {\n try {\n const res = await getCountries()\n setCountries(\n _map(res.data, item => ({\n label: item.name,\n value: item.id,\n }))\n )\n onGetCountriesSuccess(res.data)\n } catch (e) {\n if (axios.isAxiosError(e)) {\n const errorMessage = _get(e, 'response.data.message') || 'Error'\n setErrorMessage(errorMessage)\n onGetCountriesError(e)\n }\n }\n }\n\n // Fetch states data\n const fetchStates = async (countryId?: string | number) => {\n try {\n const fetchCountryId = countryId ? countryId : '1'\n const res = await getStates(fetchCountryId)\n const states = _get(res, 'data', [])\n const mappedStates = collectStates(states)\n setStates(mappedStates)\n onGetStatesSuccess(res.data)\n } catch (e) {\n if (axios.isAxiosError(e)) {\n const errorMessage = _get(e, 'response.data.message', {}) as AxiosError\n onGetStatesError(errorMessage)\n }\n }\n }\n\n const handleRegisterAccount = async (values: FormikValues) => {\n const accessHash = getQueryVariable('hash') || ''\n\n try {\n const bodyFormData = new FormData()\n\n bodyFormData.append('first_name', values.firstName)\n bodyFormData.append('last_name', values.lastName)\n bodyFormData.append('email', values.email)\n bodyFormData.append('zip', values.zip)\n bodyFormData.append('city', values.city)\n bodyFormData.append('country', values.country)\n bodyFormData.append('password', values.password)\n bodyFormData.append('phone', values.phone || '')\n bodyFormData.append('password_confirmation', values.confirmPassword)\n bodyFormData.append('client_id', CONFIGS.CLIENT_ID)\n bodyFormData.append('client_secret', CONFIGS.CLIENT_SECRET)\n bodyFormData.append('register_for', registrationType)\n bodyFormData.append('delegation_access_hash', accessHash)\n\n await register(bodyFormData)\n const profileRes = await getProfileData()\n\n window.localStorage.setItem('user_data', JSON.stringify(_get(profileRes, 'data')))\n onRegisterAccountSuccess(profileRes)\n } catch (e) {\n if (axios.isAxiosError(e)) {\n console.log(e)\n const errorMessage = _get(e, 'response.data.message') || 'Error'\n onRegisterAccountError(e)\n setshowErrorModal(true)\n setErrorMessage(errorMessage)\n } else if (e instanceof Error) {\n setErrorMessage(e?.message || 'Error')\n }\n }\n }\n\n useEffect(() => {\n fetchCountries()\n fetchStates()\n }, [])\n\n return (\n <div className=\"register-form-container\">\n <h2>Create an account</h2>\n <div className=\"register-sub-title\">\n To manage your tickets, please create an account:\n </div>\n {showErrorModal && (\n <ConfirmModal\n hideCancelBtn={true}\n message={errorMessage}\n onClose={() => (window.location.href = '/')}\n onConfirm={() => (window.location.href = '/')}\n />\n )}\n {errorMessage && <div className=\"register-error\">{errorMessage}</div>}\n <Formik\n initialValues={{\n ...getFormInitialValues(updatedFormFields),\n email: customerEmail,\n }}\n enableReinitialize={true}\n onSubmit={handleRegisterAccount}\n >\n {props => (\n <Form>\n <div className=\"register-body\">\n <FieldsSection\n disableField={'email'}\n containerClass=\"register\"\n formFields={updatedFormFields}\n values={props.values}\n setFieldValue={props.setFieldValue}\n setPhoneValidationIsLoading={setPhoneValidationIsLoading}\n countries={countries}\n states={states}\n onFieldChange={(name, value) => {\n if (name === 'country') {\n fetchStates(value)\n }\n }}\n />\n </div>\n <div className=\"button-container\">\n <Button\n className=\"register-button\"\n type=\"submit\"\n disabled={props.isSubmitting || phoneValidationIsLoading}\n >\n {props.isSubmitting ? <CircularProgress size={26} /> : 'Create Account'}\n </Button>\n </div>\n </Form>\n )}\n </Formik>\n </div>\n )\n}\n","/* eslint-disable max-len */\nexport const VERIFICATION_STATUSES = {\n PENDING: 'PENDING',\n APPROVED: 'APPROVED_VERIFIED',\n FAILED: 'FAILED',\n WRONG_CUSTOMER: 'WRONG_CUSTOMER',\n}\n\nexport const VERIFICATION_PROVIDERS = {\n JUMIO: 'jumio',\n STRIPE: 'stripe'\n}\n\nexport const TRANSACTION_STATUSES = {\n ERROR: 'ERROR',\n SUCCESS: 'SUCCESS',\n}\n\nexport const VERIFICATION_MESSAGES = {\n PENDING:\n 'Your ID verification is currently being processed. We will notify you as soon as it is completed. Thank you for your patience.',\n APPROVED: 'Your ID verification is approved!',\n FAILED: 'Unfortunately your ID verification has failed. Please try again.',\n WRONG_CUSTOMER: 'The order does not belong to the customer.',\n}\n\nexport const DELEGATION_ACCESS_ERROR = 'Delegation Access not found'\n","import { CircularProgress } from '@mui/material'\nimport { Field, Form, Formik } from 'formik'\nimport _identity from 'lodash/identity'\nimport React from 'react'\n\nimport { requiredValidator } from '../../validators'\nimport { CheckboxField, SelectField } from '../common'\nimport { CustomField } from '../common/CustomField'\nimport { getValidateFunctions } from '../common/FieldSection/utils'\n\nexport interface IIssueTicketForm {\n classNamePrefix?: string;\n handleSubmit: (values: any, resetForm: any) => void;\n selectTicketTypeOptions: Array<any>;\n initialValues?: any;\n}\n\nconst IssueTicketForm = ({\n classNamePrefix = 'delegations',\n handleSubmit = _identity,\n selectTicketTypeOptions,\n initialValues,\n}: IIssueTicketForm) => (\n <div className={`${classNamePrefix}-issue-form`}>\n <Formik\n initialValues={initialValues}\n onSubmit={(values, { resetForm, setSubmitting }) => {\n delete values.confirm\n handleSubmit(values, { resetForm, setSubmitting })\n }}\n >\n {({ isValid, values, isSubmitting }) => (\n <Form>\n <div className=\"body\">\n <div className=\"field-item\">\n <div className=\"field_label\">Ticket Type</div>\n <Field\n name=\"ticketTypeId\"\n label=\"Ticket Type\"\n component={SelectField}\n validate={requiredValidator}\n options={selectTicketTypeOptions}\n />\n </div>\n <div className=\"field-item\">\n <div className=\"field_label\">Name</div>\n <Field\n name=\"firstName\"\n label=\"Name\"\n component={CustomField}\n validate={requiredValidator}\n />\n </div>\n <div className=\"field-item\">\n <div className=\"field_label\">Last Name</div>\n <Field\n name=\"lastName\"\n label=\"Last Name\"\n component={CustomField}\n validate={requiredValidator}\n />\n </div>\n <div className=\"field-item\">\n <div className=\"field_label\">Email</div>\n <Field\n name=\"email\"\n label=\"Email\"\n component={CustomField}\n validate={requiredValidator}\n />\n </div>\n <div className=\"field-item\">\n <div className=\"field_label\">Confirm Email</div>\n <Field\n name=\"confirmEmail\"\n label=\"Confirm Email\"\n component={CustomField}\n validate={getValidateFunctions({\n element: {\n name: 'confirmEmail',\n label: 'Confirm Email',\n required: true,\n },\n values,\n })}\n />\n </div>\n </div>\n <div className=\"field-item checkbox_item\">\n <Field\n name=\"confirm\"\n label=\"I agree to ManaCommon's privacy policy\"\n type=\"checkbox\"\n validate={requiredValidator}\n component={CheckboxField}\n />\n </div>\n <div className=\"action-button\">\n <button type=\"submit\" disabled={!isValid}>\n {isSubmitting ? <CircularProgress size=\"22px\" /> : 'Issue Ticket'}\n </button>\n </div>\n </Form>\n )}\n </Formik>\n </div>\n)\n\nexport default IssueTicketForm\n","import Table from '@mui/material/Table'\nimport TableBody from '@mui/material/TableBody'\nimport TableCell from '@mui/material/TableCell'\nimport TableContainer from '@mui/material/TableContainer'\nimport TableHead from '@mui/material/TableHead'\nimport TableRow from '@mui/material/TableRow'\nimport React from 'react'\n\nexport interface ITicketsAssignedTable {\n tableTitle?: string;\n classNamePrefix?: string;\n noTicketsAssignedText?: string;\n issuePageData: {\n tickets: Array<any>;\n };\n}\n\nconst TicketsAssignedTable = ({\n tableTitle = 'Tickets assigned',\n classNamePrefix = 'delegations',\n issuePageData,\n noTicketsAssignedText = \"You haven't issued any tickets yet.\",\n}: ITicketsAssignedTable) => (\n <div className={`${classNamePrefix}-tables-block`}>\n <div className={`${classNamePrefix}-ticket-holder`}>{tableTitle}</div>\n {issuePageData.tickets?.length ? (\n <TableContainer className=\"my-ticket-table\">\n <Table aria-label=\"collapsible table\">\n <TableHead>\n <TableRow>\n <TableCell key={'Ticket Holder'}>{'Ticket Holder'}</TableCell>\n <TableCell key={'Ticket Type'}>{'Ticket Type'}</TableCell>\n <TableCell key={'Status'}>{'Status'}</TableCell>\n </TableRow>\n </TableHead>\n <TableBody>\n {issuePageData.tickets?.map((ticket: any) => (\n <TableRow key={ticket.id}>\n <TableCell key={ticket.id + 'type'}>\n {ticket.firstName + ' ' + ticket.lastName}\n </TableCell>\n <TableCell key={ticket.id + 'ticketType'}>{ticket.ticketType}</TableCell>\n <TableCell key={ticket.id + 'status'}>{ticket.status}</TableCell>\n </TableRow>\n ))}\n </TableBody>\n </Table>\n </TableContainer>\n ) : (\n noTicketsAssignedText\n )}\n </div>\n)\n\nexport default TicketsAssignedTable\n","import Table from '@mui/material/Table'\nimport TableBody from '@mui/material/TableBody'\nimport TableCell from '@mui/material/TableCell'\nimport TableContainer from '@mui/material/TableContainer'\nimport TableHead from '@mui/material/TableHead'\nimport TableRow from '@mui/material/TableRow'\nimport _map from 'lodash/map'\nimport React from 'react'\n\nimport { IDelegationsTicketType } from '../../api/guestTicketDelegation'\n\nexport interface ITicketsAvailableTable {\n tableTitle?: string;\n classNamePrefix?: string;\n issuePageData: {\n ticketTypes: IDelegationsTicketType;\n };\n}\n\nconst TicketsAvailableTable = ({\n tableTitle = 'Tickets available',\n classNamePrefix = 'delegations',\n issuePageData,\n}: ITicketsAvailableTable) => (\n <div className={`${classNamePrefix}-tables-block`}>\n <div className={`${classNamePrefix}-ticket-holder`}>{tableTitle}</div>\n <TableContainer className=\"my-ticket-table\">\n <Table aria-label=\"collapsible table\">\n <TableHead>\n <TableRow>\n <TableCell key={1}>{'Ticket Type'}</TableCell>\n <TableCell key={2}>{'Total Quantity'}</TableCell>\n <TableCell key={3}>{'Quantity Issued'}</TableCell>\n <TableCell key={4}>{'Quantity Remaining'}</TableCell>\n </TableRow>\n </TableHead>\n <TableBody>\n {_map(issuePageData.ticketTypes, (val, key) => (\n <TableRow key={key}>\n <TableCell key={key + 'name'}>{val.optionValue}</TableCell>\n <TableCell key={key + 'maxQty'}>{val.delegationMaxQuantity}</TableCell>\n <TableCell key={key + 'issued'}>{val.delegationQuantityIssued}</TableCell>\n <TableCell key={key + 'remaining'}>\n {Number(val.delegationMaxQuantity) - Number(val.delegationQuantityIssued)}\n </TableCell>\n </TableRow>\n ))}\n </TableBody>\n </Table>\n </TableContainer>\n </div>\n)\n\nexport default TicketsAvailableTable\n","import axios, { AxiosError } from 'axios'\nimport _get from 'lodash/get'\nimport _identity from 'lodash/identity'\nimport _map from 'lodash/map'\nimport React, { useEffect, useState } from 'react'\n\nimport { IDelegationsData, IDelegationsTicketType } from '../../api/guestTicketDelegation'\nimport { getDelegationTickets, issueTicket } from '../../api/index'\nimport { CONFIGS, getQueryVariable } from '../../utils'\nimport { Loader } from '../common'\nimport ConfirmModal from '../confirmModal'\nimport { DELEGATION_ACCESS_ERROR } from '../idVerificationContainer/constants'\nimport IssueTicketForm from './IssueTicketForm'\nimport TicketsAssignedTable from './TicketsAssignedTable'\nimport TicketsAvailableTable from './TicketsAvailableTable'\n\nexport interface IssueTicketData {\n headTitle?: string;\n classNamePrefix?: string;\n onGetIssuePageDataSuccess?: () => void;\n onGetIssuePageDataError?: (e: AxiosError) => void;\n}\n\nconst IssueComponent = ({\n classNamePrefix = 'delegations',\n headTitle = 'Manage Your Guest Tickets',\n onGetIssuePageDataSuccess = _identity,\n onGetIssuePageDataError = _identity,\n}: IssueTicketData) => {\n const [loading, setLoading] = useState(true)\n const [showMaxQtyModal, setShowMaxQtyModal] = useState(false)\n const [showSuccessModal, setShowSuccessModal] = useState(false)\n const [error, setError] = useState('')\n const accessHash = getQueryVariable('hash') || ''\n const [issuePageData, setIssuePageData] = useState<IDelegationsData>(\n {} as IDelegationsData\n )\n\n useEffect(() => {\n const fetchDelegationTickets = async () => {\n try {\n const res = await getDelegationTickets(accessHash)\n setLoading(false)\n setIssuePageData(res?.data?.data?.attributes || {})\n onGetIssuePageDataSuccess()\n } catch (e) {\n setLoading(false)\n if (axios.isAxiosError(e)) {\n onGetIssuePageDataError(e)\n }\n }\n }\n fetchDelegationTickets()\n }, [showSuccessModal])\n const selectTicketTypeOptions = _map(\n issuePageData.ticketTypes || ({} as IDelegationsTicketType),\n (val, key) => ({\n value: key,\n label: val.optionValue,\n })\n )\n return (\n <div className={`${classNamePrefix}-container`}>\n {loading ? (\n <Loader />\n ) : (\n <>\n {showMaxQtyModal && (\n <ConfirmModal\n hideCancelBtn={true}\n message={error}\n onClose={() =>\n error === DELEGATION_ACCESS_ERROR\n ? (window.location.href = '/')\n : setShowMaxQtyModal(false)\n }\n onConfirm={() =>\n error === DELEGATION_ACCESS_ERROR\n ? (window.location.href = '/')\n : setShowMaxQtyModal(false)\n }\n />\n )}\n {showSuccessModal && (\n <ConfirmModal\n hideCancelBtn={true}\n message=\"Your ticket successfully issued.\"\n onClose={() => setShowSuccessModal(false)}\n onConfirm={() => setShowSuccessModal(false)}\n />\n )}\n <div className={`${classNamePrefix}-head-title`}>{headTitle}</div>\n <div className={`${classNamePrefix}-inner-blocks`}>\n <div className={`${classNamePrefix}-image-block`}>\n <img\n src={`${CONFIGS.BASE_URL}${issuePageData?.eventImage}`}\n alt=\"main_event_img\"\n title=\"\"\n />\n </div>\n <div className={`${classNamePrefix}-tables`}>\n <TicketsAvailableTable\n tableTitle=\"Tickets available\"\n issuePageData={issuePageData}\n classNamePrefix=\"delegations\"\n />\n <TicketsAssignedTable\n tableTitle=\"Tickets assigned\"\n issuePageData={issuePageData}\n classNamePrefix=\"delegations\"\n />\n <div className={`${classNamePrefix}-issue-block`}>\n <div className={`${classNamePrefix}-issue-title`}>Issue New Tickets</div>\n <div className={`${classNamePrefix}-issue-subtitle`}>\n Please select the type of tickets and enter recipient details:\n </div>\n </div>\n <IssueTicketForm\n classNamePrefix={'delegations'}\n handleSubmit={async (values: any, { resetForm, setSubmitting }) => {\n try {\n await issueTicket(accessHash, values)\n setShowSuccessModal(true)\n resetForm()\n } catch (e) {\n if (axios.isAxiosError(e)) {\n const error = _get(e, 'response.data.message') || 'Error'\n setError(error)\n } else if (e instanceof Error) {\n setError(e?.message || 'Error')\n }\n setShowMaxQtyModal(true)\n } finally {\n setLoading(false)\n setSubmitting(false)\n }\n }}\n selectTicketTypeOptions={selectTicketTypeOptions}\n initialValues={{\n ticketTypeId: '',\n firstName: '',\n lastName: '',\n email: '',\n confirmEmail: '',\n confirm: false,\n }}\n />\n </div>\n </div>\n </>\n )}\n </div>\n )\n}\n\nexport default IssueComponent\n","import _get from 'lodash/get'\nimport _identity from 'lodash/identity'\nimport React, { FC, useEffect, useState } from 'react'\n\nimport { getCustomerExistsData } from '../../api/guestTicketDelegation'\nimport { Loader } from '../../components/common'\nimport { LoginForm } from '../../components/loginForm'\nimport { RegistrationForm } from '../../components/registerForm'\nimport { useCookieListener } from '../../hooks/useCookieListener'\nimport { getCookieByName, getQueryVariable } from '../../utils'\nimport IssueComponent from './IssueComponent'\n\ninterface IRegistrationProps {\n registerFormFields?: Array<IFormFieldsSection>;\n classNamePrefix?: string;\n logo?: string;\n onCustomerExistsError?: (error: any) => void;\n issuePageErrorText?: string;\n}\n\nconst X_TF_ECOMMERCE = 'X-TF-ECOMMERCE'\n\nexport const DelegationsContainer: FC<IRegistrationProps> = ({\n registerFormFields,\n classNamePrefix = 'guest-ticket-delegation',\n issuePageErrorText = 'You do not have access to manage these tickets.',\n onCustomerExistsError = _identity,\n logo,\n}) => {\n const [loading, setLoading] = useState(true)\n const [isLoggedIn, setIsLoggedIn] = useState(Boolean(getCookieByName(X_TF_ECOMMERCE)))\n const [isCustomerExsists, setIsCustomerExsists] = useState(false)\n const [issuePageError, setIssuePageError] = useState(false)\n const [customerEmail, setCustomerEmail] = useState('')\n const accessHash = getQueryVariable('hash') || ''\n\n useCookieListener(X_TF_ECOMMERCE, value => setIsLoggedIn(Boolean(value)))\n\n const onGetIssuePageDataError = () => {\n setIssuePageError(true)\n }\n\n useEffect(() => {\n const getCustomerData = async () => {\n try {\n const response = await getCustomerExistsData(accessHash)\n const isCustomerExsists = _get(response, 'data.attributes.customerExists', false)\n setIsCustomerExsists(isCustomerExsists)\n setCustomerEmail(_get(response, 'data.attributes.email', ''))\n setLoading(false)\n } catch (error) {\n onCustomerExistsError(error)\n }\n }\n\n getCustomerData()\n }, [])\n\n return (\n <div className={`${classNamePrefix}__container`}>\n {loading ? (\n <Loader />\n ) : issuePageError ? (\n <div className=\"issue_page_error\">{issuePageErrorText}</div>\n ) : isLoggedIn ? (\n <div>\n <IssueComponent\n classNamePrefix={classNamePrefix}\n onGetIssuePageDataError={onGetIssuePageDataError}\n />\n </div>\n ) : isCustomerExsists ? (\n <LoginForm logo={logo} />\n ) : (\n <RegistrationForm\n customerEmail={customerEmail}\n formFields={registerFormFields}\n registrationType=\"delegation\"\n />\n )}\n </div>\n )\n}\n","import { useEffect } from 'react'\n\nexport const useOnline = (handler: (value: boolean) => void) => {\n useEffect(() => {\n const handleOffline = () => {\n handler(false)\n }\n const handleOnline = () => {\n handler(true)\n }\n\n window.addEventListener('offline', handleOffline)\n window.addEventListener('online', handleOnline)\n\n return () => {\n window.removeEventListener('offline', handleOffline)\n window.removeEventListener('online', handleOnline)\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [])\n}\n","import _get from 'lodash/get'\n\nimport { addToCart, getCheckoutPageConfigs, postOnCheckout } from '../../api'\nimport { createCheckoutDataBodyWithDefaultHolder, isBrowser } from '../../utils'\n\ninterface IAddToCartFuncProps {\n eventId: string | number;\n data: any;\n ticketQuantity: number;\n enableBillingInfoAutoCreate?: boolean;\n}\n\nexport const addToCartFunc = async ({\n eventId,\n data,\n ticketQuantity,\n enableBillingInfoAutoCreate = true,\n}: IAddToCartFuncProps) => {\n const result = await addToCart(eventId, data)\n const pageConfigsDataResponse = await getCheckoutPageConfigs()\n\n if (result.status === 200 && pageConfigsDataResponse.status === 200) {\n const pageConfigsData = _get(pageConfigsDataResponse, 'data.attributes') || {}\n\n const {\n skip_billing_page: skipBillingPage = false,\n has_add_on: hasAddOn = false,\n free_ticket: freeTicket = false,\n } = pageConfigsData\n\n let hash: string | number | undefined = ''\n let total: string | number | undefined = ''\n\n isBrowser && window.localStorage.removeItem('add_ons')\n\n if (skipBillingPage && !hasAddOn) {\n // Get user data for checkout data\n const userData =\n isBrowser && window.localStorage.getItem('user_data')\n ? JSON.parse(window.localStorage.getItem('user_data') || '')\n : {}\n\n const checkoutBody = createCheckoutDataBodyWithDefaultHolder(\n ticketQuantity,\n userData\n )\n\n const checkoutResponse = enableBillingInfoAutoCreate\n ? await postOnCheckout(checkoutBody, freeTicket)\n : null\n\n hash = checkoutResponse?.data?.attributes?.hash || ''\n total = checkoutResponse?.data?.attributes?.total || ''\n }\n\n return {\n skip_billing_page: skipBillingPage,\n event_id: String(eventId),\n hash,\n total,\n hasAddOn,\n }\n }\n\n return null\n}\n","import _find from 'lodash/find'\nimport _forEach from 'lodash/forEach'\nimport _isEmpty from 'lodash/isEmpty'\nimport _values from 'lodash/values'\n\nexport const getTierIdBasedOnSeatId = (seatId: string, eventSeats: Array<EventSeat>) => {\n let tierId: number | string = ''\n\n _forEach(eventSeats, group => {\n _forEach(group.seats, (seatsCount, rowId) => {\n const [row_id, seat_id] = seatId.split(':')\n if (row_id === rowId && seat_id <= seatsCount) {\n tierId = Number(group.tier_id)\n return false\n }\n return true\n })\n })\n\n return tierId\n}\n\nexport const getButtonLabel = (count: number, tableMapEnabled: boolean) => {\n if (!count) {\n return tableMapEnabled ? `GET TABLES` : `GET TICKETS`\n } else if (count === 1) {\n return tableMapEnabled ? `GET ${count} TABLE` : `GET ${count} TICKET`\n }\n return tableMapEnabled ? `GET ${count} TABLES` : `GET ${count} TICKETS`\n}\n\nexport const getOwnReservationsBasedOnStatuses = (statuses: any) => {\n const ownReservations: string[] = []\n Object.keys(statuses).forEach((groupRowId: string) =>\n Object.keys(statuses[groupRowId]).forEach((seatIndex: string | number) => {\n if (statuses[groupRowId][seatIndex] === 'OR') {\n ownReservations.push(`${groupRowId}:${seatIndex}`)\n } else if (statuses[groupRowId][seatIndex] === 'H') {\n statuses[groupRowId][seatIndex] = 'BLOCKED'\n }\n })\n )\n return ownReservations\n}\n\nexport const getTicketDropdownData = (\n reservationData: Array<SeatReservationData>,\n tierReleations: TicketTypeTierRelations\n) => {\n const ticketsDropdownsData: Array<ITicketsDropdownsData> = []\n _forEach(reservationData, reservation => {\n if (tierReleations[reservation.tierId]) {\n const ticketsData = _values(tierReleations[reservation.tierId])\n ticketsDropdownsData.push({\n seatId: reservation.seatId,\n tierId: reservation.tierId,\n ticketsData,\n })\n } else {\n ticketsDropdownsData.push({\n seatId: reservation.seatId,\n tierId: reservation.tierId,\n ticketsData: [\n {\n ticket_type_tier_id: reservation.tierId,\n ticket_type_name: 'Please select Ticket Type',\n ticket_type_price: '',\n ticket_type_id: 'default',\n },\n ],\n })\n }\n })\n return ticketsDropdownsData\n}\n\nexport const getAddToCartRequestData = ({\n eventId,\n reservations = [],\n selectedSeats = [],\n selectedTickets = [],\n guestCounts = {},\n}: any) => {\n const hasGuests = !_isEmpty(guestCounts)\n\n const addToCartData: ICartRequestData = {\n attributes: {\n alternative_view_id: null,\n product_cart_quantity: reservations.length,\n product_options: {},\n product_id: eventId,\n ticket_types: {},\n },\n }\n\n const productOptions = {} as any\n const ticketTypes = {} as any\n\n _forEach(reservations, (item, index) => {\n const ticket = _find(\n selectedSeats[item],\n sitem => sitem.ticket_type_id === selectedTickets[item]\n )\n productOptions[ticket.ticket_type_option] = ticket.ticket_type_id\n\n const ticketTypesKey = hasGuests ? index : ticket.ticket_type_id\n const quantity = hasGuests\n ? guestCounts[item]\n : (ticketTypes[ticket.ticket_type_id]?.quantity || 0) + 1\n\n ticketTypes[ticketTypesKey] = {\n quantity,\n product_options: {\n [ticket.ticket_type_option]: ticket.ticket_type_id,\n ticket_price: ticket.ticket_type_price,\n },\n }\n })\n\n addToCartData.attributes.product_options = productOptions\n addToCartData.attributes.ticket_types = ticketTypes\n\n return addToCartData\n}\n\nexport const getTierRelationsArray = (data: Array<TicketTypeTierRelationsData>) => {\n const ticketTypeTireRelationsArray: Array<string | number | null> = []\n _forEach(data, (item: TicketTypeTierRelationsData) => {\n ticketTypeTireRelationsArray.push(...(_values(item) as any))\n })\n\n return ticketTypeTireRelationsArray\n}\n","import 'tf-seat-map-view/dist/index.css'\n\nimport React, { useEffect } from 'react'\nimport ReactDom from 'react-dom'\nimport SeatMapView from 'tf-seat-map-view'\n\nimport { Loader } from '../common'\nimport { getTierRelationsArray } from './utils'\n\nconst CONTAINER_DEFAULT_ID = 'seat_map_default_container'\n\n// Temp solution\ndeclare global {\n interface Window {\n tierPrices: any;\n }\n}\n\nexport const SeatMapComponent = (props: ISeatMapContainerProps) => {\n const { seatMapProps, mapContainerId } = props\n const {\n seatData,\n statuses,\n seatMapType = null,\n seatMapEvents = {},\n ticketTypeTierRelations = {},\n tierPrices,\n isReserving,\n predefinedSeats,\n isLoadingSeatMapData,\n } = seatMapProps\n\n useEffect(() => {\n const parentElement = document.getElementById(mapContainerId || CONTAINER_DEFAULT_ID)\n\n // Temp solution\n window.tierPrices = tierPrices\n\n if (parentElement) {\n let mapComponent = null\n\n if (!(seatData && statuses) || isLoadingSeatMapData) {\n mapComponent = <Loader />\n } else {\n mapComponent = (\n <SeatMapView\n disabled={isReserving}\n loading={isReserving}\n events={seatMapEvents}\n isSelectionOn={false}\n seatData={seatData}\n statuses={statuses}\n ticketTypeTireRelationsArray={getTierRelationsArray(ticketTypeTierRelations)}\n width={Math.min(parentElement?.clientWidth || 800, 800)}\n height={Math.min(parentElement?.clientWidth || 800, 800)}\n isBlockMap={seatMapType === 'block'}\n isTableMap={seatMapType === 'table'}\n predefinedSeats={predefinedSeats}\n />\n )\n }\n\n ReactDom.render(mapComponent, parentElement)\n }\n }, [\n isReserving,\n mapContainerId,\n seatData,\n seatMapEvents,\n seatMapType,\n tierPrices,\n statuses,\n ticketTypeTierRelations,\n ])\n\n return <div id={CONTAINER_DEFAULT_ID} />\n}\n","import { CSSProperties } from '@emotion/serialize'\nimport { Select, SelectChangeEvent, ThemeOptions } from '@mui/material'\nimport CircularProgress from '@mui/material/CircularProgress'\nimport FormControl from '@mui/material/FormControl'\nimport InputLabel from '@mui/material/InputLabel'\nimport MenuItem from '@mui/material/MenuItem'\nimport { createTheme, ThemeProvider } from '@mui/material/styles'\nimport Tooltip from '@mui/material/Tooltip'\nimport _find from 'lodash/find'\nimport _identity from 'lodash/identity'\nimport _isEmpty from 'lodash/isEmpty'\nimport _keys from 'lodash/keys'\nimport _map from 'lodash/map'\nimport _some from 'lodash/some'\nimport React, { useState } from 'react'\nimport { Button } from 'react-bootstrap'\n\nimport { createFixedFloatNormalizer } from '../../normalizers'\nimport { createMarkup } from '../../utils'\nimport { getButtonLabel, getTicketDropdownData } from './utils'\n\nexport const TicketsSection = (\n props: ITicketsSectionProps & {\n themeOptions?: ThemeOptions & {\n input?: CSSProperties;\n checkbox?: CSSProperties;\n };\n }\n) => {\n const {\n ticketTypeTierRelations,\n reservedSeats,\n theme = 'light',\n getTicketsBtnLabel,\n contentStyle = {},\n isButtonScrollable = false,\n themeOptions,\n handleGetTicketClick,\n handleCancelReservation,\n ticketDeleteButtonContent = 'Delete',\n ticketInfoContent = 'Info',\n selectedTickets,\n handleTicketSelect,\n currencySymbol,\n tableMapEnabled = false,\n guestCounts,\n setGuestCounts,\n isAddingToCart,\n } = props\n\n const [selectedTicketsInfo, setSelectedTicketsInfo] = useState<{\n [seatId: string]: boolean | undefined;\n }>({})\n\n const bookButtonIsDisabled =\n _some(selectedTickets, item => !item) ||\n _isEmpty(reservedSeats) ||\n reservedSeats.length !== _keys(selectedTickets).length\n const themeMui = createTheme(themeOptions)\n\n const ticketsDropdownsData = getTicketDropdownData(\n reservedSeats,\n ticketTypeTierRelations\n )\n\n const handleTicketChange = (event: SelectChangeEvent<string>, seatId: string) => {\n const {\n target: { value },\n } = event\n\n if (value !== 'default') {\n handleTicketSelect(value, seatId)\n }\n }\n\n const handleShowtTicketInfo = (seatId: string) => {\n setSelectedTicketsInfo(prevState => ({ ...prevState, [seatId]: !prevState[seatId] }))\n }\n\n return (\n <ThemeProvider theme={themeMui}>\n <div className={`get-tickets-page ${theme}`} style={contentStyle}>\n <div className=\"tickets-section\">\n {_map(selectedTickets, (ticketItem: string, key: string) => {\n const dropdownData =\n _find(ticketsDropdownsData, item => item.seatId === key) ||\n ({} as ITicketsDropdownsData)\n\n const selectedTicketData = _find(\n dropdownData.ticketsData,\n ticket => ticket.ticket_type_id === ticketItem\n ) as TicketTypeTierRelationsData\n\n // guest count dropdown options\n const startNum = Number(selectedTicketData?.ticket_type_min_number_of_guests)\n const endNum = Number(selectedTicketData?.ticket_type_max_number_of_guests)\n const numLength = endNum - startNum + 1\n const showGuestCountDropdown = Boolean(startNum && endNum)\n const showDescription = Boolean(selectedTicketData?.description)\n\n // prices\n const guestPrice =\n (guestCounts[dropdownData.seatId] - startNum) *\n Number(selectedTicketData?.guest_price)\n\n const finalPrice = createFixedFloatNormalizer(2)(\n selectedTicketData?.ticket_type_price + guestPrice\n )\n\n return (\n <div className=\"ticket\" key={key}>\n <div className=\"ticketsDropdowns\">\n <Select\n value={ticketItem || 'default'}\n onChange={event => handleTicketChange(event, dropdownData.seatId)}\n inputProps={{ 'aria-label': 'Without label' }}\n MenuProps={{\n PaperProps: {\n sx: { maxHeight: 150 },\n className: 'get-tickets-paper',\n },\n }}\n displayEmpty\n sx={{ borderRadius: 0 }}\n >\n <MenuItem value={'default'}>\n {`Please select ${tableMapEnabled ? 'Table Type' : 'Ticket Type'}`}\n </MenuItem>\n {_map(dropdownData.ticketsData, (option, index) => {\n if (option.ticket_type_id !== 'default') {\n return (\n <MenuItem value={option.ticket_type_id} key={index}>\n {option.ticket_type_name}\n </MenuItem>\n )\n }\n return null\n })}\n </Select>\n <Button\n className=\"ticket-delete\"\n onClick={() => {\n handleCancelReservation(dropdownData.seatId, dropdownData.tierId)\n }}\n >\n {ticketDeleteButtonContent}\n </Button>\n </div>\n {selectedTicketData && (\n <>\n <div style={{ display: 'flex' }}>\n <div\n style={{\n width: '100%',\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'center',\n }}\n >\n <div className=\"ticketPrice\">\n Price:\n <span className=\"ticketPrice-value\">\n {`${currencySymbol} ${finalPrice}`}\n </span>\n <span className=\"fees\">\n {selectedTicketData.fee_included\n ? ' (incl. Fees)'\n : ' (excl. Fees)'}\n </span>\n </div>\n {!_isEmpty(selectedTicketData.ticket_type_deposit) && (\n <div className=\"ticketDeposit\">\n Deposit:\n <span className=\"ticketPrice-value\">\n {` ${selectedTicketData?.ticket_type_deposit}%`}\n </span>\n </div>\n )}\n </div>\n <div\n style={{\n width: '100%',\n display: 'flex',\n justifyContent: 'end',\n alignItems: 'center',\n marginRight: 16,\n }}\n >\n {showDescription && (\n <Tooltip\n title=\"View Ticket Info\"\n placement=\"left\"\n arrow\n componentsProps={{\n tooltip: {\n sx: {\n backgroundColor: 'common.black',\n marginRight: '6px !important',\n '& .MuiTooltip-arrow': {\n color: 'common.black',\n },\n },\n },\n }}\n >\n <div\n className=\"ticket-info\"\n onClick={() => handleShowtTicketInfo(dropdownData.seatId)}\n onKeyDown={() => handleShowtTicketInfo(dropdownData.seatId)}\n >\n {ticketInfoContent}\n </div>\n </Tooltip>\n )}\n {showGuestCountDropdown && (\n <FormControl variant=\"outlined\" sx={{ m: 1, minWidth: 80 }}>\n <InputLabel id=\"demo-simple-select-standard-label\" shrink>\n GUESTS\n </InputLabel>\n <Select\n label=\"GUESTS\"\n labelId=\"demo-simple-select-standard-label\"\n value={guestCounts[dropdownData.seatId] || startNum}\n onChange={event => {\n setGuestCounts({\n ...guestCounts,\n [dropdownData.seatId]: Number(event.target.value),\n })\n }}\n inputProps={{ 'aria-label': 'Without label' }}\n MenuProps={{\n PaperProps: {\n sx: { maxHeight: 150 },\n className: 'get-tickets-paper',\n },\n }}\n displayEmpty\n sx={{ borderRadius: 0 }}\n >\n {_map(\n Array.from({ length: numLength }, (_, i) => startNum + i),\n (option, index) => (\n <MenuItem value={option} key={index}>\n {option}\n </MenuItem>\n )\n )}\n </Select>\n </FormControl>\n )}\n </div>\n </div>\n {selectedTicketsInfo[dropdownData.seatId] && (\n <div\n className=\"ticket-description-content\"\n dangerouslySetInnerHTML={createMarkup(\n selectedTicketData.description || ''\n )}\n />\n )}\n </>\n )}\n </div>\n )\n })}\n </div>\n <div>\n <Button\n className={`book-button\n ${bookButtonIsDisabled ? 'disabled' : ''}\n ${isButtonScrollable ? 'is-scrollable' : ''}\n `}\n onClick={!bookButtonIsDisabled ? handleGetTicketClick : _identity}\n disabled={isAddingToCart}\n >\n {isAddingToCart ? (\n <CircularProgress size={20} style={{ marginLeft: 10 }} />\n ) : (\n getTicketsBtnLabel || getButtonLabel(reservedSeats.length, tableMapEnabled)\n )}\n </Button>\n </div>\n </div>\n </ThemeProvider>\n )\n}\n","import { Alert } from '@mui/material'\nimport axios from 'axios'\nimport _find from 'lodash/find'\nimport _forEach from 'lodash/forEach'\nimport _get from 'lodash/get'\nimport _identity from 'lodash/identity'\nimport _isEmpty from 'lodash/isEmpty'\nimport _isEqual from 'lodash/isEqual'\nimport _keys from 'lodash/keys'\nimport _map from 'lodash/map'\nimport _values from 'lodash/values'\nimport moment from 'moment'\nimport React, { useCallback, useEffect, useRef, useState } from 'react'\nimport Countdown, { CountdownRenderProps } from 'react-countdown'\n\nimport {\n getSeatMapData,\n getSeatMapStatuses,\n removeSeatReserve,\n reserveSeat,\n} from '../../api'\nimport { useOnline } from '../../hooks/useOnline'\nimport { showZero } from '../../utils/showZero'\nimport { ReferralLogic } from '../ticketsContainer/ReferralLogic'\nimport { addToCartFunc } from './addToCart'\nimport { SeatMapComponent } from './SeatMapComponent'\nimport { TicketsSection } from './TicketsSection'\nimport {\n getAddToCartRequestData,\n getOwnReservationsBasedOnStatuses,\n getTicketDropdownData,\n getTierIdBasedOnSeatId,\n} from './utils'\n\nconst OFFLINE_MESSAGE = 'Offline.'\n\ninterface IGuestCounts {\n [key: string]: number;\n}\n\nexport const SeatMapContainer = (props: IMapContainerProps) => {\n const {\n event: {\n id: eventId,\n currency: { symbol },\n tableMapEnabled,\n country,\n },\n mapContainerId,\n timerMessage = '',\n onAddToCartSuccess = _identity,\n onCountdownFinish = _identity,\n ticketDeleteButtonContent,\n ticketInfoContent,\n } = props\n\n const [seatMapData, setSeatMapData] = useState({\n seatMap: '',\n } as {\n seatMap: string;\n seatReservationTime: number;\n seatMapType: string | null;\n tierPrices: any;\n predefinedSeats: any;\n })\n const eventSeatsRef = useRef([] as EventSeat[])\n const ticketTypeTierRelationsRef = useRef({} as TicketTypeTierRelations)\n const [selectedTickets, setSelectedTickets] = useState<{\n [seatId: string]: string;\n }>({})\n const [seatMapStatuses, setSeatMapStatuses] = useState('')\n const [reservedSeats, setReservedSeats] = useState<Array<SeatReservationData>>([])\n const [isLoadingSeatMapData, setIsLoadingSeatMapData] = useState(true)\n const [isLoadingStatuses, setIsLoadingStatuses] = useState(false)\n const [isReserving, setIsReserving] = useState(false)\n const [isAddingToCart, setIsAddingToCart] = useState(false)\n const [error, setError] = useState<string | null>(null)\n const [showTimer, setShowTimer] = useState(\n Date.now() <= Number(localStorage.getItem(`reservationStart-${eventId}`))\n )\n const [guestCounts, setGuestCounts] = useState<IGuestCounts>({} as IGuestCounts)\n const [isOnline, setIsOnline] = useState(true)\n const isGuestCountsSet = useRef(false)\n\n useOnline(setIsOnline)\n\n const updateGuestCounts = (data: any) => {\n _forEach(data, (item: any) => {\n const tierTickets = ticketTypeTierRelationsRef.current[item.tierId]\n const seatTicketsArray = _values(tierTickets)\n\n setGuestCounts((prevState: any) => ({\n [item.seatId]: Number(seatTicketsArray[0].ticket_type_min_number_of_guests),\n ...prevState,\n }))\n })\n }\n\n const fetchSeatMapData = useCallback(async () => {\n try {\n const seatMapDataResponse = await getSeatMapData(eventId)\n const {\n data: {\n attributes: {\n seatData,\n ticketTypeTierRelations,\n eventSeats,\n seatReservationTime,\n seatMapType,\n tierPrices,\n predefinedSeats,\n },\n },\n } = seatMapDataResponse\n eventSeatsRef.current = eventSeats\n ticketTypeTierRelationsRef.current = ticketTypeTierRelations\n setSeatMapData({\n seatMap: JSON.parse(seatData),\n seatReservationTime,\n seatMapType,\n tierPrices,\n predefinedSeats,\n })\n } catch (error) {\n setError('Something went wrong')\n } finally {\n setIsLoadingSeatMapData(false)\n }\n }, [eventId])\n\n const fetchSeatMapReservations = useCallback(async () => {\n if (isOnline) {\n try {\n const statusesResponse = await getSeatMapStatuses(eventId)\n const statuses = _get(statusesResponse, 'data.attributes') || {}\n const reservationData: Array<SeatReservationData> = []\n const ownReservations: string[] = getOwnReservationsBasedOnStatuses(statuses)\n\n _forEach(ownReservations, reservation => {\n const tierIdOfReservation = getTierIdBasedOnSeatId(\n reservation,\n eventSeatsRef.current\n ) as string\n reservationData.push({\n seatId: reservation,\n tierId: tierIdOfReservation,\n type: 'reserve',\n })\n })\n\n localStorage.setItem('reservationData', JSON.stringify(reservationData))\n\n if (!_isEqual(seatMapStatuses, statusesResponse.data.attributes)) {\n setSeatMapStatuses(statusesResponse.data.attributes)\n }\n if (!_isEqual(reservationData, reservedSeats)) {\n setReservedSeats(reservationData)\n }\n\n // automatically set ticket/table type if it's the only one\n if (\n ticketTypeTierRelationsRef.current &&\n !_isEqual(reservationData, reservedSeats)\n ) {\n if (!isGuestCountsSet.current) {\n updateGuestCounts(reservationData)\n isGuestCountsSet.current = true\n }\n _forEach(reservationData, (item: any) => {\n const tierTickets = ticketTypeTierRelationsRef.current[item.tierId]\n const seatTicketsArray = _values(tierTickets)\n\n setSelectedTickets((prevState: any) => ({\n ...prevState,\n [item.seatId]:\n seatTicketsArray.length === 1 ? seatTicketsArray[0].ticket_type_id : '',\n }))\n })\n\n if (_isEmpty(reservationData)) {\n setGuestCounts({})\n setSelectedTickets({})\n }\n }\n } catch (error) {\n setError('Something went wrong')\n }\n }\n }, [eventId, seatMapStatuses, reservedSeats, isOnline])\n\n const startTimer = useCallback(\n (duration: number) => {\n setShowTimer(true)\n\n if (!localStorage.getItem(`reservationStart-${eventId}`)) {\n localStorage.setItem(`reservationStart-${eventId}`, String(Date.now() + duration))\n }\n },\n [eventId]\n )\n\n const endTimer = useCallback(() => {\n localStorage.removeItem(`reservationStart-${eventId}`)\n setShowTimer(false)\n }, [eventId])\n\n const handleSeatReservation = async (\n eventId: string,\n tierId: string,\n seatId: string\n ) => {\n setIsReserving(true)\n try {\n await reserveSeat(eventId, tierId, seatId)\n await fetchSeatMapReservations()\n\n startTimer(seatMapData.seatReservationTime * 60000)\n const reservationData = JSON.parse(localStorage.getItem('reservationData') || '')\n setReservedSeats(reservationData)\n updateGuestCounts(reservationData)\n\n // automatically set ticket/table type if it's the only one\n const relations = _keys(ticketTypeTierRelationsRef.current[tierId])\n const [firstItem] = _keys(ticketTypeTierRelationsRef.current[tierId])\n handleTicketSelect(relations.length === 1 ? firstItem : '', seatId)\n } catch (error) {\n setError(\n error?.response?.data?.message === 'Selected seat is not available'\n ? // eslint-disable-next-line max-len\n 'No more of this ticket type are available right now - they’re either sold out or in people’s shopping carts. Try refreshing the page!'\n : 'Something went wrong'\n )\n } finally {\n setIsReserving(false)\n }\n }\n\n const handleCancelSeatReservtion = async (\n eventId: string,\n tierId: string,\n seatId: string\n ) => {\n setIsReserving(true)\n try {\n await removeSeatReserve(eventId, tierId, [seatId])\n await fetchSeatMapReservations()\n if (_isEmpty(JSON.parse(localStorage.getItem('reservationData') as string))) {\n endTimer()\n }\n const reservationData = JSON.parse(localStorage.getItem('reservationData') || '')\n const currentSelectedTickets = { ...selectedTickets }\n delete currentSelectedTickets[seatId]\n setReservedSeats(reservationData)\n setSelectedTickets(currentSelectedTickets)\n } catch (error) {\n setError('Something went wrong')\n } finally {\n setIsReserving(false)\n }\n }\n\n const onSeatClick = async (seatInfo: {\n seat: {\n tierId: string;\n seatId: string;\n status: string;\n };\n }) => {\n const {\n seat: { tierId, seatId, status },\n } = seatInfo\n\n const reservationData = JSON.parse(localStorage.getItem('reservationData') || '[]')\n if (status === 'B' || status === 'R' || status === 'BLOCKED' || status === 'RE')\n return\n if (_find(reservationData, data => data.seatId === seatId)) {\n handleCancelSeatReservtion(eventId, tierId, seatId)\n } else if (reservationData.length >= 10) {\n setError('Limit exceeded')\n } else {\n handleSeatReservation(eventId, tierId, seatId)\n }\n }\n\n const handleTicketSelect = (ticketId: string, seatId: string) => {\n const currentSelectedTickets = { ...selectedTickets }\n currentSelectedTickets[seatId] = ticketId\n setSelectedTickets(currentSelectedTickets)\n }\n\n const handleGetTicketBtnClick = async () => {\n setIsAddingToCart(true)\n const ticketsDropdownsData = getTicketDropdownData(\n reservedSeats,\n ticketTypeTierRelationsRef.current\n )\n let selectedSeats = {}\n _forEach(ticketsDropdownsData, ticketData => {\n selectedSeats = {\n ...selectedSeats,\n [ticketData.seatId]: ticketData.ticketsData,\n }\n })\n const addToCartData = getAddToCartRequestData({\n eventId,\n reservations: _map(reservedSeats, seat => seat.seatId),\n selectedSeats,\n selectedTickets,\n guestCounts,\n })\n try {\n const response = await addToCartFunc({\n eventId,\n data: addToCartData,\n ticketQuantity: addToCartData?.attributes?.product_cart_quantity,\n })\n localStorage.removeItem('reservationData')\n onAddToCartSuccess(response)\n } catch (error) {\n if (axios.isAxiosError(error)) {\n const message = _get(error, 'response.data.message', '')\n setError(message)\n }\n } finally {\n setIsAddingToCart(false)\n }\n }\n\n useEffect(() => {\n if (Date.now() > Number(localStorage.getItem(`reservationStart-${eventId}`))) {\n setSelectedTickets({})\n setReservedSeats([])\n }\n\n const makeRequests = async () => {\n try {\n setIsLoadingStatuses(true)\n await fetchSeatMapData()\n await fetchSeatMapReservations()\n } catch (error) {\n setError('Something went wrong')\n } finally {\n setIsLoadingStatuses(false)\n }\n }\n\n makeRequests()\n\n if (country) {\n localStorage.setItem('eventCountry', country)\n }\n }, [country, eventId, fetchSeatMapData])\n\n useEffect(() => {\n const intervalId = setInterval(() => {\n fetchSeatMapReservations()\n }, 3000)\n\n return () => {\n clearInterval(intervalId)\n }\n }, [fetchSeatMapReservations])\n\n useEffect(() => {\n if (!isOnline) {\n setError(OFFLINE_MESSAGE)\n } else if (isOnline && error === OFFLINE_MESSAGE) {\n setError(null)\n }\n }, [error, isOnline])\n\n return (\n <>\n {error && (\n <Alert\n severity=\"error\"\n onClose={() => {\n setError(null)\n }}\n variant=\"filled\"\n style={{ width: '350px' }}\n >\n {error}\n </Alert>\n )}\n {showTimer && (\n <Countdown\n date={moment(\n Number(localStorage.getItem(`reservationStart-${eventId}`))\n ).valueOf()}\n renderer={(props: CountdownRenderProps) => (\n <div className=\"reservation-countdown\">\n <span className=\"reservation-message\">{timerMessage}</span>\n <span className=\"reservation-timer\">\n {showZero(props.minutes)}:{showZero(props.seconds)}\n </span>\n </div>\n )}\n onComplete={() => {\n endTimer()\n setSelectedTickets({})\n setReservedSeats([])\n if (onCountdownFinish) {\n onCountdownFinish()\n }\n }}\n />\n )}\n {!isLoadingSeatMapData && !isLoadingStatuses && <ReferralLogic eventId={eventId} />}\n <TicketsSection\n selectedTickets={selectedTickets}\n handleTicketSelect={handleTicketSelect}\n handleCancelReservation={(seatId: string, tireId: string) =>\n handleCancelSeatReservtion(eventId, tireId, seatId)\n }\n handleGetTicketClick={handleGetTicketBtnClick}\n isAddingToCart={isAddingToCart}\n reservedSeats={reservedSeats}\n ticketDeleteButtonContent={ticketDeleteButtonContent}\n ticketInfoContent={ticketInfoContent}\n ticketTypeTierRelations={ticketTypeTierRelationsRef.current}\n currencySymbol={symbol}\n tableMapEnabled={Boolean(tableMapEnabled)}\n guestCounts={guestCounts}\n setGuestCounts={setGuestCounts}\n />\n <SeatMapComponent\n seatMapProps={{\n seatData: seatMapData.seatMap,\n statuses: seatMapStatuses,\n tierPrices: seatMapData.tierPrices,\n seatMapType: seatMapData.seatMapType,\n ticketTypeTierRelations: ticketTypeTierRelationsRef.current,\n seatMapEvents: { onSeatClick },\n isReserving,\n predefinedSeats: seatMapData.predefinedSeats,\n isLoadingSeatMapData,\n }}\n mapContainerId={mapContainerId}\n />\n </>\n )\n}\n","import Button from '@mui/material/Button'\nimport { AxiosError } from 'axios'\nimport _identity from 'lodash/identity'\nimport _isEmpty from 'lodash/isEmpty'\nimport React, { useEffect, useState } from 'react'\n\nimport {\n checkCustomerOrder,\n checkVerificationStatus,\n getNetverifyUrl,\n updateVerificationStatus,\n} from '../../api'\nimport {\n GetNetverifyUrlResponseData,\n VerificationStatusResponseData,\n} from '../../types/verification'\nimport { getQueryVariable, isBrowser, isJson } from '../../utils'\nimport Modal from '../common/ModalComponent'\nimport {\n VERIFICATION_MESSAGES,\n VERIFICATION_PROVIDERS,\n VERIFICATION_STATUSES,\n} from './constants'\n\ninterface IDVerificationProps {\n onGetVerifyUrlSuccess?: (response: GetNetverifyUrlResponseData) => void;\n onGetVerifyUrlError?: (error: AxiosError) => void;\n\n onGetVerificationStatusSuccess?: (response: {\n data: VerificationStatusResponseData;\n }) => void;\n onGetVerificationStatusError?: (error: AxiosError) => void;\n\n onVerificationMessageModalClose?: (status: string | null) => void;\n\n onPassVerificationStepsSuccess?: () => void;\n onPassVerificationStepsError?: (error: AxiosError | null) => void;\n}\n\nexport const IDVerification = (props: IDVerificationProps) => {\n const {\n onGetVerifyUrlSuccess = _identity,\n onGetVerifyUrlError = _identity,\n\n onGetVerificationStatusSuccess = _identity,\n onGetVerificationStatusError = _identity,\n\n onVerificationMessageModalClose = _identity,\n\n onPassVerificationStepsSuccess = _identity,\n onPassVerificationStepsError = _identity,\n } = props\n\n const [loadingStatus, setLoadingStatus] = useState(true)\n const [verificationStatus, setVerificationStatus] = useState<string | null>(null)\n const [showModal, setShowModal] = useState(false)\n const [netverifyUrl, setNetverifyUrl] = useState<string | null>(null)\n const [provider, setProvider] = useState<string | null>(null)\n const [hasError, setHasError] = useState<boolean>(false)\n const [lastError, setLastError] = useState(null)\n const [modalData, setModalData] = useState({\n message: '',\n hideCancelBtn: true,\n displaModal: false,\n })\n\n const isAccountVerifiedOrPending =\n (verificationStatus === VERIFICATION_STATUSES.APPROVED ||\n verificationStatus === VERIFICATION_STATUSES.PENDING) &&\n verificationStatus !== VERIFICATION_STATUSES.WRONG_CUSTOMER\n\n const handleClose = () => {\n setModalData({\n message: '',\n displaModal: false,\n hideCancelBtn: true,\n })\n\n onVerificationMessageModalClose(verificationStatus)\n }\n\n useEffect(() => {\n const callbackNetVerify = async (e: any) => {\n // Stripe Events\n if (e.data && e.origin === 'https://verify.stripe.com') {\n const { data } = e\n if (data.type === 'STRIPE_IDENTITY_CLOSE') {\n await getUrl()\n setShowModal(false)\n if (hasError) {\n setHasError(false)\n onPassVerificationStepsError(lastError)\n } else {\n setHasError(false)\n onPassVerificationStepsSuccess()\n }\n } else if (data.type === 'STRIPE_IDENTITY_ERROR') {\n setHasError(true)\n setLastError(data)\n }\n }\n\n if (e.data && isJson(e.data)) {\n try {\n const result = JSON.parse(e.data)\n if (\n result.payload &&\n (result.payload.value === 'success' ||\n result.payload.transactionStatus === 'SUCCESS')\n ) {\n await updateVerificationStatus()\n onPassVerificationStepsSuccess()\n } else if (\n result.payload &&\n (result.payload.value === 'error' ||\n result.payload.transactionStatus === 'ERROR')\n ) {\n setShowModal(false)\n onPassVerificationStepsError(result.payload)\n }\n } catch (e) {\n onPassVerificationStepsError(e)\n }\n }\n }\n\n window.addEventListener('message', callbackNetVerify)\n\n return () => {\n window.removeEventListener('message', callbackNetVerify)\n }\n }, [])\n\n const getUrl = async () => {\n try {\n const urlResponse = await getNetverifyUrl()\n setNetverifyUrl(urlResponse.netverifyUrl)\n setProvider(urlResponse.provider)\n onGetVerifyUrlSuccess(urlResponse)\n } catch (error) {\n onGetVerifyUrlError(error)\n }\n }\n\n useEffect(() => {\n let intervalId: any = null\n const orderHash = getQueryVariable('order_hash') || ''\n\n const getVerificationStatus = async () => {\n try {\n let verificationStatus = null\n // Gets te current status of the variable without modifying it\n setVerificationStatus(status => {\n verificationStatus = status\n return status\n })\n let provider = null\n // Gets te current status of the variable without modifying it\n setProvider(state => {\n provider = state\n return provider\n })\n let verifyUrl = null\n // Gets te current status of the variable without modifying it\n setNetverifyUrl(state => {\n verifyUrl = state\n return state\n })\n const statusResponse = await checkVerificationStatus()\n const { status } = statusResponse.data.attributes\n const isApproved = status === VERIFICATION_STATUSES.APPROVED\n\n if (verificationStatus !== status) {\n setVerificationStatus(status)\n setModalData({\n displaModal: isApproved || status === VERIFICATION_STATUSES.FAILED,\n hideCancelBtn: true,\n message: isApproved\n ? VERIFICATION_MESSAGES.APPROVED\n : status === VERIFICATION_STATUSES.FAILED\n ? VERIFICATION_MESSAGES.FAILED\n : status,\n })\n }\n if (\n provider === VERIFICATION_PROVIDERS.STRIPE &&\n verifyUrl === null &&\n !isApproved\n ) {\n getUrl()\n }\n onGetVerificationStatusSuccess(statusResponse)\n } catch (error) {\n onGetVerificationStatusError(error)\n } finally {\n setLoadingStatus(false)\n }\n }\n\n const getCustomerOrderStatus = async () => {\n const customerOrderResponse = await checkCustomerOrder(orderHash)\n return customerOrderResponse\n }\n\n const makeRequests = async () => {\n try {\n if (orderHash) {\n await getCustomerOrderStatus()\n }\n getUrl()\n getVerificationStatus()\n\n // Check the verification status every 30 seconds\n intervalId = setInterval(() => {\n getVerificationStatus()\n }, 10000)\n } catch (error) {\n if (error.response?.data?.message === VERIFICATION_MESSAGES.WRONG_CUSTOMER) {\n setVerificationStatus(VERIFICATION_STATUSES.WRONG_CUSTOMER)\n setModalData({\n displaModal: true,\n hideCancelBtn: true,\n message: VERIFICATION_MESSAGES.WRONG_CUSTOMER,\n })\n }\n }\n }\n\n makeRequests()\n\n // Clear the interval when the component unmounts\n return () => clearInterval(intervalId)\n }, [])\n\n const iframe = (netverifyUrl: string) => {\n // eslint-disable-next-line max-len\n const iframe = `<iframe allowFullScreen id=\"verificationIframe\" frameBorder=\"0\" width=\"100%\" height=\"570px\" allow=\"camera;fullscreen;accelerometer;gyroscope;magnetometer\" src=\"${netverifyUrl}\"></iframe>`\n return {\n __html: iframe,\n }\n }\n\n useEffect(() => {\n const orderHash = getQueryVariable('order_hash')\n\n if (isBrowser) {\n const checkoutData = JSON.parse(window.localStorage.getItem('checkoutData') || '{}')\n if (_isEmpty(checkoutData) && orderHash) {\n window.localStorage.setItem('checkoutData', JSON.stringify({ hash: orderHash }))\n }\n }\n }, [])\n\n return (\n <div>\n <h2 className=\"page-header\">Account Verification</h2>\n {loadingStatus ? null : (\n <>\n {!isAccountVerifiedOrPending && (\n <div className=\"verify-message\">\n To complete the purchase, please verify your identity.\n </div>\n )}\n {verificationStatus === VERIFICATION_STATUSES.APPROVED && (\n <div className=\"verify-message\">{VERIFICATION_MESSAGES.APPROVED}</div>\n )}\n {(verificationStatus === VERIFICATION_STATUSES.PENDING ||\n (provider === VERIFICATION_PROVIDERS.STRIPE &&\n netverifyUrl === null &&\n verificationStatus !== VERIFICATION_STATUSES.APPROVED)) && (\n <div className=\"verify-message\">{VERIFICATION_MESSAGES.PENDING}</div>\n )}\n {!isAccountVerifiedOrPending && netverifyUrl !== null && (\n <Button\n type=\"button\"\n variant=\"contained\"\n className=\"verify-button\"\n onClick={() => {\n setShowModal(true)\n }}\n >\n Verify\n </Button>\n )}\n </>\n )}\n\n {modalData.displaModal && (\n <Modal\n modalClassName=\"verification-message-modal\"\n actions={[\n {\n id: 'ok',\n label: 'Ok',\n variant: 'contained',\n onClick: handleClose,\n },\n ]}\n >\n <div className=\"verify-message\">{modalData.message}</div>\n </Modal>\n )}\n\n {showModal && (\n <Modal\n modalClassName=\"id-verification-modal\"\n actions={[\n {\n id: 'close',\n label: 'Close',\n variant: 'contained',\n onClick: () => {\n setShowModal(false)\n },\n },\n ]}\n >\n <div dangerouslySetInnerHTML={iframe(netverifyUrl || '')} />\n </Modal>\n )}\n </div>\n )\n}\n","import React from 'react'\nimport Modal from '@mui/material/Modal'\nimport Box from '@mui/material/Box'\n\ninterface IRedirectModal {\n message: string\n onClickOk: () => void\n}\n\nconst style: React.CSSProperties = {\n position: 'absolute',\n top: '10%',\n left: '50%',\n transform: 'translate(-50%, -50%)',\n minWidth: 480,\n backgroundColor: '#e3e3e3',\n border: '1px solid white',\n outline: 'none',\n padding: '14px',\n maxHeight: '85vh',\n overflow: 'auto',\n}\n\nexport const RedirectModal = ({\n message = 'Your cart has expired. Please click on \"OK\" to return to the ticket selection page.',\n onClickOk = () => {},\n}: IRedirectModal) => {\n return (\n <Modal\n open={true}\n aria-labelledby=\"modal-modal-title\"\n aria-describedby=\"modal-modal-description\"\n className=\"redirect-modal\"\n >\n <Box style={style}>\n <p>{message}</p>\n <div className=\"footer\">\n <button onClick={onClickOk}>OK</button>\n </div>\n </Box>\n </Modal>\n )\n}\n","import Box from '@mui/material/Box'\nimport Button from '@mui/material/Button'\nimport Modal from '@mui/material/Modal'\nimport { Field, Form, Formik } from 'formik'\nimport React, { useState } from 'react'\n\nimport { sendRSVPInfo } from '../../api'\nimport { isBrowser } from '../../utils'\nimport { combineValidators, emailValidator, requiredValidator } from '../../validators'\nimport { CustomField, Loader } from '../common/index'\n\ninterface IRsvpContainerPage {\n showSection?: boolean;\n eventId: number;\n}\n\ninterface IRSVPValuesTypes {\n email: string;\n}\n\nconst style: React.CSSProperties = {\n position: 'absolute',\n top: '50%',\n left: '50%',\n transform: 'translate(-50%, -50%)',\n minWidth: 480,\n backgroundColor: '#e3e3e3',\n border: '1px solid white',\n outline: 'none',\n padding: '14px',\n maxHeight: '85vh',\n overflow: 'auto',\n}\n\nexport const RsvpContainer = ({ showSection = false, eventId }: IRsvpContainerPage) => {\n const userDataEncoded = isBrowser ? window.localStorage.getItem('user_data') : ''\n const parsedData = JSON.parse(userDataEncoded || '{}')\n\n const [loading, setLoading] = useState(false)\n const [modal, setModal] = useState({ isOpen: false, text: '' })\n\n const handleModalClose = () => {\n setModal({ isOpen: false, text: '' })\n }\n\n const handleSubmit = async (values: IRSVPValuesTypes) => {\n try {\n setLoading(true)\n\n const requestData = { data: { email: values.email } }\n const response = await sendRSVPInfo(eventId, requestData)\n\n setModal({ isOpen: true, text: response.message })\n } catch (error) {\n if (error.response.status === 403) {\n setModal({ isOpen: true, text: error.response.data?.message })\n }\n } finally {\n setLoading(false)\n }\n }\n\n if (!showSection) {\n return null\n }\n\n return (\n <>\n <Modal\n open={modal.isOpen}\n onClose={handleModalClose}\n aria-labelledby=\"modal-modal-title\"\n aria-describedby=\"modal-modal-description\"\n className=\"rsvp-modal\"\n >\n <Box style={style} className=\"rsvp-modal-box\">\n <div className=\"rsvp-modal-container\">\n <div className=\"rsvp-modal-header\">{modal.text}</div>\n <div className=\"rsvp-modal-button\">\n <button type=\"button\" onClick={handleModalClose}>\n OK\n </button>\n </div>\n </div>\n </Box>\n </Modal>\n <div className=\"rsvp-container\">\n {loading ? (\n <Loader />\n ) : (\n <>\n <div className=\"rsvp-header\">RSVP</div>\n <div className=\"rsvp-email-container\">\n <Formik\n initialValues={{\n email: parsedData?.email || '',\n }}\n onSubmit={handleSubmit}\n enableReinitialize\n >\n <Form>\n <div className=\"rsvp-email-input-container\">\n <Field\n name=\"email\"\n label=\"EMAIL ADDRESS\"\n type=\"email\"\n validate={combineValidators(\n (value: string) =>\n requiredValidator(value, 'Please enter your Email'),\n (value: string) => emailValidator(value)\n )}\n component={CustomField}\n />\n </div>\n <div className=\"rsvp-button-container\">\n <Button type=\"submit\">RSVP</Button>\n </div>\n </Form>\n </Formik>\n </div>\n </>\n )}\n </div>\n </>\n )\n}\n","import React from 'react'\n\nexport const getFormFieldsNotLoggedIn = (\n clientName?: string | number\n): IFormFieldsSection[] => [\n {\n name: 'basic-info',\n groupLabel: (\n <>\n <span>\n If you want to enter your details manually, please type them below to create an\n account, then click on\n </span>\n <b> Confirm Registration:</b>\n </>\n ),\n groupLabelClassName: '',\n groupClassName: '',\n fields: [\n {\n className: 'half-width',\n name: 'firstName',\n label: 'First Name',\n type: 'text',\n required: true,\n onValidate: null,\n },\n {\n className: 'half-width',\n name: 'lastName',\n label: 'Last Name',\n type: 'text',\n required: true,\n onValidate: null,\n },\n {\n name: 'email',\n label: 'Email',\n type: 'email',\n required: true,\n onValidate: null,\n },\n {\n name: 'confirmEmail',\n label: 'Confirm Email',\n type: 'email',\n required: true,\n onValidate: null,\n },\n ],\n },\n {\n name: 'billing-info',\n groupLabel: '',\n groupLabelClassName: '',\n groupClassName: '',\n fields: [\n {\n className: 'half-width',\n name: 'zip',\n label: 'Post Code/Zip',\n type: 'text',\n required: true,\n onValidate: null,\n },\n {\n className: 'half-width',\n name: 'country',\n label: 'Country',\n type: 'select',\n required: true,\n onValidate: null,\n },\n ],\n },\n {\n name: 'password-info',\n groupLabel: (\n <div className=\"email-info-block\">\n <span>Choose a password for your new</span>\n <b> {clientName || 'Mana Common'} </b>\n <span>account</span>\n </div>\n ),\n groupLabelClassName: '',\n groupClassName: '',\n fields: [\n {\n className: 'half-width',\n name: 'password',\n label: 'Password',\n type: 'password',\n required: true,\n onValidate: null,\n },\n {\n className: 'half-width',\n name: 'confirmPassword',\n label: 'Confirm Password',\n type: 'password',\n required: true,\n onValidate: null,\n },\n ],\n },\n]\n\nexport const getFormFieldsLoggedIn = (\n clientName?: string | number\n): IFormFieldsSection[] => [\n {\n name: 'basic-info-logged-in',\n groupLabel:\n 'To confirm your pre-registration for {event_name} simply click on the confirmation button below.',\n groupLabelClassName: '',\n groupClassName: '',\n fields: [\n {\n name: 'email',\n label: 'Email',\n type: 'email',\n required: true,\n onValidate: null,\n },\n {\n name: 'confirmEmail',\n label: 'Confirm Email',\n type: 'email',\n required: true,\n onValidate: null,\n },\n ],\n },\n {\n name: 'billing-info-logged-in',\n groupLabel: '',\n groupLabelClassName: '',\n groupClassName: '',\n fields: [\n {\n name: 'numTickets',\n label: 'How many tickets do you want to buy?',\n type: 'select',\n required: true,\n options: new Array(10).fill(null).map((_, index) => ({\n label: index + 1,\n value: index + 1,\n })),\n onValidate: null,\n },\n {\n name: 'holderAge',\n label: 'Ticket Holder Age',\n type: 'date',\n required: true,\n onValidate: null,\n },\n {\n name: 'brandOptIn',\n label: `I would like to be updated on ${\n clientName || 'Mana Common'\n } news, events and offers.`,\n type: 'checkbox',\n },\n ],\n },\n]\n","import { FormikValues } from 'formik'\nimport _forEach from 'lodash/forEach'\nimport _get from 'lodash/get'\nimport _identity from 'lodash/identity'\nimport _isEmpty from 'lodash/isEmpty'\nimport _map from 'lodash/map'\nimport _split from 'lodash/split'\n\nimport { combineValidators, requiredValidator } from '../../validators'\nimport { IShareButton } from '../confirmationContainer'\n\nexport const getValidateFunctions = ({\n element,\n values,\n}: {\n element: IFormField;\n values: FormikValues;\n}) => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const validationFunctions: any[] = []\n if (element.required) {\n validationFunctions.push(requiredValidator)\n }\n\n if (element.onValidate) {\n validationFunctions.push(element.onValidate)\n }\n\n if (element.name === 'confirmEmail') {\n const isSameEmail = (confirmEmail?: string) =>\n values.email !== confirmEmail ? 'Please confirm your email address correctly' : null\n validationFunctions.push(isSameEmail)\n }\n\n if (element.name === 'confirmPassword') {\n const isSame = (confirmPassword?: string) =>\n values.password !== confirmPassword ? 'Password confirmation does not match' : null\n validationFunctions.push(isSame)\n }\n\n return combineValidators(...validationFunctions)\n}\n\nexport const getFormInitialValues = (fieldsSections: IFormFieldsSection[]) => {\n const initialValues: { [key: string]: string | number | boolean } = {}\n const isWindowDefined = typeof window !== 'undefined'\n const userData = JSON.parse(\n isWindowDefined ? window.localStorage.getItem('user_data') || '{}' : '{}'\n ) as IProfileData\n\n _forEach(fieldsSections, item => {\n _forEach(item.fields, fieldItem => {\n switch (fieldItem.name) {\n case 'country':\n case 'numTickets':\n initialValues[fieldItem.name] = 1\n break\n case 'brandOptIn':\n initialValues[fieldItem.name] = true\n break\n case 'confirmEmail':\n initialValues[fieldItem.name] =\n _get(userData, fieldItem.name) || _get(userData, 'email') || ''\n break\n default:\n initialValues[fieldItem.name] = _get(userData, fieldItem.name) || ''\n break\n }\n })\n })\n\n return initialValues\n}\n\nexport const updateFormFieldsAttributes = (\n formFields: IFormFieldsSection[],\n attributes?: IFieldAttribute\n) => {\n if (attributes && !_isEmpty(attributes)) {\n const updatedFormFields = _map(formFields, fieldSection => {\n const fieldSectionAttributes = attributes[fieldSection.name] || {}\n\n const updatedFields = _map(fieldSection.fields, fieldItem => {\n const fieldItemAttributes = attributes[fieldItem.name] || {}\n return { ...fieldItem, ...fieldItemAttributes }\n })\n\n return {\n ...fieldSection,\n ...fieldSectionAttributes,\n fields: updatedFields,\n }\n })\n\n return updatedFormFields\n }\n return formFields\n}\n\nexport const shareOptionsAdapter = (\n data: Array<IShareOptionsActionData>,\n shareUrl: string\n) => {\n const adaptedData: Array<IShareButton> = []\n _forEach(data, option => {\n if (option.action !== 'shared_url') {\n const [platform, method] = _split(option.action, '_')\n const mainLabel = method ? method[0].toUpperCase() + method.substring(1) : 'Share'\n adaptedData.push({\n mainLabel: option.action === 'twitter' ? 'Tweet' : mainLabel + ' on',\n subLabel:\n option.action === 'twitter'\n ? ' to your followers'\n : platform[0].toUpperCase() + platform.substring(1),\n platform,\n shareData: {\n quote: 'as',\n url: option.socialUrl || shareUrl,\n },\n points: option.point,\n eventActionId: option.id,\n oneTimeAction: option.oneTimeAction,\n alreadyApplied: option.alreadyApplied,\n })\n }\n })\n return adaptedData\n}\n\nexport const getShuffleMethodByName = (\n tokenShuffleMethod: string\n): ((value: string) => string) => {\n const reverseString = (value: string) => value.split('').reverse().join('')\n const symmetricShuffleString = (value: string) => {\n const lengthOfStr = value.length\n const part1 = value.substring(0, lengthOfStr / 2)\n return value.substring(lengthOfStr / 2) + part1\n }\n const shuffleEveryTwoSymbolsInString = (value: string): string => {\n const words = value.split('')\n let shuffledStr = ''\n for (let i = 0; i < words.length; i += 2) {\n shuffledStr = shuffledStr.concat(words[i + 1], words[i])\n }\n return shuffledStr\n }\n\n if (tokenShuffleMethod === 'reverse_string') {\n return reverseString\n } else if (tokenShuffleMethod === 'symmetric_shuffle_string') {\n return symmetricShuffleString\n } else if (tokenShuffleMethod === 'shuffle_every_two_symbols_in_string')\n return shuffleEveryTwoSymbolsInString\n return _identity\n}\n","import { Field, FormikValues } from 'formik'\nimport _map from 'lodash/map'\nimport React, { FC } from 'react'\n\nimport { replaceVarInString } from '../../utils'\nimport {\n CheckboxField,\n CustomField,\n NativeSelectField,\n PhoneNumberField,\n} from '../common'\nimport { DatePickerField } from '../common/DatePickerField'\nimport { getValidateFunctions } from './utils'\nimport {ThemeOptions} from \"@mui/material\";\nimport {CSSProperties} from \"@mui/styles\";\n\nconst isDocumentDefined = typeof document !== 'undefined'\n\nexport interface IFieldsSectionProps {\n formFields?: IFormFieldsSection[];\n values: FormikValues;\n setFieldValue: (\n field: string,\n value: FormikValues,\n shouldValidate?: boolean | undefined\n ) => void;\n\n countries?: { [key: string]: string | number }[];\n theme?: 'dark' | 'light';\n themeOptions?: ThemeOptions & {\n input?: CSSProperties;\n checkbox?: CSSProperties;\n };\n containerClass?: string;\n}\n\nconst SectionContainer: FC<{ className: string }> = ({\n children,\n className,\n}) => <div className={className}>{children}</div>\n\nconst insertHTML = (elementId: string, text = '') => {\n if (isDocumentDefined) {\n const elem = document && document.getElementById(elementId)\n\n if (!elem?.childNodes.length) {\n elem?.insertAdjacentHTML('afterbegin', text)\n }\n }\n\n return null\n}\n\nconst getFieldClassNames = (id: string, existingClassNames: string) => {\n if (isDocumentDefined) {\n const elem = document && document.getElementById(id)\n\n if ((elem?.parentElement?.clientWidth || 0) < 375) {\n return existingClassNames + ' full-width'\n }\n }\n\n return existingClassNames\n}\n\nexport const FieldsSection = ({\n formFields = [],\n\n countries = [],\n\n values,\n setFieldValue,\n theme,\n containerClass = '',\n themeOptions,\n}: IFieldsSectionProps) => (\n <>\n {_map(formFields, (item, index) => {\n const {\n name,\n groupLabel,\n groupLabelVars = [],\n groupLabelClassName,\n groupClassName = '',\n fields,\n } = item\n return (\n <SectionContainer key={name} className={groupClassName}>\n <span id={`group_label_${index}`} className={groupLabelClassName}>\n {typeof groupLabel === 'string'\n ? insertHTML(\n `group_label_${index}`,\n replaceVarInString(groupLabel, groupLabelVars)\n )\n : groupLabel}\n </span>\n <div className={`fields-container ${groupClassName}`}>\n {_map(fields, (fieldData, fieldIndex) => {\n const {\n name,\n label,\n className = 'full-width',\n type,\n component,\n options = [],\n } = fieldData\n const id = `${name}-${fieldIndex}`\n const classNames = `${containerClass}-container__field ${className}`\n\n return (\n component || (\n <div\n key={name}\n id={id}\n className={getFieldClassNames(id, classNames)}\n >\n <Field\n name={name}\n label={label}\n type={type}\n validate={getValidateFunctions({\n element: fieldData,\n values,\n })}\n setFieldValue={setFieldValue}\n component={\n type === 'checkbox'\n ? CheckboxField\n : type === 'select'\n ? NativeSelectField\n : type === 'phone'\n ? PhoneNumberField\n : type === 'date'\n ? DatePickerField\n : CustomField\n }\n selectOptions={name === 'country' ? countries : options}\n theme={theme}\n themeOptions={themeOptions}\n />\n </div>\n )\n )\n })}\n </div>\n </SectionContainer>\n )\n })}\n </>\n)\n","import { Button, CircularProgress, ThemeOptions } from '@mui/material'\nimport { createTheme, ThemeProvider } from '@mui/material/styles'\nimport { CSSProperties } from '@mui/styles'\nimport axios, { AxiosError } from 'axios'\nimport { Form, Formik, FormikValues } from 'formik'\nimport _get from 'lodash/get'\nimport _identity from 'lodash/identity'\nimport _map from 'lodash/map'\nimport React, { FC, useEffect, useState } from 'react'\n\nimport { confirmPreRegistration, getCountries, getProfileData, register } from '../../api'\nimport { useCookieListener } from '../../hooks/useCookieListener'\nimport { CONFIGS, getCookieByName, getQueryVariable } from '../../utils'\nimport SnackbarAlert from '../common/SnackbarAlert'\nimport ConfirmModal from '../confirmModal'\nimport { ForgotPasswordModal, IForgotPasswordProps } from '../forgotPasswordModal'\nimport { LoginModal, Props } from '../loginModal'\nimport { getFormFieldsLoggedIn, getFormFieldsNotLoggedIn } from './constants'\nimport { FieldsSection } from './FieldsSection'\nimport { getFormInitialValues, updateFormFieldsAttributes } from './utils'\n\nconst X_TF_ECOMMERCE = 'X-TF-ECOMMERCE'\nconst isWindowDefined = typeof window !== 'undefined'\n\ninterface IPreRegistrationProps extends Props, IForgotPasswordProps {\n eventId: string | number;\n formFields?: IFormFieldsSection[];\n additionalFieldAttribute?: IFieldAttribute;\n isPreregistrationStarted: boolean;\n onGetCountriesSuccess?: (res: any) => void;\n onGetCountriesError?: (e: AxiosError) => void;\n onConfirmationSuccess?: (res: any) => void;\n onConfirmationError?: (e: AxiosError) => void;\n onLoginSuccess?: (res: any) => void;\n\n themeOptions?: ThemeOptions & {\n input?: CSSProperties;\n checkbox?: CSSProperties;\n };\n}\n\nexport const PreRegistration: FC<IPreRegistrationProps> = ({\n eventId,\n formFields: pFormFields,\n additionalFieldAttribute,\n isPreregistrationStarted,\n logo,\n showForgotPasswordButton,\n onLoginSuccess = _identity,\n onForgotPasswordSuccess = _identity,\n onForgotPasswordError = _identity,\n onGetCountriesSuccess = _identity,\n onGetCountriesError = _identity,\n onConfirmationSuccess = _identity,\n onConfirmationError = _identity,\n themeOptions,\n}) => {\n const [error, setError] = useState('')\n const [showModalLogin, setShowModalLogin] = useState(false)\n const [alreadyHasUser, setAlreadyHasUser] = useState(false)\n const [showModalForgotPassword, setShowModalForgotPassword] = useState(false)\n const [countries, setCountries] = useState<{ [key: string]: string | number }[]>([])\n const [isLoggedIn, setIsLoggedIn] = useState(Boolean(getCookieByName(X_TF_ECOMMERCE)))\n const [confirmModalState, setConfirmModalState] = useState({ show: false, message: '' })\n const [, setUserData] = useState({} as IProfileData)\n useCookieListener(X_TF_ECOMMERCE, value => setIsLoggedIn(Boolean(value)))\n\n const themeMui = createTheme(themeOptions)\n\n const formFieldsLoggedIn = getFormFieldsLoggedIn(CONFIGS.CLIENT_NAME)\n const formFieldsNotLoggedIn = getFormFieldsNotLoggedIn(CONFIGS.CLIENT_NAME)\n\n const formFields = updateFormFieldsAttributes(\n pFormFields || isLoggedIn ? formFieldsLoggedIn : formFieldsNotLoggedIn,\n additionalFieldAttribute\n )\n\n useEffect(() => {\n // fetch countries data\n const fetchCountries = async () => {\n try {\n const res = await getCountries()\n setCountries(\n _map(_get(res, 'data'), item => ({\n label: item.name,\n value: Number(item.id),\n }))\n )\n onGetCountriesSuccess(res.data)\n } catch (e) {\n if (axios.isAxiosError(e)) {\n const error = 'Error'\n setError(error)\n onGetCountriesError(e)\n }\n }\n }\n fetchCountries()\n }, [])\n\n const hash = getQueryVariable('hash') || ''\n const referrerId = getQueryVariable('referrer_id') || ''\n return (\n <ThemeProvider theme={themeMui}>\n <div className=\"pre-registration-container\">\n <SnackbarAlert\n type=\"error\"\n isOpen={!!error}\n message={error || ''}\n onClose={() => {\n setError('')\n }}\n />\n {confirmModalState.show && (\n <ConfirmModal\n hideCancelBtn\n onConfirm={() => setConfirmModalState({ show: false, message: '' })}\n message={confirmModalState.message}\n />\n )}\n {!isLoggedIn && (\n <div className=\"account-actions-block\">\n <div className=\"action-item\">\n <div>\n <span>\n Create (or log in to) your account, then click on Confirm Registration.\n </span>\n <span> If you have a</span>\n <b> {CONFIGS.CLIENT_NAME || 'Mana Common'} </b>\n <span>account and password already</span>\n </div>\n </div>\n <div className=\"action-item login-block\">\n <button\n className=\"login-register-button\"\n type=\"button\"\n onClick={() => {\n setShowModalLogin(true)\n }}\n >\n Login\n </button>\n </div>\n </div>\n )}\n {showModalLogin && (\n <LoginModal\n logo={logo}\n onClose={() => {\n setShowModalLogin(false)\n }}\n onLogin={res => {\n setShowModalLogin(false)\n onLoginSuccess(res)\n }}\n showForgotPasswordButton={showForgotPasswordButton}\n onForgotPassword={() => {\n setShowModalLogin(false)\n setShowModalForgotPassword(true)\n }}\n alreadyHasUser={alreadyHasUser}\n />\n )}\n {showModalForgotPassword && (\n <ForgotPasswordModal\n onClose={() => {\n setShowModalForgotPassword(false)\n }}\n onLoginButtonClick={() => {\n setShowModalForgotPassword(false)\n setShowModalLogin(true)\n }}\n onForgotPasswordSuccess={onForgotPasswordSuccess}\n onForgotPasswordError={onForgotPasswordError}\n />\n )}\n <h2>Pre-Registration</h2>\n <Formik\n initialValues={getFormInitialValues(formFields)}\n enableReinitialize={true}\n onSubmit={async (values: FormikValues) => {\n try {\n if (isLoggedIn) {\n if (isPreregistrationStarted) {\n const updatedValues = { ...values }\n const holderAgeDate = new Date(values.holderAge)\n updatedValues.dobDay = holderAgeDate.getDate()\n updatedValues.dobMonth = holderAgeDate.getMonth() + 1\n updatedValues.dobYear = holderAgeDate.getFullYear()\n updatedValues.referrerId = referrerId\n updatedValues.shareHash = hash\n // remove date picker string value\n delete updatedValues.holderAge\n\n const confirmationData = await confirmPreRegistration(\n eventId,\n updatedValues as IConfirmPreRegistrationRequestData\n )\n if (isWindowDefined) {\n window.localStorage.setItem(\n 'pre-registration-hash',\n _get(confirmationData, 'attributes.hash')\n )\n }\n\n onConfirmationSuccess(confirmationData)\n } else {\n setConfirmModalState({\n show: true,\n message: 'The preregistration has not started',\n })\n }\n } else {\n const bodyFormData = new FormData()\n bodyFormData.append('first_name', values.firstName)\n bodyFormData.append('last_name', values.lastName)\n bodyFormData.append('email', values.email)\n bodyFormData.append('confirm_email', values.confirmEmail)\n bodyFormData.append('zip', values.zip)\n bodyFormData.append('country', values.country)\n bodyFormData.append('password', values.password)\n bodyFormData.append('password_confirmation', values.confirmPassword)\n bodyFormData.append('client_id', CONFIGS.CLIENT_ID)\n bodyFormData.append('client_secret', CONFIGS.CLIENT_SECRET)\n bodyFormData.append('register_for', 'prereg')\n\n const res = await register(bodyFormData)\n const profileRes = await getProfileData()\n onLoginSuccess(res.data)\n if (isWindowDefined) {\n window.localStorage.setItem(\n 'user_data',\n JSON.stringify(_get(profileRes, 'data'))\n )\n setUserData(_get(profileRes, 'data'))\n }\n }\n } catch (e) {\n let errorMessage = e?.message || 'Error'\n const emailErrors = e?.response?.data?.message?.email\n\n if (typeof e?.response?.data?.message === 'string') {\n errorMessage = e?.response?.data?.message\n }\n if (emailErrors?.length > 0) {\n if (emailErrors[0] === 'The email is already used') {\n setShowModalLogin(true)\n setAlreadyHasUser(true)\n }\n } else {\n setError(errorMessage)\n }\n\n onConfirmationError(e)\n }\n }}\n >\n {props => (\n <Form>\n <div className=\"login-modal-body\">\n <FieldsSection\n formFields={formFields}\n values={props.values}\n setFieldValue={props.setFieldValue}\n containerClass=\"pre-registration\"\n countries={countries}\n themeOptions={themeOptions}\n />\n </div>\n <div className=\"button-container\">\n <Button\n type=\"submit\"\n variant=\"contained\"\n className=\"login-register-button\"\n disabled={props.isSubmitting}\n >\n {props.isSubmitting ? (\n <CircularProgress size={26} />\n ) : isLoggedIn ? (\n 'Confirm Pre-Registration'\n ) : (\n 'Create Account'\n )}\n </Button>\n </div>\n </Form>\n )}\n </Formik>\n </div>\n </ThemeProvider>\n )\n}\n","import _isEmpty from 'lodash/isEmpty'\nimport _map from 'lodash/map'\nimport React from 'react'\n\nexport const Prewards = (props: IPrewardsProps) => {\n const {\n data,\n classNamePrefix = '',\n headerNode = (\n <>\n PRE\n <span>WARDS™</span>\n </>\n ),\n } = props\n return (\n <div className={`${classNamePrefix}_prewards`}>\n {!_isEmpty(data) && (\n <div className={`${classNamePrefix}_prewards_heder`}>{headerNode}</div>\n )}\n <div className={`${classNamePrefix}_prizes`}>\n {_map(data, prize => {\n const { description, name, image, id } = prize\n return (\n <div className={`${classNamePrefix}_prize`} key={id}>\n {image && <img className={`${classNamePrefix}_image`} alt=\"\" src={image} />}\n <div className={`${classNamePrefix}_info`}>\n <h4 className={`${classNamePrefix}_name`}>{name}</h4>\n {description && (\n <article className={`${classNamePrefix}_description`}>\n {description}\n </article>\n )}\n </div>\n </div>\n )\n })}\n </div>\n </div>\n )\n}\n","import _get from 'lodash/get'\nimport _identity from 'lodash/identity'\nimport React, { useRef } from 'react'\n\ninterface ICopyFieldProps {\n copyValue: string;\n onLinkCopied?: () => void;\n copyIconSrc?: string;\n copyTitle?: string;\n hasCopyIcon: boolean;\n classNamePrefix?: string;\n messageText?: string;\n}\n\nexport const CopyField = (props: ICopyFieldProps) => {\n const {\n copyValue,\n copyIconSrc = 'https://img.icons8.com/office/50/000000/copy.png',\n copyTitle = 'Copy',\n hasCopyIcon = false,\n onLinkCopied = _identity,\n classNamePrefix = '',\n messageText = '',\n } = props\n\n const inputRef = useRef(null)\n\n return (\n <>\n {messageText && <span className=\"message-text\">{messageText}</span>}\n <input\n ref={inputRef}\n className={`${classNamePrefix}_share-input`}\n defaultValue={copyValue}\n readOnly={true}\n />\n <div\n className={`${classNamePrefix}_share-by-link-copy-icon`}\n aria-hidden={true}\n onClick={() => {\n navigator.clipboard.writeText(_get(inputRef, 'current.value'))\n onLinkCopied()\n }}\n >\n {hasCopyIcon ? (\n <img src={copyIconSrc} alt=\"copy\" />\n ) : (\n <span className={`${classNamePrefix}_copy-icon`}>{copyTitle}</span>\n )}\n </div>\n </>\n )\n}\n","import _identity from 'lodash/identity'\nimport _isEmpty from 'lodash/isEmpty'\nimport _some from 'lodash/some'\nimport React from 'react'\n\nimport { submitShareAction } from '../../api/preRegistrationComplete'\nimport { CopyField } from '../common/CopyField'\nimport SocialButtons from '../confirmationContainer/social-buttons'\nimport { getShuffleMethodByName, shareOptionsAdapter } from './utils'\n\nexport const ShareOptions = (props: IShareOptionsProps) => {\n const {\n classNamePrefix,\n data,\n hasCopyIcon = true,\n onLinkCopied = _identity,\n headerText = 'Share with your friends here ...',\n hash,\n updateShareActionData,\n shareActionData,\n } = props\n\n const {\n attributes: { actions, shareUrl },\n } = data\n\n const shareButtons = shareOptionsAdapter(actions, shareUrl)\n const isShareLinkEnabled = _some(\n actions,\n (item: IShareOptionsActionData) => item.action === 'shared_url'\n )\n const onAfterShare = async (eventActionId: string | undefined) => {\n const { shareActionToken, tokenShuffleMethod } = shareActionData\n const accessToken = getShuffleMethodByName(tokenShuffleMethod)(shareActionToken)\n if (typeof eventActionId === 'string') {\n await submitShareAction({\n eventActionId,\n accessToken,\n hash,\n })\n updateShareActionData()\n }\n }\n\n return (\n <div className={`${classNamePrefix}_share_options`}>\n {!_isEmpty(actions) && (\n <>\n <div className={`${classNamePrefix}_share_header`}>{headerText}</div>\n <SocialButtons\n shareLink={data.attributes.shareUrl}\n name=\"\"\n appId=\"\"\n showDefaultShareButtons={false}\n shareButtons={shareButtons}\n titleText=\"\"\n footerText=\"\"\n onAfterShare={(eventActionId: string | undefined) =>\n onAfterShare(eventActionId)\n }\n />\n {isShareLinkEnabled && (\n <div className={`${classNamePrefix}_share_btn_inner`}>\n <CopyField\n copyValue={shareUrl}\n onLinkCopied={onLinkCopied}\n hasCopyIcon={hasCopyIcon}\n classNamePrefix={classNamePrefix}\n messageText=\"Share your link\"\n />\n </div>\n )}\n </>\n )}\n </div>\n )\n}\n","import { ThemeOptions } from '@mui/material'\nimport { createTheme, ThemeProvider } from '@mui/material/styles'\nimport { CSSProperties } from '@mui/styles'\nimport axios, { AxiosError } from 'axios'\nimport _get from 'lodash/get'\nimport _identity from 'lodash/identity'\nimport _isEmpaty from 'lodash/isEmpty'\nimport React, { FC, useEffect, useState } from 'react'\n\nimport {\n getPreRegistrationInfluancers,\n getPreRegistrationShareOptions,\n} from '../../api/preRegistrationComplete'\nimport { X_TF_ECOMMERCE } from '../../constants'\nimport { useCookieListener } from '../../hooks'\nimport { getCookieByName, getQueryVariable } from '../../utils'\nimport { CopyMessageModal } from '../common'\nimport ConfirmModal from '../confirmModal'\nimport { LoginModal } from '../loginModal'\nimport { Prewards } from './Prewards'\nimport { ShareOptions } from './ShareOptions'\n\nconst isWindowDefined = typeof window !== 'undefined'\n\nexport const PreRegistrationComplete: FC<\n IPreRegistrationCompleteProps & {\n onGetConfirmationDataError?: (error: AxiosError) => void;\n themeOptions?: ThemeOptions & {\n input?: CSSProperties;\n checkbox?: CSSProperties;\n };\n }\n> = ({\n eventId: pEventId,\n classNamePrefix = '',\n onLinkCopied = _identity,\n hasCopyIcon = false,\n pageHeader = 'Pre-Registration Confirmation',\n onGetConfirmationDataError = _identity,\n onGetConfirmationDataSuccess = _identity,\n pageMessage = 'Pre registration was successful!',\n onLoginSuccess = _identity,\n logo,\n themeOptions,\n}) => {\n const themeMui = createTheme(themeOptions)\n\n const localStorageHash = isWindowDefined\n ? localStorage.getItem('pre-registration-hash')\n : ''\n const queryHash = getQueryVariable('hash') || ''\n queryHash &&\n isWindowDefined &&\n window.localStorage.setItem('pre-registration-hash', queryHash)\n const hash = queryHash || localStorageHash\n const [isLoggedIn, setIsLoggedIn] = useState(Boolean(getCookieByName(X_TF_ECOMMERCE)))\n const [showModalLogin, setShowModalLogin] = useState(!isLoggedIn)\n const [showCopyModal, setShowCopyModal] = useState(false)\n const [prizes, setPrizes] = useState([] as Array<IPrizeData>)\n const [shareOptions, setShareOptions] = useState({} as IShareOptionsData)\n const [shareActionData, setShareActionData] = useState(\n {} as ISubmitShareActionAttributes\n )\n const [error, setError] = useState({} as AxiosError)\n useCookieListener(X_TF_ECOMMERCE, value => setIsLoggedIn(Boolean(value)))\n useEffect(() => {\n const fetchConfirmationData = async () => {\n try {\n if (hash && isLoggedIn) {\n const shareOptionsData = await getPreRegistrationShareOptions({\n hash,\n })\n const { attributes } = shareOptionsData.data\n setShareOptions(shareOptionsData.data)\n setShareActionData({\n shareActionToken: attributes.shareActionToken,\n tokenShuffleMethod: attributes.tokenShuffleMethod,\n })\n const eventId = _get(shareOptionsData, 'data.attributes.eventId')\n if (eventId || pEventId) {\n const influencersData = await getPreRegistrationInfluancers({\n eventId: eventId || pEventId,\n })\n setPrizes(influencersData.data.attributes.prizes)\n }\n onGetConfirmationDataSuccess()\n }\n } catch (error) {\n if (axios.isAxiosError(error)) {\n setError(error.response?.data as AxiosError)\n }\n }\n }\n fetchConfirmationData()\n }, [\n pEventId,\n hash,\n onGetConfirmationDataError,\n onGetConfirmationDataSuccess,\n isLoggedIn,\n ])\n\n const onClose = () => {\n setShowCopyModal(false)\n }\n\n const updateShareActionData = async () => {\n if (hash) {\n const shareOptionsData = await getPreRegistrationShareOptions({\n hash,\n })\n setShareOptions(shareOptionsData.data)\n setShareActionData({\n shareActionToken: shareOptionsData.data.attributes.shareActionToken,\n tokenShuffleMethod: shareOptionsData.data.attributes.tokenShuffleMethod,\n })\n }\n }\n return (\n <ThemeProvider theme={themeMui}>\n {isLoggedIn && _isEmpaty(error) ? (\n <div className={`${classNamePrefix}_pre_registration_complete_container`}>\n <CopyMessageModal showCopyModal={showCopyModal} onClose={onClose} />\n <p className={`${classNamePrefix}_pre_registration_complete_header`}>\n {pageHeader}\n </p>\n <div className={`${classNamePrefix}_pre_registration_complete_message`}>\n {pageMessage}\n </div>\n <div className={`${classNamePrefix}_pre_registration_complete_body`}>\n {!_isEmpaty(prizes) && (\n <Prewards classNamePrefix={classNamePrefix} data={prizes} />\n )}\n\n {!_isEmpaty(shareOptions) && (\n <ShareOptions\n classNamePrefix={classNamePrefix}\n data={shareOptions}\n onLinkCopied={() => {\n setShowCopyModal(true)\n onLinkCopied()\n }}\n shareActionData={shareActionData}\n updateShareActionData={updateShareActionData}\n hasCopyIcon={hasCopyIcon}\n hash={hash}\n />\n )}\n </div>\n </div>\n ) : (\n showModalLogin && (\n <LoginModal\n logo={logo}\n onClose={() => {\n setShowModalLogin(false)\n }}\n onLogin={res => {\n setShowModalLogin(false)\n onLoginSuccess(res)\n }}\n />\n )\n )}\n {!_isEmpaty(error) && (\n <ConfirmModal\n hideCancelBtn\n message={error.message}\n onConfirm={() => onGetConfirmationDataError(error)}\n />\n )}\n </ThemeProvider>\n )\n}\n","import _isEmpty from 'lodash/isEmpty'\nimport _map from 'lodash/map'\nimport React from 'react'\n\nexport const Influancers = (props: IInfluancersProps) => {\n const {\n data,\n classNamePrefix,\n headerNode = (\n <>\n TOP\n <span>&nbsp;INFLUANCERS</span>\n </>\n ),\n } = props\n return (\n <div className={`${classNamePrefix}_influencers_container`}>\n {!_isEmpty(data) && (\n <div className={`${classNamePrefix}_influencers_header`}>{headerNode}</div>\n )}\n <div className={`${classNamePrefix}_influencers`}>\n {_map(data, (influencer, index) => (\n <div key={influencer.prereg_id} className={`${classNamePrefix}_influencer`}>\n <span className={`${classNamePrefix}_influencer_index`}>{index + 1}</span>\n <span className={`${classNamePrefix}_influencer_title`}>INFLUENCER</span>\n <span className={`${classNamePrefix}_influencer_name`}>\n {influencer.name}\n </span>\n </div>\n ))}\n </div>\n </div>\n )\n}\n","import { createTheme, ThemeProvider } from '@mui/material/styles'\nimport _identity from 'lodash/identity'\nimport _slice from 'lodash/slice'\nimport React, { useEffect, useState } from 'react'\n\nimport { getPreRegistrationInfluancers } from '../../api/preRegistrationComplete'\nimport { Influancers } from './Influancers'\nimport { Prewards } from './Prewards'\n\nexport const PreRegistrationInformations = (props: IPreRegistrationInformationProps) => {\n const {\n classNamePrefix,\n eventId,\n onGetPreregistrationDataSuccess = _identity,\n onGetPreregistrationDataError = _identity,\n influancersHeaderNode,\n prewardsHeaderNode,\n themeOptions,\n } = props\n\n const themeMui = createTheme(themeOptions)\n\n const [prizes, setPrizes] = useState([] as Array<IPrizeData>)\n const [influencers, setInfluencers] = useState([] as Array<IInfluancerData>)\n const topInfluancers = _slice(influencers, 0, 10)\n useEffect(() => {\n const fetchPreregistrationData = async () => {\n try {\n const preregistrationData = await getPreRegistrationInfluancers({\n eventId,\n })\n setPrizes(preregistrationData.data.attributes.prizes)\n setInfluencers(preregistrationData.data.attributes.influencers)\n onGetPreregistrationDataSuccess()\n } catch (error) {\n if (error) {\n onGetPreregistrationDataError()\n }\n }\n }\n fetchPreregistrationData()\n }, [eventId, onGetPreregistrationDataError, onGetPreregistrationDataSuccess])\n\n return (\n <ThemeProvider theme={themeMui}>\n <div className={`${classNamePrefix}_pre_registration_info_container`}>\n <Prewards\n headerNode={prewardsHeaderNode}\n data={prizes}\n classNamePrefix={classNamePrefix}\n />\n <Influancers\n headerNode={influancersHeaderNode}\n data={topInfluancers}\n classNamePrefix={classNamePrefix}\n />\n </div>\n </ThemeProvider>\n )\n}\n"],"names":["headers","Accept","isWindowDefined","window","authGuestToken","localStorage","getItem","publicRequest","axios","create","baseURL","setBaseUrl","baseUrl","defaults","setGuestToken","guestToken","common","X_TF_ECOMMERCE","FEES_STYLES","TRADITIONAL","DISPLAY_BOTH","DEFAULT_FEES_STYLE","CONFIGS","FEES_STYLE","setConfigs","configs","_forEach","value","key","BASE_URL","getQueryVariable","variable","query","location","search","substring","vars","split","i","length","pair","decodeURIComponent","ErrorFocusInternal","componentDidUpdate","prevProps","formik","isSubmitting","isValidating","errors","keys","Object","selector","errorElement","document","querySelector","focus","Component","ErrorFocus","connect","setCustomCookie","name","days","expires","date","Date","setTime","getTime","toUTCString","domain","hostname","cookie","getCookieByName","cname","ca","c","charAt","indexOf","deleteCookieByName","downloadPDF","pdfUrl","xtfCookie","fetch","credentials","then","response","blob","blobValue","fileNameHeader","get","fileName","Error","file","Blob","type","fileURL","URL","createObjectURL","link","createElement","href","setAttribute","body","appendChild","click","removeChild","error","createCheckoutDataBodyWithDefaultHolder","ticketsQuantity","logedInValues","includeDob","userCredentials","ticket_holders","first_name","_get","last_name","phone","email","individualHolder","push","attributes","confirm_email","holderAgeDate","dob_day","getDate","dob_month","getMonth","dob_year","getFullYear","createMarkup","data","__html","replaceVarInString","message","varArray","re","RegExp","index","replace","_","isBrowser","getFormInitialValues","fieldsSections","initialValues","userData","JSON","parse","item","fields","fieldItem","setLoggedUserData","id","firstName","lastName","confirmEmail","city","country","countryId","street_address","streetAddress","state","stateId","zip","zipCode","getDataWithCustomFields","initialData","ticketHoldersFields","customFields","_isEmpty","dataWithCustomFields","ticketHoldersWithCustomFields","orderWithCustomFields","groupClassname","groupItems","orderFields","initialDataFields","splice","ticketHoldersFieldsArr","ticketHoldersCustomFieldsBlueprint","ticketsFields","getAddOnDataWithCustomFields","addOnDataWithCustomFields","addOnFields","getFieldsKeys","_map","field","isJson","e","interceptors","request","use","config","updatedHeaders","additionalCookiesHeaderValue","X_SOURCE_ORIGIN","setItem","url","method","status","removeItem","errorType","Promise","reject","optionsAdapter","options","adaptedOptions","option","label","fieldDataAdapter","required","description","restValues","adaptedField","className","multiline","radios","isMultiple","customFieldsDataAdapter","adaptedTicketFields","adaptedOrderFields","adaptedAddOnFields","ticketFields","ticketField","orderField","addOnField","authorize","post","CLIENT_ID","register","getProfileData","logout","getOrders","page","limit","eventSlug","slug","EVENT_SLUG","BRAND_SLUG","getOrderDetails","orderId","addToCart","referrer","getCart","postOnCheckout","freeTicket","getEvent","pk","referralValue","params","referralId","searchParams","referral_key","referralIdlocal","getTickets","eventId","promoCode","invitationHash","promoterId","String","tickets","ticketsArr","adaptedResponse","getTimeSlotsData","getCountries","getStates","sendRSVPInfo","addToWaitingList","postReferralVisits","validatePhoneNumber","getPaymentData","hash","handlePaymentSuccess","orderHash","undefined","handleFreeSuccess","getConfirmationData","getConditions","adaptedData","nanoid","text","checked","returnData","resaleTicket","removeFromResale","processTicket","declineInvitation","getCustomerExistsData","accessHash","getDelegationTickets","res","issueTicket","setCustomHeader","guestHeaderResponseValue","guestHeaderExistingValue","guestHeader","createPaymentPlan","stripePaymentMethodId","stripe_payment_method_id","forgotPassword","resetPassword","getAddons","result","addons","getCheckoutPageConfigs","getCustomFields","updateOrderCustomFields","customFieldsData","put","order_id","data_capture","updateTicketHoldersCustomFields","ticketHash","ticket_hash","ticket_data_capture","confirmPreRegistration","getSeatMapData","reservedSeatsHash","reserved_seats_hash","getSeatMapStatuses","reserveSeat","tierId","seatId","ttl","removeSeatReserve","seatIds","getPixelScript","pageOptions","page_url","pageUrl","order_hash","getNetverifyUrl","checkVerificationStatus","updateVerificationStatus","patch","verification","verificationStatus","checkCustomerOrder","refreshSeatReservation","withCustomFields","Children","props","skipCustomFields","onGetCustomFieldsError","_identity","onGetCustomFieldsSuccess","args","useState","lodaing","setLoading","setCustomFieldsData","customFieldsOrderKeys","setCustomFieldsOrderKeys","customFieldsTicketHolderKeys","setCustomFieldsTicketHolderKeys","customFieldsAddOnKeys","setCustomFieldsAddOnKeys","getFields","orderFieldsKeys","ticketHoldersFieldsKeys","addOnFieldsKeys","useEffect","React","CircularProgress","size","appendScriptsToHeader","code","tempEl","innerHTML","scripts","getElementsByTagName","script","src","head","addGTagToHeader","tagId","links","trim","append","scriptBody","dataLayer","gtag","usePixel","getScript","pixels","brandGoogleTagKey","eventGoogleTagKey","eventGoogleTagManagerLinkerDomains","console","currencyNormalizerCreator","currency","getCurrencySymbolByCurrency","createFixedFloatNormalizer","fixedValue","toFixed","style","position","top","left","transform","minWidth","backgroundColor","border","outline","padding","maxHeight","overflow","Modal","onClose","actions","children","modalClassName","MuiModal","open","Box","action","Button","onClick","disabled","loading","variant","VerificationPendingModal","displayModal","showModal","setShowModal","Boolean","InfoIcon","xmlns","width","height","viewBox","fill","cx","cy","r","stroke","strokeWidth","x","y","showZero","intNumber","Number","_isNumber","TimerWidget","expires_at","buyLoading","onCountdownFinish","showTimer","setShowTimer","handleCountdownFinish","renderer","minutes","seconds","completed","hideTimer","timerRl","visibility","SVG","Cross","Countdown","now","memo","addonsWithGroupsAdapter","addonsData","addOnsGroups","addOnGroupsWithVariants","addOnsWithoutVariants","forEach","addon","addOnGroupId","currentGroupId","exsistingGroupIndex","findIndex","addOnGroup","variants","group","find","concat","adaptedAddons","map","cartAdapter","cart","cartData","expiresAt","carts_arr","quantity","emailRegex","combineValidators","validators","error_message","isFalsy","addEventListener","err","requiredValidator","errorMessage","emailValidator","test","CheckboxField","form","touched","isTouched","errorText","hasError","customTheme","useTheme","FormControl","FormGroup","FormControlLabel","control","Checkbox","componentsProps","typography","checkbox","FormHelperText","selectOptions","rest","CheckboxMaterial","CustomField","submitCount","theme","inputProps","pInputProps","InputProps","inputRef","onChange","minRows","maxRows","isShrinked","setIsShrinked","_ref","useRef","isAutoFilled","current","matches","isSelectField","_includes","sx","input","_isFunction","_isObject","TextField","placeholder","select","fullWidth","helperText","onFocus","SelectProps","MenuProps","InputLabelProps","shrink","onBlur","PhoneNumberField","setFieldError","values","setFieldValue","setFieldTouched","setErrors","disableDropdown","defaultCountry","setPhoneValidationIsLoading","isCountryCodeEditable","debounceCb","useCallback","_debounce","cb","newErrors","MuiPhoneNumber","dialCode","autoFormat","disableAreaCodes","countryCodeEditable","Loader","SelectField","selectId","handleChange","event","target","getSelectedItemLabel","selectedValue","selectedItem","InputLabel","Select","labelId","multiple","OutlinedInput","renderValue","selected","selectedLabels","join","selectedLabel","textAlign","MenuItem","ListItemText","primary","CopyMessageModal","showCopyModal","DATE_SIZE","compactStyles","margin","minHeight","marginRight","getTheme","isCompact","baseThemeOptions","createTheme","assign","components","MuiPaper","defaultProps","DatePickerField","useCompact","themeOptions","dateFormat","ThemeProvider","LocalizationProvider","dateAdapter","AdapterMoment","DatePicker","PopperProps","placement","showDaysOutsideCurrentMonth","disableFuture","inputFormat","mask","renderInput","evt","NativeSelectField","htmlFor","RadioGroupField","radioId","FormLabel","RadioGroup","radio","Radio","getInitialValues","propsInitialValues","userValues","results","_flatMapDeep","ticketHoldersCustomFields","groupItem","ticketHoldersCustomFieldsInitValues","selectedTicketsCount","customField","fieldName","fieldValue","createRegisterFormData","checkoutBody","flagFreeTicket","bodyFormData","FormData","password","confirmPassword","CLIENT_SECRET","includes","createCheckoutDataBody","holderAge","holders","fromEntries","entries","filter","filteredHolders","holder","firstNameLogged","lastNameLogged","emailLogged","filteredRestValue","getValidateFunctions","element","states","validationFunctions","onValidate","invalidPhone","isSameEmail","isSame","assingUniqueIds","itemValue","_isArray","some","uniqueId","isRequiredField","flagRequirePhone","collectMandatoryWalletAddress","getFieldLabel","isValidElement","getFieldComponent","fieldComponentConfigs","select_multi","fieldComponent","AddonComponent","classNamePrefix","handleAddonChange","active","stock","_isNull","Field","component","validate","getNormalizedPrice","minimizedValue","normalized","generateSelectOptions","minCount","maxCount","generateStockBasedOnLimitations","ticketQuantity","flagLimitToTicketQuantity","maxQuantity","limitPerTicket","allowedStockCount","stockBasedOnLimitPerTicket","filterStockBasedOnAvailability","generatedStock","availableStock","filteredStockCount","getAddonSelectOptions","choosedTicketCount","addonsWithOptions","groupsWithSelectedVariantsInfo","groupsWithVariants","simpleAddonStock","variantId","variantStock","stockBasedOnLimitation","choosedVariants","selectedCount","allowedVariantStockCount","variantOptions","addonOptions","getTicketRelatedAddons","ticketId","filteredAddons","prerequisiteTicketTypeIds","getSortedAddons","sortDirection","addonsCopy","unsortedVariants","sortOrder","sortedVariants","_sortBy","sortedAddons","_reverse","isAtLeastOneAddonSelected","selectedAddons","count","AddonsContainter","enableBillingInfoAutoCreate","enableTimer","onGetAddonsPageInfoSuccess","onGetAddonsPageInfoError","onPostCheckoutSuccess","onPostCheckoutError","onConfirmSelectionSuccess","onConfirmSelectionError","onPendingVerification","samePage","descriptionTrigger","setAddons","addonsOptions","setAddonsOptions","groupsWithSelectedVariants","setGroupsWithSelectedVariants","groupsWithInitialVariantsValues","setGroupsWithInitialVariantsValues","cartExpirationTime","setCartExpirationTime","pendingVerificationMessage","setPendingVerificationMessage","visibleDescription","setVisibleDescription","handleDescriptionToggle","getAddonsPageInfo","choosedTicketID","ticketRelatedAddons","sortedTicketAddons","recreateGroupVariantsSelectOptions","groupId","changedGroupd","remainingGroupStock","recreatedVariantsOptions","variantCurrSelectedValue","allowedOptionCount","prevState","onFieldChange","changeableGroup","currGroupId","currSelectedVariantId","currSelectedVariantCount","currSelectedVariantPrevCount","currSelectedGroupCount","updatedGroupsWithSelectedVariants","handleConfirm","skipAddonPage","pageConfigsDataResponse","pageConfigsData","skipBillingPage","skip_billing_page","add_ons","checkoutResponse","total","event_id","hasUnverifiedOrder","stringify","handleClearAddons","addOnIsIncluded","isResale","Formik","onSubmit","isConfirmDisabled","Form","autoComplete","price","feeIncluded","cost","isAddonFree","addOnNormalizedCost","addonNormalizedPrice","imageUrl","alt","onMouseEnter","onMouseLeave","marginLeft","cursor","display","Tooltip","place","dangerouslySetInnerHTML","SnackbarAlert","isOpen","autoHideDuration","Snackbar","anchorOrigin","vertical","horizontal","classes","root","Alert","severity","icon","filled","PoweredBy","Schema","Yup","shape","ForgotPasswordModal","onLoginButtonClick","onForgotPasswordSuccess","onForgotPasswordError","showPoweredByImage","onForgotPassword","isAxiosError","_onClose","validationSchema","isValid","dirty","handleSubmit","LoginModal","onLogin","alreadyHasUser","userExpired","onGetProfileDataSuccess","onGetProfileDataError","onSignup","modalClassname","logo","showForgotPasswordButton","showSignUpButton","setError","authRes","profileResponse","profileSpecifiedData","profileDataObj","CustomEvent","dispatchEvent","meta","SignupSchema","min","oneOf","SignupModal","onRegisterSuccess","onRegisterError","formData","set","LogicRunner","setStates","setValues","setUserValues","onGetStatesSuccess","onGetStatesError","shouldFetchCountries","brandOptIn","prevCountry","fetchStates","mappedStates","stateExists","userDataEncoded","getStoredUserData","parsedData","mappedValues","brand_opt_in","extraDataJSON","extraData","BillingInfoContainer","buttonName","onSubmitError","onGetCartSuccess","onGetCartError","onGetCountriesSuccess","onGetCountriesError","onLoginSuccess","isLoggedIn","pIsLoggedIn","accountInfoTitle","hideLogo","onErrorClose","hideErrorsAlertSection","onSkipBillingPage","skipPage","canSkipHolderNames","onGetCheckoutConfigsSuccess","onGetCheckoutConfigsError","includeAddons","addonsProps","setExtraData","isConfigLoading","setIsConfigLoading","isNewUser","setIsNewUser","themeMui","dataWithUniqueIds","setDataWithUniqueIds","setIsLoggedIn","cartInfoData","setCartInfo","countries","setCountries","showModalLogin","setShowModalLogin","setAlreadyHasUser","setUserExpired","showModalSignup","setShowModalSignup","showModalForgotPassword","setShowModalForgotPassword","setTicketsQuantity","holderFirstName","holderLastName","cardLoading","setCardLoading","isCountriesLoading","setIsCountriesLoading","phoneValidationIsLoading","showDOB","age_required","showTicketHolders","names_required","optedInFieldValue","ttfOptIn","isTable","hideTtfOptIn","expirationTime","phone_required","collect_mandatory_wallet_address","collectOptionalWalletAddress","collect_optional_wallet_address","free_ticket","hidePhoneField","hide_phone_field","hideWalletAddressField","collectMandatoryCompany","collect_mandatory_company","collectOptionalCompany","collect_optional_company","hideCompanyField","collectMandatoryJobTitle","collect_mandatory_job_title","collectOptionalJobTitle","collect_optional_job_title","hideJobTitleField","collectMandatoryInstagram","collect_mandatory_instagram","collectOptionalInstagram","collect_optional_instagram","hideInstagramField","collectMandatoryBusinessCategory","collect_mandatory_business_category","collectOptionalBusinessCategory","collect_optional_business_category","hideBusinessCategoryField","prevData","addAddOnsInAttributes","selectedAddOns","hasUniqueId","isEqualData","_isEqual","getQuantity","qty","fetchCountries","fetchCart","cartInfo","Array","fetchUserData","userDataResponse","collectPaymentData","removeReferralKey","collectCheckoutBody","profileData","captureKeys","path","attributeKey","holderIndex","holderDataCapture","customFieldKey","customFieldHolderName","customFieldHolderKey","selectedCountry","_find","toLowerCase","initialCountry","Backdrop","color","zIndex","ttf_opt_in","instagram","company","businessCategory","jobTitle","enableReinitialize","formikHelpers","updatedUserData","checkoutBodyForRegistration","resRegister","refreshToken","userProfile","labelClassName","Fragment","el","handleBlur","format","_item","WithCustomFieldsBillingInfoContainer","adaptStripeError","adaptedError","isStripeError","payment_intent","errorReason","ConfirmModal","hideCancelBtn","onConfirm","base","fontSize","letterSpacing","invalid","CheckoutForm","stripeCardOptions","stripe_client_secret","billing_info","isLoading","handleSetLoading","conditions","disableZipSection","paymentButtonText","forPaymentPlan","hasSeatMapActions","stripe","useStripe","elements","useElements","postalCode","setPostalCode","stripeError","setStripeError","checkboxes","setCheckboxes","allowSubmit","setAllowSubmit","preventDefault","card","getElement","CardNumberElement","address","line1","postal_code","confirmCardSetup","payment_method","token","setupResponse","paymentMethodId","setupIntent","createPaymentMethod","billing_details","paymentMethodReq","confirmCardPayment","paymentMethod","handleCheckboxes","updatedCheckedState","onChangePostalCode","allChecked","every","buttonIsDiabled","onReady","CardExpiryElement","CardCvcElement","PaymentPlanSection","paymentPlanConfig","paymentPlanUseSavedCard","setPaymentPlanUseSavedCard","total_installments","price_per_installment","interval","has_admin_fee","admin_fee","requires_deposit","deposit","non_refundable_type","non_refundable_amount","saved_card","last_4_digits","publishableKey","STRIPE_PUBLISHABLE_KEY","getStripePromise","reviewData","stripePublishableKey","stripeAccount","loadStripe","initialPaymentPlanConfiguration","stripe_setup_intent_secret","initialOrderValues","product_name","ticketType","guest_count","pay_now","initialReviewValues","order_details","stripe_payment_plan_enabled","stripe_payment_plan_configuration","event_details","flagSeatMapAllowed","PaymentContainer","paymentFields","handlePayment","formTitle","checkoutData","onGetPaymentDataSuccess","onGetPaymentDataError","onPaymentError","elementsOptions","enablePaymentPlan","orderInfoLabel","paymentInfoLabel","setReviewData","orderData","setOrderData","showPaymentPlanSection","setShowPaymentPlanSection","paymentIsLoading","setPaymentIsLoading","paymentDataIsLoading","setPaymentDataIsLoading","setConditions","paymentPlanIsAvailable","setPaymentPlanIsAvailable","setPaymentPlanConfig","setCurrency","showFormTitle","showErrorText","isFreeTickets","paymentPlanAvailable","sessionData","session","updateSessionInformation","paymentDataResponse","success","ticket","orderDataArray","debt","tableTypes","subtotal","fees","fetchConditions","conditionsResponse","conditionsInfo","handlePaymentMiddleWare","paymentSuccessResponse","orderValue","orderCurrency","showPaymentForm","hasTableTypes","paymentFieldsData","normalizer","parseFloat","Container","maxWidth","valueArray","flexDirection","tableTypeItem","gridTemplateColumns","gridColumnGap","groupName","Elements","StripePayment","isValidNumber","isNaN","getImage","image","process","env","NODE_ENV","require","SpotifyIcon","InstagramIcon","SocialButton","handleClick","facebook","FacebookShareButton","FacebookIcon","messenger","FacebookMessengerShareButton","FacebookMessengerIcon","twitter","TwitterShareButton","TwitterIcon","linkedin","LinkedinShareButton","LinkedinIcon","pinterest","PinterestShareButton","PinterestIcon","vk","VKShareButton","VKIcon","ok","OKShareButton","OKIcon","telegram","TelegramShareButton","TelegramIcon","whatsapp","WhatsappShareButton","WhatsappIcon","reddit","RedditShareButton","RedditIcon","tumblr","TumblrShareButton","TumblrIcon","mailru","MailruShareButton","MailruIcon","EmailShareButton","EmailIcon","livejournal","LivejournalShareButton","LivejournalIcon","viber","ViberShareButton","ViberIcon","workplace","WorkplaceShareButton","WorkplaceIcon","line","LineShareButton","LineIcon","pocket","PocketShareButton","PocketIcon","instapaper","InstapaperShareButton","InstapaperIcon","weibo","WeiboShareButton","WeiboIcon","hatena","HatenaShareButton","HatenaIcon","spotify","SocialComponent","mainLabel","subLabel","platform","shareData","points","onAfterShare","alreadyApplied","oneTimeAction","Icon","isActionDisabled","onKeyDown","round","SocialButtons","showDefaultShareButtons","shareLink","appId","shareButtons","titleText","footerText","clientLabel","showReferralsInfoText","quote","title","shareButton","eventActionId","ConfirmationContainer","confirmationLabels","hasCopyIcon","isReferralEnabled","messengerAppId","onGetConfirmationDataSuccess","onGetConfirmationDataError","onLinkCopied","showCopyInfoModal","showPricingNoteSection","setData","dataEncoded","dataDecoded","product_id","confirmationDataResponse","personal_share_sales","salesItem","salesData","sales","symbol","unshift","product_price","setShowCopyModal","onChangeShareLink","newData","personal_share_link","confirmationTitle","confirmationMain","confirmationHelper","paymentPlanConfirmationTitle","paymentPlanConfirmationMain","paymentPlanConfirmationHelper","product_image","is_payment_plan","custom_confirmation_page_text","custom_confirmation_page_text_full_replacement","attach_tickets","disable_referral","ref","navigator","clipboard","writeText","pricing","getPreRegistrationInfluancers","getPreRegistrationShareOptions","submitShareAction","accessToken","phase","useCookieListener","handler","getCookie","intervalValue","setIntervalValue","cookieRef","handleCookieChange","currentCookie","prevCookie","setInterval","clearInterval","useLocalStorageListener","callback","setValue","intervalId","newValue","parsed","isTimeExpired","startDate","timezone","moment","isAfter","tz","guess","showMessage","disableLeadingZero","duration","setDuration","timeExpired","setTimeExpired","timer","currentDate","diffTime","diff","dateArr","year","years","month","months","day","hour","hours","minute","second","timeLeft","unit","val","generateQuantity","n","quantityList","WaitingList","defaultMaxQuantity","showSuccessMessage","setShowSuccessMessage","ticketTypesList","d","displayName","showTicketsField","ticketTypeId","selectedTicket","waitingListMaxQuantity","AccessCodeSection","setCode","updateTickets","isAccessCodeHasValue","onKeyPress","PromoCodeSection","codeIsApplied","showPromoInput","setShowPromoInput","setCodeIsApplied","codeIsInvalid","setCodeIsInvalid","promoText","showAlertIcons","isPromoCodeHasValue","renderInputField","DoneSvg","preProcessor","XmarkSvg","ReferralLogic","isAlreadyCounted","getTicketSelectOptions","multiplier","Math","defineIsSalesClosed","eventDatesInfo","salesStarted","salesEnded","presalesStarted","presalesEnded","presalesEnabled","isSalesClosed","TicketRow","ticketTier","prevTicketTier","selectedTickets","handleTicketSelect","isSeatMapAllowed","tableType","soldOutMessage","toUpperCase","presales_enabled","maxGuests","minGuests","minQuantity","ticketsClosedMessage","canPurchaseTicket","displayTicket","isDirectPurchaseAllowed","onSaleContent","borderRadius","displayEmpty","PaperProps","returnValue","isSoldOut","sold_out","slotGroupId","soldOut","decodeHTML","html","textArea","TicketsSection","ticketsList","sortBySoldOut","ticketsHeaderComponent","tableTicketsHeaderComponent","hideTicketsHeader","hideTableTicketsHeader","showGroupNameBlock","currencySybmol","tableTickets","sortedTicketsList","showGroup","priceSymbol","arr","ticketPriceWithoutFees","ticketPriceWithFees","ticketOldPrice","oldPrice","ticketSelect","ticketIsDiscounted","ticketIsFree","ticketPriceElem","isNewGroupTicket","descriptionRich","depositPercent","TimeSlotsSection","availableDates","setSelectedTickets","selectedDate","setSelectedDate","setTickets","handleDateChange","isDateDisabled","formattedDate","alignItems","shouldDisableDate","showToolbar","actionBar","disablePast","marginTop","TicketsContainer","getTicketsLabel","onAddToCartSuccess","contentStyle","onAddToCartError","onGetTicketsSuccess","onGetTicketsError","onLogoutSuccess","onLogoutError","onGetTicketsPress","queryPromoCode","isPromotionsEnabled","isAccessCodeEnabled","hideSessionButtons","hideWaitingList","isButtonScrollable","disableCountdownLeadingZero","ActionsSectionComponent","actionsSectionComponent","enableInfluencersSection","enableAddOns","handleNotInvitedModalClose","handleInvalidLinkModalClose","ordersPath","onReserveButtonClick","isLogged","setIsLogged","showLoginModal","setShowLoginModal","setEvent","showWaitingList","setShowWaitingList","setIsLoading","codeIsLoading","setCodeIsLoading","handleBookIsLoading","setHandleBookIsLoading","showAccessCodeSection","setShowAccessCodeSection","showPromoCodeSection","setShowPromoCodeSection","isNotInvitedError","setIsNotInvitedError","isInvalidLinkError","setIsInvalidLinkError","preregistereds","setPreregistereds","ticketsNotAvailableModalOpen","setTicketsNotAvailableModalOpen","checkUserPreregistration","isPreregistred","setIsPreregisred","ticketsContainerRef","isTimeSlotEvent","setAvailableDates","user","isPreregistredUser","_some","getTicketsApi","fetchPreregisteredsData","handleLogout","handleExternalLogin","handleOnClose","handleOnLogin","isUpdateingCode","previewKey","eventResponse","log","ValidPromoCode","is_access_code","preregistrationData","influencers","toString","userDataString","handleOrdersClick","handleBook","optionName","isTableType","productCartQuantity","alternative_view_id","product_cart_quantity","product_options","ticket_types","ticket_price","hasAddOn","has_add_on","isTicketOnSale","eventHasTickets","removeEventListener","handleGetTicketClick","scrollIntoView","behavior","block","inline","handleNotAvailableTicketsClick","bookButtonIsDisabled","isTicketAvailable","wrappedActionsSectionComponent","cloneElement","externalUrl","redirectUrl","eventSaleIsNotStarted","salesStart","referralsEnabled","referrals","canShowGetTicketBtn","hideTopInfluencers","isTableMapEnabled","notAvailableTicketsMessage","_filter","ordinarTickets","influencer","EventInfoItem","tableConfig","columns","header","ItemComponent","row","columnProps","eventName","amount","Row","handleDetailsInfo","hideDetailsButton","TableRow","borderBottom","column","TableCell","scope","onCellClick","componentProps","MyTicketsContainer","onGetOrdersSuccess","onGetOrdersError","selectEventsLabel","openLoginModal","setLimit","setFilter","fetchData","handleChangePage","_event","newPage","handleChangeRowsPerPage","eventFilter","url_name","orders","Autocomplete","disablePortal","getOptionLabel","event_name","purchased_events","TableContainer","Paper","Table","TableHead","TableBody","MyTicketsRow","TablePagination","rowsPerPageOptions","total_count","rowsPerPage","onPageChange","onRowsPerPageChange","RadioField","schema","yup","to","when","is","confirm","TicketResaleModal","holder_name","retain_amount_on_sale","ticket_type_is_active","UserSvg","EmailSvg","CustomFieldsForm","handleFormSubmit","handleFormClose","adaptedCustomField","resetForm","getLabelForValue","getLabel","singleValue","labels","renderCustomFieldValue","isFieldUpdatable","settings","allowUpdate","createCustomFieldsUpdateBody","updatedValues","notUpdatableCustomFieldsValues","reduce","acc","TicketHolderCustomFields","holderCustomFields","handleTicketHoldersUpdate","showHolderCustomFieldsSection","setShowHolderCustomFieldsSection","useMemo","allowedFields","notAllowedFields","allowedHolderCustomFields","notAllowedHolderCustomFields","holderEditableFieldsFormInitialValues","getHolderCustomFieldsInitialValues","handleForSubmit","fullUpdatableValues","EditSvg","TicketsTable","displayColumnNameInRow","canSellTicket","ticketsTitle","handleSellTicket","handleRemoveFromResale","pdfError","setPdfError","pdfDownload","setPdfDownload","getRow","columnIndex","ticketIsDownloading","pdf_link","is_on_sale","pdfDownloadError","is_sellable","colSpan","add_on","getTotal","_has","items","OrderDetailsContainer","onRemoveFromResaleSuccess","onRemoveFromResaleError","onResaleTicketSuccess","onResaleTicketError","onUpdateOrderCustomFieldsSuccess","onUpdateOrderCustomFieldsError","onUpdateTicketHolderCustomFieldsSuccess","onUpdateTicketHolderCustomFieldsError","onReturnButtonClick","personalLinkIcon","ticketsTableColumns","pOrderId","referralTitle","itemsTitle","removeFromResaleLoading","setRemoveFromResaleLoading","resaleTicketLoading","setResaleTicketLoading","showResaleModal","setShowResaleModal","showRemoveResaleModal","setShowRemoveResaleModal","activeTicket","setActiveTicket","showOrderCustomFieldsSection","setShowOrderCustomFieldsSection","columnsProps","orderCustomFields","orderUpdatableCustomFields","orderNotUpdatableCustomFields","orderEditableFieldsFormInitialValues","orderSummery","ticketTypesArr","sellTicketType","ticket_type_hash","handleOnSubmit","updatedData","onCloseRemoveResale","onConfirmRemoveResale","handleOrderCustomFieldsUpdate","updatedCustomFields","updatedFields","notUpdatedFields","rel","sales_referred","is_table","guests_count","deposit_paid","remaining","password_confirmation","ResetPasswordContainer","tokenProps","onResetPasswordSuccess","onResetPasswordError","payload","TicketResaleContainer","onProcessTicketSuccess","onProcessTicketError","onDeclineTicketPurchaseSuccess","onDeclineTicketPurchaseError","billingPath","defaultRedirection","successMessage","setSuccessMessage","isDeclined","LoginForm","onLoginError","onForgotPasswordButtonClick","onSignupButtonClick","updateFormFieldsAttributes","formFields","updatedFormFields","fieldSection","fieldSectionAttributes","fieldItemAttributes","getFieldClassNames","existingClassNames","elem","getElementById","parentElement","clientWidth","insertHTML","elementId","childNodes","insertAdjacentHTML","SectionContainer","FieldsSection","containerClass","disableField","groupLabel","groupLabelVars","groupLabelClassName","groupClassName","fieldData","fieldIndex","classNames","collectStates","formDefaultFields","CLIENT_NAME","RegistrationForm","additionalFieldAttribute","registrationType","customerEmail","onRegisterAccountSuccess","onRegisterAccountError","setErrorMessage","showErrorModal","setshowErrorModal","fetchCountryId","handleRegisterAccount","profileRes","VERIFICATION_STATUSES","PENDING","APPROVED","FAILED","WRONG_CUSTOMER","VERIFICATION_PROVIDERS","JUMIO","STRIPE","VERIFICATION_MESSAGES","DELEGATION_ACCESS_ERROR","IssueTicketForm","selectTicketTypeOptions","setSubmitting","TicketsAssignedTable","tableTitle","issuePageData","noTicketsAssignedText","TicketsAvailableTable","ticketTypes","optionValue","delegationMaxQuantity","delegationQuantityIssued","IssueComponent","headTitle","onGetIssuePageDataSuccess","onGetIssuePageDataError","showMaxQtyModal","setShowMaxQtyModal","showSuccessModal","setShowSuccessModal","setIssuePageData","fetchDelegationTickets","eventImage","DelegationsContainer","registerFormFields","issuePageErrorText","onCustomerExistsError","isCustomerExsists","setIsCustomerExsists","issuePageError","setIssuePageError","setCustomerEmail","getCustomerData","useOnline","handleOffline","handleOnline","addToCartFunc","getTierIdBasedOnSeatId","eventSeats","seats","seatsCount","rowId","row_id","seat_id","tier_id","getButtonLabel","tableMapEnabled","getOwnReservationsBasedOnStatuses","statuses","ownReservations","groupRowId","seatIndex","getTicketDropdownData","reservationData","tierReleations","ticketsDropdownsData","reservation","ticketsData","_values","ticket_type_tier_id","ticket_type_name","ticket_type_price","ticket_type_id","getAddToCartRequestData","reservations","selectedSeats","guestCounts","hasGuests","addToCartData","productOptions","sitem","ticket_type_option","ticketTypesKey","getTierRelationsArray","ticketTypeTireRelationsArray","CONTAINER_DEFAULT_ID","SeatMapComponent","seatMapProps","mapContainerId","seatData","seatMapType","seatMapEvents","ticketTypeTierRelations","tierPrices","isReserving","predefinedSeats","isLoadingSeatMapData","mapComponent","SeatMapView","events","isSelectionOn","isBlockMap","isTableMap","ReactDom","render","reservedSeats","getTicketsBtnLabel","handleCancelReservation","ticketDeleteButtonContent","ticketInfoContent","currencySymbol","setGuestCounts","isAddingToCart","selectedTicketsInfo","setSelectedTicketsInfo","_keys","handleTicketChange","handleShowtTicketInfo","ticketItem","dropdownData","selectedTicketData","startNum","ticket_type_min_number_of_guests","endNum","ticket_type_max_number_of_guests","numLength","showGuestCountDropdown","showDescription","guestPrice","guest_price","finalPrice","justifyContent","fee_included","ticket_type_deposit","arrow","tooltip","m","from","OFFLINE_MESSAGE","SeatMapContainer","timerMessage","seatMap","seatMapData","setSeatMapData","eventSeatsRef","ticketTypeTierRelationsRef","seatMapStatuses","setSeatMapStatuses","setReservedSeats","setIsLoadingSeatMapData","isLoadingStatuses","setIsLoadingStatuses","setIsReserving","setIsAddingToCart","isOnline","setIsOnline","isGuestCountsSet","updateGuestCounts","tierTickets","seatTicketsArray","fetchSeatMapData","seatMapDataResponse","seatReservationTime","fetchSeatMapReservations","statusesResponse","tierIdOfReservation","startTimer","endTimer","handleSeatReservation","relations","firstItem","handleCancelSeatReservtion","currentSelectedTickets","onSeatClick","seatInfo","seat","handleGetTicketBtnClick","ticketData","makeRequests","valueOf","onComplete","tireId","IDVerification","onGetVerifyUrlSuccess","onGetVerifyUrlError","onGetVerificationStatusSuccess","onGetVerificationStatusError","onVerificationMessageModalClose","onPassVerificationStepsSuccess","onPassVerificationStepsError","loadingStatus","setLoadingStatus","setVerificationStatus","netverifyUrl","setNetverifyUrl","provider","setProvider","setHasError","lastError","setLastError","displaModal","modalData","setModalData","isAccountVerifiedOrPending","handleClose","callbackNetVerify","origin","getUrl","transactionStatus","urlResponse","getVerificationStatus","verifyUrl","statusResponse","isApproved","getCustomerOrderStatus","customerOrderResponse","iframe","RedirectModal","onClickOk","RsvpContainer","showSection","modal","setModal","handleModalClose","requestData","getFormFieldsNotLoggedIn","clientName","getFormFieldsLoggedIn","shareOptionsAdapter","shareUrl","_split","socialUrl","point","getShuffleMethodByName","tokenShuffleMethod","reverseString","reverse","symmetricShuffleString","lengthOfStr","part1","shuffleEveryTwoSymbolsInString","words","shuffledStr","isDocumentDefined","PreRegistration","pFormFields","isPreregistrationStarted","onConfirmationSuccess","onConfirmationError","show","confirmModalState","setConfirmModalState","setUserData","formFieldsLoggedIn","formFieldsNotLoggedIn","referrerId","dobDay","dobMonth","dobYear","shareHash","confirmationData","emailErrors","Prewards","headerNode","prize","CopyField","copyValue","copyIconSrc","copyTitle","messageText","defaultValue","readOnly","ShareOptions","headerText","updateShareActionData","shareActionData","isShareLinkEnabled","shareActionToken","PreRegistrationComplete","pEventId","pageHeader","pageMessage","localStorageHash","queryHash","prizes","setPrizes","shareOptions","setShareOptions","setShareActionData","fetchConfirmationData","shareOptionsData","influencersData","_isEmpaty","Influancers","prereg_id","PreRegistrationInformations","onGetPreregistrationDataSuccess","onGetPreregistrationDataError","influancersHeaderNode","prewardsHeaderNode","setInfluencers","topInfluancers","_slice","fetchPreregistrationData"],"mappings":"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"}