tf-checkout-react 1.4.23-beta.0 → 1.4.23-beta.10

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 (99) hide show
  1. package/dist/api/auth.d.ts +5 -0
  2. package/dist/api/cart.d.ts +2 -0
  3. package/dist/api/checkout.d.ts +1 -0
  4. package/dist/api/common.d.ts +10 -0
  5. package/dist/api/index.d.ts +12 -32
  6. package/dist/api/interceptors.d.ts +1 -0
  7. package/dist/api/orders.d.ts +2 -0
  8. package/dist/api/payment.d.ts +5 -0
  9. package/dist/api/publicRequest.d.ts +10 -0
  10. package/dist/api/resale.d.ts +5 -0
  11. package/dist/components/billing-info-container/utils.d.ts +0 -28
  12. package/dist/components/common/CheckboxField.d.ts +1 -1
  13. package/dist/components/confirmationContainer/index.d.ts +1 -1
  14. package/dist/components/loginForm/index.d.ts +6 -22
  15. package/dist/components/loginModal/index.d.ts +15 -5
  16. package/dist/components/preRegistration/index.d.ts +4 -2
  17. package/dist/components/seatMapContainer/addToCart.d.ts +2 -2
  18. package/dist/components/seatMapContainer/utils.d.ts +1 -9
  19. package/dist/components/stripePayment/index.d.ts +1 -1
  20. package/dist/components/ticketsContainer/index.d.ts +2 -2
  21. package/dist/components/ticketsContainer/utils.d.ts +9 -0
  22. package/dist/components/waitingList/index.d.ts +1 -1
  23. package/dist/hooks/useLocalStorageListener.d.ts +1 -0
  24. package/dist/hooks/useOnline.d.ts +1 -0
  25. package/dist/tf-checkout-react.cjs.development.js +2623 -1911
  26. package/dist/tf-checkout-react.cjs.development.js.map +1 -1
  27. package/dist/tf-checkout-react.cjs.production.min.js +1 -1
  28. package/dist/tf-checkout-react.cjs.production.min.js.map +1 -1
  29. package/dist/tf-checkout-react.esm.js +2625 -1913
  30. package/dist/tf-checkout-react.esm.js.map +1 -1
  31. package/dist/types/order-data.d.ts +5 -5
  32. package/dist/utils/auth.d.ts +5 -5
  33. package/dist/utils/setConfigs.d.ts +0 -12
  34. package/package.json +1 -1
  35. package/src/api/auth.ts +44 -0
  36. package/src/api/cart.ts +28 -0
  37. package/src/api/checkout.ts +30 -0
  38. package/src/api/common.ts +129 -0
  39. package/src/api/guestTicketDelegation.ts +1 -1
  40. package/src/api/index.ts +83 -363
  41. package/src/api/interceptors.ts +104 -0
  42. package/src/api/orders.ts +30 -0
  43. package/src/api/payment.ts +77 -0
  44. package/src/api/preRegistrationComplete.ts +1 -1
  45. package/src/api/publicRequest.ts +40 -0
  46. package/src/api/resale.ts +28 -0
  47. package/src/components/addonsContainer/adapters/index.tsx +2 -4
  48. package/src/components/addonsContainer/index.tsx +23 -57
  49. package/src/components/billing-info-container/index.tsx +144 -214
  50. package/src/components/billing-info-container/utils.ts +9 -59
  51. package/src/components/common/CheckboxField.tsx +3 -4
  52. package/src/components/common/CustomField.tsx +1 -5
  53. package/src/components/common/NativeSelectFeild/index.tsx +1 -5
  54. package/src/components/common/socials.tsx +1 -1
  55. package/src/components/confirmationContainer/index.tsx +14 -12
  56. package/src/components/confirmationContainer/social-buttons.tsx +1 -1
  57. package/src/components/idVerificationContainer/index.tsx +7 -19
  58. package/src/components/loginForm/index.tsx +28 -41
  59. package/src/components/loginModal/index.tsx +161 -39
  60. package/src/components/myTicketsContainer/index.tsx +1 -1
  61. package/src/components/orderDetailsContainer/index.tsx +3 -3
  62. package/src/components/paymentContainer/index.tsx +23 -16
  63. package/src/components/preRegistration/Influancers.tsx +17 -14
  64. package/src/components/preRegistration/PreRegistrationComplete.tsx +23 -14
  65. package/src/components/preRegistration/PreRegistrationInformations.tsx +15 -6
  66. package/src/components/preRegistration/Prewards.tsx +15 -12
  67. package/src/components/preRegistration/ShareOptions.tsx +37 -23
  68. package/src/components/preRegistration/constants.tsx +10 -4
  69. package/src/components/preRegistration/index.tsx +50 -26
  70. package/src/components/registerForm/index.tsx +3 -6
  71. package/src/components/registerModal/index.tsx +4 -14
  72. package/src/components/rsvpContainer/index.tsx +18 -18
  73. package/src/components/seatMapContainer/addToCart.ts +9 -12
  74. package/src/components/seatMapContainer/index.tsx +74 -52
  75. package/src/components/seatMapContainer/utils.ts +3 -8
  76. package/src/components/signupModal/index.tsx +9 -30
  77. package/src/components/stripePayment/index.tsx +5 -2
  78. package/src/components/ticketResale/index.tsx +7 -6
  79. package/src/components/ticketsContainer/ReferralLogic.tsx +1 -1
  80. package/src/components/ticketsContainer/TicketRow.tsx +12 -5
  81. package/src/components/ticketsContainer/index.tsx +44 -32
  82. package/src/components/ticketsContainer/utils.ts +29 -5
  83. package/src/components/timerWidget/index.tsx +7 -11
  84. package/src/components/waitingList/index.tsx +18 -30
  85. package/src/hooks/useLocalStorageListener.ts +27 -0
  86. package/src/hooks/useOnline.ts +21 -0
  87. package/src/types/api/auth.d.ts +20 -12
  88. package/src/types/api/axiosResponse.d.ts +5 -5
  89. package/src/types/api/cart.d.ts +65 -0
  90. package/src/types/api/checkout.d.ts +41 -0
  91. package/src/types/api/common.d.ts +117 -0
  92. package/src/types/api/orders.d.ts +100 -0
  93. package/src/types/api/payment.d.ts +168 -0
  94. package/src/types/api/ticketResale.d.ts +13 -0
  95. package/src/types/order-data.ts +5 -5
  96. package/src/types/pre-registration-complete.d.ts +8 -5
  97. package/src/utils/auth.ts +3 -3
  98. package/src/utils/setConfigs.ts +2 -25
  99. package/src/types/auth.d.ts +0 -15
@@ -1 +1 @@
1
- {"version":3,"file":"tf-checkout-react.esm.js","sources":["../src/utils/setConfigs.ts","../src/utils/getQueryVariable.ts","../src/utils/formikErrorFocus.ts","../src/utils/getDomain.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/jsonUtils.ts","../src/api/guestTicketDelegation.ts","../src/api/index.ts","../src/hooks/usePixel.ts","../src/validators/index.ts","../src/components/common/SnackbarAlert.tsx","../src/components/common/CustomField.tsx","../src/components/common/PoweredBy.tsx","../src/components/forgotPasswordModal/index.tsx","../src/components/common/ModalComponent/index.tsx","../src/components/idVerificationContainer/VerificationPendingModal.tsx","../src/components/common/CheckboxField.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/loginForm/index.tsx","../src/components/loginModal/index.tsx","../src/components/signupModal/index.tsx","../src/utils/showZero.tsx","../src/components/timerWidget/index.tsx","../src/components/billing-info-container/utils.ts","../src/components/billing-info-container/index.tsx","../src/normalizers/index.ts","../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/constants/index.ts","../src/hooks/useCookieListener.ts","../src/components/confirmModal/index.tsx","../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/ticketsTable.tsx","../src/components/orderDetailsContainer/index.tsx","../src/components/resetPasswordContainer/index.tsx","../src/components/ticketResale/index.tsx","../src/components/addonsContainer/adapters/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/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/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';\nimport _forEach from 'lodash/forEach'\n\nexport const ttfHeaders: { [key: string]: any } = {\n Accept: 'application/vnd.api+json',\n 'Content-Type': 'application/vnd.api+json',\n}\n\ninterface IPublicRequest extends AxiosInstance {\n setGuestToken: (token: string) => void;\n setAccessToken: (token: string) => void;\n setBaseUrl: (baseUrl: string) => void;\n}\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 [key: string]: string | number;\n}\n\nexport const CONFIGS: IConfigs = {} as IConfigs\n\nexport const publicRequest: IPublicRequest = axios.create({\n baseURL: CONFIGS.BASE_URL || `https://www.ticketfairy.com/api`,\n headers: ttfHeaders,\n}) as IPublicRequest\n\nexport const setXSourceOrigin = (sourceOrigin: string) => {\n ttfHeaders['X-Source-Origin'] = sourceOrigin\n}\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 if (CONFIGS.X_SOURCE_ORIGIN) {\n setXSourceOrigin(CONFIGS.X_SOURCE_ORIGIN)\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","export function getDomain(url: string, subdomain?: string): string {\n let updatedUrl: any = url.replace(/(https?:\\/\\/)?(www.)?/i, '')\n\n if (!subdomain) {\n updatedUrl = updatedUrl.split('.')\n\n updatedUrl = updatedUrl.slice(updatedUrl.length - 2).join('.')\n }\n\n if (updatedUrl.indexOf('/') !== -1) {\n return updatedUrl.split('/')[0]\n }\n\n return updatedUrl\n}\n","import { getDomain } from './getDomain'\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 = getDomain(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 = getDomain(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 const accessToken: string | null = localStorage.getItem('access_token')\n\n if (!accessToken && !xtfCookie) return\n\n let headers = {}\n\n if (accessToken) {\n headers = {\n Authorization: `Bearer ${accessToken}`,\n }\n }\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 return\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 => {\n return error\n })\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}\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: IUserData) => ({\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 || data?.country || '',\n phone: data?.phone || '',\n street_address: data?.streetAddress || '',\n state: data?.stateId || '',\n zip: data?.zip || data?.zipCode || '',\n})\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 { AxiosRequestConfig, AxiosResponse } from 'axios'\n\nimport { publicRequest } from '../utils/setConfigs'\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 { AxiosRequestConfig, AxiosResponse } from 'axios'\nimport _get from 'lodash/get'\n\nimport { pageOptions } from '../hooks/usePixel'\nimport {\n GetNetverifyUrlResponseData,\n UpdateVerificationStatusResponseData,\n VerificationStatusResponseData,\n} from '../types/verification'\nimport { CONFIGS, getCookieByName, setCustomCookie } from '../utils'\nimport { getQueryVariable } from '../utils/getQueryVariable'\nimport { publicRequest, ttfHeaders } from '../utils/setConfigs'\n\nconst isWindowDefined = typeof window !== 'undefined'\nconst isDocumentDefined = typeof document !== 'undefined'\n\nif (isWindowDefined && localStorage.getItem('auth_guest_token')) {\n ttfHeaders['Authorization-Guest'] = localStorage.getItem('auth_guest_token')\n}\n\npublicRequest.interceptors.response.use(\n response => {\n const authGuestToken = _get(response, 'headers.authorization-guest')\n\n if (isWindowDefined && authGuestToken) {\n window.localStorage.setItem('auth_guest_token', authGuestToken)\n publicRequest.setGuestToken(authGuestToken)\n }\n\n return response\n },\n error => {\n if (error?.response?.status === 401) {\n if (isWindowDefined) {\n window.localStorage.removeItem('user_data')\n window.localStorage.removeItem('access_token')\n const errorType = 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 (isWindowDefined && authGuestToken) {\n window.localStorage.setItem('auth_guest_token', authGuestToken)\n publicRequest.setGuestToken(authGuestToken)\n }\n\n return Promise.reject(error)\n }\n)\n\npublicRequest.interceptors.request.use((config: AxiosRequestConfig) => {\n const guestToken = isWindowDefined\n ? window.localStorage.getItem('auth_guest_token')\n : null\n const userData = isWindowDefined ? window.localStorage.getItem('user_data') : null\n const accessToken = isWindowDefined ? window.localStorage.getItem('access_token') : null\n\n if (userData && accessToken) {\n const updatedHeaders = {\n ...config.headers,\n Authorization: `Bearer ${accessToken}`,\n }\n config.headers = updatedHeaders\n }\n\n if (guestToken) {\n publicRequest.setGuestToken(guestToken)\n const updatedHeaders = {\n ...config.headers,\n 'Authorization-Guest': guestToken,\n }\n config.headers = updatedHeaders\n }\n\n if (getCookieByName('X-TF-ECOMMERCE')) {\n const updatedHeaders = {\n ...config.headers,\n 'X-TF-ECOMMERCE': getCookieByName('X-TF-ECOMMERCE'),\n }\n config.headers = updatedHeaders\n }\n\n const additionalCookiesHeaderValue = 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((response: AxiosResponse) => {\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\npublicRequest.setGuestToken = token =>\n (publicRequest.defaults.headers.common['Authorization-Guest'] = token)\n\npublicRequest.setBaseUrl = (baseUrl: string) =>\n (publicRequest.defaults.baseURL = baseUrl + '/api')\n\npublicRequest.setAccessToken = token =>\n (publicRequest.defaults.headers.common.Authorization = token)\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 (isWindowDefined) {\n window.localStorage.setItem('auth_guest_token', guestHeader)\n publicRequest.setGuestToken(guestHeader)\n }\n }\n}\n\nexport const handleSetAccessToken = (token: string) => {\n if (token) {\n if (isWindowDefined) {\n window.localStorage.setItem('access_token', token)\n publicRequest.setAccessToken(token)\n }\n }\n}\n\nexport function getEvent(id: string | number, pk?: string) {\n let referralValue = ''\n if (isWindowDefined) {\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 let referralIdlocal = ''\n if (referral_key) {\n referralIdlocal = referral_key.split('.')[1]\n }\n referralValue = referralId || referralIdlocal\n }\n\n const response = publicRequest\n .get(`v1/event/${id}`, {\n params: {\n pk,\n },\n headers: {\n ...ttfHeaders,\n 'Referer-Url': isDocumentDefined ? document.referrer : '',\n 'Referrer-Id': isWindowDefined ? referralValue : '',\n },\n })\n .catch(error => {\n throw error\n })\n return response\n}\n\nexport function getTickets(id: string | number, promoCode?: string, pk?: string) {\n const invitationHash = getQueryVariable('invitation-hash')\n const params = { pk } as any\n\n if (invitationHash) {\n params['invitation-hash'] = invitationHash\n }\n\n const response = publicRequest\n .get(`v1/event/${id}/tickets`, {\n params,\n headers: promoCode\n ? {\n ...ttfHeaders,\n 'Promotion-Event': String(id),\n 'Promotion-Code': promoCode,\n }\n : { ...ttfHeaders },\n })\n .catch(error => {\n throw error\n })\n return response\n}\n\nexport const addToCart = (id: string | number, data: any) => {\n const res = publicRequest.post(\n `v1/event/${id}/add-to-cart/`,\n { data },\n {\n headers: {\n 'Referer-Url': isDocumentDefined ? document.referrer : '',\n },\n }\n )\n return res\n}\n\nexport const getCart = () => {\n const res = publicRequest.get(`v1/cart/`)\n return res\n}\n\nexport const postOnCheckout = (data: any, accessToken?: string, freeTicket = false) => {\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 const res = publicRequest.post(\n `v1/on-checkout/`,\n { data },\n {\n headers: {\n ...ttfHeaders,\n Authorization: `Bearer ${accessToken}`,\n },\n }\n )\n return res\n}\n\nexport const authorize = (data: { email: string, password: string }) =>\n publicRequest.post(\n `/auth?clientId=${CONFIGS.CLIENT_ID || 'e9d8f8922797b4621e562255afe90dbf'}`,\n data\n )\n\nexport const register = (data: FormData) =>\n publicRequest.post('v1/oauth/register-rn', data)\n\nexport const getAccessToken = (data: FormData) =>\n publicRequest.post('v1/oauth/access_token', data)\n\nexport const getPaymentData = (hash: string) => {\n const response = publicRequest\n .get(`v1/order/${hash}/review/`, {\n headers: {\n 'Referer-Url': isDocumentDefined ? document.referrer : '',\n },\n })\n .catch(error => {\n throw error\n })\n return response\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 handlePaymentSuccess = (orderHash: string) => {\n const res = publicRequest\n .post(`v1/order/${orderHash}/success`, undefined, {\n headers: {\n 'Referer-Url': isDocumentDefined ? document.referrer : '',\n },\n })\n .catch(error => {\n throw error\n })\n return res\n}\n\nexport const createPaymentPlan = (orderHash: string, stripePaymentMethodId: string) => {\n const res = publicRequest.post(`v1/order/${orderHash}/payment_plan/create`, {\n stripe_payment_method_id: stripePaymentMethodId\n },{\n headers: {\n 'Referer-Url': isDocumentDefined ? document.referrer : '',\n },\n }).catch(error => {\n throw error\n })\n return res\n}\n\nexport const handleFreeSuccess = (orderHash: string) => {\n const res = publicRequest\n .post(`v1/order/${orderHash}/complete_free_registration`, undefined, {\n headers: {\n 'Referer-Url': isDocumentDefined ? document.referrer : '',\n },\n })\n .catch(error => {\n throw error\n })\n return res\n}\n\nexport const getProfileData = (accessToken?: string) =>\n publicRequest\n .get('/customer/profile/', {\n headers: {\n ...ttfHeaders,\n Authorization: `Bearer ${accessToken}`,\n },\n })\n .catch((e: any) => e)\n\nexport const getCountries = () => publicRequest.get('/countries/list')\n\nexport const getConfirmationData = (orderHash: string) =>\n publicRequest.get(`v1/order/${orderHash}/payment/complete`)\n\nexport const getStates = (countryId: string | number) =>\n publicRequest.get(`/countries/${countryId}/states/`)\n\nexport const getOrders = (page: number, limit: number, eventSlug: string) =>\n publicRequest.get(\n `v1/account/orders/?page=${page}&limit=${limit}&filter[event]=${eventSlug}&${\n CONFIGS.BRAND_SLUG\n ? `filter[brand]=${CONFIGS.BRAND_SLUG}&filter[subbrands]=true`\n : ''\n }`\n )\n\nexport const getOrderDetails = (orderId: string) =>\n publicRequest.get(`v1/account/order/${orderId}`)\n\nexport const addToWaitingList = (id: number, data: any) =>\n publicRequest.post(`v1/event/${id}/add_to_waiting_list`, data)\n\nexport const getConditions = (eventId: string) =>\n publicRequest.get(`v1/event/${eventId}/conditions`)\n\n// resale\nexport const resaleTicket = (data: any, hash: string) =>\n publicRequest.post(`v1/ticket/${hash}/sell`, data)\n\nexport const removeFromResale = (hash: string) =>\n publicRequest.delete(`v1/ticket/${hash}/sell`)\n\nexport const postReferralVisits = (eventId: string, referralId: string) =>\n publicRequest.post(`v1/event/${eventId}/referrer/`, {\n referrer: `${referralId}`,\n })\n\nexport const logout = () => publicRequest.delete('/auth')\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 processTicket = (hash: string) =>\n publicRequest.post(`v1/ticket/${hash}/process/`)\n\nexport const declineInvitation = (hash: string) =>\n publicRequest.post(`v1/ticket/${hash}/decline`)\n\nexport const sendRSVPInfo = (eventId: number, data: any) =>\n publicRequest.post(`v1/event/${eventId}/send-rsvp-info`, data)\n\nexport const validatePhoneNumber = async (phone: string): Promise<any> => {\n const response: AxiosResponse<any, AxiosRequestConfig> = await publicRequest.get(\n `/v1/account/validate_phone?phone=${phone}`\n )\n\n return response.data\n}\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\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: pageOptions) {\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","/* 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}","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(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 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","/* 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 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 multiline = false,\n minRows,\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 >\n {isSelectField\n ? _map(selectOptions, option => (\n <option\n key={option.value}\n value={option.value}\n disabled={option.disabled}\n >\n {option.label}\n </option>\n ))\n : null}\n </TextField>\n )\n}\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 { 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 { 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 } 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 CheckboxField = ({\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 ...rest\n}: ICheckboxField & IOtherProps) => {\n const customTheme: any = useTheme()\n return (\n <FormControl\n error={!!(rest?.form?.errors && rest.form.errors[field?.name ?? ''])}\n >\n <FormGroup>\n <FormControlLabel\n control={<Checkbox {...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","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'\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 compactStyleTheme = createTheme({\n components: {\n MuiPaper: {\n defaultProps: {\n sx: compactStyles,\n },\n },\n },\n})\n\nexport interface IDatePickerFieldProps {\n label: string;\n\n field: FieldInputProps<any>;\n form: FormikProps<any>;\n theme: 'dark' | 'light';\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 dateFormat = 'DD/MM/YYYY',\n placeholder = 'dd/mm/yyyy',\n}: IDatePickerFieldProps & IOtherProps) => (\n <ThemeProvider theme={useCompact ? compactStyleTheme : {}}>\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\n key={option.value}\n value={option.value}\n disabled={option.disabled}\n >\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 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 {\n combineValidators,\n emailValidator,\n requiredValidator,\n} 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\ninterface 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: IUserData) => ({\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 || data?.country || '',\n phone: data?.phone || '',\n street_address: data?.streetAddress || '',\n state: data?.stateId || '',\n zip: data?.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>\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.data'))\n } catch (e) {\n if (axios.isAxiosError(e)) {\n onGetProfileDataError(e)\n }\n return\n }\n\n const profileSpecifiedData = _get(profileResponse, 'data.data')\n const profileDataObj = setLoggedUserData(profileSpecifiedData)\n if (typeof window !== 'undefined') {\n window.localStorage.setItem(\n 'user_data',\n JSON.stringify(profileDataObj)\n )\n const event = new window.CustomEvent('tf-login')\n window.document.dispatchEvent(event)\n }\n onLoginSuccess(_get(authRes, 'data.data'))\n } catch (e) {\n if (axios.isAxiosError(e)) {\n const error = 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\n log in 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(\n requiredValidator,\n emailValidator\n )}\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\n aria-hidden=\"true\"\n onClick={onForgotPasswordButtonClick}\n >\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 './style.css'\n\nimport Box from '@mui/material/Box'\nimport Modal from '@mui/material/Modal'\nimport React, { FC } from 'react'\n\nimport { ILoginFormProps, LoginForm } from '../loginForm'\n\nexport interface ILoginModalProps extends ILoginFormProps {\n onLogin: (res: IProfileData) => void;\n onClose: () => void;\n\n modalClassname?: string;\n onForgotPassword?: () => void;\n onSignup?: () => 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}\n\nexport const LoginModal: FC<ILoginModalProps> = ({\n onClose,\n onLogin,\n alreadyHasUser,\n userExpired,\n onGetProfileDataSuccess,\n onGetProfileDataError,\n onForgotPassword,\n onSignup,\n modalClassname = '',\n logo,\n showForgotPasswordButton,\n showSignUpButton,\n}) => (\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 <LoginForm\n alreadyHasUser={alreadyHasUser}\n userExpired={userExpired}\n onLoginSuccess={onLogin}\n onGetProfileDataSuccess={onGetProfileDataSuccess}\n onGetProfileDataError={onGetProfileDataError}\n onForgotPasswordButtonClick={onForgotPassword}\n onSignupButtonClick={onSignup}\n logo={logo}\n showForgotPasswordButton={showForgotPasswordButton}\n showSignUpButton={showSignUpButton}\n />\n </Box>\n </Modal>\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 _get from 'lodash/get'\nimport React, { FC, useState } from 'react'\nimport * as Yup from 'yup'\n\nimport { handleSetAccessToken,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: (value: {\n accessToken: string;\n refreshToken: string;\n }) => 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()\n .email('Invalid email')\n .required('Required'),\n password: Yup.string()\n .min(6, 'Password must have 5+ characters')\n .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 const access_token_register = _get(\n res,\n 'data.data.attributes.access_token'\n )\n const refreshToken = _get(\n res,\n 'data.data.attributes.refresh_token'\n )\n handleSetAccessToken(access_token_register)\n\n const tokens = {\n accessToken: access_token_register,\n refreshToken,\n }\n onRegisterSuccess(tokens)\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\n name=\"lastName\"\n label=\"Last Name\"\n component={CustomField}\n />\n </div>\n </div>\n <div className=\"signup-container__singleField\">\n <div className=\"\">\n <Field\n name=\"email\"\n label=\"Email\"\n component={CustomField}\n />\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 _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 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 = () => {},\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\n src={Cross}\n width='10'\n height='10'\n fill='#fff'\n />\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 { 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 _map from 'lodash/map'\nimport { nanoid } from 'nanoid'\nimport React from 'react'\n\nimport { IGroupItem } from '../../types'\nimport { CONFIGS } from '../../utils'\nimport { getQueryVariable } from '../../utils/getQueryVariable'\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): IValues => {\n const results = _flatMapDeep(data, ({ fields }) =>\n _map(fields, ({ groupItems }) =>\n _map(groupItems, ({ name, value }) => ({ name, value }))\n )\n )\n\n const initialValues: IValues = {}\n _forEach(results, groupItem => {\n const { name, value } = groupItem\n initialValues[name] =\n 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'] =\n propsInitialValues.email || userValues.email || ''\n\n return initialValues\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 !(\n flagFreeTicket &&\n ['country', 'state', 'city', 'street_address'].includes(key)\n )\n ) {\n bodyFormData.append(key, item)\n }\n })\n\n return bodyFormData\n}\n\ninterface ICheckoutBody {\n attributes: {\n [key: string]: any;\n };\n}\n\ninterface 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\ninterface IticketHolder {\n first_name?: string;\n last_name?: string;\n phone?: string;\n email?: string;\n}\n\nexport const setLoggedUserData = (data: IUserData) => ({\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 || data?.country || '',\n phone: data?.phone || '',\n street_address: data?.streetAddress || '',\n state: data?.stateId || '',\n zip: data?.zip || data?.zipCode || '',\n})\n\nexport const createCheckoutDataBody = (\n ticketsQuantity: number,\n values: IValues = {},\n logedInValues: ILoggedInValues = {},\n includeDob = false\n): ICheckoutBody => {\n const {\n firstName,\n lastName,\n holderAge,\n confirmEmail,\n confirmPassword,\n ...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(\n holder => Object.entries(holder).length > 0\n )\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 (\n element.name !== 'state' ||\n (element.name === 'state' && states.length)\n ) {\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\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 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 (\n _isArray(itemValue) &&\n !itemValue.some(item => typeof item === 'string')\n ) {\n item[key] = assingUniqueIds(itemValue)\n }\n })\n\n return { ...item, uniqueId: nanoid() }\n })\n}\n\nexport const isRequiredField = (element: IGroupItem) => {\n const flagRequirePhone = getQueryVariable('phone_required') === 'true'\n const collectMandatoryWalletAddress =\n getQueryVariable('collect_mandatory_wallet_address') === 'true'\n const { name, required } = element\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) => {\n if (isRequiredField(element) || 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 {\n Field,\n Form,\n Formik,\n FormikHelpers,\n FormikProps,\n FormikValues,\n} from 'formik'\nimport _find from 'lodash/find'\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 { usePixel } from '../../hooks/usePixel'\nimport { IBillingInfoData } from '../../types'\nimport {\n createCheckoutDataBodyWithDefaultHolder,\n deleteCookieByName,\n getCookieByName,\n isBrowser,\n} from '../../utils'\nimport { ErrorFocus } from '../../utils/formikErrorFocus'\nimport { combineValidators, requiredValidator } from '../../validators'\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 setLoggedUserData,\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 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\n onPendingVerification?: () => void;\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(_get(res, 'data.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 =\n typeof window !== 'undefined'\n ? window.localStorage.getItem('user_data')\n : ''\n useEffect(() => {\n // set user data from local storage\n const getStoredUserData = () => {\n if (typeof window !== 'undefined') {\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\n ? brandOptIn\n : parsedData?.brand_opt_in || false,\n city: parsedData?.city || '',\n confirmPassword: '',\n password: '',\n 'holderFirstName-0':\n parsedData?.first_name || parsedData?.firstName || '',\n 'holderLastName-0':\n 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\nexport const 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 isCountryCodeEditable = true,\n onPendingVerification = _identity,\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 const isWindowDefined = typeof window !== 'undefined'\n useEffect(() => {\n if (isWindowDefined) {\n const extraData = window.localStorage.getItem('extraData')\n if (extraData) {\n setExtraData(JSON.parse(extraData))\n }\n }\n getCheckoutPageConfigs().then(data => {\n if (data?.data?.attributes) {\n setConfigs(data.data.attributes)\n setIsConfigLoading(false)\n }\n }).catch(() => {\n setIsConfigLoading(false)\n })\n }, [isWindowDefined])\n const defaultCountry = isWindowDefined\n ? window.localStorage.getItem('eventCountry')\n : ''\n const userData =\n isWindowDefined && window.localStorage.getItem('user_data')\n ? JSON.parse(window.localStorage.getItem('user_data') || '')\n : {}\n const access_token =\n isWindowDefined && window.localStorage.getItem('access_token')\n ? window.localStorage.getItem('access_token') || ''\n : ''\n const [dataWithUniqueIds, setDataWithUniqueIds] = useState<\n IBillingInfoData[]\n >(assingUniqueIds(data))\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(\n false\n )\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(null)\n const [phoneValidationIsLoading, setPhoneValidationIsLoading] = useState(\n false\n )\n const emailLogged =\n _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 =\n !collectOptionalCompany && !collectMandatoryCompany\n const collectMandatoryJobTitle = configs?.collect_mandatory_job_title\n const collectOptionalJobTitle = configs?.collect_optional_job_title\n const hideJobTitleField =\n !collectMandatoryJobTitle && !collectOptionalJobTitle\n const collectMandatoryInstagram = configs?.collect_mandatory_instagram\n const collectOptionalInstagram = configs?.collect_optional_instagram\n const hideInstagramField =\n !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 [\n pendingVerificationMessage,\n setPendingVerificationMessage,\n ] = useState()\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 //just once\n useEffect(() => {\n // fetch countries data\n const fetchCountries = async () => {\n try {\n const res = await getCountries()\n setCustomHeader(res)\n setCountries(_get(res, 'data.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 // fetch cart data\n const fetchCart = async () => {\n try {\n setCardLoading(true)\n const res = await getCart()\n setCustomHeader(res)\n const cartInfo = _get(res, 'data.data.attributes')\n setCartInfo(cartInfo)\n const { cart = [] } = cartInfo\n setTicketsQuantity(\n new Array(getQuantity(cart)).fill(null).map(() => nanoid())\n )\n onGetCartSuccess(res.data)\n } catch (e) {\n if (axios.isAxiosError(e)) {\n onGetCartError(e)\n }\n } finally {\n setCardLoading(false)\n }\n }\n // fetch user data\n const fetchUserData = async (token: string) => {\n try {\n if ((isWindowDefined && token) || isLoggedIn) {\n const userDataResponse = await getProfileData(token)\n const profileSpecifiedData = _get(userDataResponse, 'data.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(\n 'user_data',\n JSON.stringify(profileDataObj)\n )\n onGetProfileDataSuccess(userDataResponse.data)\n }\n } catch (e) {\n if (axios.isAxiosError(e)) {\n onGetProfileDataError(e)\n }\n }\n }\n useEffect(() => {\n fetchUserData(access_token)\n fetchCart()\n }, [access_token, 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 (isWindowDefined) {\n addAddOnsInAttributes(checkoutBody)\n }\n\n const res = await postOnCheckout(\n checkoutBody,\n access_token,\n flagFreeTicket\n )\n removeReferralKey()\n onSkipBillingPage(_get(res, 'data.data.attributes'))\n setLoading(false)\n } catch (e) {\n onSubmitError(e)\n if (e.response?.data?.data?.hasUnverifiedOrder) {\n setPendingVerificationMessage(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 = {}\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 ||\n profileData.first_name ||\n profileData.firstName,\n lastNameLogged:\n lastNameLogged || profileData.last_name || profileData.lastName,\n },\n showDOB\n )\n }\n\n return checkoutBody\n }\n\n const removeReferralKey = () => {\n localStorage.removeItem('referral_key')\n }\n\n if (\n loading ||\n (enableTimer && !expirationTime && typeof window !== 'undefined')\n ) {\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 =\n selectedCountry.id || _get(userData, 'country', '') || '1'\n\n const pageUrl = isBrowser ? window.location.href.split('?')[0] : ''\n usePixel(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, 'state', '') || '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 )}\n enableReinitialize={false}\n onSubmit={async (values, formikHelpers) => {\n try {\n if (isWindowDefined) {\n window.localStorage.setItem('extraData', JSON.stringify({\n data_capture: {\n 'instagram': _get(values, 'data_capture.instagram', ''),\n 'company': _get(values, 'data_capture.company', ''),\n 'businessCategory': _get(values, 'data_capture.businessCategory', ''),\n 'jobTitle': _get(values, 'data_capture.jobTitle', ''),\n }\n }))\n }\n if (isLoggedIn) {\n const checkoutBody = collectCheckoutBody(values, userData)\n\n if (isWindowDefined) {\n addAddOnsInAttributes(checkoutBody)\n }\n\n const res = await postOnCheckout(\n checkoutBody,\n access_token,\n flagFreeTicket\n )\n removeReferralKey()\n // After checkout is successful recover updated profile and store it on local storage if needed\n if (isWindowDefined) {\n const updatedUserData = await getProfileData(access_token)\n const profileSpecifiedData = _get(\n updatedUserData,\n 'data.data'\n )\n const profileDataObj = setLoggedUserData(\n profileSpecifiedData\n )\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 res\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 accessToken = _get(\n resRegister,\n 'data.data.attributes.access_token'\n )\n const refreshToken = _get(\n resRegister,\n 'data.data.attributes.refresh_token'\n )\n const userProfile = _get(\n resRegister,\n 'data.data.attributes.user_profile'\n )\n\n setIsNewUser(true)\n onRegisterSuccess({\n xtfCookie,\n accessToken,\n refreshToken,\n userProfile,\n })\n } catch (e) {\n setLoading(false)\n\n if (e.response?.data?.data?.hasUnverifiedOrder) {\n setPendingVerificationMessage(e.response?.data?.message)\n } else if (axios.isAxiosError(e)) {\n const error = e?.response?.data?.message\n if (_includes(error, 'You must be aged')) {\n formikHelpers.setFieldError('holderAge', error)\n }\n if (error?.password) {\n formikHelpers.setFieldError('password', error.password)\n formikHelpers.setFieldError(\n 'confirmPassword',\n error.password\n )\n }\n if (error?.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.data')\n const profileDataObj = setLoggedUserData(profileSpecifiedData)\n if (isWindowDefined) {\n window.localStorage.setItem(\n 'user_data',\n JSON.stringify(profileDataObj)\n )\n }\n\n const checkoutBody = collectCheckoutBody(values, profileDataObj)\n\n if (isWindowDefined) {\n addAddOnsInAttributes(checkoutBody)\n }\n\n const res = await postOnCheckout(\n checkoutBody,\n undefined,\n flagFreeTicket\n )\n removeReferralKey()\n handleSubmit(\n values,\n formikHelpers as FormikHelpers<any>,\n eventId,\n res\n )\n } catch (e) {\n setLoading(false)\n if (e.response?.data?.data?.hasUnverifiedOrder) {\n setPendingVerificationMessage(e.response?.data?.message)\n } else if (axios.isAxiosError(e)) {\n if (\n e.response?.status === 401 ||\n e.response?.data?.error === 'invalid_token'\n ) {\n if (isWindowDefined) {\n window.localStorage.removeItem('user_data')\n window.localStorage.removeItem('access_token')\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 (e.response?.data.message && !hideErrorsAlertSection) {\n setError(_get(e, 'response.data.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 {!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 (\n el.name === 'ttf_opt_in' &&\n hideTtfOptIn\n ) {\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 (\n el.name ===\n 'data_capture[wallet_address]'\n ) {\n if (collectMandatoryWalletAddress) {\n el.required = true\n }\n }\n if (\n el.name === 'data_capture[jobTitle]'\n ) {\n if (collectMandatoryJobTitle) {\n el.required = true\n }\n }\n if (\n el.name === 'data_capture[businessCategory]'\n ) {\n if (collectMandatoryBusinessCategory) {\n el.required = true\n }\n }\n if (\n el.name === 'data_capture[company]'\n ) {\n if (collectMandatoryCompany) {\n el.required = true\n }\n }\n if (\n el.name === 'data_capture[instagram]'\n ) {\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' || el.name === 'data_capture[wallet_address]')\n ) {\n return false\n }\n if (\n hideJobTitleField && el.name === 'data_capture[jobTitle]'\n ) {\n return false\n }\n if (\n hideBusinessCategoryField && el.name === 'data_capture[businessCategory]'\n ) {\n return false\n }\n if (\n hideCompanyField && el.name === 'data_capture[company]'\n ) {\n return false\n }\n if (\n hideInstagramField &&\n (el.name === 'data_capture[instagram]' || 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) &&\n isLoggedIn ? null : (\n <React.Fragment key={element.uniqueId}>\n <div\n className={`${\n 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 ? undefined\n : element.type\n }\n setPhoneValidationIsLoading={\n element.type === 'phone'\n ? setPhoneValidationIsLoading\n : undefined\n }\n label={getFieldLabel(element)}\n validate={getValidateFunctions(\n element,\n states,\n props.values,\n props.errors\n )}\n setFieldValue={\n props.setFieldValue\n }\n onBlur={props.handleBlur}\n component={getFieldComponent(\n element\n )}\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 { label: element.label, value: '', disabled: true },\n ...states,\n ]\n : element.selectOptions || []\n }\n theme={theme}\n defaultCountry={\n defaultCountry ||\n 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 { groupClassname, groupItems } = group\n return (\n <div key={group.id}>\n <div className={groupClassname}>\n {_map(groupItems, element => {\n if (\n _includes(\n ['holderFirstName', 'holderLastName'],\n element.name\n )\n ) {\n element.required = showTicketHolders\n }\n return (\n <div\n className={element.className}\n key={element.name}\n >\n <Field\n {...element}\n type={\n element.type === 'radio'\n ? undefined\n : element.type\n }\n name={`${element.name}-${index}`}\n label={getFieldLabel(element)}\n component={getFieldComponent(element)}\n validate={combineValidators(\n element.required\n ? requiredValidator\n : () =>\n props.errors[\n `${element.name}-${index}`\n ],\n element.onValidate\n ? element.onValidate\n : () =>\n props.errors[\n `${element.name}-${index}`\n ]\n )}\n setPhoneValidationIsLoading={\n setPhoneValidationIsLoading\n }\n defaultCountry={\n defaultCountry ||\n element.defaultCountry\n }\n isCountryCodeEditable={\n isCountryCodeEditable\n }\n />\n </div>\n )\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 ? (\n <CircularProgress size={26} />\n ) : (\n buttonName\n )}\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","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 './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 { getCurrencySymbolByCurrency } from '../../normalizers'\nimport { CheckboxField } from '../common/index'\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;\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}\n\ninterface AddressTypes {\n city: string;\n line1: string;\n state: string;\n postal_code?: string;\n}\n\nconst CheckoutForm = ({\n total,\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}: 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\n const handleSubmit = async (event: React.SyntheticEvent) => {\n setStripeError(null)\n try {\n event.preventDefault()\n\n if (!postalCode && !disableZipSection) {\n setStripeError('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.message || 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(error.message)\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\n return (\n <div className=\"stripe_payment_container\">\n {!!stripeError && <div className=\"checkout_error_block\">{stripeError}</div>}\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 <CheckboxField\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 `${\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 {CheckboxField} 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\">{paymentPlanConfig.total_installments}</span>\n {' '}payments of{' '}\n <span className=\"payment_plan_highlight\">{currencyNormalizerCreator(\n createFixedFloatNormalizer(2)(paymentPlanConfig.price_per_installment),\n currency\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\">{currencyNormalizerCreator(\n createFixedFloatNormalizer(2)(paymentPlanConfig.admin_fee),\n currency\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\">{currencyNormalizerCreator(\n createFixedFloatNormalizer(2)(paymentPlanConfig.deposit),\n currency\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\n tickets will 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\">first payment of{' '}\n {currencyNormalizerCreator(\n createFixedFloatNormalizer(2)(paymentPlanConfig.price_per_installment),\n currency\n )}</span>\n {paymentPlanConfig.has_admin_fee && (\n <>\n , plus the{' '}\n <span className=\"payment_plan_highlight\">non-refundable admin-fee of{' '}\n {currencyNormalizerCreator(\n createFixedFloatNormalizer(2)(paymentPlanConfig.admin_fee),\n currency\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)(100 - paymentPlanConfig.non_refundable_amount)}%\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\">{'' + paymentPlanConfig.saved_card.last_4_digits}</span>\n </div>\n )}\n <div>\n <CheckboxField\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 { 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 { CheckboxField, 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) => 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}\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: null,\n },\n billing_info: {},\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 (typeof window !== 'undefined') {\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 response = await getPaymentData(hash)\n if (response.data.success) {\n const attributes = _get(response, 'data.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 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 || null,\n debt: order_details?.debt || null,\n tableTypes: orderDataArray,\n }\n setOrderData(orderData)\n setCurrency(order_details?.currency)\n onGetPaymentDataSuccess(response.data)\n }\n } catch (e) {\n setError(_get(e, 'response.data.message'))\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 res = await getConditions(eventId)\n const conditionsInfo = _get(res, 'data.data.attributes')\n setConditions(\n conditionsInfo\n ? conditionsInfo.map((item: string) => ({\n id: nanoid(),\n text: item,\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 const isWindowDefined = typeof window !== 'undefined'\n if (isWindowDefined) {\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'))\n setPaymentIsLoading(false)\n onPaymentError(e.response)\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 (typeof window !== 'undefined' && !!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: '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\">\n <div className=\"order_info_title\">{label}</div>\n <div className={`${className} order_info_text`}>\n {typeof value === 'string'\n ? normalizer(value, currency)\n : _map(value, item => (\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 {currencyNormalizerCreator(\n createFixedFloatNormalizer(2)(parseFloat(item.price)),\n currency\n )}\n </span>\n <span className=\"add-on-each\">{' each'}</span>\n </div>\n ))}\n </div>\n </div>\n )\n )\n })}\n </div>\n {!isFreeTickets && paymentPlanIsAvailable && (\n <div className=\"payment_toggle\">\n <CheckboxField\n label={<span className='payment_plan_toggle_label'>Click to checkout using Payment Plan</span>}\n required={true}\n onChange={(_: any) => {\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 total={orderData.guest_count ? orderData.pay_now : orderData.total}\n onSubmit={handlePaymentMiddleWare}\n error={error}\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 ${\n 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\"\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}\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 */\n/* eslint-disable react/no-unescaped-entities */\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: any) => 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<any>(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 response = await getConfirmationData(hash)\n const data = _get(response, 'data.data.attributes')\n data.personal_share_sales = data.personal_share_sales.map((d: any) => {\n const salesData: IReferralPromotion = {\n label: `If your friends buy ${d.sales} tickets`,\n price: '',\n }\n if (d.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 + d.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(response.data)\n } catch (error) {\n if (axios.isAxiosError(error)) onGetConfirmationDataError(error)\n }\n }\n })()\n }, [])\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 = { ...data, personal_share_link: e.target.value }\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 '../utils/setConfigs'\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","export const X_TF_ECOMMERCE = 'X-TF-ECOMMERCE'\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 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 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 React, { useState } from 'react'\nimport Button from '@mui/material/Button'\nimport CircularProgress from '@mui/material/CircularProgress'\nimport { Field, Form, Formik } from 'formik'\nimport { CustomField } from '../common/index'\nimport { addToWaitingList } from '../../api'\nimport {\n combineValidators,\n requiredValidator,\n emailValidator,\n} from '../../validators'\nimport { ErrorFocus } from '../../utils/formikErrorFocus'\n\nimport './style.css'\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 = ({ tickets = {}, eventId, defaultMaxQuantity = 10 }: WaitingListProps) => {\n const isWindowDefined = typeof window !== 'undefined'\n const userData =\n isWindowDefined && 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 requestData = {\n data: {\n attributes: values,\n },\n }\n const { data } = await addToWaitingList(eventId, requestData)\n\n if (data.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've been added to the waiting list!</p>\n <p>You'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 <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 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(defaultMaxQuantity ?? 10),\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 </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') || ''\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 = (\n maxCount = 10,\n minCount = 1,\n multiplier = 1\n) => {\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","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 { 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 =\n ((!ticketTier.salesStarted || ticketTier.salesEnded) && !event?.presalesStarted) ||\n event?.presalesEnded\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 (canPurchaseTicket || (event?.presalesStarted && !event?.presalesEnded)) {\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 _sortBy from 'lodash/sortBy'\nimport React, { ReactNode } from 'react'\n\nimport { TicketRow } from './TicketRow'\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}\n\nexport const TicketsSection = ({\n event = { currency: {} },\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}: ITicketsSectionProps) => {\n const {\n currency: { symbol },\n } = event\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 ? currencySybmol : symbol\n return (\n <>\n {!hideTicketsHeader && ticketsHeaderComponent}\n {sortedTicketsList.map((ticket, i, arr) => {\n const ticketPrice = `${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\n ? 'SOLD OUT'\n : ticketIsFree\n ? 'FREE'\n : ticketPrice\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 </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 {ticket.feeIncluded ? '(incl. Fees)' : '(excl. 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 </div>\n </React.Fragment>\n )\n })}\n {!hideTableTicketsHeader && tableTicketsHeaderComponent}\n {tableTickets.map((ticket: any, i: any, arr: any) => {\n const ticketPrice = `${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 : ticketPrice\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 </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 {ticket.feeIncluded ? '(incl. Fees)' : '(excl. 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 </div>\n </React.Fragment>\n </>\n )\n })}\n </>\n )\n}\n","import './style.css'\n\nimport { createTheme, ThemeOptions } from '@mui/material'\nimport Alert from '@mui/material/Alert'\nimport { ThemeProvider } from '@mui/private-theming'\nimport { CSSProperties } from '@mui/styles'\nimport axios, { AxiosError } from 'axios'\nimport jwt_decode from 'jwt-decode'\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 { 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 names_required: boolean;\n age_required: boolean;\n phone_required: boolean;\n hide_phone_field: boolean;\n event_id: string;\n hash?: string;\n total?: string;\n hasAddOn?: boolean;\n free_ticket: boolean;\n collect_optional_wallet_address?: boolean;\n collect_mandatory_wallet_address?: 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 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 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 ITicket[])\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(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\n const ticketsContainerRef = useRef<HTMLDivElement>(null)\n const pageUrl = isBrowser ? window.location.href.split('?')[0] : ''\n\n useCookieListener(X_TF_ECOMMERCE, value => setIsLogged(Boolean(value)))\n usePixel(eventId, { pageUrl })\n\n useEffect(() => {\n if (typeof window !== 'undefined') {\n const access_token = window.localStorage.getItem('access_token')\n if (access_token) {\n const decoded = jwt_decode<{ exp: number }>(access_token)\n if (decoded && decoded.exp < Date.now() / 1000) {\n window.localStorage.removeItem('access_token')\n window.localStorage.removeItem('user_data')\n }\n }\n window.localStorage.removeItem('extraData')\n }\n }, [])\n\n useEffect(() => {\n if (eventId) {\n getTicketsApi()\n fetchPreregisteredsData()\n }\n }, [eventId])\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 (isWindowDefined) {\n window.localStorage.removeItem('access_token')\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.data.success) {\n const attributes = _get(response, 'data.data.attributes')\n type === 'promo' && setCodeIsApplied(attributes.ValidPromoCode)\n type === 'promo' && setCodeIsInvalid(!attributes.ValidPromoCode)\n setTickets(_get(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.data.success) {\n const event = _get(eventResponse, 'data.data.attributes')\n setEvent(event)\n\n if (event.country && isWindowDefined) {\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 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 const checkUserPreregistration = () => {\n const userDataString = 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 (isWindowDefined) {\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 => 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 = {\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 const result = await addToCart(eventId, data)\n const pageConfigsDataResponse = enableAddOns\n ? await getCheckoutPageConfigs()\n : {\n status: 200,\n data: { attributes: _get(result, 'data.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 nameIsRequired = pageConfigsData.names_required ?? false\n const ageIsRequired = pageConfigsData.age_required ?? false\n const phoneIsRequired = pageConfigsData.phone_required ?? false\n const hidePhoneField = pageConfigsData.hide_phone_field ?? false\n const hasAddOn = pageConfigsData.has_add_on ?? false\n const freeTicket = pageConfigsData.free_ticket ?? false\n const collectOptionalWalletAddress =\n pageConfigsData.collect_optional_wallet_address ?? false\n const collectMandatoryWalletAddress =\n pageConfigsData.collect_mandatory_wallet_address ?? false\n\n let hash = ''\n let total = ''\n\n const isWindowDefined = typeof window !== 'undefined'\n isWindowDefined && window.localStorage.removeItem('add_ons')\n\n if (skipBillingPage && !hasAddOn) {\n // Get user data for checkout data\n const userData =\n isWindowDefined && window.localStorage.getItem('user_data')\n ? JSON.parse(window.localStorage.getItem('user_data') || '')\n : {}\n\n const access_token =\n isWindowDefined && window.localStorage.getItem('access_token')\n ? window.localStorage.getItem('access_token') || ''\n : ''\n\n const checkoutBody = createCheckoutDataBodyWithDefaultHolder(\n ticketQuantity,\n userData\n )\n\n const checkoutResult = enableBillingInfoAutoCreate\n ? await postOnCheckout(checkoutBody, access_token, freeTicket)\n : null\n\n hash = _get(checkoutResult, 'data.data.attributes.hash')\n total = _get(checkoutResult, 'data.data.attributes.total')\n }\n\n onAddToCartSuccess({\n skip_billing_page: skipBillingPage,\n names_required: nameIsRequired,\n phone_required: phoneIsRequired,\n age_required: ageIsRequired,\n hide_phone_field: hidePhoneField,\n free_ticket: freeTicket,\n collect_optional_wallet_address: collectOptionalWalletAddress,\n collect_mandatory_wallet_address: collectMandatoryWalletAddress,\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 try {\n const userDataResponse = await getProfileData()\n const profileData = _get(userDataResponse, 'data.data')\n const profileDataObj = setLoggedUserData(profileData)\n return profileDataObj\n } catch (e) {\n throw new Error(e)\n }\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 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)\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 const isPreregistred = checkUserPreregistration()\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}>\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 ${\n !isLoggedIn ? 'event-closed-on-bottom' : ''\n }`}\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?.presalesStarted &&\n !event?.presalesEnded &&\n (!isPreregistred || !isLogged)\n ? () => setTicketsNotAvailableModalOpen(true)\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, filter: string) => {\n try {\n setLoading(true)\n const response = await getOrders(page, limit, filter)\n onGetOrdersSuccess(response)\n\n const data = _get(response, 'data.data.attributes')\n data.page -= 1\n\n setData(data)\n } catch (error) {\n if (axios.isAxiosError(error)) {\n if (error.response?.data.error === 'invalid_token') {\n if (isWindowDefined) {\n window.localStorage.removeItem('user_data')\n window.localStorage.removeItem('access_token')\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 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 _map from 'lodash/map'\nimport React, { Fragment, useState } from 'react'\n\nimport { downloadPDF } from '../../utils'\nimport SnackbarAlert from '../common/SnackbarAlert'\n\ninterface IAddOnTypes {\n name: string;\n groupName: string;\n status: string;\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\n icon?: string;\n displayColumnNameInRow?: boolean;\n ticketsTitle?: string;\n}\n\ntype PdfDownload = {\n hash: string;\n loading: boolean;\n}\n\nconst TicketsTable = ({\n tickets = [],\n columns = [],\n handleSellTicket = _identity,\n handleRemoveFromResale = _identity,\n icon = '',\n displayColumnNameInRow = false,\n canSellTicket = true,\n ticketsTitle = 'Your Tickets',\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 ? (\n <CircularProgress size=\"22px\" />\n ) : (\n 'Download'\n )}\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 <Fragment key={index}>\n <TableRow>{getRow(ticket)}</TableRow>\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(\n (add_on: IAddOnTypes, index: number) => (\n <TableRow key={index}>\n <TableCell>{add_on.groupName && `${add_on.groupName}: `} {add_on.name}</TableCell>\n <TableCell>{add_on.status}</TableCell>\n </TableRow>\n )\n )}\n </TableBody>\n </Table>\n </TableCell>\n </TableRow>\n )}\n </Fragment>\n ))}\n </TableBody>\n </Table>\n </TableContainer>\n </div>\n )\n}\n\nexport default TicketsTable\n","import './style.css'\n\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 _find from 'lodash/find'\nimport _get from 'lodash/get'\nimport _has from 'lodash/has'\nimport _identity from 'lodash/identity'\nimport _map from 'lodash/map'\nimport moment from 'moment-timezone'\nimport React, { useEffect, useState } from 'react'\n\nimport { getOrderDetails, removeFromResale, resaleTicket } from '../../api'\nimport { isBrowser } from '../../utils'\nimport ConfirmModal from '../confirmModal'\nimport { InitialValuesTypes, TicketResaleModal } from '../ticketResaleModal'\nimport TicketsTable, { IActionColumns, ITicketTypes } from './ticketsTable'\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 personalLinkIcon?: string;\n displayColumnNameInRow?: boolean;\n canSellTicket?: boolean;\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\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 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}: 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 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 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.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.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.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 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 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\n return (\n <div className=\"order-details\">\n <h1 className=\"layout-title\">Order Details</h1>\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 (typeof window !== 'undefined') {\n window.location.assign(ordersPath ?? '/orders')\n }\n }}\n >\n Back to Orders\n </button>\n </div>\n </div>\n </div>\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 />\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 (typeof window !== 'undefined') {\n window.location.assign(ordersPath ?? '/orders')\n }\n }}\n >\n Return to Order History\n </button>\n </div>\n\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 )\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}\n\nexport const TicketResaleContainer = ({\n onProcessTicketSuccess = () => {},\n onProcessTicketError = () => {},\n onDeclineTicketPurchaseSuccess = () => {},\n onDeclineTicketPurchaseError = () => {},\n orderHash,\n billingPath,\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}`)\n .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(\"Thanks for letting us know! We'll offer this ticket to someone else!\")\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 data = _get(response, 'data.data.attributes')\n const age_required = _get(data, 'age_required', false)\n const names_required = _get(data, 'names_required', false)\n const event_id = _get(data, 'event_id')\n\n onProcessTicketSuccess(response.data)\n window.location.href = `${\n billingPath ?? '/billing/billing-info/'\n }?age_required=${age_required}&names_required=${names_required}&event_id=${event_id}`\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 _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(\n group => group.attributes.id === currentGroupId\n ) || {}\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.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 { 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'\n\nimport {\n getAddons,\n getCart,\n getCheckoutPageConfigs,\n postOnCheckout,\n} from '../../api'\nimport { currencyNormalizerCreator } from '../../normalizers'\nimport { ICheckoutPageConfigs } from '../../types'\nimport {\n createCheckoutDataBodyWithDefaultHolder,\n createMarkup,\n getQueryVariable,\n} from '../../utils'\nimport { VerificationPendingModal } from '../idVerificationContainer/VerificationPendingModal'\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}\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}: IAddonContainterProps) => {\n const eventId = getQueryVariable('event_id')\n const [addons, setAddons] = useState<any>([])\n const [addonsOptions, setAddonsOptions] = useState<any>({})\n const [groupsWithSelectedVariants, setGroupsWithSelectedVariants] = useState<\n any\n >({})\n const [\n groupsWithInitialVariantsValues,\n setGroupsWithInitialVariantsValues,\n ] = useState<any>({})\n const [loading, setLoading] = useState(true)\n const [cartExpirationTime, setCartExpirationTime] = useState(0)\n const [pendingVerificationMessage, setPendingVerificationMessage] = useState()\n\n useEffect(() => {\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 = (\n groupId: any,\n changedGroupd: any\n ) => {\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] -\n variantCurrSelectedValue\n ) {\n allowedOptionCount = groupsWithInitialVariantsValues[groupId][variantId]\n } else {\n allowedOptionCount = remainingGroupStock + variantCurrSelectedValue\n }\n\n recreatedVariantsOptions[variantId] = generateSelectOptions(\n 0,\n allowedOptionCount\n )\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[\n currSelectedVariantId\n ]\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 isWindowDefined = typeof window !== 'undefined'\n const skipBillingPage = pageConfigsData.skip_billing_page ?? false\n const nameIsRequired = pageConfigsData.names_required ?? false\n const ageIsRequired = pageConfigsData.age_required ?? false\n const phoneIsRequired = pageConfigsData.phone_required ?? false\n const hasAddOn = pageConfigsData.has_add_on ?? false\n const freeTicket = pageConfigsData.free_ticket ?? false\n const collectOptionalWalletAddress =\n pageConfigsData.collect_optional_wallet_address ?? false\n const collectMandatoryWalletAddress =\n pageConfigsData.collect_mandatory_wallet_address ?? false\n\n if (skipBillingPage && enableBillingInfoAutoCreate) {\n const ticketsQuantity = window.localStorage.getItem('quantity')\n const userData = JSON.parse(\n window.localStorage.getItem('user_data') || '{}'\n )\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 = _get(checkoutResponse, 'data.data.attributes.hash')\n const total = _get(checkoutResponse, 'data.data.attributes.total')\n\n isWindowDefined && window.localStorage.removeItem('quantity')\n isWindowDefined && window.localStorage.removeItem('add_ons')\n\n onPostCheckoutSuccess(checkoutResponse?.data)\n onConfirmSelectionSuccess({\n skip_billing_page: skipBillingPage,\n names_required: nameIsRequired,\n phone_required: phoneIsRequired,\n age_required: ageIsRequired,\n event_id: String(eventId),\n hash,\n total,\n hasAddOn,\n free_ticket: freeTicket,\n collect_optional_wallet_address: collectOptionalWalletAddress,\n collect_mandatory_wallet_address: collectMandatoryWalletAddress,\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 (isWindowDefined) {\n if (!skipAddonPage) {\n window.localStorage.setItem('add_ons', JSON.stringify(values))\n }\n\n onConfirmSelectionSuccess({\n skip_billing_page: skipBillingPage && enableBillingInfoAutoCreate,\n names_required: nameIsRequired,\n phone_required: phoneIsRequired,\n age_required: ageIsRequired,\n event_id: String(eventId),\n hasAddOn,\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 return (\n <>\n {!!cartExpirationTime && enableTimer && (\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 <p className={`${classNamePrefix}_info_title`}>Get Your Tickets</p>\n <button\n type=\"button\"\n className={`${classNamePrefix}_skip`}\n onClick={() => {\n handleClearAddons()\n handleConfirm({}, true)\n }}\n >\n Skip\n </button>\n </div>\n <div className={`${classNamePrefix}_title`}>UPGRADES & ADD-ONS</div>\n <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 >\n {({ values }) => {\n const isConfirmDisabled = !isAtLeastOneAddonSelected(values)\n\n return (\n <Form autoComplete=\"off\" className=\"form_holder\">\n <>\n {addons.map((addon: any) => {\n const price = addon.feeIncluded ? addon.price : addon.cost\n const isAddonFree = Number(price) === 0\n\n const addonNormalizedPrice = isAddonFree\n ? 'FREE'\n : currencyNormalizerCreator(\n getNormalizedPrice(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\n className={`${classNamePrefix}_product_image_block`}\n >\n <img src={addon.imageUrl} alt=\"No Data\" />\n </div>\n )}\n </div>\n <div\n className={`${classNamePrefix}_product_info_block`}\n >\n <div className={`${classNamePrefix}_product_title`}>\n {addon.name}\n </div>\n <div className={`${classNamePrefix}_product_price`}>\n {addonNormalizedPrice}\n {!isAddonFree && (\n <span\n className={`${classNamePrefix}_product_fee`}\n >\n {addon.feeIncluded\n ? '(incl. Fees)'\n : '(excl. Fees)'}\n </span>\n )}\n </div>\n </div>\n <div\n className={`${classNamePrefix}_product_desc`}\n dangerouslySetInnerHTML={createMarkup(\n addon.description\n )}\n />\n <div\n className={`${classNamePrefix}_product_select_container`}\n >\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 <button\n type=\"submit\"\n className={`${\n isConfirmDisabled\n ? `${classNamePrefix}_is_disabled`\n : ''\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 { 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\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> 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(_get(res, 'data.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 = 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.data', [])\n const mappedStates = collectStates(states)\n setStates(mappedStates)\n onGetStatesSuccess(res.data)\n } catch (e) {\n if (axios.isAxiosError(e)) {\n const errorMessage = e?.response?.data?.message || 'Error'\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(\n 'user_data',\n JSON.stringify(_get(profileRes, 'data.data'))\n )\n onRegisterAccountSuccess(profileRes)\n } catch (e) {\n if (axios.isAxiosError(e)) {\n console.log(e)\n const errorMessage = 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 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 _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 = 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 _get from 'lodash/get'\n\nimport { addToCart, getCheckoutPageConfigs, postOnCheckout } from '../../api'\nimport { createCheckoutDataBodyWithDefaultHolder } 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 isWindowDefined = typeof window !== 'undefined'\n\n const result = await addToCart(eventId, data)\n const pageConfigsDataResponse = await getCheckoutPageConfigs()\n\n if (result.status === 200 && pageConfigsDataResponse.status === 200) {\n const pageConfigsData =\n _get(pageConfigsDataResponse, 'data.attributes') || {}\n\n const {\n skip_billing_page: skipBillingPage = false,\n names_required: nameIsRequired = false,\n age_required: ageIsRequired = false,\n phone_required: phoneIsRequired = false,\n hide_phone_field: hidePhoneField = false,\n has_add_on: hasAddOn = false,\n free_ticket: freeTicket = false,\n collect_optional_wallet_address: collectOptionalWalletAddress = false,\n collect_mandatory_wallet_address: collectMandatoryWalletAddress = false,\n } = pageConfigsData\n\n let hash = ''\n let total = ''\n\n isWindowDefined && window.localStorage.removeItem('add_ons')\n\n if (skipBillingPage && !hasAddOn) {\n // Get user data for checkout data\n const userData =\n isWindowDefined && 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 checkoutResult = enableBillingInfoAutoCreate\n ? await postOnCheckout(checkoutBody, undefined, freeTicket)\n : null\n\n hash = _get(checkoutResult, 'data.data.attributes.hash') || ''\n total = _get(checkoutResult, 'data.data.attributes.total') || ''\n }\n\n return {\n skip_billing_page: skipBillingPage,\n names_required: nameIsRequired,\n phone_required: phoneIsRequired,\n age_required: ageIsRequired,\n hide_phone_field: hidePhoneField,\n free_ticket: freeTicket,\n collect_optional_wallet_address: collectOptionalWalletAddress,\n collect_mandatory_wallet_address: collectMandatoryWalletAddress,\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 = (\n seatId: string,\n eventSeats: Array<EventSeat>\n) => {\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 = {\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 = (\n data: Array<TicketTypeTierRelationsData>\n) => {\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 { createTheme, 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 Tooltip from '@mui/material/Tooltip'\nimport { ThemeProvider } from '@mui/private-theming'\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 from 'react-countdown'\n\nimport {\n getSeatMapData,\n getSeatMapStatuses,\n removeSeatReserve,\n reserveSeat,\n} from '../../api'\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\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 isGuestCountsSet = useRef(false)\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 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 }, [eventId, seatMapStatuses, reservedSeats])\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 as any)?.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: any) => {\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 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: any) => (\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, isJson } from '../../utils'\nimport Modal from '../common/ModalComponent'\nimport { VERIFICATION_MESSAGES, VERIFICATION_STATUSES } 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) => 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>(\n null\n )\n const [showModal, setShowModal] = useState(false)\n const [netverifyUrl, setNetverifyUrl] = useState<string | null>(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 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 useEffect(() => {\n let intervalId: any = null\n const orderHash = getQueryVariable('order_hash') || ''\n\n const getUrl = async () => {\n try {\n const urlResponse = await getNetverifyUrl()\n setNetverifyUrl(urlResponse.netverifyUrl)\n onGetVerifyUrlSuccess(urlResponse)\n } catch (error) {\n onGetVerifyUrlError(error)\n }\n }\n\n const getVerificationStatus = async () => {\n try {\n const statusResponse = await checkVerificationStatus()\n const { status } = statusResponse.data.attributes\n\n if (verificationStatus !== status) {\n setVerificationStatus(status)\n setModalData({\n displaModal:\n status === VERIFICATION_STATUSES.APPROVED ||\n status === VERIFICATION_STATUSES.FAILED,\n hideCancelBtn: true,\n message:\n status === VERIFICATION_STATUSES.APPROVED\n ? VERIFICATION_MESSAGES.APPROVED\n : status === VERIFICATION_STATUSES.FAILED\n ? VERIFICATION_MESSAGES.FAILED\n : status,\n })\n }\n onGetVerificationStatusSuccess(statusResponse)\n } catch (error) {\n onGetVerificationStatusError(error)\n } finally {\n setLoadingStatus(false)\n }\n }\n\n const getCustomerOrderStatus = async () => {\n try {\n const customerOrderResponse = await checkCustomerOrder(orderHash)\n return customerOrderResponse\n } catch (error) {\n throw error\n }\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 (\n error.response?.data?.message === VERIFICATION_MESSAGES.WRONG_CUSTOMER\n ) {\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 isWindowDefined = typeof window !== 'undefined'\n const orderHash = getQueryVariable('order_hash')\n\n if (isWindowDefined) {\n const checkoutData = JSON.parse(\n window.localStorage.getItem('checkoutData') || '{}'\n )\n if (_isEmpty(checkoutData) && orderHash) {\n window.localStorage.setItem(\n 'checkoutData',\n JSON.stringify({ hash: orderHash })\n )\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.PENDING && (\n <div className=\"verify-message\">\n {VERIFICATION_MESSAGES.PENDING}\n </div>\n )}\n {!isAccountVerifiedOrPending && (\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 React, { useState } from 'react'\nimport { Field, Form, Formik } from 'formik'\nimport Button from '@mui/material/Button'\nimport Modal from '@mui/material/Modal'\nimport Box from '@mui/material/Box'\nimport { CustomField, Loader } from '../common/index'\nimport { combineValidators, requiredValidator, emailValidator } from '../../validators'\nimport { sendRSVPInfo } from '../../api'\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 =\n typeof window !== 'undefined' ? 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 = {\n data: {\n email: values.email\n }\n }\n const { data } = await sendRSVPInfo(eventId, requestData)\n\n setModal({ isOpen: true, text: data.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 onClick={handleModalClose}>OK</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) => 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 formFieldsNotLoggedIn: IFormFieldsSection[] = [\n {\n name: 'basic-info',\n groupLabel:\n 'Create (or log in to) your account, then click on Confirm Registration.',\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> 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 formFieldsLoggedIn: 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:\n 'I would like to be updated on Mana Common 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'\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 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}: 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 />\n </div>\n )\n )\n })}\n </div>\n </SectionContainer>\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 { confirmPreRegistration, getCountries, getProfileData, register } from '../../api'\nimport { useCookieListener } from '../../hooks/useCookieListener'\nimport { CONFIGS, getCookieByName } from '../../utils'\nimport SnackbarAlert from '../common/SnackbarAlert'\nimport { ForgotPasswordModal, IForgotPasswordProps } from '../forgotPasswordModal'\nimport { ILoginModalProps, LoginModal } from '../loginModal'\nimport { formFieldsLoggedIn, formFieldsNotLoggedIn } 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 ILoginModalProps, IForgotPasswordProps {\n eventId: string | number;\n formFields?: IFormFieldsSection[];\n additionalFieldAttribute?: IFieldAttribute;\n\n onGetCountriesSuccess?: (res: any) => void;\n onGetCountriesError?: (e: AxiosError) => void;\n onConfirmationSuccess?: (res: any) => void;\n onConfirmationError?: (e: AxiosError) => void;\n}\n\nexport const PreRegistration: FC<IPreRegistrationProps> = ({\n eventId,\n formFields: pFormFields,\n additionalFieldAttribute,\n\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}) => {\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 useCookieListener(X_TF_ECOMMERCE, value => setIsLoggedIn(Boolean(value)))\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.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 = e?.response?.data?.message || 'Error'\n setError(error)\n onGetCountriesError(e)\n }\n }\n }\n fetchCountries()\n }, [])\n\n return (\n <div className=\"pre-registration-container\">\n <SnackbarAlert\n type=\"error\"\n isOpen={!!error}\n message={error || ''}\n onClose={() => {\n setError('')\n }}\n />\n {!isLoggedIn && (\n <div className=\"account-actions-block\">\n <div className=\"action-item\">\n <div>\n <span>If you have a</span>\n <b> 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 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 // 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 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.data'))\n )\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 />\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 )\n}\n","import _map from 'lodash/map'\nimport React from 'react'\n\nexport const Prewards = (props: IPrewardsProps) => {\n const { data, classNamePrefix = '' } = props\n return (\n <div className={`${classNamePrefix}_prewards`}>\n <div className={`${classNamePrefix}_prewards_heder`}>\n PRE\n <span>WARDS™</span>\n </div>\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 && (\n <img\n className={`${classNamePrefix}_image`}\n alt=\"\"\n src={image}\n />\n )}\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 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 const shareButtons = shareOptionsAdapter(actions, shareUrl)\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 const newShareActionData = await submitShareAction({\n eventActionId,\n accessToken,\n hash,\n })\n updateShareActionData(newShareActionData.data)\n }\n }\n\n return (\n <div className={`${classNamePrefix}_share_options`}>\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) => onAfterShare(eventActionId)}\n />\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 </div>\n )\n}\n","import 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 { 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 }\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}) => {\n const hash = isWindowDefined\n ? localStorage.getItem('pre-registration-hash')\n : getQueryVariable('hash') || ''\n\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 useCookieListener(X_TF_ECOMMERCE, value => setIsLoggedIn(Boolean(value)))\n\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\n onGetConfirmationDataSuccess()\n }\n } catch (error) {\n if (axios.isAxiosError(error)) {\n onGetConfirmationDataError(error)\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 (data: ISubmitShareActionData) => {\n const { attributes } = data\n if (hash) {\n const shareOptionsData = await getPreRegistrationShareOptions({\n hash,\n })\n setShareOptions(shareOptionsData.data)\n }\n setShareActionData({\n shareActionToken: attributes.shareActionToken,\n tokenShuffleMethod: attributes.tokenShuffleMethod,\n })\n }\n\n return (\n <>\n {isLoggedIn ? (\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 </>\n )\n}\n","import _map from 'lodash/map'\nimport React from 'react'\n\nexport const Influancers = (props: IInfluancersProps) => {\n const { data, classNamePrefix, headerNode = 'TOP INFLUENCERS' } = props\n return (\n <div className={`${classNamePrefix}_influencers_container`}>\n <div className={`${classNamePrefix}_influencers_header`}>\n {headerNode}\n </div>\n <div className={`${classNamePrefix}_influencers`}>\n {_map(data, (influencer, index) => (\n <div\n key={influencer.prereg_id}\n className={`${classNamePrefix}_influencer`}\n >\n <span className={`${classNamePrefix}_influencer_index`}>\n {index + 1}\n </span>\n <span className={`${classNamePrefix}_influencer_title`}>\n INFLUENCER\n </span>\n <span className={`${classNamePrefix}_influencer_name`}>\n {influencer.name}\n </span>\n </div>\n ))}\n </div>\n </div>\n )\n}\n","import _identity from 'lodash/identity'\nimport React, { useEffect, useState } from 'react'\n\nimport { getPreRegistrationInfluancers } from '../../api/preRegistrationComplete'\nimport { Influancers } from './Influancers'\nimport { Prewards } from './Prewards'\n\nexport const PreRegistrationInformations = (\n props: IPreRegistrationInformationProps\n) => {\n const {\n classNamePrefix,\n eventId,\n onGetPreregistrationDataSuccess = _identity,\n onGetPreregistrationDataError = _identity,\n } = props\n\n const [prizes, setPrizes] = useState([] as Array<IPrizeData>)\n const [influencers, setInfluencers] = useState([] as Array<IInfluancerData>)\n\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 <div className={`${classNamePrefix}_pre_registration_info_container`}>\n <Prewards data={prizes} classNamePrefix={classNamePrefix} />\n <Influancers data={influencers} classNamePrefix={classNamePrefix} />\n </div>\n )\n}\n"],"names":["ttfHeaders","Accept","CONFIGS","publicRequest","axios","create","baseURL","BASE_URL","headers","setXSourceOrigin","sourceOrigin","setConfigs","configs","_forEach","value","key","setBaseUrl","X_SOURCE_ORIGIN","getQueryVariable","variable","window","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","getDomain","url","subdomain","updatedUrl","replace","slice","join","indexOf","setCustomCookie","name","days","expires","date","Date","setTime","getTime","toUTCString","domain","hostname","cookie","getCookieByName","cname","ca","c","charAt","deleteCookieByName","downloadPDF","pdfUrl","xtfCookie","accessToken","localStorage","getItem","Authorization","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","_","isBrowser","getFormInitialValues","fieldsSections","initialValues","isWindowDefined","userData","JSON","parse","item","fields","fieldItem","setLoggedUserData","id","firstName","lastName","confirmEmail","city","country","countryId","street_address","streetAddress","state","stateId","zip","zipCode","isJson","e","getCustomerExistsData","accessHash","getDelegationTickets","res","issueTicket","post","isDocumentDefined","interceptors","use","authGuestToken","setItem","setGuestToken","status","removeItem","errorType","Promise","reject","request","config","guestToken","updatedHeaders","additionalCookiesHeaderValue","method","token","defaults","common","baseUrl","setAccessToken","setCustomHeader","guestHeaderResponseValue","guestHeaderExistingValue","guestHeader","handleSetAccessToken","getEvent","pk","referralValue","params","referralId","searchParams","referral_key","referralIdlocal","referrer","getTickets","promoCode","invitationHash","String","addToCart","getCart","postOnCheckout","freeTicket","authorize","CLIENT_ID","register","getPaymentData","hash","handlePaymentSuccess","orderHash","undefined","createPaymentPlan","stripePaymentMethodId","stripe_payment_method_id","handleFreeSuccess","getProfileData","getCountries","getConfirmationData","getStates","getOrders","page","limit","eventSlug","BRAND_SLUG","getOrderDetails","orderId","addToWaitingList","getConditions","eventId","resaleTicket","removeFromResale","postReferralVisits","logout","forgotPassword","resetPassword","processTicket","declineInvitation","sendRSVPInfo","validatePhoneNumber","getAddons","result","addons","getCheckoutPageConfigs","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","appendScriptsToHeader","code","tempEl","innerHTML","scripts","getElementsByTagName","script","src","head","addGTagToHeader","tagId","links","trim","append","scriptBody","dataLayer","gtag","args","usePixel","options","getScript","pixels","brandGoogleTagKey","eventGoogleTagKey","eventGoogleTagManagerLinkerDomains","console","useEffect","emailRegex","combineValidators","validators","error_message","isFalsy","addEventListener","err","requiredValidator","errorMessage","emailValidator","test","SnackbarAlert","isOpen","position","autoHideDuration","variant","onClose","React","className","Snackbar","open","anchorOrigin","vertical","horizontal","classes","root","Alert","severity","icon","action","filled","CustomField","label","field","selectOptions","form","touched","submitCount","theme","inputProps","pInputProps","InputProps","inputRef","multiline","minRows","maxRows","disabled","useState","Boolean","isShrinked","setIsShrinked","_ref","useRef","isAutoFilled","current","matches","isSelectField","isTouched","_includes","customTheme","useTheme","sx","input","_isFunction","_isObject","TextField","placeholder","select","fullWidth","helperText","onFocus","SelectProps","MenuProps","InputLabelProps","shrink","onBlur","_map","option","PoweredBy","alt","style","top","left","transform","minWidth","backgroundColor","border","outline","padding","Schema","Yup","shape","required","ForgotPasswordModal","onLoginButtonClick","onForgotPasswordSuccess","onForgotPasswordError","showPoweredByImage","loading","setLoading","onForgotPassword","isAxiosError","_onClose","Modal","Box","Formik","validationSchema","onSubmit","isValid","dirty","handleSubmit","Form","Field","component","CircularProgress","size","onClick","maxHeight","overflow","actions","children","modalClassName","MuiModal","Button","VerificationPendingModal","props","displayModal","showModal","setShowModal","CheckboxField","rest","FormControl","FormGroup","FormControlLabel","control","Checkbox","componentsProps","typography","checkbox","FormHelperText","PhoneNumberField","setFieldError","values","setFieldValue","setFieldTouched","setErrors","disableDropdown","defaultCountry","fill","setPhoneValidationIsLoading","isCountryCodeEditable","debounceCb","useCallback","_debounce","cb","newErrors","MuiPhoneNumber","onChange","dialCode","autoFormat","disableAreaCodes","countryCodeEditable","Loader","SelectField","isMultiple","_identity","selectId","handleChange","event","target","getSelectedItemLabel","selectedValue","selectedItem","find","InputLabel","Select","labelId","multiple","OutlinedInput","renderValue","selected","selectedLabels","selectedLabel","textAlign","map","MenuItem","checked","ListItemText","primary","CopyMessageModal","showCopyModal","DATE_SIZE","compactStyles","width","margin","minHeight","height","marginRight","compactStyleTheme","createTheme","components","MuiPaper","defaultProps","DatePickerField","useCompact","dateFormat","ThemeProvider","LocalizationProvider","dateAdapter","AdapterMoment","DatePicker","PopperProps","placement","showDaysOutsideCurrentMonth","disableFuture","inputFormat","mask","renderInput","evt","NativeSelectField","htmlFor","RadioGroupField","radios","radioId","FormLabel","RadioGroup","radio","Radio","LoginForm","alreadyHasUser","userExpired","onLoginSuccess","onLoginError","onGetProfileDataSuccess","onGetProfileDataError","onForgotPasswordButtonClick","onSignupButtonClick","logo","showForgotPasswordButton","showSignUpButton","setError","password","authRes","profileResponse","profileSpecifiedData","profileDataObj","stringify","CustomEvent","dispatchEvent","validate","LoginModal","onLogin","onSignup","modalClassname","SignupSchema","min","confirmPassword","oneOf","SignupModal","onRegisterSuccess","onRegisterError","formData","FormData","set","CLIENT_SECRET","access_token_register","refreshToken","tokens","showZero","intNumber","Number","_isNumber","TimerWidget","expires_at","buyLoading","onCountdownFinish","showTimer","setShowTimer","handleCountdownFinish","renderer","minutes","seconds","completed","hideTimer","timerRl","visibility","SVG","Cross","Countdown","now","memo","getInitialValues","propsInitialValues","userValues","results","_flatMapDeep","groupItems","groupItem","createRegisterFormData","checkoutBody","flagFreeTicket","bodyFormData","includes","createCheckoutDataBody","holderAge","restValues","holders","fromEntries","entries","filter","filteredHolders","holder","firstNameLogged","lastNameLogged","emailLogged","filteredRestValue","getValidateFunctions","element","states","validationFunctions","onValidate","invalidPhone","isSameEmail","isSame","assingUniqueIds","itemValue","_isArray","some","uniqueId","nanoid","isRequiredField","flagRequirePhone","collectMandatoryWalletAddress","getFieldLabel","isValidElement","getFieldComponent","fieldComponentConfigs","select_multi","text","fieldComponent","LogicRunner","setStates","setValues","setUserValues","onGetStatesSuccess","onGetStatesError","shouldFetchCountries","brandOptIn","prevCountry","fetchStates","mappedStates","stateExists","userDataEncoded","getStoredUserData","parsedData","mappedValues","brand_opt_in","extraDataJSON","extraData","BillingInfoContainer","ticketHoldersFields","buttonName","onSubmitError","onGetCartSuccess","onGetCartError","onGetCountriesSuccess","onGetCountriesError","isLoggedIn","pIsLoggedIn","accountInfoTitle","hideLogo","themeOptions","onErrorClose","hideErrorsAlertSection","onSkipBillingPage","skipPage","canSkipHolderNames","enableTimer","onPendingVerification","setExtraData","isConfigLoading","setIsConfigLoading","isNewUser","setIsNewUser","themeMui","access_token","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","event_id","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","pendingVerificationMessage","setPendingVerificationMessage","prevData","addAddOnsInAttributes","selectedAddOns","add_ons","hasUniqueId","isEqualData","_isEqual","getQuantity","cart","qty","forEach","quantity","fetchCountries","fetchCart","cartInfo","Array","fetchUserData","userDataResponse","collectPaymentData","_isEmpty","removeReferralKey","hasUnverifiedOrder","collectCheckoutBody","profileData","selectedCountry","_find","toLowerCase","initialCountry","Backdrop","color","zIndex","ttf_opt_in","data_capture","enableReinitialize","formikHelpers","updatedUserData","checkoutBodyForRegistration","resRegister","userProfile","labelClassName","Fragment","group","groupClassname","el","handleBlur","format","_item","currencyNormalizerCreator","currency","getCurrencySymbolByCurrency","createFixedFloatNormalizer","fixedValue","toFixed","base","fontSize","letterSpacing","invalid","CheckoutForm","total","stripeCardOptions","stripe_client_secret","billing_info","isLoading","handleSetLoading","conditions","disableZipSection","paymentButtonText","forPaymentPlan","stripe","useStripe","elements","useElements","postalCode","setPostalCode","stripeError","setStripeError","checkboxes","setCheckboxes","allowSubmit","setAllowSubmit","preventDefault","card","getElement","CardNumberElement","address","line1","postal_code","confirmCardSetup","payment_method","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","price","guest_count","pay_now","initialReviewValues","order_details","stripe_payment_plan_enabled","stripe_payment_plan_configuration","PaymentContainer","paymentFields","handlePayment","formTitle","errorText","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","success","tickets","ticket","orderDataArray","count","debt","tableTypes","fetchConditions","conditionsInfo","handlePaymentMiddleWare","paymentSuccessResponse","orderValue","orderCurrency","showPaymentForm","hasTableTypes","paymentFieldsData","normalizer","parseFloat","Container","maxWidth","display","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","instagram","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","personal_share_sales","d","salesData","sales","symbol","unshift","product_price","setShowCopyModal","onChangeShareLink","newData","personal_share_link","confirmationTitle","confirmationMain","confirmationHelper","paymentPlanConfirmationTitle","paymentPlanConfirmationMain","paymentPlanConfirmationHelper","product_image","is_payment_plan","dangerouslySetInnerHTML","custom_confirmation_page_text","custom_confirmation_page_text_full_replacement","attach_tickets","disable_referral","ref","navigator","clipboard","writeText","pricing","getPreRegistrationInfluancers","getPreRegistrationShareOptions","submitShareAction","phase","X_TF_ECOMMERCE","useCookieListener","handler","getCookie","intervalValue","setIntervalValue","cookieRef","handleCookieChange","currentCookie","prevCookie","setInterval","clearInterval","ConfirmModal","hideCancelBtn","onConfirm","isTimeExpired","startDate","timezone","moment","isAfter","tz","guess","showMessage","disableLeadingZero","callback","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","displayName","showTicketsField","requestData","ticketTypeId","AccessCodeSection","setCode","updateTickets","isAccessCodeHasValue","onKeyPress","PromoCodeSection","codeIsApplied","showPromoInput","setShowPromoInput","setCodeIsApplied","codeIsInvalid","setCodeIsInvalid","promoText","showAlertIcons","isPromoCodeHasValue","renderInputField","DoneSvg","preProcessor","XmarkSvg","ReferralLogic","isAlreadyCounted","getTicketSelectOptions","maxCount","minCount","multiplier","Math","TicketRow","ticketTier","prevTicketTier","selectedTickets","handleTicketSelect","isSeatMapAllowed","tableType","soldOutMessage","toUpperCase","isSalesClosed","salesStarted","salesEnded","presalesStarted","presalesEnded","maxGuests","maxQuantity","minGuests","minQuantity","ticketsClosedMessage","canPurchaseTicket","displayTicket","isDirectPurchaseAllowed","onSaleContent","borderRadius","displayEmpty","PaperProps","returnValue","isSoldOut","sold_out","soldOut","TicketsSection","ticketsList","sortBySoldOut","ticketsHeaderComponent","tableTicketsHeaderComponent","hideTicketsHeader","hideTableTicketsHeader","showGroupNameBlock","currencySybmol","tableTickets","sortedTicketsList","_sortBy","showGroup","priceSymbol","arr","ticketPrice","ticketOldPrice","oldPrice","ticketSelect","ticketIsDiscounted","ticketIsFree","ticketPriceElem","isNewGroupTicket","feeIncluded","depositPercent","TicketsContainer","getTicketsLabel","onAddToCartSuccess","contentStyle","onAddToCartError","onGetTicketsSuccess","onGetTicketsError","onLogoutSuccess","onLogoutError","queryPromoCode","isPromotionsEnabled","isAccessCodeEnabled","hideSessionButtons","hideWaitingList","enableBillingInfoAutoCreate","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","ticketsContainerRef","decoded","jwt_decode","exp","getTicketsApi","fetchPreregisteredsData","handleLogout","handleExternalLogin","handleOnClose","handleOnLogin","isUpdateingCode","previewKey","eventResponse","ValidPromoCode","is_access_code","preregistrationData","influencers","prevState","checkUserPreregistration","userDataString","isPreregistredUser","user","_some","handleOrdersClick","handleBook","optionName","ticketId","isTableType","productCartQuantity","ticketQuantity","alternative_view_id","product_cart_quantity","product_options","ticket_types","ticket_price","pageConfigsDataResponse","pageConfigsData","skipBillingPage","skip_billing_page","nameIsRequired","ageIsRequired","phoneIsRequired","hasAddOn","has_add_on","checkoutResult","isTicketOnSale","eventHasTickets","removeEventListener","handleGetTicketClick","scrollIntoView","behavior","block","inline","bookButtonIsDisabled","flagSeatMapAllowed","isTicketAvailable","wrappedActionsSectionComponent","cloneElement","externalUrl","redirectUrl","eventSaleIsNotStarted","salesStart","referralsEnabled","referrals","canShowGetTicketBtn","hideTopInfluencers","isTableMapEnabled","isPreregistred","notAvailableTicketsMessage","_filter","ordinarTickets","waitingListMaxQuantity","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","TicketsTable","handleSellTicket","handleRemoveFromResale","displayColumnNameInRow","canSellTicket","ticketsTitle","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","onReturnButtonClick","personalLinkIcon","ticketsTableColumns","pOrderId","referralTitle","itemsTitle","removeFromResaleLoading","setRemoveFromResaleLoading","resaleTicketLoading","setResaleTicketLoading","showResaleModal","setShowResaleModal","showRemoveResaleModal","setShowRemoveResaleModal","activeTicket","setActiveTicket","ticketTypesArr","sellTicketType","ticket_type_hash","active","handleOnSubmit","updatedData","onCloseRemoveResale","onConfirmRemoveResale","orderSummery","columnsProps","assign","rel","sales_referred","is_table","guests_count","deposit_paid","remaining","password_confirmation","ResetPasswordContainer","tokenProps","onResetPasswordSuccess","onResetPasswordError","payload","TicketResaleContainer","onProcessTicketSuccess","onProcessTicketError","onDeclineTicketPurchaseSuccess","onDeclineTicketPurchaseError","billingPath","successMessage","setSuccessMessage","isDeclined","addonsWithGroupsAdapter","addonsData","addOnsGroups","addOnGroupsWithVariants","addOnsWithoutVariants","addon","addOnGroupId","currentGroupId","exsistingGroupIndex","findIndex","addOnGroup","variants","concat","adaptedAddons","cartAdapter","cartData","expiresAt","carts_arr","AddonComponent","classNamePrefix","handleAddonChange","stock","_isNull","getNormalizedPrice","minimizedValue","normalized","generateSelectOptions","generateStockBasedOnLimitations","flagLimitToTicketQuantity","limitPerTicket","allowedStockCount","stockBasedOnLimitPerTicket","filterStockBasedOnAvailability","generatedStock","availableStock","filteredStockCount","getAddonSelectOptions","choosedTicketCount","addonsWithOptions","groupsWithSelectedVariantsInfo","groupsWithVariants","simpleAddonStock","variantId","variantStock","stockBasedOnLimitation","choosedVariants","selectedCount","allowedVariantStockCount","variantOptions","addonOptions","getTicketRelatedAddons","filteredAddons","prerequisiteTicketTypeIds","getSortedAddons","sortDirection","addonsCopy","unsortedVariants","sortOrder","sortedVariants","sortedAddons","_reverse","isAtLeastOneAddonSelected","selectedAddons","AddonsContainter","onGetAddonsPageInfoSuccess","onGetAddonsPageInfoError","onPostCheckoutSuccess","onPostCheckoutError","onConfirmSelectionSuccess","onConfirmSelectionError","setAddons","addonsOptions","setAddonsOptions","groupsWithSelectedVariants","setGroupsWithSelectedVariants","groupsWithInitialVariantsValues","setGroupsWithInitialVariantsValues","cartExpirationTime","setCartExpirationTime","getAddonsPageInfo","choosedTicketID","ticketRelatedAddons","sortedTicketAddons","recreateGroupVariantsSelectOptions","groupId","changedGroupd","remainingGroupStock","recreatedVariantsOptions","variantCurrSelectedValue","allowedOptionCount","onFieldChange","changeableGroup","currGroupId","currSelectedVariantId","currSelectedVariantCount","currSelectedVariantPrevCount","currSelectedGroupCount","updatedGroupsWithSelectedVariants","handleConfirm","skipAddonPage","checkoutResponse","handleClearAddons","isConfirmDisabled","autoComplete","cost","isAddonFree","addonNormalizedPrice","imageUrl","description","updateFormFieldsAttributes","formFields","updatedFormFields","fieldSection","fieldSectionAttributes","updatedFields","fieldItemAttributes","getFieldClassNames","existingClassNames","elem","getElementById","parentElement","clientWidth","insertHTML","elementId","childNodes","insertAdjacentHTML","SectionContainer","FieldsSection","containerClass","disableField","groupLabel","groupLabelVars","groupLabelClassName","groupClassName","fieldData","fieldIndex","classNames","collectStates","formDefaultFields","RegistrationForm","additionalFieldAttribute","registrationType","customerEmail","onRegisterAccountSuccess","onRegisterAccountError","setErrorMessage","showErrorModal","setshowErrorModal","fetchCountryId","handleRegisterAccount","profileRes","log","VERIFICATION_STATUSES","PENDING","APPROVED","FAILED","WRONG_CUSTOMER","VERIFICATION_MESSAGES","DELEGATION_ACCESS_ERROR","IssueTicketForm","selectTicketTypeOptions","resetForm","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","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","Tooltip","arrow","tooltip","m","from","marginLeft","SeatMapContainer","timerMessage","seatMap","seatMapData","setSeatMapData","eventSeatsRef","ticketTypeTierRelationsRef","seatMapStatuses","setSeatMapStatuses","setReservedSeats","setIsLoadingSeatMapData","isLoadingStatuses","setIsLoadingStatuses","setIsReserving","setIsAddingToCart","isGuestCountsSet","updateGuestCounts","tierTickets","seatTicketsArray","fetchSeatMapData","seatMapDataResponse","seatReservationTime","fetchSeatMapReservations","statusesResponse","tierIdOfReservation","startTimer","endTimer","handleSeatReservation","relations","firstItem","handleCancelSeatReservtion","currentSelectedTickets","onSeatClick","seatInfo","seat","handleGetTicketBtnClick","ticketData","makeRequests","intervalId","valueOf","onComplete","tireId","IDVerification","onGetVerifyUrlSuccess","onGetVerifyUrlError","onGetVerificationStatusSuccess","onGetVerificationStatusError","onVerificationMessageModalClose","onPassVerificationStepsSuccess","onPassVerificationStepsError","loadingStatus","setLoadingStatus","setVerificationStatus","netverifyUrl","setNetverifyUrl","displaModal","modalData","setModalData","isAccountVerifiedOrPending","handleClose","callbackNetVerify","transactionStatus","getUrl","urlResponse","getVerificationStatus","statusResponse","getCustomerOrderStatus","customerOrderResponse","iframe","RedirectModal","onClickOk","RsvpContainer","showSection","modal","setModal","handleModalClose","formFieldsNotLoggedIn","formFieldsLoggedIn","shareOptionsAdapter","shareUrl","adaptedData","_split","socialUrl","point","getShuffleMethodByName","tokenShuffleMethod","reverseString","reverse","symmetricShuffleString","lengthOfStr","part1","shuffleEveryTwoSymbolsInString","words","shuffledStr","PreRegistration","pFormFields","onConfirmationSuccess","onConfirmationError","updatedValues","dobDay","dobMonth","dobYear","confirmationData","emailErrors","Prewards","prize","CopyField","copyValue","copyIconSrc","copyTitle","messageText","defaultValue","readOnly","ShareOptions","headerText","updateShareActionData","shareActionData","shareActionToken","newShareActionData","PreRegistrationComplete","pEventId","pageHeader","pageMessage","prizes","setPrizes","shareOptions","setShareOptions","setShareActionData","fetchConfirmationData","shareOptionsData","influencersData","_isEmpaty","Influancers","headerNode","prereg_id","PreRegistrationInformations","onGetPreregistrationDataSuccess","onGetPreregistrationDataError","setInfluencers","fetchPreregistrationData"],"mappings":"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"}
1
+ {"version":3,"file":"tf-checkout-react.esm.js","sources":["../src/api/publicRequest.ts","../src/utils/setConfigs.ts","../src/utils/getQueryVariable.ts","../src/utils/formikErrorFocus.ts","../src/utils/getDomain.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/jsonUtils.ts","../src/api/interceptors.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/hooks/usePixel.ts","../src/validators/index.ts","../src/components/common/SnackbarAlert.tsx","../src/components/common/CustomField.tsx","../src/components/common/PoweredBy.tsx","../src/components/forgotPasswordModal/index.tsx","../src/components/common/ModalComponent/index.tsx","../src/components/idVerificationContainer/VerificationPendingModal.tsx","../src/components/loginModal/index.tsx","../src/components/signupModal/index.tsx","../src/utils/showZero.tsx","../src/components/timerWidget/index.tsx","../src/components/common/CheckboxField.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/billing-info-container/index.tsx","../src/normalizers/index.ts","../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/constants/index.ts","../src/hooks/useCookieListener.ts","../src/hooks/useLocalStorageListener.ts","../src/components/confirmModal/index.tsx","../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/ticketsTable.tsx","../src/components/orderDetailsContainer/index.tsx","../src/components/resetPasswordContainer/index.tsx","../src/components/ticketResale/index.tsx","../src/components/addonsContainer/adapters/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/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 setAccessToken: (token: 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\npublicRequest.setAccessToken = token =>\n (publicRequest.defaults.headers.common.Authorization = token)\n\nexport const setBaseUrl = (baseUrl: string) => {\n publicRequest.setBaseUrl(baseUrl)\n}\n","import _forEach from 'lodash/forEach'\n\nimport { publicRequest } from '../api/publicRequest'\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 [key: string]: string | number;\n}\n\nexport const CONFIGS: IConfigs = {} 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","export function getDomain(url: string, subdomain?: string): string {\n let updatedUrl: any = url.replace(/(https?:\\/\\/)?(www.)?/i, '')\n\n if (!subdomain) {\n updatedUrl = updatedUrl.split('.')\n\n updatedUrl = updatedUrl.slice(updatedUrl.length - 2).join('.')\n }\n\n if (updatedUrl.indexOf('/') !== -1) {\n return updatedUrl.split('/')[0]\n }\n\n return updatedUrl\n}\n","import { getDomain } from './getDomain'\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 = getDomain(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 = getDomain(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 const accessToken: string | null = localStorage.getItem('access_token')\n\n if (!accessToken && !xtfCookie) return\n\n let headers = {}\n\n if (accessToken) {\n headers = {\n Authorization: `Bearer ${accessToken}`,\n }\n }\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 return\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 => {\n return error\n })\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}\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","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 userData = isBrowser ? window.localStorage.getItem('user_data') : null\n const accessToken = isBrowser ? window.localStorage.getItem('access_token') : null\n if (userData && accessToken) {\n const updatedHeaders = {\n ...config.headers,\n Authorization: `Bearer ${accessToken}`,\n }\n config.headers = updatedHeaders\n }\n\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 window.localStorage.removeItem('access_token')\n const errorType = 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 { 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 (accessToken?: string): Promise<IProfileResponse> => {\n const response: AxiosResponse<IProfileResponse, AxiosRequestConfig> =\n await publicRequest.get('/customer/profile/', {\n headers: {\n ...publicRequest.defaults.headers.common,\n Authorization: `Bearer ${accessToken}`,\n },\n })\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 response: AxiosResponse<IOrdersResponse, AxiosRequestConfig> =\n await publicRequest.get(\n `v1/account/orders/?page=${page}&limit=${limit}&filter[event]=${\n eventSlug || CONFIGS.EVENT_SLUG\n }&filter[brand]=${\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 accessToken?: string,\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 headers: {\n ...publicRequest.defaults.headers.common,\n Authorization: `Bearer ${accessToken}`,\n },\n }\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 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 if (promoCode) {\n headers['Promotion-Event'] = String(eventId)\n headers['Promotion-Code'] = promoCode\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-invitation`)\n\nexport const declineInvitation = (hash: string) =>\n publicRequest.post(`v1/ticket/${hash}/decline-invitation`)\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 {\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 handleSetAccessToken = (token: string) => {\n if (token) {\n if (isBrowser) {\n window.localStorage.setItem('access_token', token)\n publicRequest.setAccessToken(token)\n }\n }\n}\n\nexport const getAccessToken = (data: FormData) =>\n publicRequest.post('v1/oauth/access_token', data)\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\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) => {\n const response: AxiosResponse<any, AxiosRequestConfig> = await publicRequest.patch(\n `event/${eventId}/reservation/refresh/`\n )\n return response\n}\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}","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(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 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","/* 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 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 multiline = false,\n minRows,\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 >\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 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 { 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 './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'))\n } catch (e) {\n if (axios.isAxiosError(e)) {\n const error = 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 _get from 'lodash/get'\nimport React, { FC, useState } from 'react'\nimport * as Yup from 'yup'\n\nimport { handleSetAccessToken, 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: (value: { accessToken: string, refreshToken: string }) => 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 const access_token_register = _get(res, 'data.attributes.access_token')\n const refreshToken = _get(res, 'data.attributes.refresh_token')\n handleSetAccessToken(access_token_register)\n\n const tokens = {\n accessToken: access_token_register,\n refreshToken,\n }\n onRegisterSuccess(tokens)\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 _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 { 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 } 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 CheckboxField = ({\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={<Checkbox {...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","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'\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 compactStyleTheme = createTheme({\n components: {\n MuiPaper: {\n defaultProps: {\n sx: compactStyles,\n },\n },\n },\n})\n\nexport interface IDatePickerFieldProps {\n label: string;\n\n field: FieldInputProps<any>;\n form: FormikProps<any>;\n theme: 'dark' | 'light';\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 dateFormat = 'DD/MM/YYYY',\n placeholder = 'dd/mm/yyyy',\n}: IDatePickerFieldProps & IOtherProps) => (\n <ThemeProvider theme={useCompact ? compactStyleTheme : {}}>\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 _map from 'lodash/map'\nimport { nanoid } from 'nanoid'\nimport React from 'react'\n\nimport { IGroupItem } from '../../types'\nimport { CONFIGS } from '../../utils'\nimport { getQueryVariable } from '../../utils/getQueryVariable'\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): IValues => {\n const results = _flatMapDeep(data, ({ fields }) =>\n _map(fields, ({ groupItems }) =>\n _map(groupItems, ({ name, value }) => ({ name, value }))\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\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 !(\n flagFreeTicket &&\n ['country', 'state', 'city', 'street_address'].includes(key)\n )\n ) {\n bodyFormData.append(key, item)\n }\n })\n\n return bodyFormData\n}\n\ninterface ICheckoutBody {\n attributes: {\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 = (element: IGroupItem) => {\n const flagRequirePhone = getQueryVariable('phone_required') === 'true'\n const collectMandatoryWalletAddress =\n getQueryVariable('collect_mandatory_wallet_address') === 'true'\n const { name, required } = element\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) => {\n if (isRequiredField(element) || 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 _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 { 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 { combineValidators, requiredValidator } from '../../validators'\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} 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 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\n onPendingVerification?: () => void;\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\nexport const 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 isCountryCodeEditable = true,\n onPendingVerification = _identity,\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 })\n .catch(() => {\n setIsConfigLoading(false)\n })\n }, [isBrowser])\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 access_token =\n isBrowser && window.localStorage.getItem('access_token')\n ? window.localStorage.getItem('access_token') || ''\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(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()\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 //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 // 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 // fetch user data\n const fetchUserData = async (token: string) => {\n try {\n if ((isBrowser && token) || isLoggedIn) {\n const userDataResponse = await getProfileData(token)\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 useEffect(() => {\n fetchUserData(access_token)\n fetchCart()\n }, [access_token, 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(\n checkoutBody,\n access_token,\n flagFreeTicket\n )\n removeReferralKey()\n onSkipBillingPage(checkoutResponse.data.attributes)\n setLoading(false)\n } catch (e) {\n onSubmitError(e)\n if (e.response?.data?.data?.hasUnverifiedOrder) {\n setPendingVerificationMessage(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 = {}\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 return checkoutBody\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 || '', { 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 )}\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 access_token,\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(access_token)\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 accessToken = _get(resRegister, 'data.attributes.access_token')\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 accessToken,\n refreshToken,\n userProfile,\n })\n } catch (e) {\n setLoading(false)\n\n if (e.response?.data?.data?.hasUnverifiedOrder) {\n setPendingVerificationMessage(e.response?.data?.message)\n } else if (axios.isAxiosError(e)) {\n const error = e?.response?.data?.message\n if (_includes(error, 'You must be aged')) {\n formikHelpers.setFieldError('holderAge', error)\n }\n if (error?.password) {\n formikHelpers.setFieldError('password', error.password)\n formikHelpers.setFieldError('confirmPassword', error.password)\n }\n if (error?.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 undefined,\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 if (e.response?.data?.data?.hasUnverifiedOrder) {\n setPendingVerificationMessage(e.response?.data?.message)\n } else if (axios.isAxiosError(e)) {\n if (\n e.response?.status === 401 ||\n e.response?.data?.error === 'invalid_token'\n ) {\n if (isBrowser) {\n window.localStorage.removeItem('user_data')\n window.localStorage.removeItem('access_token')\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 (e.response?.data.message && !hideErrorsAlertSection) {\n setError(_get(e, 'response.data.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 {!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 ? undefined\n : element.type\n }\n setPhoneValidationIsLoading={\n element.type === 'phone'\n ? setPhoneValidationIsLoading\n : undefined\n }\n label={getFieldLabel(element)}\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 { groupClassname, groupItems } = group\n return (\n <div key={group.id}>\n <div className={groupClassname}>\n {_map(groupItems, element => {\n if (\n _includes(\n ['holderFirstName', 'holderLastName'],\n element.name\n )\n ) {\n element.required = showTicketHolders\n }\n return (\n <div\n className={element.className}\n key={element.name}\n >\n <Field\n {...element}\n type={\n element.type === 'radio'\n ? undefined\n : element.type\n }\n name={`${element.name}-${index}`}\n label={getFieldLabel(element)}\n component={getFieldComponent(element)}\n validate={combineValidators(\n element.required\n ? requiredValidator\n : () =>\n props.errors[\n `${element.name}-${index}`\n ],\n element.onValidate\n ? element.onValidate\n : () =>\n props.errors[`${element.name}-${index}`]\n )}\n setPhoneValidationIsLoading={\n setPhoneValidationIsLoading\n }\n defaultCountry={\n defaultCountry || element.defaultCountry\n }\n isCountryCodeEditable={isCountryCodeEditable}\n />\n </div>\n )\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","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 './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 { CheckboxField } from '../common/index'\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}\n\ninterface AddressTypes {\n city: string;\n line1: string;\n state: string;\n postal_code?: string;\n}\n\nconst CheckoutForm = ({\n total,\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}: 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 const handleSubmit = async (event: React.SyntheticEvent) => {\n setStripeError(null)\n try {\n event.preventDefault()\n\n if (!postalCode && !disableZipSection) {\n setStripeError('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.message || 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 refreshSeatReservation(eventId)\n setStripeError(error.message)\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\n return (\n <div className=\"stripe_payment_container\">\n {!!stripeError && <div className=\"checkout_error_block\">{stripeError}</div>}\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 <CheckboxField\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 `${\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 {CheckboxField} 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\">{paymentPlanConfig.total_installments}</span>\n {' '}payments of{' '}\n <span className=\"payment_plan_highlight\">{currencyNormalizerCreator(\n createFixedFloatNormalizer(2)(paymentPlanConfig.price_per_installment),\n currency\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\">{currencyNormalizerCreator(\n createFixedFloatNormalizer(2)(paymentPlanConfig.admin_fee),\n currency\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\">{currencyNormalizerCreator(\n createFixedFloatNormalizer(2)(paymentPlanConfig.deposit),\n currency\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\n tickets will 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\">first payment of{' '}\n {currencyNormalizerCreator(\n createFixedFloatNormalizer(2)(paymentPlanConfig.price_per_installment),\n currency\n )}</span>\n {paymentPlanConfig.has_admin_fee && (\n <>\n , plus the{' '}\n <span className=\"payment_plan_highlight\">non-refundable admin-fee of{' '}\n {currencyNormalizerCreator(\n createFixedFloatNormalizer(2)(paymentPlanConfig.admin_fee),\n currency\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)(100 - paymentPlanConfig.non_refundable_amount)}%\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\">{'' + paymentPlanConfig.saved_card.last_4_digits}</span>\n </div>\n )}\n <div>\n <CheckboxField\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 { 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 { CheckboxField, 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) => 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}\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}\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 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 }\n setOrderData(orderData)\n setCurrency(order_details?.currency)\n onGetPaymentDataSuccess(paymentDataResponse.data)\n }\n } catch (e) {\n setError(_get(e, 'response.data.message'))\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 console.log(\n '🚀 ~ file: index.tsx:258 ~ fetchConditions ~ conditionsInfo:',\n conditionsResponse\n )\n setConditions(\n conditionsInfo\n ? conditionsInfo.map(item => ({\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'))\n setPaymentIsLoading(false)\n onPaymentError(e.response)\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: '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\">\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)\n : _map(value, item => (\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 {currencyNormalizerCreator(\n createFixedFloatNormalizer(2)(parseFloat(item.price)),\n currency\n )}\n </span>\n <span className=\"add-on-each\">{' each'}</span>\n </div>\n ))}\n </div>\n </div>\n )\n )\n })}\n </div>\n {!isFreeTickets && paymentPlanIsAvailable && (\n <div className=\"payment_toggle\">\n <CheckboxField\n label={\n <span className=\"payment_plan_toggle_label\">\n Click to checkout using Payment Plan\n </span>\n }\n required={true}\n onChange={(_: any) => {\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 total={orderData.guest_count ? orderData.pay_now : orderData.total}\n onSubmit={handlePaymentMiddleWare}\n error={error}\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 ${\n 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","export const X_TF_ECOMMERCE = 'X-TF-ECOMMERCE'\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 callback(JSON.parse(newValue || ''))\n }\n }, 100)\n\n return () => {\n clearInterval(intervalId)\n }\n }, [key, value, callback])\n\n return value\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 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 React, { useState } from 'react'\n\nimport { addToWaitingList } from '../../api'\nimport { isBrowser } from '../../utils'\nimport { ErrorFocus } from '../../utils/formikErrorFocus'\nimport { combineValidators, emailValidator, requiredValidator } 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, 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've been added to the waiting list!</p>\n <p>You'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 <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 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(defaultMaxQuantity ?? 10),\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 type=\"submit\" variant=\"contained\" className=\"waiting-list-button\">\n {loading ? <CircularProgress size=\"22px\" /> : 'ADD TO WAITING LIST'}\n </Button>\n </Form>\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 _sortBy from 'lodash/sortBy'\nimport React, { ReactNode } from 'react'\n\nimport { TicketRow } from './TicketRow'\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}\n\nexport const TicketsSection = ({\n event = { currency: {} },\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}: ITicketsSectionProps) => {\n const {\n currency: { symbol },\n } = event\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 ? currencySybmol : symbol\n return (\n <>\n {!hideTicketsHeader && ticketsHeaderComponent}\n {sortedTicketsList.map((ticket, i, arr) => {\n const ticketPrice = `${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\n ? 'SOLD OUT'\n : ticketIsFree\n ? 'FREE'\n : ticketPrice\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 </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 {ticket.feeIncluded ? '(incl. Fees)' : '(excl. 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 </div>\n </React.Fragment>\n )\n })}\n {!hideTableTicketsHeader && tableTicketsHeaderComponent}\n {tableTickets.map((ticket: any, i: any, arr: any) => {\n const ticketPrice = `${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 : ticketPrice\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 </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 {ticket.feeIncluded ? '(incl. Fees)' : '(excl. 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 </div>\n </React.Fragment>\n </>\n )\n })}\n </>\n )\n}\n","import './style.css'\n\nimport { createTheme, ThemeOptions } from '@mui/material'\nimport Alert from '@mui/material/Alert'\nimport { ThemeProvider } from '@mui/private-theming'\nimport { CSSProperties } from '@mui/styles'\nimport axios, { AxiosError } from 'axios'\nimport jwt_decode from 'jwt-decode'\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 names_required: boolean;\n age_required: boolean;\n phone_required: boolean;\n hide_phone_field: boolean;\n event_id: string;\n hash?: string | number;\n total?: string | number;\n hasAddOn?: boolean;\n free_ticket: boolean;\n collect_optional_wallet_address?: boolean;\n collect_mandatory_wallet_address?: 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 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 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(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 if (isWindowDefined) {\n const access_token = window.localStorage.getItem('access_token')\n if (access_token) {\n const decoded = jwt_decode<{ exp: number }>(access_token)\n if (decoded && decoded.exp < Date.now() / 1000) {\n window.localStorage.removeItem('access_token')\n window.localStorage.removeItem('user_data')\n }\n }\n window.localStorage.removeItem('extraData')\n }\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('access_token')\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 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 => 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 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 nameIsRequired = pageConfigsData.names_required ?? false\n const ageIsRequired = pageConfigsData.age_required ?? false\n const phoneIsRequired = pageConfigsData.phone_required ?? false\n const hidePhoneField = pageConfigsData.hide_phone_field ?? false\n const hasAddOn = pageConfigsData.has_add_on ?? false\n const freeTicket = pageConfigsData.free_ticket ?? false\n const collectOptionalWalletAddress =\n pageConfigsData.collect_optional_wallet_address ?? false\n const collectMandatoryWalletAddress =\n pageConfigsData.collect_mandatory_wallet_address ?? 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 access_token =\n isBrowser && window.localStorage.getItem('access_token')\n ? window.localStorage.getItem('access_token') || ''\n : ''\n\n const checkoutBody = createCheckoutDataBodyWithDefaultHolder(\n ticketQuantity,\n userData\n )\n\n const checkoutResponse = enableBillingInfoAutoCreate\n ? await postOnCheckout(checkoutBody, access_token, 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 names_required: nameIsRequired,\n phone_required: phoneIsRequired,\n age_required: ageIsRequired,\n hide_phone_field: hidePhoneField,\n free_ticket: freeTicket,\n collect_optional_wallet_address: collectOptionalWalletAddress,\n collect_mandatory_wallet_address: collectMandatoryWalletAddress,\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 try {\n const userDataResponse = await getProfileData()\n const profileData = _get(userDataResponse, 'data')\n const profileDataObj = setLoggedUserData(profileData)\n return profileDataObj\n } catch (e) {\n throw new Error(e)\n }\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}>\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 ${\n !isLoggedIn ? 'event-closed-on-bottom' : ''\n }`}\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, filter: string) => {\n try {\n setLoading(true)\n const response = await getOrders(page, limit, filter)\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 (error.response?.data.error === 'invalid_token') {\n if (isWindowDefined) {\n window.localStorage.removeItem('user_data')\n window.localStorage.removeItem('access_token')\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 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 _map from 'lodash/map'\nimport React, { Fragment, useState } from 'react'\n\nimport { downloadPDF } from '../../utils'\nimport SnackbarAlert from '../common/SnackbarAlert'\n\ninterface IAddOnTypes {\n name: string;\n groupName: string;\n status: string;\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\n icon?: string;\n displayColumnNameInRow?: boolean;\n ticketsTitle?: string;\n}\n\ntype PdfDownload = {\n hash: string;\n loading: boolean;\n}\n\nconst TicketsTable = ({\n tickets = [],\n columns = [],\n handleSellTicket = _identity,\n handleRemoveFromResale = _identity,\n icon = '',\n displayColumnNameInRow = false,\n canSellTicket = true,\n ticketsTitle = 'Your Tickets',\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 ? (\n <CircularProgress size=\"22px\" />\n ) : (\n 'Download'\n )}\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 <Fragment key={index}>\n <TableRow>{getRow(ticket)}</TableRow>\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(\n (add_on: IAddOnTypes, index: number) => (\n <TableRow key={index}>\n <TableCell>{add_on.groupName && `${add_on.groupName}: `} {add_on.name}</TableCell>\n <TableCell>{add_on.status}</TableCell>\n </TableRow>\n )\n )}\n </TableBody>\n </Table>\n </TableCell>\n </TableRow>\n )}\n </Fragment>\n ))}\n </TableBody>\n </Table>\n </TableContainer>\n </div>\n )\n}\n\nexport default TicketsTable\n","import './style.css'\n\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 _find from 'lodash/find'\nimport _get from 'lodash/get'\nimport _has from 'lodash/has'\nimport _identity from 'lodash/identity'\nimport _map from 'lodash/map'\nimport moment from 'moment-timezone'\nimport React, { useEffect, useState } from 'react'\n\nimport { getOrderDetails, removeFromResale, resaleTicket } from '../../api'\nimport { isBrowser } from '../../utils'\nimport ConfirmModal from '../confirmModal'\nimport { InitialValuesTypes, TicketResaleModal } from '../ticketResaleModal'\nimport TicketsTable, { IActionColumns, ITicketTypes } from './ticketsTable'\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 personalLinkIcon?: string;\n displayColumnNameInRow?: boolean;\n canSellTicket?: boolean;\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\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 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}: 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 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 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 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 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\n return (\n <div className=\"order-details\">\n <h1 className=\"layout-title\">Order Details</h1>\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 (typeof window !== 'undefined') {\n window.location.assign(ordersPath ?? '/orders')\n }\n }}\n >\n Back to Orders\n </button>\n </div>\n </div>\n </div>\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 />\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 (typeof window !== 'undefined') {\n window.location.assign(ordersPath ?? '/orders')\n }\n }}\n >\n Return to Order History\n </button>\n </div>\n\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 )\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}\n\nexport const TicketResaleContainer = ({\n onProcessTicketSuccess = () => {},\n onProcessTicketError = () => {},\n onDeclineTicketPurchaseSuccess = () => {},\n onDeclineTicketPurchaseError = () => {},\n orderHash,\n billingPath,\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 data = _get(response, 'data.attributes')\n const age_required = _get(data, 'age_required', false)\n const names_required = _get(data, 'names_required', false)\n const event_id = _get(data, 'event_id')\n\n onProcessTicketSuccess(response.data)\n window.location.href = `${\n billingPath ?? '/billing/billing-info/'\n }?age_required=${age_required}&names_required=${names_required}&event_id=${event_id}`\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 _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 { 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'\n\nimport { getAddons, getCart, getCheckoutPageConfigs, postOnCheckout } from '../../api'\nimport { currencyNormalizerCreator } from '../../normalizers'\nimport { ICheckoutPageConfigs } from '../../types'\nimport {\n createCheckoutDataBodyWithDefaultHolder,\n createMarkup,\n getQueryVariable,\n isBrowser,\n} from '../../utils'\nimport { VerificationPendingModal } from '../idVerificationContainer/VerificationPendingModal'\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}\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}: 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 useEffect(() => {\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 const nameIsRequired = pageConfigsData.names_required ?? false\n const ageIsRequired = pageConfigsData.age_required ?? false\n const phoneIsRequired = pageConfigsData.phone_required ?? false\n const hasAddOn = pageConfigsData.has_add_on ?? false\n const freeTicket = pageConfigsData.free_ticket ?? false\n const collectOptionalWalletAddress =\n pageConfigsData.collect_optional_wallet_address ?? false\n const collectMandatoryWalletAddress =\n pageConfigsData.collect_mandatory_wallet_address ?? 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 names_required: nameIsRequired,\n phone_required: phoneIsRequired,\n age_required: ageIsRequired,\n event_id: String(eventId),\n hash,\n total,\n hasAddOn,\n free_ticket: freeTicket,\n collect_optional_wallet_address: collectOptionalWalletAddress,\n collect_mandatory_wallet_address: collectMandatoryWalletAddress,\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 names_required: nameIsRequired,\n phone_required: phoneIsRequired,\n age_required: ageIsRequired,\n event_id: String(eventId),\n hasAddOn,\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 return (\n <>\n {!!cartExpirationTime && enableTimer && (\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 <p className={`${classNamePrefix}_info_title`}>Get Your Tickets</p>\n <button\n type=\"button\"\n className={`${classNamePrefix}_skip`}\n onClick={() => {\n handleClearAddons()\n handleConfirm({}, true)\n }}\n >\n Skip\n </button>\n </div>\n <div className={`${classNamePrefix}_title`}>UPGRADES & ADD-ONS</div>\n <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 >\n {({ values }) => {\n const isConfirmDisabled = !isAtLeastOneAddonSelected(values)\n\n return (\n <Form autoComplete=\"off\" className=\"form_holder\">\n <>\n {addons.map((addon: any) => {\n const price = addon.feeIncluded ? addon.price : addon.cost\n const isAddonFree = Number(price) === 0\n\n const addonNormalizedPrice = isAddonFree\n ? 'FREE'\n : currencyNormalizerCreator(\n getNormalizedPrice(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 </div>\n <div className={`${classNamePrefix}_product_price`}>\n {addonNormalizedPrice}\n {!isAddonFree && (\n <span className={`${classNamePrefix}_product_fee`}>\n {addon.feeIncluded ? '(incl. Fees)' : '(excl. Fees)'}\n </span>\n )}\n </div>\n </div>\n <div\n className={`${classNamePrefix}_product_desc`}\n dangerouslySetInnerHTML={createMarkup(addon.description)}\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 <button\n type=\"submit\"\n className={`${\n 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 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 = 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\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> 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 = 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 = e?.response?.data?.message || 'Error'\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 = 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 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 _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 = 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 names_required: nameIsRequired = false,\n age_required: ageIsRequired = false,\n phone_required: phoneIsRequired = false,\n hide_phone_field: hidePhoneField = false,\n has_add_on: hasAddOn = false,\n free_ticket: freeTicket = false,\n collect_optional_wallet_address: collectOptionalWalletAddress = false,\n collect_mandatory_wallet_address: collectMandatoryWalletAddress = 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, undefined, 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 names_required: nameIsRequired,\n phone_required: phoneIsRequired,\n age_required: ageIsRequired,\n hide_phone_field: hidePhoneField,\n free_ticket: freeTicket,\n collect_optional_wallet_address: collectOptionalWalletAddress,\n collect_mandatory_wallet_address: collectMandatoryWalletAddress,\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 { createTheme, 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 Tooltip from '@mui/material/Tooltip'\nimport { ThemeProvider } from '@mui/private-theming'\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 { VERIFICATION_MESSAGES, VERIFICATION_STATUSES } 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) => 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 [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 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 useEffect(() => {\n let intervalId: any = null\n const orderHash = getQueryVariable('order_hash') || ''\n\n const getUrl = async () => {\n try {\n const urlResponse = await getNetverifyUrl()\n setNetverifyUrl(urlResponse.netverifyUrl)\n onGetVerifyUrlSuccess(urlResponse)\n } catch (error) {\n onGetVerifyUrlError(error)\n }\n }\n\n const getVerificationStatus = async () => {\n try {\n const statusResponse = await checkVerificationStatus()\n const { status } = statusResponse.data.attributes\n\n if (verificationStatus !== status) {\n setVerificationStatus(status)\n setModalData({\n displaModal:\n status === VERIFICATION_STATUSES.APPROVED ||\n status === VERIFICATION_STATUSES.FAILED,\n hideCancelBtn: true,\n message:\n status === VERIFICATION_STATUSES.APPROVED\n ? VERIFICATION_MESSAGES.APPROVED\n : status === VERIFICATION_STATUSES.FAILED\n ? VERIFICATION_MESSAGES.FAILED\n : status,\n })\n }\n onGetVerificationStatusSuccess(statusResponse)\n } catch (error) {\n onGetVerificationStatusError(error)\n } finally {\n setLoadingStatus(false)\n }\n }\n\n const getCustomerOrderStatus = async () => {\n try {\n const customerOrderResponse = await checkCustomerOrder(orderHash)\n return customerOrderResponse\n } catch (error) {\n throw error\n }\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.PENDING && (\n <div className=\"verify-message\">{VERIFICATION_MESSAGES.PENDING}</div>\n )}\n {!isAccountVerifiedOrPending && (\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 formFieldsNotLoggedIn: 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> 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 formFieldsLoggedIn: 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 Mana Common 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'\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 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}: 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 />\n </div>\n )\n )\n })}\n </div>\n </SectionContainer>\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 { 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 { formFieldsLoggedIn, formFieldsNotLoggedIn } 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\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}) => {\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 useCookieListener(X_TF_ECOMMERCE, value => setIsLoggedIn(Boolean(value)))\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 = e?.response?.data?.message || '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 <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> 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 }\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 />\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 )\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 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 }\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}) => {\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)\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 <>\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 </>\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 _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 } = props\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 <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 )\n}\n"],"names":["headers","Accept","isWindowDefined","window","authGuestToken","localStorage","getItem","publicRequest","axios","create","baseURL","setBaseUrl","baseUrl","defaults","setGuestToken","guestToken","common","setAccessToken","token","Authorization","CONFIGS","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","getDomain","url","subdomain","updatedUrl","replace","slice","join","indexOf","setCustomCookie","name","days","expires","date","Date","setTime","getTime","toUTCString","domain","hostname","cookie","getCookieByName","cname","ca","c","charAt","deleteCookieByName","downloadPDF","pdfUrl","xtfCookie","accessToken","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","_","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","isJson","e","interceptors","request","use","config","updatedHeaders","additionalCookiesHeaderValue","X_SOURCE_ORIGIN","setItem","method","status","removeItem","errorType","Promise","reject","authorize","post","CLIENT_ID","register","getProfileData","logout","getOrders","page","limit","eventSlug","EVENT_SLUG","BRAND_SLUG","getOrderDetails","orderId","addToCart","referrer","getCart","postOnCheckout","freeTicket","getEvent","pk","referralValue","params","referralId","searchParams","referral_key","referralIdlocal","getTickets","eventId","promoCode","invitationHash","String","tickets","ticketsArr","adaptedResponse","getCountries","getStates","sendRSVPInfo","addToWaitingList","postReferralVisits","validatePhoneNumber","getPaymentData","hash","handlePaymentSuccess","orderHash","undefined","handleFreeSuccess","getConfirmationData","getConditions","adaptedData","_map","nanoid","text","checked","returnData","resaleTicket","removeFromResale","processTicket","declineInvitation","getCustomerExistsData","accessHash","getDelegationTickets","res","issueTicket","setCustomHeader","guestHeaderResponseValue","guestHeaderExistingValue","guestHeader","handleSetAccessToken","createPaymentPlan","stripePaymentMethodId","stripe_payment_method_id","forgotPassword","resetPassword","getAddons","result","addons","getCheckoutPageConfigs","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","appendScriptsToHeader","code","tempEl","innerHTML","scripts","getElementsByTagName","script","src","head","addGTagToHeader","tagId","links","trim","append","scriptBody","dataLayer","gtag","args","usePixel","options","getScript","pixels","brandGoogleTagKey","eventGoogleTagKey","eventGoogleTagManagerLinkerDomains","console","useEffect","emailRegex","combineValidators","validators","error_message","isFalsy","addEventListener","err","requiredValidator","errorMessage","emailValidator","test","SnackbarAlert","isOpen","position","autoHideDuration","variant","onClose","React","className","Snackbar","open","anchorOrigin","vertical","horizontal","classes","root","Alert","severity","icon","action","filled","CustomField","label","field","selectOptions","form","touched","submitCount","theme","inputProps","pInputProps","InputProps","inputRef","multiline","minRows","maxRows","disabled","useState","Boolean","isShrinked","setIsShrinked","_ref","useRef","isAutoFilled","current","matches","isSelectField","isTouched","_includes","customTheme","useTheme","sx","input","_isFunction","_isObject","TextField","placeholder","select","fullWidth","helperText","onFocus","SelectProps","MenuProps","InputLabelProps","shrink","onBlur","option","PoweredBy","alt","style","top","left","transform","minWidth","backgroundColor","border","outline","padding","Schema","Yup","shape","required","ForgotPasswordModal","onLoginButtonClick","onForgotPasswordSuccess","onForgotPasswordError","showPoweredByImage","loading","setLoading","onForgotPassword","isAxiosError","_onClose","Modal","Box","Formik","validationSchema","onSubmit","isValid","dirty","handleSubmit","Form","Field","component","CircularProgress","size","onClick","maxHeight","overflow","actions","children","modalClassName","MuiModal","Button","VerificationPendingModal","props","displayModal","showModal","setShowModal","LoginModal","onLogin","alreadyHasUser","userExpired","onGetProfileDataSuccess","_identity","onGetProfileDataError","onSignup","modalClassname","logo","showForgotPasswordButton","showSignUpButton","setError","password","authRes","profileResponse","profileSpecifiedData","profileDataObj","stringify","event","CustomEvent","dispatchEvent","validate","meta","SignupSchema","min","confirmPassword","oneOf","SignupModal","onRegisterSuccess","onRegisterError","values","formData","FormData","set","CLIENT_SECRET","access_token_register","refreshToken","tokens","showZero","intNumber","Number","_isNumber","TimerWidget","expires_at","buyLoading","onCountdownFinish","showTimer","setShowTimer","handleCountdownFinish","renderer","minutes","seconds","completed","hideTimer","timerRl","visibility","SVG","Cross","width","height","fill","Countdown","now","memo","CheckboxField","rest","FormControl","FormGroup","FormControlLabel","control","Checkbox","componentsProps","typography","checkbox","FormHelperText","PhoneNumberField","setFieldError","setFieldValue","setFieldTouched","setErrors","disableDropdown","defaultCountry","setPhoneValidationIsLoading","isCountryCodeEditable","debounceCb","useCallback","_debounce","cb","newErrors","MuiPhoneNumber","onChange","dialCode","autoFormat","disableAreaCodes","countryCodeEditable","Loader","SelectField","isMultiple","selectId","handleChange","target","getSelectedItemLabel","selectedValue","selectedItem","find","InputLabel","Select","labelId","multiple","OutlinedInput","renderValue","selected","selectedLabels","selectedLabel","textAlign","map","MenuItem","ListItemText","primary","CopyMessageModal","showCopyModal","DATE_SIZE","compactStyles","margin","minHeight","marginRight","compactStyleTheme","createTheme","components","MuiPaper","defaultProps","DatePickerField","useCompact","dateFormat","ThemeProvider","LocalizationProvider","dateAdapter","AdapterMoment","DatePicker","PopperProps","placement","showDaysOutsideCurrentMonth","disableFuture","inputFormat","mask","renderInput","evt","NativeSelectField","htmlFor","RadioGroupField","radios","radioId","FormLabel","RadioGroup","radio","Radio","getInitialValues","propsInitialValues","userValues","results","_flatMapDeep","groupItems","groupItem","createRegisterFormData","checkoutBody","flagFreeTicket","bodyFormData","includes","createCheckoutDataBody","holderAge","restValues","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","LogicRunner","setStates","setValues","setUserValues","onGetStatesSuccess","onGetStatesError","shouldFetchCountries","brandOptIn","prevCountry","fetchStates","mappedStates","stateExists","userDataEncoded","getStoredUserData","parsedData","mappedValues","brand_opt_in","extraDataJSON","extraData","BillingInfoContainer","ticketHoldersFields","buttonName","onSubmitError","onGetCartSuccess","onGetCartError","onGetCountriesSuccess","onGetCountriesError","onLoginSuccess","isLoggedIn","pIsLoggedIn","accountInfoTitle","hideLogo","themeOptions","onErrorClose","hideErrorsAlertSection","onSkipBillingPage","skipPage","canSkipHolderNames","enableTimer","onPendingVerification","setExtraData","isConfigLoading","setIsConfigLoading","isNewUser","setIsNewUser","themeMui","access_token","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","event_id","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","pendingVerificationMessage","setPendingVerificationMessage","prevData","addAddOnsInAttributes","selectedAddOns","add_ons","hasUniqueId","isEqualData","_isEqual","getQuantity","cart","qty","forEach","quantity","fetchCountries","fetchCart","cartInfo","Array","fetchUserData","userDataResponse","collectPaymentData","_isEmpty","checkoutResponse","removeReferralKey","hasUnverifiedOrder","collectCheckoutBody","profileData","selectedCountry","_find","toLowerCase","initialCountry","Backdrop","color","zIndex","ttf_opt_in","data_capture","instagram","company","businessCategory","jobTitle","enableReinitialize","formikHelpers","updatedUserData","checkoutBodyForRegistration","resRegister","userProfile","labelClassName","Fragment","group","groupClassname","el","handleBlur","format","_item","currencyNormalizerCreator","currency","getCurrencySymbolByCurrency","createFixedFloatNormalizer","fixedValue","toFixed","base","fontSize","letterSpacing","invalid","CheckoutForm","total","stripeCardOptions","stripe_client_secret","billing_info","isLoading","handleSetLoading","conditions","disableZipSection","paymentButtonText","forPaymentPlan","stripe","useStripe","elements","useElements","postalCode","setPostalCode","stripeError","setStripeError","checkboxes","setCheckboxes","allowSubmit","setAllowSubmit","preventDefault","card","getElement","CardNumberElement","address","line1","postal_code","confirmCardSetup","payment_method","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","price","guest_count","pay_now","initialReviewValues","order_details","stripe_payment_plan_enabled","stripe_payment_plan_configuration","PaymentContainer","paymentFields","handlePayment","formTitle","errorText","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","count","debt","tableTypes","fetchConditions","conditionsResponse","conditionsInfo","log","handlePaymentMiddleWare","paymentSuccessResponse","orderValue","orderCurrency","showPaymentForm","hasTableTypes","paymentFieldsData","normalizer","parseFloat","Container","maxWidth","display","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","dangerouslySetInnerHTML","custom_confirmation_page_text","custom_confirmation_page_text_full_replacement","attach_tickets","disable_referral","ref","navigator","clipboard","writeText","pricing","getPreRegistrationInfluancers","getPreRegistrationShareOptions","submitShareAction","phase","X_TF_ECOMMERCE","useCookieListener","handler","getCookie","intervalValue","setIntervalValue","cookieRef","handleCookieChange","currentCookie","prevCookie","setInterval","clearInterval","useLocalStorageListener","callback","setValue","intervalId","newValue","ConfirmModal","hideCancelBtn","onConfirm","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","AccessCodeSection","setCode","updateTickets","isAccessCodeHasValue","onKeyPress","PromoCodeSection","codeIsApplied","showPromoInput","setShowPromoInput","setCodeIsApplied","codeIsInvalid","setCodeIsInvalid","promoText","showAlertIcons","isPromoCodeHasValue","renderInputField","DoneSvg","preProcessor","XmarkSvg","ReferralLogic","isAlreadyCounted","getTicketSelectOptions","maxCount","minCount","multiplier","Math","defineIsSalesClosed","eventDatesInfo","salesStarted","salesEnded","presalesStarted","presalesEnded","presalesEnabled","isSalesClosed","TicketRow","ticketTier","prevTicketTier","selectedTickets","handleTicketSelect","isSeatMapAllowed","tableType","soldOutMessage","toUpperCase","presales_enabled","maxGuests","maxQuantity","minGuests","minQuantity","ticketsClosedMessage","canPurchaseTicket","displayTicket","isDirectPurchaseAllowed","onSaleContent","borderRadius","displayEmpty","PaperProps","returnValue","isSoldOut","sold_out","soldOut","TicketsSection","ticketsList","sortBySoldOut","ticketsHeaderComponent","tableTicketsHeaderComponent","hideTicketsHeader","hideTableTicketsHeader","showGroupNameBlock","currencySybmol","tableTickets","sortedTicketsList","_sortBy","showGroup","priceSymbol","arr","ticketPrice","ticketOldPrice","oldPrice","ticketSelect","ticketIsDiscounted","ticketIsFree","ticketPriceElem","isNewGroupTicket","feeIncluded","depositPercent","TicketsContainer","getTicketsLabel","onAddToCartSuccess","contentStyle","onAddToCartError","onGetTicketsSuccess","onGetTicketsError","onLogoutSuccess","onLogoutError","queryPromoCode","isPromotionsEnabled","isAccessCodeEnabled","hideSessionButtons","hideWaitingList","enableBillingInfoAutoCreate","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","decoded","jwt_decode","exp","getTicketsApi","fetchPreregisteredsData","handleLogout","handleExternalLogin","handleOnClose","handleOnLogin","isUpdateingCode","previewKey","eventResponse","ValidPromoCode","is_access_code","preregistrationData","influencers","prevState","userDataString","handleOrdersClick","handleBook","optionName","ticketId","isTableType","productCartQuantity","ticketQuantity","alternative_view_id","product_cart_quantity","product_options","ticket_types","ticket_price","pageConfigsDataResponse","pageConfigsData","skipBillingPage","skip_billing_page","nameIsRequired","ageIsRequired","phoneIsRequired","hasAddOn","has_add_on","isTicketOnSale","eventHasTickets","removeEventListener","handleGetTicketClick","scrollIntoView","behavior","block","inline","handleNotAvailableTicketsClick","bookButtonIsDisabled","flagSeatMapAllowed","isTicketAvailable","wrappedActionsSectionComponent","cloneElement","externalUrl","redirectUrl","eventSaleIsNotStarted","salesStart","referralsEnabled","referrals","canShowGetTicketBtn","hideTopInfluencers","isTableMapEnabled","notAvailableTicketsMessage","_filter","ordinarTickets","waitingListMaxQuantity","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","TicketsTable","handleSellTicket","handleRemoveFromResale","displayColumnNameInRow","canSellTicket","ticketsTitle","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","onReturnButtonClick","personalLinkIcon","ticketsTableColumns","pOrderId","referralTitle","itemsTitle","removeFromResaleLoading","setRemoveFromResaleLoading","resaleTicketLoading","setResaleTicketLoading","showResaleModal","setShowResaleModal","showRemoveResaleModal","setShowRemoveResaleModal","activeTicket","setActiveTicket","ticketTypesArr","sellTicketType","ticket_type_hash","active","handleOnSubmit","updatedData","onCloseRemoveResale","onConfirmRemoveResale","orderSummery","columnsProps","assign","rel","sales_referred","is_table","guests_count","deposit_paid","remaining","password_confirmation","ResetPasswordContainer","tokenProps","onResetPasswordSuccess","onResetPasswordError","payload","TicketResaleContainer","onProcessTicketSuccess","onProcessTicketError","onDeclineTicketPurchaseSuccess","onDeclineTicketPurchaseError","billingPath","successMessage","setSuccessMessage","isDeclined","addonsWithGroupsAdapter","addonsData","addOnsGroups","addOnGroupsWithVariants","addOnsWithoutVariants","addon","addOnGroupId","currentGroupId","exsistingGroupIndex","findIndex","addOnGroup","variants","concat","adaptedAddons","cartAdapter","cartData","expiresAt","carts_arr","AddonComponent","classNamePrefix","handleAddonChange","stock","_isNull","getNormalizedPrice","minimizedValue","normalized","generateSelectOptions","generateStockBasedOnLimitations","flagLimitToTicketQuantity","limitPerTicket","allowedStockCount","stockBasedOnLimitPerTicket","filterStockBasedOnAvailability","generatedStock","availableStock","filteredStockCount","getAddonSelectOptions","choosedTicketCount","addonsWithOptions","groupsWithSelectedVariantsInfo","groupsWithVariants","simpleAddonStock","variantId","variantStock","stockBasedOnLimitation","choosedVariants","selectedCount","allowedVariantStockCount","variantOptions","addonOptions","getTicketRelatedAddons","filteredAddons","prerequisiteTicketTypeIds","getSortedAddons","sortDirection","addonsCopy","unsortedVariants","sortOrder","sortedVariants","sortedAddons","_reverse","isAtLeastOneAddonSelected","selectedAddons","AddonsContainter","onGetAddonsPageInfoSuccess","onGetAddonsPageInfoError","onPostCheckoutSuccess","onPostCheckoutError","onConfirmSelectionSuccess","onConfirmSelectionError","setAddons","addonsOptions","setAddonsOptions","groupsWithSelectedVariants","setGroupsWithSelectedVariants","groupsWithInitialVariantsValues","setGroupsWithInitialVariantsValues","cartExpirationTime","setCartExpirationTime","getAddonsPageInfo","choosedTicketID","ticketRelatedAddons","sortedTicketAddons","recreateGroupVariantsSelectOptions","groupId","changedGroupd","remainingGroupStock","recreatedVariantsOptions","variantCurrSelectedValue","allowedOptionCount","onFieldChange","changeableGroup","currGroupId","currSelectedVariantId","currSelectedVariantCount","currSelectedVariantPrevCount","currSelectedGroupCount","updatedGroupsWithSelectedVariants","handleConfirm","skipAddonPage","handleClearAddons","isConfirmDisabled","autoComplete","cost","isAddonFree","addonNormalizedPrice","imageUrl","description","LoginForm","onLoginError","onForgotPasswordButtonClick","onSignupButtonClick","updateFormFieldsAttributes","formFields","updatedFormFields","fieldSection","fieldSectionAttributes","updatedFields","fieldItemAttributes","getFieldClassNames","existingClassNames","elem","getElementById","parentElement","clientWidth","insertHTML","elementId","childNodes","insertAdjacentHTML","SectionContainer","FieldsSection","containerClass","disableField","groupLabel","groupLabelVars","groupLabelClassName","groupClassName","fieldData","fieldIndex","classNames","collectStates","formDefaultFields","RegistrationForm","additionalFieldAttribute","registrationType","customerEmail","onRegisterAccountSuccess","onRegisterAccountError","setErrorMessage","showErrorModal","setshowErrorModal","fetchCountryId","handleRegisterAccount","profileRes","VERIFICATION_STATUSES","PENDING","APPROVED","FAILED","WRONG_CUSTOMER","VERIFICATION_MESSAGES","DELEGATION_ACCESS_ERROR","IssueTicketForm","selectTicketTypeOptions","resetForm","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","Tooltip","arrow","tooltip","m","from","marginLeft","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","displaModal","modalData","setModalData","isAccountVerifiedOrPending","handleClose","callbackNetVerify","transactionStatus","getUrl","urlResponse","getVerificationStatus","statusResponse","getCustomerOrderStatus","customerOrderResponse","iframe","RedirectModal","onClickOk","RsvpContainer","showSection","modal","setModal","handleModalClose","requestData","formFieldsNotLoggedIn","formFieldsLoggedIn","shareOptionsAdapter","shareUrl","_split","socialUrl","point","getShuffleMethodByName","tokenShuffleMethod","reverseString","reverse","symmetricShuffleString","lengthOfStr","part1","shuffleEveryTwoSymbolsInString","words","shuffledStr","isDocumentDefined","PreRegistration","pFormFields","isPreregistrationStarted","onConfirmationSuccess","onConfirmationError","show","confirmModalState","setConfirmModalState","referrerId","updatedValues","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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"}