tf-checkout-react 1.0.99 → 1.0.100

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.
@@ -1 +1 @@
1
- {"version":3,"file":"tf-checkout-react.cjs.development.js","sources":["../node_modules/regenerator-runtime/runtime.js","../src/validators/index.ts","../src/utils/setConfigs.ts","../src/utils/getQueryVariable.ts","../src/utils/formikErrorFocus.ts","../src/utils/downloadPDF.tsx","../src/utils/createCheckoutDataBodyWithDefaultHolder.ts","../src/api/index.ts","../src/components/loginModal/index.tsx","../src/components/registerModal/index.tsx","../src/components/billing-info-container/utils.ts","../src/components/common/CheckboxField.tsx","../src/components/common/CustomField.tsx","../src/normalizers/index.ts","../src/components/common/FormikPhoneNumberField.tsx","../src/components/common/Loader.tsx","../src/components/common/SelectField.tsx","../src/components/billing-info-container/index.tsx","../src/components/stripePayment/index.tsx","../src/utils/showZero.tsx","../src/components/timerWidget/index.tsx","../src/components/paymentContainer/index.tsx","../src/components/confirmationContainer/config.ts","../src/components/confirmationContainer/social-buttons.tsx","../src/components/confirmationContainer/index.tsx","../src/components/ticketsContainer/utils.ts","../src/components/ticketsContainer/TicketRow.tsx","../src/components/ticketsContainer/TicketsSection.tsx","../src/components/waitingList/index.tsx","../src/utils/getImage.ts","../src/components/ticketsContainer/PromoCodeSection.tsx","../src/components/countdown/index.tsx","../src/components/ticketsContainer/ReferralLogic.tsx","../src/components/ticketsContainer/index.tsx","../src/components/myTicketsContainer/tableConfig.tsx","../src/components/myTicketsContainer/row.tsx","../src/components/myTicketsContainer/index.tsx","../src/components/orderDetailsContainer/ticketsTable.tsx","../src/components/common/RadioField.tsx","../src/components/ticketResaleModal/index.tsx","../src/components/confirmModal/index.tsx","../src/components/orderDetailsContainer/index.tsx","../src/components/ticketResale/index.tsx"],"sourcesContent":["/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n try {\n // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n define({}, \"\");\n } catch (err) {\n define = function(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = GeneratorFunctionPrototype;\n define(Gp, \"constructor\", GeneratorFunctionPrototype);\n define(GeneratorFunctionPrototype, \"constructor\", GeneratorFunction);\n GeneratorFunction.displayName = define(\n GeneratorFunctionPrototype,\n toStringTagSymbol,\n \"GeneratorFunction\"\n );\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n define(prototype, method, function(arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n });\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n define(Gp, toStringTagSymbol, \"Generator\");\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n define(Gp, iteratorSymbol, function() {\n return this;\n });\n\n define(Gp, \"toString\", function() {\n return \"[object Generator]\";\n });\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, in modern engines\n // we can explicitly access globalThis. In older engines we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","const emailRegex = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/\r\n\r\nexport const combineValidators = (...validators: any) => (...value: any) => {\r\n for (let i = 0; i < validators.length; ++i) {\r\n const error_message = validators[i](...value)\r\n if (error_message) return error_message\r\n }\r\n}\r\n\r\nexport const requiredValidator = (value?: string | number, message?: string): string => {\r\n let errorMessage = ''\r\n if (!value) {\r\n errorMessage = message || 'Required'\r\n }\r\n return errorMessage\r\n}\r\n\r\nexport const emailValidator = (email: string) => {\r\n return !emailRegex.test(email) ? 'Please enter a valid email address' : '' \r\n}\r\n","import _forEach from 'lodash/forEach'\r\nimport { publicRequest, setXSourceOrigin } from '../api'\r\n\r\ninterface IConfigs {\r\n BASE_URL: string;\r\n CLIENT_ID: string;\r\n CLIENT_SECRET: string;\r\n STRIPE_PUBLISHABLE_KEY: string;\r\n X_SOURCE_ORIGIN: string;\r\n\r\n [key: string]: string | number;\r\n}\r\n\r\nexport const CONFIGS: IConfigs = {} as IConfigs\r\n\r\nexport const setConfigs = (configs: IConfigs) => {\r\n _forEach(configs, (value, key) => {\r\n CONFIGS[key] = value\r\n })\r\n\r\n publicRequest.setBaseUrl(CONFIGS.BASE_URL)\r\n\r\n if (CONFIGS.X_SOURCE_ORIGIN) {\r\n setXSourceOrigin(CONFIGS.X_SOURCE_ORIGIN)\r\n }\r\n}\r\n","export const getQueryVariable = (variable: string) => {\r\n if (typeof window !== 'undefined') {\r\n const query = window.location.search.substring(1)\r\n const vars = query.split('&')\r\n for (let i = 0; i < vars.length; i++) {\r\n const pair = vars[i].split('=')\r\n if (pair[0] === variable) {\r\n return pair[1]\r\n }\r\n }\r\n }\r\n return false\r\n}\r\n","import { connect, FormikContextType } from 'formik'\r\nimport { Component } from 'react'\r\n\r\ninterface IProps {\r\n formik: FormikContextType<any>;\r\n}\r\n\r\nclass ErrorFocusInternal extends Component<IProps> {\r\n public componentDidUpdate(prevProps: IProps) {\r\n const { isSubmitting, isValidating, errors } = prevProps.formik\r\n const keys = Object.keys(errors)\r\n if (keys.length > 0 && isSubmitting && !isValidating) {\r\n const selector = `[name=\"${keys[0]}\"]`\r\n const errorElement = document.querySelector(selector) as HTMLElement\r\n if (errorElement) {\r\n errorElement.focus()\r\n }\r\n }\r\n }\r\n\r\n public render = () => null;\r\n}\r\n\r\nexport const ErrorFocus = connect<{}>(ErrorFocusInternal)\r\n","export const downloadPDF = (pdfUrl: string) => {\r\n if (typeof window === 'undefined') return\r\n\r\n const accessToken: string | null = localStorage.getItem('access_token')\r\n\r\n if (!accessToken) return\r\n\r\n fetch(pdfUrl, {\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`,\r\n },\r\n })\r\n .then(async response => {\r\n const blobValue = await response.blob()\r\n const fileNameHeader = response.headers.get(\"content-disposition\") || ''\r\n const fileName = fileNameHeader.split('\"')[1]\r\n return { blobValue, fileName }\r\n })\r\n .then(({ blobValue, fileName }) => {\r\n if (!fileName) return\r\n const file = new Blob([blobValue], { type: 'application/pdf' })\r\n const fileURL = URL.createObjectURL(file)\r\n const link = document.createElement('a')\r\n link.href = fileURL\r\n link.setAttribute('download', fileName)\r\n document.body.appendChild(link)\r\n link.click()\r\n document.body.removeChild(link)\r\n })\r\n}\r\n","import _get from 'lodash/get'\r\n\r\ninterface ICheckoutBody {\r\n attributes: {\r\n [key: string]: any;\r\n };\r\n}\r\n\r\ninterface IticketHolder {\r\n first_name?: string;\r\n last_name?: string;\r\n phone?: string;\r\n email?: string;\r\n}\r\n\r\nexport const createCheckoutDataBodyWithDefaultHolder = (\r\n ticketsQuantity: number,\r\n logedInValues: {},\r\n includeDob: boolean = false\r\n): ICheckoutBody => {\r\n const ticket_holders: IticketHolder[] = []\r\n\r\n const first_name =\r\n _get(logedInValues, 'firstName') || _get(logedInValues, 'first_name') || ''\r\n const last_name =\r\n _get(logedInValues, 'lastName', '') ||\r\n _get(logedInValues, 'last_name') ||\r\n ''\r\n const phone = _get(logedInValues, 'phone', '')\r\n const email = _get(logedInValues, 'email', '')\r\n\r\n for (let i = 0; i <= ticketsQuantity - 1; i++) {\r\n const individualHolder = i\r\n ? { first_name: '', last_name: '', phone: '', email: '' }\r\n : { first_name, last_name, phone, email }\r\n\r\n ticket_holders.push(individualHolder)\r\n }\r\n\r\n const body: ICheckoutBody = {\r\n attributes: {\r\n ...logedInValues,\r\n email,\r\n confirm_email: email,\r\n first_name,\r\n last_name,\r\n ticket_holders,\r\n },\r\n }\r\n\r\n if (includeDob) {\r\n const holderAgeDate = new Date(_get(logedInValues, 'holderAge', ''))\r\n body.attributes.dob_day = holderAgeDate.getDate()\r\n body.attributes.dob_month = holderAgeDate.getMonth() + 1\r\n body.attributes.dob_year = holderAgeDate.getFullYear()\r\n }\r\n\r\n return body\r\n}\r\n","import axios, { AxiosInstance, AxiosRequestConfig } from 'axios'\r\nimport _get from 'lodash/get'\r\n\r\nimport { CONFIGS } from '../utils'\r\n\r\nconst isWindowDefined = typeof window !== 'undefined'\r\n\r\nconst ttfHeaders: { [key: string]: any } = {\r\n Accept: 'application/vnd.api+json',\r\n 'Content-Type': 'application/vnd.api+json',\r\n}\r\n\r\nif (isWindowDefined && localStorage.getItem('auth_guest_token')) {\r\n ttfHeaders['Authorization-Guest'] = localStorage.getItem('auth_guest_token')\r\n}\r\n\r\ninterface IPublicRequest extends AxiosInstance {\r\n setGuestToken: (token: string) => void;\r\n setAccessToken: (token: string) => void;\r\n setBaseUrl: (baseUrl: string) => void;\r\n}\r\n\r\nexport const publicRequest: IPublicRequest = axios.create({\r\n baseURL: CONFIGS.BASE_URL || `https://www.ticketfairy.com/api`,\r\n headers: ttfHeaders,\r\n}) as IPublicRequest\r\n\r\npublicRequest.interceptors.response.use(\r\n response => response,\r\n error => {\r\n if (error?.response?.status === 401) {\r\n if (isWindowDefined) {\r\n window.localStorage.removeItem('auth_guest_token')\r\n window.localStorage.removeItem('user_data')\r\n window.localStorage.removeItem('access_token')\r\n const errorType = error?.response?.data?.error\r\n if (errorType === 'invalid_token') {\r\n window.location.href = '/'\r\n }\r\n }\r\n }\r\n return Promise.reject(error)\r\n }\r\n)\r\n\r\npublicRequest.interceptors.request.use((config: AxiosRequestConfig) => {\r\n const guestToken = isWindowDefined\r\n ? window.localStorage.getItem('auth_guest_token')\r\n : null\r\n const userData = isWindowDefined\r\n ? window.localStorage.getItem('user_data')\r\n : null\r\n const accessToken = isWindowDefined\r\n ? window.localStorage.getItem('access_token')\r\n : null\r\n\r\n if (userData && accessToken) {\r\n const updatedHeaders = {\r\n ...config.headers,\r\n Authorization: `Bearer ${accessToken}`,\r\n }\r\n config.headers = updatedHeaders\r\n }\r\n\r\n if (guestToken) {\r\n publicRequest.setGuestToken(guestToken)\r\n const updatedHeaders = {\r\n ...config.headers,\r\n 'Authorization-Guest': guestToken,\r\n }\r\n config.headers = updatedHeaders\r\n }\r\n\r\n if (CONFIGS.X_SOURCE_ORIGIN) {\r\n const updatedHeaders = {\r\n ...config.headers,\r\n 'X-Source-Origin': CONFIGS.X_SOURCE_ORIGIN,\r\n }\r\n config.headers = updatedHeaders\r\n }\r\n\r\n if (CONFIGS.BASE_URL) {\r\n config.baseURL = CONFIGS.BASE_URL + '/api'\r\n }\r\n\r\n return config\r\n})\r\n\r\npublicRequest.setGuestToken = token =>\r\n (publicRequest.defaults.headers.common['Authorization-Guest'] = token)\r\n\r\npublicRequest.setBaseUrl = (baseUrl: string) =>\r\n (publicRequest.defaults.baseURL = baseUrl + '/api')\r\n\r\npublicRequest.setAccessToken = token =>\r\n (publicRequest.defaults.headers.common.Authorization = token)\r\n\r\nexport const setXSourceOrigin = (sourceOrigin: string) => {\r\n ttfHeaders['X-Source-Origin'] = sourceOrigin\r\n}\r\n\r\nexport const setCustomHeader = (response: any) => {\r\n const guestHeaderResponseValue = _get(response, 'headers.authorization-guest')\r\n const guestHeaderExistingValue = _get(\r\n response,\r\n 'config.headers[Authorization-Guest]'\r\n )\r\n const guestHeader = guestHeaderResponseValue || guestHeaderExistingValue\r\n\r\n if (guestHeader) {\r\n if (isWindowDefined) {\r\n window.localStorage.setItem('auth_guest_token', guestHeader)\r\n publicRequest.setGuestToken(guestHeader)\r\n }\r\n }\r\n}\r\n\r\nexport const handleSetAccessToken = (token: any) => {\r\n if (token) {\r\n if (isWindowDefined) {\r\n window.localStorage.setItem('access_token', token)\r\n publicRequest.setAccessToken(token)\r\n }\r\n }\r\n}\r\n\r\nexport function getEvent(id: string | number) {\r\n const response = publicRequest\r\n .get(`v1/event/${id}`, { headers: ttfHeaders })\r\n .catch(error => {\r\n throw error\r\n })\r\n return response\r\n}\r\n\r\nexport function getTickets(id: string | number, promoCode: string) {\r\n const response = publicRequest\r\n .get(`v1/event/${id}/tickets/`, {\r\n headers: promoCode\r\n ? {\r\n ...ttfHeaders,\r\n 'Promotion-Event': String(id),\r\n 'Promotion-Code': promoCode,\r\n }\r\n : { ...ttfHeaders },\r\n })\r\n .catch(error => {\r\n throw error\r\n })\r\n return response\r\n}\r\n\r\nexport const addToCart = (id: string | number, data: any) => {\r\n const res = publicRequest.post(`v1/event/${id}/add-to-cart/`, { data })\r\n return res\r\n}\r\n\r\nexport const getCart = () => {\r\n const res = publicRequest.get(`v1/cart/`)\r\n return res\r\n}\r\n\r\nexport const postOnCheckout = (data: any, accessToken: string) => {\r\n const res = publicRequest.post(\r\n `v1/on-checkout/`,\r\n { data },\r\n {\r\n headers: {\r\n ...ttfHeaders,\r\n Authorization: `Bearer ${accessToken}`,\r\n },\r\n }\r\n )\r\n return res\r\n}\r\n\r\nexport const authorize = (data: FormData) =>\r\n publicRequest.post(\r\n `v1/oauth/authorize-rn?client_id=${CONFIGS.CLIENT_ID ||\r\n 'e9d8f8922797b4621e562255afe90dbf'}`,\r\n data\r\n )\r\n\r\nexport const register = (data: FormData) =>\r\n publicRequest.post('v1/oauth/register-rn', data)\r\n\r\nexport const getAccessToken = (data: FormData) =>\r\n publicRequest.post('v1/oauth/access_token', data)\r\n\r\nexport const getPaymentData = (hash: string) => {\r\n const response = publicRequest\r\n .get(`v1/order/${hash}/review/`)\r\n .catch(error => {\r\n throw error\r\n })\r\n return response\r\n}\r\n\r\nexport const handlePaymentData = (orderHash: string, data: any) => {\r\n const res = publicRequest\r\n .post(`v1/order/${orderHash}/pay`, {\r\n data: { attributes: { 'stripe-source': data } },\r\n })\r\n .catch(error => {\r\n throw error\r\n })\r\n return res\r\n}\r\n\r\nexport const handlePaymentSuccess = (orderHash: string) => {\r\n const res = publicRequest\r\n .post(`v1/order/${orderHash}/success`)\r\n .catch(error => {\r\n throw error\r\n })\r\n return res\r\n}\r\n\r\nexport const handleFreeSuccess = (orderHash: string) => {\r\n const res = publicRequest\r\n .post(`v1/order/${orderHash}/complete_free_registration`)\r\n .catch(error => {\r\n throw error\r\n })\r\n return res\r\n}\r\n\r\nexport const getProfileData = (accessToken: any) =>\r\n publicRequest\r\n .get('/customer/profile/', {\r\n headers: {\r\n ...ttfHeaders,\r\n Authorization: `Bearer ${accessToken}`,\r\n },\r\n })\r\n .catch((e: any) => {\r\n return e\r\n })\r\n\r\nexport const getCountries = () => publicRequest.get('/countries/')\r\n\r\nexport const getConfirmationData = (orderHash: string) =>\r\n publicRequest.get(`v1/order/${orderHash}/payment/complete`)\r\n\r\nexport const getStates = (countryId: string) =>\r\n publicRequest.get(`/countries/${countryId}/states/`)\r\n\r\nexport const getOrders = (page: number, limit: number, eventSlug: string) =>\r\n publicRequest.get(\r\n `v1/account/orders/?page=${page}&limit=${limit}&filter[event]=${eventSlug}&filter[brand]=${CONFIGS.BRAND_SLUG}`\r\n )\r\n\r\nexport const getOrderDetails = (orderId: string) =>\r\n publicRequest.get(`v1/account/order/${orderId}`)\r\n\r\nexport const addToWaitingList = (id: number, data: any) =>\r\n publicRequest.post(`v1/event/${id}/add_to_waiting_list`, data)\r\n\r\nexport const getConditions = (eventId: string) =>\r\n publicRequest.get(`v1/event/${eventId}/conditions`)\r\n\r\n// resale\r\nexport const resaleTicket = (data: any, hash: string) => {\r\n return publicRequest.post(`v1/ticket/${hash}/sell`, data)\r\n}\r\n\r\nexport const removeFromResale = (hash: string) => {\r\n return publicRequest.delete(`v1/ticket/${hash}/sell`)\r\n}\r\n\r\nexport const postReferralVisits = (eventId: string, referralId: string) =>\r\n publicRequest.post(`v1/event/${eventId}/referrer/`, {\r\n referrer: `${referralId}`,\r\n })\r\n\r\nexport const checkTicketStatus = (hash: string) => {\r\n return publicRequest.post(`v1/ticket/${hash}/status/`)\r\n}\r\n","import React, { FC, useState } from 'react'\r\nimport { AxiosError } from 'axios'\r\nimport {\r\n authorize,\r\n getAccessToken,\r\n getProfileData,\r\n handleSetAccessToken,\r\n} from '../../api'\r\nimport _get from 'lodash/get'\r\nimport { Field, Form, Formik } from 'formik'\r\nimport { requiredValidator } from '../../validators'\r\nimport { TextField } from '@mui/material'\r\nimport Modal from '@mui/material/Modal'\r\nimport Box from '@mui/material/Box'\r\nimport './style.css'\r\nimport { CONFIGS } from '../../utils'\r\nimport axios from 'axios'\r\n\r\ninterface Props {\r\n onClose: () => void;\r\n onLogin: () => void;\r\n alreadyHasUser?: boolean;\r\n userExpired?: boolean;\r\n onAuthorizeSuccess?: (res: any) => void;\r\n onAuthorizeError?: (e: AxiosError) => void;\r\n onGetProfileDataSuccess?: (res: any) => void;\r\n onGetProfileDataError?: (e: AxiosError) => void;\r\n modalClassname?: string;\r\n}\r\n\r\nconst style: React.CSSProperties = {\r\n position: 'absolute',\r\n top: '50%',\r\n left: '50%',\r\n transform: 'translate(-50%, -50%)',\r\n minWidth: 480,\r\n backgroundColor: '#e3e3e3',\r\n border: '1px solid white',\r\n outline: 'none',\r\n}\r\n\r\nexport const LoginModal: FC<Props> = ({\r\n onClose,\r\n onLogin,\r\n alreadyHasUser = false,\r\n userExpired = false,\r\n onAuthorizeSuccess = () => {},\r\n onAuthorizeError = () => {},\r\n onGetProfileDataSuccess = () => {},\r\n onGetProfileDataError = () => {},\r\n modalClassname = '',\r\n}) => {\r\n const [error, setError] = useState('')\r\n const handleForgotPassword = () => {\r\n if (typeof window !== 'undefined') {\r\n window.open(`${CONFIGS.BASE_URL}/password-restore/`)\r\n }\r\n }\r\n return (\r\n <Modal\r\n open={true}\r\n onClose={onClose}\r\n aria-labelledby=\"modal-modal-title\"\r\n aria-describedby=\"modal-modal-description\"\r\n className={`login-modal ${modalClassname}`}\r\n >\r\n <Box style={style}>\r\n <div>\r\n <Formik\r\n initialValues={{ email: '', password: '' }}\r\n onSubmit={async ({ email, password }) => {\r\n try {\r\n const bodyFormData = new FormData()\r\n bodyFormData.append('email', email)\r\n bodyFormData.append('password', password)\r\n\r\n const resAutorize = await authorize(bodyFormData)\r\n const bodyFormDataToken = new FormData()\r\n bodyFormDataToken.append('code', resAutorize.data.data.code)\r\n bodyFormDataToken.append('scope', 'profile')\r\n bodyFormDataToken.append('grant_type', 'authorization_code')\r\n bodyFormDataToken.append(\r\n 'client_id',\r\n CONFIGS.CLIENT_ID || 'e9d8f8922797b4621e562255afe90dbf'\r\n )\r\n bodyFormDataToken.append(\r\n 'client_secret',\r\n CONFIGS.CLIENT_SECRET ||\r\n 'b89c191eff22fdcf84ac9bfd88d005355a151ec2c83b26b9'\r\n )\r\n\r\n let resAccessToken = null\r\n\r\n try {\r\n resAccessToken = await getAccessToken(bodyFormDataToken)\r\n onAuthorizeSuccess(resAccessToken.data)\r\n } catch (e) {\r\n if (axios.isAxiosError(e)) {\r\n onAuthorizeError(e)\r\n }\r\n return\r\n }\r\n\r\n const accessToken = _get(resAccessToken, 'data.access_token')\r\n handleSetAccessToken(accessToken)\r\n\r\n let profileResponse = null\r\n\r\n try {\r\n profileResponse = await getProfileData(accessToken)\r\n onGetProfileDataSuccess(profileResponse.data)\r\n } catch (e) {\r\n if (axios.isAxiosError(e)) {\r\n onGetProfileDataError(e)\r\n }\r\n return\r\n }\r\n\r\n const profileSpecifiedData = _get(profileResponse, 'data.data')\r\n const profileDataObj = {\r\n id: profileSpecifiedData.id,\r\n first_name: profileSpecifiedData.firstName,\r\n last_name: profileSpecifiedData.lastName,\r\n email: profileSpecifiedData.email,\r\n }\r\n if (typeof window !== 'undefined') {\r\n window.localStorage.setItem(\r\n 'user_data',\r\n JSON.stringify(profileDataObj)\r\n )\r\n window.localStorage.setItem('access_token', accessToken)\r\n const event = new window.CustomEvent('tf-login')\r\n window.document.dispatchEvent(event)\r\n }\r\n onLogin()\r\n } catch (e) {\r\n if (axios.isAxiosError(e)) {\r\n const error = e?.response?.data?.message || 'Error'\r\n setError(error)\r\n } else if (e instanceof Error) {\r\n setError(e?.message || 'Error')\r\n }\r\n }\r\n }}\r\n >\r\n {props => (\r\n <Form onSubmit={props.handleSubmit}>\r\n <div className=\"modal-title\">Login</div>\r\n <img\r\n className=\"login-logo-tff\"\r\n src=\"https://www.ticketfairy.com/resources/images/logo-ttf-black.svg\"\r\n alt=\"\"\r\n />\r\n <div className=\"server_auth__error\">{error}</div>\r\n {alreadyHasUser && (\r\n <p className=\"info-text-for-login\">\r\n It appears this email is already attached to an account.\r\n Please log in here to complete your registration.\r\n </p>\r\n )}\r\n {userExpired && (\r\n <p className=\"info-text-for-login\">\r\n Your session has expired, please log in again.\r\n </p>\r\n )}\r\n <div className=\"login-modal-body\">\r\n <div className=\"login-modal-body__email\">\r\n <Field name={'email'} validate={requiredValidator}>\r\n {({ field, meta }: { [key: string]: any }) => (\r\n <TextField\r\n label={'Email'}\r\n type={'email'}\r\n fullWidth\r\n error={!!meta.error && meta.touched}\r\n helperText={meta.touched && meta.error}\r\n {...field}\r\n />\r\n )}\r\n </Field>\r\n </div>\r\n <div className=\"login-modal-body__password\">\r\n <Field name={'password'} validate={requiredValidator}>\r\n {({ field, meta }: { [key: string]: any }) => (\r\n <TextField\r\n label=\"Password\"\r\n type=\"password\"\r\n fullWidth\r\n error={!!meta.error && meta.touched}\r\n helperText={meta.touched && meta.error}\r\n {...field}\r\n />\r\n )}\r\n </Field>\r\n </div>\r\n <div className=\"login-action-button\">\r\n <button type=\"submit\">Login</button>\r\n </div>\r\n <div className='forgot-password'>\r\n <span onClick={handleForgotPassword}>Forgot password?</span>\r\n </div>\r\n </div>\r\n </Form>\r\n )}\r\n </Formik>\r\n </div>\r\n </Box>\r\n </Modal>\r\n )\r\n}\r\n","import React, { FC } from 'react'\r\nimport { AxiosError } from 'axios'\r\nimport './style.css'\r\nimport { getProfileData, handleSetAccessToken, register } from '../../api'\r\nimport { Field, Form, Formik } from 'formik'\r\nimport { requiredValidator } from '../../validators'\r\nimport { TextField } from '@mui/material'\r\nimport _get from 'lodash/get'\r\nimport { CONFIGS } from '../../utils'\r\n\r\ninterface Props {\r\n onClose: () => void;\r\n onRegister: () => void;\r\n onGetProfileDataSuccess: (res: any) => void;\r\n onGetProfileDataError: (e: AxiosError) => void;\r\n}\r\n\r\nexport const RegisterModal: FC<Props> = ({\r\n onClose,\r\n onGetProfileDataSuccess = () => {},\r\n onGetProfileDataError = () => {},\r\n}) => (\r\n <div\r\n style={{\r\n display: 'flex',\r\n position: 'absolute',\r\n top: 0,\r\n bottom: 0,\r\n right: 0,\r\n left: 0,\r\n backgroundColor: 'white',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n zIndex: 10,\r\n }}\r\n >\r\n <Formik\r\n initialValues={{\r\n firstName: '',\r\n lastName: '',\r\n email: '',\r\n password: '',\r\n confirmPassword: '',\r\n }}\r\n onSubmit={async ({\r\n firstName,\r\n lastName,\r\n email,\r\n password,\r\n confirmPassword,\r\n }) => {\r\n const bodyFormData = new FormData()\r\n bodyFormData.append('first_name', firstName)\r\n bodyFormData.append('last_name', lastName)\r\n bodyFormData.append('email', email)\r\n bodyFormData.append('password', password)\r\n bodyFormData.append('password_confirmation', confirmPassword)\r\n bodyFormData.append(\r\n 'client_id',\r\n CONFIGS.CLIENT_ID || 'e9d8f8922797b4621e562255afe90dbf'\r\n )\r\n bodyFormData.append(\r\n 'client_secret',\r\n CONFIGS.CLIENT_SECRET ||\r\n 'b89c191eff22fdcf84ac9bfd88d005355a151ec2c83b26b9'\r\n )\r\n const resRegister = await register(bodyFormData)\r\n const access_token = _get(\r\n resRegister,\r\n 'data.data.attributes.access_token'\r\n )\r\n handleSetAccessToken(access_token)\r\n\r\n let profileResponse = null\r\n\r\n try {\r\n profileResponse = await getProfileData(access_token)\r\n onGetProfileDataSuccess(profileResponse.data)\r\n } catch (e) {\r\n onGetProfileDataError(e.response)\r\n return\r\n }\r\n\r\n const profileSpecifiedData = _get(profileResponse, 'data.data')\r\n const profileDataObj = {\r\n id: profileSpecifiedData.id,\r\n first_name: profileSpecifiedData.firstName,\r\n last_name: profileSpecifiedData.lastName,\r\n email: profileSpecifiedData.email,\r\n }\r\n if (typeof window !== 'undefined') {\r\n window.localStorage.setItem('access_token', access_token)\r\n window.localStorage.setItem(\r\n 'user_data',\r\n JSON.stringify(profileDataObj)\r\n )\r\n }\r\n onClose()\r\n }}\r\n >\r\n {props => (\r\n <Form onSubmit={props.handleSubmit}>\r\n <div className=\"register-container\">\r\n <div>Create account</div>\r\n <button type=\"button\" onClick={onClose}>\r\n Close\r\n </button>\r\n <div className=\"register-container__twoFields\">\r\n <div className=\"is-half\">\r\n <Field name={'firstName'} validate={requiredValidator()}>\r\n {({ field, meta }: { [key: string]: any }) => (\r\n <TextField\r\n label={'First Name'}\r\n type={'text'}\r\n fullWidth\r\n error={!!meta.error && meta.touched}\r\n helperText={meta.touched && meta.error}\r\n {...field}\r\n />\r\n )}\r\n </Field>\r\n </div>\r\n <div className=\"is-half\">\r\n <Field name={'lastName'} validate={requiredValidator()}>\r\n {({ field, meta }: { [key: string]: any }) => (\r\n <TextField\r\n label={'Last Name'}\r\n type={'text'}\r\n fullWidth\r\n error={!!meta.error && meta.touched}\r\n helperText={meta.touched && meta.error}\r\n {...field}\r\n />\r\n )}\r\n </Field>\r\n </div>\r\n </div>\r\n <div className=\"register-container__singleField\">\r\n <div className=\"\">\r\n <Field name={'email'} validate={requiredValidator()}>\r\n {({ field, meta }: { [key: string]: any }) => (\r\n <TextField\r\n label={'Email'}\r\n type={'email'}\r\n fullWidth\r\n error={!!meta.error && meta.touched}\r\n helperText={meta.touched && meta.error}\r\n {...field}\r\n />\r\n )}\r\n </Field>\r\n </div>\r\n </div>\r\n <div className=\"register-container__twoFields\">\r\n <div className=\"is-half\">\r\n <Field name={'password'} validate={requiredValidator()}>\r\n {({ field, meta }: { [key: string]: any }) => (\r\n <TextField\r\n label={'Password'}\r\n type={'password'}\r\n fullWidth\r\n error={!!meta.error && meta.touched}\r\n helperText={meta.touched && meta.error}\r\n {...field}\r\n />\r\n )}\r\n </Field>\r\n </div>\r\n <div className=\"is-half\">\r\n <Field name={'confirmPassword'} validate={requiredValidator()}>\r\n {({ field, meta }: { [key: string]: any }) => (\r\n <TextField\r\n label={'Confirm Passwod'}\r\n type={'password'}\r\n fullWidth\r\n error={!!meta.error && meta.touched}\r\n helperText={meta.touched && meta.error}\r\n {...field}\r\n />\r\n )}\r\n </Field>\r\n </div>\r\n </div>\r\n </div>\r\n <button type=\"submit\">Submit</button>\r\n </Form>\r\n )}\r\n </Formik>\r\n </div>\r\n)\r\n","import _map from 'lodash/map'\r\nimport _get from 'lodash/get'\r\nimport _forEach from 'lodash/forEach'\r\nimport _flatMapDeep from 'lodash/flatMapDeep'\r\nimport _isArray from 'lodash/isArray'\r\n\r\nimport { CONFIGS } from '../../utils'\r\nimport { IGroupItem } from '../../types'\r\nimport { combineValidators, requiredValidator } from '../../validators'\r\nimport { nanoid } from 'nanoid'\r\nimport { FormikValues } from 'formik'\r\n\r\nexport interface ILoggedInValues {\r\n emailLogged?: string;\r\n firstNameLogged?: string;\r\n lastNameLogged?: string;\r\n}\r\n\r\nexport interface IValues {\r\n [key: string]: any;\r\n}\r\n\r\nexport const getInitialValues = (\r\n data: any = [],\r\n propsInitialValues: IValues = {},\r\n userValues: any = {}\r\n): IValues => {\r\n const results = _flatMapDeep(data, ({ fields }) =>\r\n _map(fields, ({ groupItems }) => _map(groupItems, ({ name }) => name))\r\n )\r\n\r\n const initialValues: IValues = {}\r\n _forEach(results, item => {\r\n initialValues[item] = propsInitialValues[item] || userValues[item] || ''\r\n })\r\n\r\n // set logged in user as first ticket holder\r\n initialValues['holderFirstName-0'] =\r\n propsInitialValues.firstName || userValues.firstName || ''\r\n initialValues['holderLastName-0'] =\r\n propsInitialValues.lastName || userValues.lastName || ''\r\n initialValues['holderEmail-0'] =\r\n propsInitialValues.email || userValues.email || ''\r\n\r\n return initialValues\r\n}\r\n\r\nexport const createRegisterFormData = (\r\n values: IValues = {},\r\n checkoutBody: { attributes: { [key: string]: any } }\r\n): FormData => {\r\n const bodyFormData = new FormData()\r\n bodyFormData.append('first_name', values.firstName)\r\n bodyFormData.append('last_name', values.lastName)\r\n bodyFormData.append('email', values.email)\r\n bodyFormData.append('password', values.password)\r\n bodyFormData.append('password_confirmation', values.confirmPassword)\r\n bodyFormData.append(\r\n 'client_id',\r\n CONFIGS.CLIENT_ID || 'e9d8f8922797b4621e562255afe90dbf'\r\n )\r\n bodyFormData.append(\r\n 'client_secret',\r\n CONFIGS.CLIENT_SECRET || 'b89c191eff22fdcf84ac9bfd88d005355a151ec2c83b26b9'\r\n )\r\n\r\n _forEach(checkoutBody.attributes, (item: any, key: string) => {\r\n bodyFormData.append(key, item)\r\n })\r\n\r\n return bodyFormData\r\n}\r\n\r\ninterface ICheckoutBody {\r\n attributes: {\r\n [key: string]: any;\r\n };\r\n}\r\n\r\ninterface IUserData {\r\n id: string;\r\n firstName: string;\r\n lastName: string;\r\n email: string;\r\n city?: string;\r\n country?: string;\r\n phone?: string;\r\n streetAddress?: string;\r\n state?: string;\r\n zip?: string;\r\n zipCode?: string;\r\n stateId?: string;\r\n}\r\n\r\ninterface IticketHolder {\r\n first_name?: string;\r\n last_name?: string;\r\n phone?: string;\r\n email?: string;\r\n}\r\n\r\nexport const setLoggedUserData = (data: IUserData) => ({\r\n id: data.id,\r\n first_name: data.firstName,\r\n last_name: data.lastName,\r\n email: data.email,\r\n confirmEmail: data.email,\r\n city: data?.city || '',\r\n country: data?.country || '',\r\n phone: data?.phone || '',\r\n street_address: data?.streetAddress || '',\r\n state: data?.stateId || '',\r\n zip: data?.zip || data?.zipCode || '',\r\n})\r\n\r\nexport const createCheckoutDataBody = (\r\n ticketsQuantity: number,\r\n values: IValues = {},\r\n logedInValues: ILoggedInValues = {},\r\n includeDob: boolean = false\r\n): ICheckoutBody => {\r\n const {\r\n firstName,\r\n lastName,\r\n holderAge,\r\n confirmEmail,\r\n confirmPassword,\r\n ...restValues\r\n } = values\r\n\r\n const holders = []\r\n let ticket_holders: IticketHolder[] = []\r\n\r\n for (let i = 0; i <= ticketsQuantity; i++) {\r\n const individualHolder = Object.fromEntries(\r\n Object.entries(values).filter(([key, _val]) => key.includes(String(i)))\r\n )\r\n holders.push(individualHolder)\r\n }\r\n\r\n const filteredHolders = holders.filter(\r\n holder => Object.entries(holder).length > 0\r\n )\r\n ticket_holders = filteredHolders.map((item, index) => ({\r\n first_name: item[`holderFirstName-${index}`] || '',\r\n last_name: item[`holderLastName-${index}`] || '',\r\n phone: item[`holderPhone-${index}`] || '',\r\n email: item[`holderEmail-${index}`] || '',\r\n }))\r\n\r\n const filteredRestValue: { [key: string]: any } = {}\r\n _forEach(restValues, (value, key) => {\r\n if (!key.includes('holder')) {\r\n filteredRestValue[key] = value\r\n }\r\n })\r\n\r\n const body: ICheckoutBody = {\r\n attributes: {\r\n ...filteredRestValue,\r\n email: restValues.email || logedInValues.emailLogged,\r\n confirm_email: restValues.email || logedInValues.emailLogged,\r\n first_name: firstName || logedInValues.firstNameLogged,\r\n last_name: lastName || logedInValues.lastNameLogged,\r\n ticket_holders,\r\n },\r\n }\r\n\r\n if (includeDob) {\r\n const holderAgeDate = new Date(holderAge)\r\n body.attributes.dob_day = holderAgeDate.getDate()\r\n body.attributes.dob_month = holderAgeDate.getMonth() + 1\r\n body.attributes.dob_year = holderAgeDate.getFullYear()\r\n }\r\n return body\r\n}\r\n\r\nexport const getValidateFunctions = (\r\n element: IGroupItem,\r\n states: Array<{ [key: string]: any }>,\r\n values: FormikValues\r\n) => {\r\n const validationFunctions: any[] = []\r\n\r\n if (element.required) {\r\n if (\r\n element.name !== 'state' ||\r\n (element.name === 'state' && states.length)\r\n ) {\r\n validationFunctions.push(requiredValidator)\r\n }\r\n }\r\n\r\n if (element.onValidate) {\r\n validationFunctions.push(element.onValidate)\r\n }\r\n\r\n if (element.name === 'confirmEmail') {\r\n const isSameEmail = (confirmEmail?: string) =>\r\n values.email !== confirmEmail\r\n ? 'Please confirm your email address correctly'\r\n : null\r\n validationFunctions.push(isSameEmail)\r\n }\r\n\r\n return combineValidators(...validationFunctions)\r\n}\r\n\r\nexport const assingUniqueIds = (data: any): any => {\r\n if (_get(data[0], 'uniqueId')) {\r\n return data\r\n }\r\n\r\n return _map(data, (item: any) => {\r\n _forEach(item, (itemValue: string, key) => {\r\n if (_isArray(itemValue)) {\r\n item[key] = assingUniqueIds(itemValue)\r\n }\r\n })\r\n\r\n return { ...item, uniqueId: nanoid() }\r\n })\r\n}\r\n","import React from 'react'\r\nimport FormGroup from '@mui/material/FormGroup'\r\nimport FormControlLabel from '@mui/material/FormControlLabel'\r\nimport Checkbox from '@mui/material/Checkbox'\r\nimport { FieldInputProps } from 'formik'\r\nimport { useTheme } from '@mui/styles'\r\nimport { FormControl, FormHelperText } from '@mui/material'\r\n\r\nexport interface ICheckboxField {\r\n label: string | number | JSX.Element;\r\n field?: FieldInputProps<any>;\r\n}\r\n\r\ninterface IOtherProps {\r\n [key: string]: any;\r\n}\r\n\r\nexport const CheckboxField = ({\r\n label,\r\n field,\r\n selectOptions,\r\n theme,\r\n setFieldValue,\r\n ...rest\r\n}: ICheckboxField & IOtherProps) => {\r\n const customTheme: any = useTheme()\r\n return (\r\n <FormControl error={!!(rest?.form?.errors && rest.form.errors[field?.name ?? \"\"])}>\r\n <FormGroup>\r\n <FormControlLabel\r\n control={<Checkbox {...field} {...rest} />}\r\n label={label}\r\n componentsProps={{\r\n typography: customTheme?.checkbox\r\n }}\r\n />\r\n </FormGroup>\r\n {!!(rest?.form?.errors && rest.form.errors[field?.name ?? \"\"]) ? <FormHelperText>Required</FormHelperText> : null}\r\n </FormControl>\r\n )\r\n}\r\n","import React from 'react'\r\nimport TextField from '@mui/material/TextField'\r\nimport _map from 'lodash/map'\r\nimport _get from 'lodash/get'\r\nimport _includes from 'lodash/includes'\r\n\r\nimport { FieldInputProps, FormikProps } from 'formik'\r\nimport { useTheme } from '@mui/styles'\r\n\r\nexport interface ISelectOption {\r\n label: string | number;\r\n value?: string | number;\r\n [key: string]: any;\r\n}\r\n\r\nexport interface ICustomField {\r\n label: string;\r\n\r\n field: FieldInputProps<any>;\r\n form: FormikProps<any>;\r\n theme: 'dark' | 'light';\r\n\r\n // optional\r\n type?: string;\r\n selectOptions?: ISelectOption[];\r\n}\r\n\r\ninterface IOtherProps {\r\n [key: string]: any;\r\n}\r\n\r\nexport const CustomField = ({\r\n label,\r\n type = 'text',\r\n field,\r\n selectOptions = [] as ISelectOption[],\r\n form: { touched, errors, submitCount },\r\n theme,\r\n}: ICustomField & IOtherProps) => {\r\n const isSelectField = type === 'select'\r\n const error = _get(errors, field.name)\r\n const isTouched =\r\n Boolean(_get(touched, field.name)) ||\r\n (_includes(field.name, 'holder') && !!error && !!submitCount)\r\n\r\n const customTheme: any = useTheme()\r\n\r\n return (\r\n <TextField\r\n id={field.name}\r\n label={label}\r\n type={type}\r\n select={isSelectField}\r\n fullWidth={true}\r\n error={!!error && isTouched}\r\n helperText={isTouched && error}\r\n SelectProps={{\r\n native: true,\r\n className: theme,\r\n MenuProps: { className: theme },\r\n }}\r\n InputLabelProps={{\r\n sx: customTheme?.input,\r\n shrink: field.name === 'holderAge' ? true : undefined,\r\n }}\r\n inputProps={{\r\n sx: customTheme?.input,\r\n }}\r\n {...field}\r\n >\r\n {isSelectField\r\n ? _map(selectOptions, option => (\r\n <option\r\n key={option.value}\r\n value={option.value}\r\n disabled={option.disabled}\r\n >\r\n {option.label}\r\n </option>\r\n ))\r\n : null}\r\n </TextField>\r\n )\r\n}\r\n","export const currencyNormalizerCreator = (value: string | number, currency: string) =>\r\n !value ? '' : `${getCurrencySymbolByCurrency(currency)}${value}`\r\n\r\nexport const createFixedFloatNormalizer = (fixedValue: number) => (value: string | number) =>\r\n value || `${value}` === '0' ? (+value).toFixed(fixedValue) : ''\r\n\r\nexport const getCurrencySymbolByCurrency = (currency = '') => {\r\n switch (currency) {\r\n case 'GBP':\r\n return '£'\r\n case 'EUR':\r\n return '€'\r\n case 'INR':\r\n return '₹'\r\n case 'JMD':\r\n return 'J$'\r\n case 'NZD':\r\n return 'NZ$'\r\n case 'MYR':\r\n return 'RM'\r\n case 'MXN':\r\n return 'Mex$'\r\n case 'SGD':\r\n return 'S$'\r\n case 'AUD':\r\n return 'A$'\r\n case 'ZAR':\r\n return 'R'\r\n case 'ke':\r\n return 'Ksh'\r\n case 'TRY':\r\n return '₺'\r\n case 'CAD':\r\n return 'CA$'\r\n case 'THB':\r\n return '฿'\r\n case 'ISK':\r\n return 'Kr'\r\n case 'SEK':\r\n return 'kr'\r\n default:\r\n return 'US$'\r\n }\r\n}\r\n\r\nexport const removePlusSign = (string = '') => string.replace('+', '')","import React from 'react'\r\nimport { FieldInputProps } from 'formik'\r\nimport MuiPhoneNumber from 'material-ui-phone-number'\r\nimport _get from 'lodash/get'\r\nimport { removePlusSign } from '../../normalizers'\r\nimport { useTheme } from '@mui/styles'\r\n\r\nexport interface INumberInField {\r\n label: string | number | JSX.Element;\r\n field: FieldInputProps<any>;\r\n}\r\n\r\ninterface IOtherProps {\r\n [key: string]: any;\r\n}\r\n\r\nexport const FormikPhoneNumberField = ({\r\n label,\r\n field,\r\n form: { touched, errors, initialValues },\r\n setFieldValue,\r\n selectOptions,\r\n ...rest\r\n}: INumberInField & IOtherProps) => {\r\n const error = _get(errors, field.name)\r\n const isTouched = Boolean(_get(touched, field.name))\r\n\r\n const customTheme: any = useTheme()\r\n\r\n return (\r\n <MuiPhoneNumber\r\n name='phone'\r\n value={initialValues.phone}\r\n onChange={(e: any) => setFieldValue(\"phone\", removePlusSign(e))}\r\n variant=\"outlined\" \r\n defaultCountry='us'\r\n disableDropdown={true}\r\n label={label}\r\n error={!!error && isTouched}\r\n helperText={isTouched && error}\r\n fullWidth\r\n InputLabelProps={{\r\n sx: customTheme?.input\r\n }}\r\n InputProps={{\r\n sx: customTheme?.input\r\n }}\r\n autoFormat={false}\r\n {...rest} \r\n />\r\n )\r\n}","import React from 'react'\r\nimport CircularProgress from '@mui/material/CircularProgress'\r\n\r\nexport function Loader() {\r\n return (\r\n <div className=\"loader-container\">\r\n <CircularProgress />\r\n </div>\r\n )\r\n}","import React from 'react'\r\nimport Select from '@mui/material/Select'\r\nimport _map from 'lodash/map'\r\nimport _get from 'lodash/get'\r\n\r\nimport { FieldInputProps, FormikProps } from 'formik'\r\nimport { FormControl, InputLabel, FormHelperText } from '@mui/material'\r\nimport { useTheme } from '@mui/styles'\r\n\r\nexport interface ISelectOption {\r\n label: string | number;\r\n value?: string | number;\r\n [key: string]: any;\r\n}\r\n\r\nexport interface ISelectField {\r\n label: string;\r\n\r\n field: FieldInputProps<any>;\r\n form: FormikProps<any>;\r\n theme: 'dark' | 'light';\r\n\r\n // optional\r\n type?: string;\r\n selectOptions?: ISelectOption[];\r\n}\r\n\r\ninterface IOtherProps {\r\n [key: string]: any;\r\n}\r\n\r\nexport const SelectField = ({\r\n label,\r\n type = 'text',\r\n field,\r\n selectOptions = [] as ISelectOption[],\r\n form: { touched, errors },\r\n theme,\r\n}: ISelectField & IOtherProps) => {\r\n const isTouched = Boolean(_get(touched, field.name))\r\n const error = _get(errors, field.name)\r\n\r\n const customTheme: any = useTheme()\r\n\r\n return (\r\n <FormControl fullWidth={true}>\r\n <InputLabel style={customTheme?.input} htmlFor={field.name} error={!!error && isTouched} shrink={true}>\r\n {label}\r\n </InputLabel>\r\n <Select\r\n id={field.name}\r\n label={label}\r\n type={type}\r\n fullWidth={true}\r\n error={!!error && isTouched}\r\n inputProps={{\r\n id: field.name,\r\n }}\r\n native={true}\r\n className={theme}\r\n MenuProps={{ className: theme }}\r\n {...field}\r\n style={customTheme?.input}\r\n >\r\n {_map(selectOptions, option => (\r\n <option\r\n key={option.value}\r\n value={option.value}\r\n disabled={option.disabled}\r\n >\r\n {option.label}\r\n </option>\r\n ))}\r\n </Select>\r\n {isTouched && error ? (\r\n <FormHelperText error={!!error && isTouched}>{error}</FormHelperText>\r\n ) : null}\r\n </FormControl>\r\n )\r\n}\r\n","import React, { FC, useEffect, useState, useRef } from 'react'\r\nimport { AxiosError } from 'axios'\r\nimport {\r\n Field,\r\n Form,\r\n Formik,\r\n FormikHelpers,\r\n FormikProps,\r\n FormikValues,\r\n} from 'formik'\r\nimport Button from '@mui/material/Button'\r\nimport _identity from 'lodash/identity'\r\nimport _map from 'lodash/map'\r\nimport _get from 'lodash/get'\r\nimport _includes from 'lodash/includes'\r\nimport _isEqual from 'lodash/isEqual'\r\nimport _isEmpty from 'lodash/isEmpty'\r\n\r\nimport './style.css'\r\nimport { combineValidators, requiredValidator } from '../../validators'\r\nimport { IBillingInfoData } from '../../types'\r\nimport {\r\n getCart,\r\n getCountries,\r\n getProfileData,\r\n handleSetAccessToken,\r\n postOnCheckout,\r\n register,\r\n setCustomHeader,\r\n getStates,\r\n} from '../../api'\r\nimport { LoginModal } from '../loginModal'\r\nimport { RegisterModal } from '../registerModal'\r\nimport {\r\n assingUniqueIds,\r\n createCheckoutDataBody,\r\n createRegisterFormData,\r\n getInitialValues,\r\n getValidateFunctions,\r\n setLoggedUserData,\r\n} from './utils'\r\nimport { createCheckoutDataBodyWithDefaultHolder } from '../../utils'\r\nimport axios from 'axios'\r\nimport { CustomField, CheckboxField, SelectField, FormikPhoneNumberField } from '../common/index'\r\nimport { Alert, CircularProgress, ThemeOptions } from '@mui/material'\r\nimport { nanoid } from 'nanoid'\r\nimport { getQueryVariable } from '../../utils/getQueryVariable'\r\nimport { ErrorFocus } from '../../utils/formikErrorFocus'\r\nimport { ThemeProvider, createTheme } from '@mui/material/styles'\r\nimport { CSSProperties } from '@mui/styles'\r\nimport Backdrop from '@mui/material/Backdrop'\r\n\r\nexport interface IBillingInfoPage {\r\n data?: IBillingInfoData[];\r\n ticketHoldersFields?: IBillingInfoData;\r\n handleSubmit?: (\r\n values: FormikValues,\r\n formikHelpers: FormikHelpers<FormikValues>,\r\n eventId: any,\r\n res: any\r\n ) => void;\r\n onRegisterSuccess?: (value: {\r\n accessToken: string;\r\n refreshToken: string;\r\n }) => void;\r\n onRegisterError?: (e: AxiosError, email: string) => void;\r\n onSubmitError?: (e: AxiosError) => void;\r\n onGetCartSuccess?: (res: any) => void;\r\n onGetCartError?: (e: AxiosError) => void;\r\n onGetCountriesSuccess?: (res: any) => void;\r\n onGetCountriesError?: (e: AxiosError) => void;\r\n onGetStatesSuccess?: (res: any) => void;\r\n onGetStatesError?: (e: AxiosError) => void;\r\n onGetProfileDataSuccess?: (res: any) => void;\r\n onGetProfileDataError?: (e: AxiosError) => void;\r\n onAuthorizeSuccess?: () => void;\r\n onAuthorizeError?: (e: AxiosError) => void;\r\n onLogin?: () => void;\r\n onLoginSuccess?: () => void;\r\n onErrorClose?: () => void;\r\n initialValues?: FormikValues;\r\n buttonName?: string;\r\n theme?: 'light' | 'dark';\r\n isLoggedIn?: boolean;\r\n accountInfoTitle?: string | JSX.Element;\r\n hideLogo?: boolean;\r\n themeOptions?: ThemeOptions & {\r\n input?: CSSProperties;\r\n checkbox?: CSSProperties;\r\n };\r\n hideErrorsAlertSection?: boolean;\r\n onSkipBillingPage: (data: any) => void;\r\n skipPage?: boolean;\r\n canSkipHolderNames?: boolean;\r\n}\r\n\r\nconst LogicRunner: FC<{\r\n values: any;\r\n setStates: React.Dispatch<any>;\r\n setFieldValue: any;\r\n setValues: any;\r\n setUserValues: any;\r\n onGetStatesSuccess: any;\r\n onGetStatesError: any;\r\n}> = ({\r\n values,\r\n setStates,\r\n setFieldValue,\r\n setValues,\r\n setUserValues,\r\n onGetStatesSuccess,\r\n onGetStatesError,\r\n}) => {\r\n const prevCountry = useRef(values.country)\r\n useEffect(() => {\r\n const fetchStates = async () => {\r\n try {\r\n const res = await getStates(values.country)\r\n const mappedStates = _map(_get(res, 'data.data'), (item, key) => ({\r\n label: item,\r\n value: key,\r\n }))\r\n setStates(mappedStates)\r\n if (prevCountry.current !== values.country) {\r\n setFieldValue('state', mappedStates[0]?.value ?? '')\r\n prevCountry.current = values.country\r\n }\r\n onGetStatesSuccess(res.data)\r\n } catch (e) {\r\n if (axios.isAxiosError(e)) {\r\n onGetStatesError(e)\r\n }\r\n }\r\n }\r\n fetchStates()\r\n }, [values.country, setStates, setFieldValue])\r\n const userDataEncoded =\r\n typeof window !== 'undefined'\r\n ? window.localStorage.getItem('user_data')\r\n : ''\r\n useEffect(() => {\r\n // set user data from local storage\r\n const getStoredUserData = () => {\r\n if (typeof window !== 'undefined') {\r\n if (userDataEncoded) {\r\n try {\r\n const parsedData = JSON.parse(userDataEncoded)\r\n const mappedValues = {\r\n firstName: parsedData?.first_name || '',\r\n lastName: parsedData?.last_name || '',\r\n email: parsedData?.email || '',\r\n phone: parsedData?.phone || '',\r\n confirmEmail: parsedData?.email || '',\r\n state: parsedData?.state || '',\r\n street_address: parsedData?.street_address || '',\r\n country: parsedData?.country || '1',\r\n zip: parsedData?.zip || '',\r\n brand_opt_in: parsedData?.brand_opt_in || '',\r\n city: parsedData?.city || '',\r\n confirmPassword: '',\r\n password: '',\r\n 'holderFirstName-0': parsedData?.first_name || '',\r\n 'holderLastName-0': parsedData?.last_name || '',\r\n 'holderEmail-0': parsedData?.email || '',\r\n }\r\n setValues(mappedValues)\r\n setUserValues(mappedValues)\r\n } catch (e) {}\r\n }\r\n }\r\n }\r\n getStoredUserData()\r\n }, [userDataEncoded, setValues, setUserValues])\r\n return null\r\n}\r\nexport const BillingInfoContainer = ({\r\n data = [],\r\n ticketHoldersFields = {\r\n id: 1,\r\n fields: [],\r\n },\r\n initialValues = {},\r\n buttonName = 'Submit',\r\n handleSubmit = _identity,\r\n theme = 'light',\r\n onRegisterSuccess = () => {},\r\n onRegisterError = () => {},\r\n onSubmitError = () => {},\r\n onGetCartSuccess = () => {},\r\n onGetCartError = () => {},\r\n onGetCountriesSuccess = () => {},\r\n onGetCountriesError = () => {},\r\n onGetStatesSuccess = () => {},\r\n onGetStatesError = () => {},\r\n onGetProfileDataSuccess = () => {},\r\n onGetProfileDataError = () => {},\r\n onAuthorizeSuccess = () => {},\r\n onAuthorizeError = () => {},\r\n onLogin,\r\n onLoginSuccess = () => {},\r\n isLoggedIn: pIsLoggedIn = false,\r\n accountInfoTitle = '',\r\n hideLogo,\r\n themeOptions,\r\n onErrorClose = () => {},\r\n hideErrorsAlertSection = false,\r\n onSkipBillingPage = () => {},\r\n skipPage = false,\r\n canSkipHolderNames = false\r\n}: IBillingInfoPage) => {\r\n const themeMui = createTheme(themeOptions)\r\n const isWindowDefined = typeof window !== 'undefined'\r\n const userData =\r\n isWindowDefined && window.localStorage.getItem('user_data')\r\n ? JSON.parse(window.localStorage.getItem('user_data') || '')\r\n : {}\r\n const access_token =\r\n isWindowDefined && window.localStorage.getItem('access_token')\r\n ? window.localStorage.getItem('access_token') || ''\r\n : ''\r\n const [dataWithUniqueIds, setDataWithUniqueIds] = useState<\r\n IBillingInfoData[]\r\n >(data)\r\n const [isLoggedIn, setIsLoggedIn] = useState(!!access_token)\r\n const [cartInfoData, setCartInfo] = useState<any>({})\r\n const [countries, setCountries] = useState<any>([])\r\n const [states, setStates] = useState<any>([])\r\n const [showModalLogin, setShowModalLogin] = useState(false)\r\n const [alreadyHasUser, setAlreadyHasUser] = useState(false)\r\n const [userExpired, setUserExpired] = useState(false)\r\n const [showModalRegister, setShowModalRegister] = useState(false)\r\n const [ticketsQuantity, setTicketsQuantity] = useState<string[]>([])\r\n const [userValues, setUserValues] = useState<any>({\r\n firstName: '',\r\n lastName: '',\r\n email: '',\r\n phone: '',\r\n confirmEmail: '',\r\n holderFirstName: '',\r\n holderLastName: '',\r\n holderAge: '',\r\n city: '',\r\n country: '',\r\n street_address: '',\r\n state: '',\r\n zip: '',\r\n })\r\n const [loading, setLoading] = useState(true)\r\n const [error, setError] = useState(null)\r\n const emailLogged =\r\n _get(userData, 'email', '') || _get(userValues, 'email', '')\r\n const firstNameLogged =\r\n _get(userData, 'first_name', '') || _get(userValues, 'first_name', '')\r\n const lastNameLogged =\r\n _get(userData, 'last_name', '') || _get(userValues, 'last_name', '')\r\n const showDOB = getQueryVariable('age_required') === 'true'\r\n const showTicketHolders = getQueryVariable('names_required') === 'true'\r\n const eventId = getQueryVariable('event_id')\r\n const optedInFieldValue: boolean = _get(cartInfoData, 'optedIn', false)\r\n const ttfOptIn: boolean = Boolean(_get(cartInfoData, 'ttfOptIn', false))\r\n const hideTtfOptIn: boolean = _get(cartInfoData, 'hide_ttf_opt_in', true)\r\n const flagRequirePhone = getQueryVariable('phone_required') === 'true'\r\n\r\n // Get prevProps\r\n const prevData = useRef(data)\r\n\r\n useEffect(() => {\r\n const hasUniqueId = _get(dataWithUniqueIds, '[0].uniqueId')\r\n const isEqualData = _isEqual(prevData.current, data)\r\n if (!hasUniqueId || !isEqualData) {\r\n setDataWithUniqueIds(assingUniqueIds(data))\r\n if (!isEqualData) {\r\n prevData.current = data\r\n }\r\n }\r\n }, [dataWithUniqueIds, data])\r\n\r\n const getQuantity = (cart: any = []) => {\r\n let qty: any = 0\r\n cart.forEach((item: any) => {\r\n qty += +item.quantity\r\n })\r\n return qty\r\n }\r\n\r\n useEffect(() => {\r\n if ((pIsLoggedIn || access_token) && !isLoggedIn) {\r\n setIsLoggedIn(true)\r\n }\r\n }, [pIsLoggedIn, isLoggedIn, access_token])\r\n //just once\r\n useEffect(() => {\r\n // fetch countries data\r\n const fetchCountries = async () => {\r\n try {\r\n const res = await getCountries()\r\n setCustomHeader(res)\r\n setCountries(\r\n _map(_get(res, 'data.data'), (item, key) => ({\r\n label: item,\r\n value: key,\r\n }))\r\n )\r\n onGetCountriesSuccess(res.data)\r\n } catch (e) {\r\n if (axios.isAxiosError(e)) {\r\n onGetCountriesError(e)\r\n }\r\n }\r\n }\r\n fetchCountries()\r\n fetchCart()\r\n }, [])\r\n // fetch cart data\r\n const fetchCart = async () => {\r\n try {\r\n const res = await getCart()\r\n setCustomHeader(res)\r\n const cartInfo = _get(res, 'data.data.attributes')\r\n setCartInfo(cartInfo)\r\n const { cart = [] } = cartInfo\r\n setTicketsQuantity(\r\n new Array(getQuantity(cart)).fill(null).map(() => nanoid())\r\n )\r\n onGetCartSuccess(res.data)\r\n } catch (e) {\r\n if (axios.isAxiosError(e)) {\r\n onGetCartError(e)\r\n }\r\n }\r\n }\r\n // fetch user data\r\n const fetchUserData = async (token: string) => {\r\n try {\r\n if (isWindowDefined && token) {\r\n const userDataResponse = await getProfileData(token)\r\n const profileSpecifiedData = _get(userDataResponse, 'data.data')\r\n const profileDataObj = setLoggedUserData(profileSpecifiedData)\r\n setUserValues({\r\n ...profileDataObj,\r\n firstName: profileDataObj.first_name,\r\n lastName: profileDataObj.last_name,\r\n })\r\n window.localStorage.setItem(\r\n 'user_data',\r\n JSON.stringify(profileDataObj)\r\n )\r\n onGetProfileDataSuccess(userDataResponse.data)\r\n }\r\n } catch (e) {\r\n if (axios.isAxiosError(e)) {\r\n onGetProfileDataError(e)\r\n }\r\n }\r\n }\r\n useEffect(() => {\r\n fetchUserData(access_token)\r\n }, [access_token])\r\n\r\n useEffect(() => {\r\n const collectPaymentData = async () => {\r\n if (skipPage && !_isEmpty(ticketsQuantity) && !showDOB) {\r\n setLoading(true)\r\n const checkoutBody = createCheckoutDataBodyWithDefaultHolder(\r\n ticketsQuantity.length,\r\n userData\r\n )\r\n\r\n try {\r\n const res = await postOnCheckout(checkoutBody, access_token)\r\n onSkipBillingPage(_get(res, 'data.data.attributes'))\r\n setLoading(false)\r\n } catch (e) {\r\n onSubmitError(e)\r\n }\r\n } else {\r\n setLoading(false)\r\n }\r\n }\r\n collectPaymentData()\r\n }, [skipPage, ticketsQuantity])\r\n\r\n\r\n const collectCheckoutBody = (values: object): object => {\r\n let checkoutBody = {}\r\n\r\n // Auto collect ticket holders name when it was skipped optionally\r\n if (showDOB && !showTicketHolders && canSkipHolderNames) {\r\n checkoutBody = createCheckoutDataBodyWithDefaultHolder(\r\n ticketsQuantity.length,\r\n values,\r\n true\r\n )\r\n } else {\r\n checkoutBody = createCheckoutDataBody(\r\n ticketsQuantity.length,\r\n values,\r\n { emailLogged, firstNameLogged, lastNameLogged },\r\n showDOB\r\n )\r\n }\r\n\r\n return checkoutBody\r\n }\r\n\r\n // Displaying loader\r\n if (loading) {\r\n return (\r\n <Backdrop sx={{ color: '#fff' }} open={true}>\r\n <CircularProgress color=\"inherit\" />\r\n </Backdrop>\r\n )\r\n }\r\n\r\n return (\r\n <ThemeProvider theme={themeMui}>\r\n <Formik\r\n initialValues={getInitialValues(\r\n dataWithUniqueIds,\r\n {\r\n ...initialValues,\r\n country: _get(userData, 'country', '') || '1',\r\n state: _get(userData, 'state', '') || '1',\r\n brand_opt_in: optedInFieldValue,\r\n ttf_opt_in: ttfOptIn,\r\n },\r\n userValues\r\n )}\r\n enableReinitialize={true}\r\n onSubmit={async (values, formikHelpers) => {\r\n try {\r\n if (isLoggedIn) {\r\n if (access_token) {\r\n const updatedUserData = await getProfileData(access_token)\r\n const profileSpecifiedData = _get(updatedUserData, 'data.data')\r\n const profileDataObj = setLoggedUserData(profileSpecifiedData)\r\n if (isWindowDefined) {\r\n window.localStorage.setItem(\r\n 'user_data',\r\n JSON.stringify(profileDataObj)\r\n )\r\n }\r\n }\r\n\r\n const checkoutBody = collectCheckoutBody(values)\r\n const res = await postOnCheckout(checkoutBody, access_token)\r\n handleSubmit(\r\n values,\r\n formikHelpers as FormikHelpers<any>,\r\n eventId,\r\n res\r\n )\r\n return\r\n }\r\n const checkoutBodyForRegistration = createCheckoutDataBody(\r\n ticketsQuantity.length,\r\n values,\r\n { emailLogged, firstNameLogged, lastNameLogged },\r\n showDOB\r\n )\r\n const bodyFormData = createRegisterFormData(\r\n values,\r\n checkoutBodyForRegistration\r\n )\r\n let access_token_register = null\r\n try {\r\n const resRegister = await register(bodyFormData)\r\n access_token_register = _get(\r\n resRegister,\r\n 'data.data.attributes.access_token'\r\n )\r\n const refreshToken = _get(\r\n resRegister,\r\n 'data.data.attributes.refresh_token'\r\n )\r\n handleSetAccessToken(access_token_register)\r\n const tokens = {\r\n accessToken: access_token_register,\r\n refreshToken,\r\n }\r\n onRegisterSuccess(tokens)\r\n } catch (e) {\r\n if (axios.isAxiosError(e)) {\r\n const error = e?.response?.data?.message\r\n if (_includes(error, 'You must be aged')) {\r\n formikHelpers.setFieldError('holderAge', error)\r\n }\r\n if (error?.password) {\r\n formikHelpers.setFieldError('password', error.password)\r\n formikHelpers.setFieldError(\r\n 'confirmPassword',\r\n error.password\r\n )\r\n }\r\n if (error?.email && !onLogin) {\r\n // False will stand for outside controll\r\n setAlreadyHasUser(true)\r\n setShowModalLogin(true)\r\n }\r\n onRegisterError(e, values.email)\r\n }\r\n return\r\n }\r\n const profileData = await getProfileData(access_token_register)\r\n const profileSpecifiedData = _get(profileData, 'data.data')\r\n const profileDataObj = setLoggedUserData(profileSpecifiedData)\r\n if (isWindowDefined) {\r\n window.localStorage.setItem(\r\n 'user_data',\r\n JSON.stringify(profileDataObj)\r\n )\r\n }\r\n\r\n const checkoutBody = collectCheckoutBody(values)\r\n const res = await postOnCheckout(\r\n checkoutBody,\r\n access_token_register\r\n )\r\n handleSubmit(\r\n values,\r\n formikHelpers as FormikHelpers<any>,\r\n eventId,\r\n res\r\n )\r\n } catch (e) {\r\n if (axios.isAxiosError(e)) {\r\n if (e.response?.data.error === 'invalid_token') {\r\n if (isWindowDefined) {\r\n window.localStorage.removeItem('user_data')\r\n window.localStorage.removeItem('access_token')\r\n setUserExpired(true)\r\n setShowModalLogin(true)\r\n }\r\n }\r\n if (e.response?.data.message) {\r\n if (typeof document !== undefined) {\r\n document.body.scrollTop = document.documentElement.scrollTop = 0\r\n }\r\n setError(_get(e, 'response.data.message'))\r\n }\r\n onSubmitError(e)\r\n }\r\n }\r\n }}\r\n >\r\n {(props: FormikProps<any>) => (\r\n <Form onSubmit={props.handleSubmit}>\r\n <ErrorFocus />\r\n <LogicRunner\r\n values={props.values}\r\n setStates={setStates}\r\n setFieldValue={props.setFieldValue}\r\n setValues={props.setValues}\r\n setUserValues={setUserValues}\r\n onGetStatesSuccess={onGetStatesSuccess}\r\n onGetStatesError={onGetStatesError}\r\n />\r\n <div className={`billing-info-container ${theme}`}>\r\n {error && !hideErrorsAlertSection && (\r\n <Alert severity=\"error\" onClose={onErrorClose} variant=\"filled\">\r\n {error}\r\n </Alert>\r\n )}\r\n {!isLoggedIn && (\r\n <div className=\"account-actions-block\">\r\n <div>{accountInfoTitle}</div>\r\n <div>Login & skip ahead:</div>\r\n <div className=\"login-block\">\r\n <button\r\n className=\"login-register-button\"\r\n type=\"button\"\r\n onClick={() => {\r\n // If outside login needed to skip package login functionallity\r\n if (onLogin) {\r\n onLogin()\r\n } else {\r\n setShowModalLogin(true)\r\n }\r\n }}\r\n >\r\n Login\r\n </button>\r\n {!hideLogo && (\r\n <div className=\"logo-image-container\">\r\n <img\r\n src={\r\n theme === 'dark'\r\n ? 'https://www.ticketfairy.com/resources/images/logo-ttf.svg'\r\n : 'https://www.ticketfairy.com/resources/images/logo-ttf-black.svg'\r\n }\r\n alt=\"nodata\"\r\n />\r\n </div>\r\n )}\r\n </div>\r\n </div>\r\n )}\r\n {_map(dataWithUniqueIds, item => {\r\n const { label, labelClassName, fields } = item\r\n return (\r\n <React.Fragment key={item.uniqueId}>\r\n <p className={labelClassName}>{label}</p>\r\n {_map(fields, group => {\r\n const { groupClassname, groupItems } = group\r\n return (\r\n <React.Fragment key={group.uniqueId}>\r\n <div className={groupClassname}>\r\n {_map(\r\n groupItems.filter(el => {\r\n if (el.name === 'holderAge' && !showDOB) {\r\n return false\r\n }\r\n if (el.name === 'ttf_opt_in' && hideTtfOptIn) {\r\n return false\r\n }\r\n if (el.name === 'phone') {\r\n el.required = flagRequirePhone\r\n }\r\n return true\r\n }),\r\n element =>\r\n [\r\n 'password',\r\n 'confirmPassword',\r\n 'password-info',\r\n ].includes(element.name) &&\r\n isLoggedIn ? null : (\r\n <React.Fragment key={element.uniqueId}>\r\n <div className={element.className}>\r\n {element.component ? (\r\n element.component\r\n ) : (\r\n <Field\r\n name={element.name}\r\n label={element.name === 'phone' \r\n ? `${element.label}${flagRequirePhone ? '' : ' (optional)'} ` \r\n : element.label}\r\n type={element.type}\r\n validate={getValidateFunctions(\r\n element,\r\n states,\r\n props.values\r\n )}\r\n setFieldValue={props.setFieldValue}\r\n onBlur={props.handleBlur}\r\n component={\r\n element.type === 'checkbox'\r\n ? CheckboxField\r\n : element.type === 'select'\r\n ? SelectField\r\n : element.type === 'phone'\r\n ? FormikPhoneNumberField\r\n : CustomField\r\n }\r\n selectOptions={\r\n element.name === 'country'\r\n ? countries\r\n : element.name === 'state'\r\n ? states\r\n : []\r\n }\r\n theme={theme}\r\n />\r\n )}\r\n </div>\r\n </React.Fragment>\r\n )\r\n )}\r\n </div>\r\n </React.Fragment>\r\n )\r\n })}\r\n </React.Fragment>\r\n )\r\n })}\r\n {!_isEmpty(ticketHoldersFields.fields) && (\r\n <div className=\"ticket-holders-fields\">\r\n <p>{ticketHoldersFields.label}</p>\r\n {_map(ticketsQuantity, (_item, index) => (\r\n <div key={_item}>\r\n <h5>Ticket {index + 1}</h5>\r\n {_map(ticketHoldersFields.fields, group => {\r\n const { groupClassname, groupItems } = group\r\n return (\r\n <div key={group.id}>\r\n <div className={groupClassname}>\r\n {_map(groupItems, element => (\r\n <div\r\n className={element.className}\r\n key={element.name}\r\n >\r\n <Field\r\n name={`${element.name}-${index}`}\r\n label={element.label}\r\n type={element.type}\r\n required={true}\r\n component={\r\n element.type === 'checkbox'\r\n ? CheckboxField\r\n : CustomField\r\n }\r\n validate={combineValidators(\r\n element.required\r\n ? requiredValidator\r\n : () => {},\r\n element.onValidate\r\n ? element.onValidate\r\n : () => {}\r\n )}\r\n />\r\n </div>\r\n ))}\r\n </div>\r\n </div>\r\n )\r\n })}\r\n </div>\r\n ))}\r\n </div>\r\n )}\r\n <div className=\"button-container\">\r\n <Button\r\n type=\"submit\"\r\n variant=\"contained\"\r\n className=\"login-register-button\"\r\n disabled={props.isSubmitting}\r\n >\r\n {props.isSubmitting ? (\r\n <CircularProgress size={26} />\r\n ) : (\r\n buttonName\r\n )}\r\n </Button>\r\n </div>\r\n </div>\r\n </Form>\r\n )}\r\n </Formik>\r\n {showModalLogin && (\r\n <LoginModal\r\n onClose={() => {\r\n setShowModalLogin(false)\r\n }}\r\n onLogin={() => {\r\n setShowModalLogin(false)\r\n setUserExpired(false)\r\n onLoginSuccess()\r\n }}\r\n alreadyHasUser={alreadyHasUser}\r\n userExpired={userExpired}\r\n onAuthorizeSuccess={onAuthorizeSuccess}\r\n onAuthorizeError={onAuthorizeError}\r\n onGetProfileDataSuccess={(data: any) => {\r\n fetchCart()\r\n onGetProfileDataSuccess(data)\r\n }}\r\n onGetProfileDataError={onGetProfileDataError}\r\n />\r\n )}\r\n {showModalRegister && (\r\n <RegisterModal\r\n onClose={() => {\r\n setShowModalRegister(false)\r\n }}\r\n onRegister={() => {\r\n setShowModalRegister(false)\r\n }}\r\n onGetProfileDataSuccess={(data: any) => {\r\n fetchCart()\r\n onGetProfileDataSuccess(data)\r\n }}\r\n onGetProfileDataError={onGetProfileDataError}\r\n />\r\n )}\r\n </ThemeProvider>\r\n )\r\n}\r\n","import React, { useState, useEffect } from 'react'\r\nimport {\r\n useStripe,\r\n useElements,\r\n CardNumberElement,\r\n CardExpiryElement,\r\n CardCvcElement,\r\n} from '@stripe/react-stripe-js'\r\nimport { StripeCardNumberElementOptions } from '@stripe/stripe-js'\r\nimport _identity from 'lodash/identity'\r\nimport _get from 'lodash/get'\r\nimport { CheckboxField } from '../common/index'\r\n\r\nimport './style.css'\r\nimport { getCurrencySymbolByCurrency } from '../../normalizers'\r\nimport CircularProgress from '@mui/material/CircularProgress'\r\n\r\nconst options: StripeCardNumberElementOptions = {\r\n style: {\r\n base: {\r\n backgroundColor: '#000',\r\n fontSize: '18px',\r\n color: '#ffffff',\r\n letterSpacing: '1px',\r\n ':-webkit-autofill': {\r\n color: '#ffffff',\r\n },\r\n '::placeholder': {\r\n color: 'rgba(201, 201, 201, 0.5)',\r\n },\r\n },\r\n invalid: {\r\n color: '#E53935',\r\n },\r\n },\r\n}\r\n\r\nexport interface ICheckoutForm {\r\n total: string;\r\n currency: string;\r\n onSubmit: (error: any) => Promise<any>;\r\n error?: string | null;\r\n stripeCardOptions?: StripeCardNumberElementOptions;\r\n stripe_client_secret: string;\r\n billing_info: { [key: string]: any };\r\n isLoading: any;\r\n handleSetLoading: (loading: any) => void;\r\n conditions: any;\r\n disableZipSection: boolean;\r\n}\r\n\r\ninterface AddressTypes {\r\n city: string;\r\n line1: string;\r\n state: string;\r\n postal_code?: string;\r\n}\r\n\r\nconst CheckoutForm = ({\r\n total,\r\n onSubmit = _identity,\r\n stripeCardOptions = {},\r\n error = null,\r\n stripe_client_secret,\r\n currency,\r\n billing_info,\r\n isLoading = false,\r\n handleSetLoading = () => {},\r\n conditions = [],\r\n disableZipSection,\r\n}: ICheckoutForm) => {\r\n const stripe = useStripe()\r\n const elements = useElements()\r\n const [postalCode, setPostalCode] = useState<any>('')\r\n const [stripeError, setStripeError] = useState<any>(null)\r\n const [checkboxes, setCheckboxes] = useState<any>([])\r\n const [allowSubmit, setAllowSubmit] = useState(false)\r\n\r\n const handleSubmit = async (event: React.SyntheticEvent) => {\r\n handleSetLoading(true)\r\n try {\r\n event.preventDefault()\r\n\r\n if (!postalCode && !disableZipSection) {\r\n setStripeError('Please enter your zip code.')\r\n handleSetLoading(false)\r\n return\r\n }\r\n\r\n if (!stripe || !elements) {\r\n // Stripe.js has not loaded yet. Make sure to disable\r\n // form submission until Stripe.js has loaded.\r\n handleSetLoading(false)\r\n return\r\n }\r\n\r\n const card = elements.getElement(CardNumberElement)\r\n\r\n const address: AddressTypes = {\r\n city: billing_info.city,\r\n line1: billing_info.street_address,\r\n state: billing_info.state,\r\n }\r\n \r\n if (!disableZipSection) {\r\n address.postal_code = postalCode\r\n }\r\n\r\n const paymentMethodReq = await stripe.createPaymentMethod({\r\n type: 'card',\r\n card: card || { token: '' },\r\n billing_details: {\r\n address,\r\n },\r\n })\r\n\r\n if (paymentMethodReq.error) {\r\n setStripeError(paymentMethodReq.error.message || null)\r\n handleSetLoading(false)\r\n return\r\n }\r\n\r\n const { error } = await stripe.confirmCardPayment(stripe_client_secret, {\r\n payment_method: paymentMethodReq.paymentMethod.id,\r\n })\r\n\r\n if (error) {\r\n setStripeError(error.message)\r\n handleSetLoading(false)\r\n return\r\n }\r\n\r\n onSubmit(null)\r\n } catch (e) {\r\n onSubmit(e)\r\n }\r\n }\r\n\r\n const handleCheckboxes = (e: any) => {\r\n const checkbox = e.target\r\n const updatedCheckedState = checkboxes.map((item: any) => {\r\n const value = item.id === checkbox.name ? !item.checked : item.checked\r\n return {\r\n ...item,\r\n checked: value,\r\n }\r\n })\r\n setCheckboxes(updatedCheckedState)\r\n }\r\n\r\n const onChangePostalCode = (e: any) => {\r\n setPostalCode(e.target.value)\r\n }\r\n\r\n useEffect(() => {\r\n if (typeof window !== 'undefined') {\r\n const userData = JSON.parse(\r\n window.localStorage.getItem('user_data') || ''\r\n )\r\n const zipCode = _get(userData, 'zip', '')\r\n zipCode && setPostalCode(zipCode)\r\n }\r\n }, [])\r\n\r\n useEffect(() => {\r\n if (conditions.length) {\r\n setCheckboxes(conditions)\r\n }\r\n }, [conditions])\r\n\r\n useEffect(() => {\r\n if (checkboxes.length) {\r\n const allChecked = checkboxes.every(\r\n (item: any) => item?.checked === true\r\n )\r\n setAllowSubmit(allChecked)\r\n } else {\r\n setAllowSubmit(true)\r\n }\r\n }, [checkboxes])\r\n\r\n const buttonIsDiabled = !stripe || !!error || isLoading || !allowSubmit\r\n\r\n return (\r\n <div className=\"stripe_payment_container\">\r\n {!!stripeError && (\r\n <div className=\"checkout_error_block\">{stripeError}</div>\r\n )}\r\n <form onSubmit={handleSubmit}>\r\n <div className=\"card_form_inner\">\r\n <label className=\"card_number_element\">\r\n <span className=\"card_label_text\">Card number</span>\r\n <CardNumberElement\r\n options={{ ...options, ...stripeCardOptions, }}\r\n onReady={_identity}\r\n onChange={_identity}\r\n onBlur={_identity}\r\n onFocus={_identity}\r\n />\r\n </label>\r\n <label className=\"expiration_element\">\r\n <span className=\"card_label_text\">Expiration date</span>\r\n <CardExpiryElement options={{ ...options, ...stripeCardOptions }} />\r\n </label>\r\n <label className=\"cvc_element\">\r\n <span className=\"card_label_text\">CVC</span>\r\n <CardCvcElement options={{ ...options, ...stripeCardOptions }} />\r\n </label>\r\n {!disableZipSection && (\r\n <label className=\"zip_element\">\r\n <p className=\"card_label_text\">ZIP</p>\r\n <input\r\n type=\"text\"\r\n value={postalCode}\r\n onChange={onChangePostalCode}\r\n placeholder=\"ZIP\"\r\n />\r\n </label>\r\n )}\r\n </div>\r\n {checkboxes?.map((checkbox: any) => (\r\n <div\r\n className={'billing-info-container__singleField'}\r\n key={checkbox.id}\r\n >\r\n <div className=\"conditions-block\">\r\n <CheckboxField\r\n name={checkbox.id}\r\n label={checkbox.text}\r\n required={true}\r\n onChange={handleCheckboxes}\r\n checked={checkbox.checked}\r\n />\r\n </div>\r\n </div>\r\n ))}\r\n <div\r\n className={`payment_button ${buttonIsDiabled ? 'disabled-payment-button' : ''}`}\r\n >\r\n <button disabled={buttonIsDiabled} type=\"submit\">\r\n {isLoading ? (\r\n <CircularProgress size={26} />\r\n ) : (\r\n `Pay ${getCurrencySymbolByCurrency(currency)}${total}`\r\n )}\r\n </button>\r\n </div>\r\n </form>\r\n </div>\r\n )\r\n}\r\n\r\nexport default CheckoutForm\r\n","import _isNumber from 'lodash/isNumber'\r\n\r\nexport const showZero = (value = 0) => {\r\n const intNumber = Number(value)\r\n return _isNumber(intNumber)\r\n ? intNumber >= 0 && intNumber < 10\r\n ? '0' + intNumber\r\n : intNumber\r\n : null\r\n}\r\n","import React, { useState } from 'react'\r\nimport Countdown from 'react-countdown'\r\nimport { showZero } from '../../utils/showZero'\r\nimport './style.css'\r\n\r\nexport interface ITimerWidgetPage {\r\n expires_at: number;\r\n buyLoading?: boolean;\r\n onCountdownFinish?: () => void;\r\n}\r\n\r\nexport interface IRenderer {\r\n minutes: number;\r\n seconds: number;\r\n completed: number;\r\n handleCountdownFinish: () => void;\r\n}\r\n\r\nconst TimerWidget = ({\r\n expires_at,\r\n buyLoading,\r\n onCountdownFinish = () => {},\r\n}: ITimerWidgetPage) => {\r\n const [showTimer, setShowTimer] = useState(true)\r\n\r\n const handleCountdownFinish = () => {\r\n setShowTimer(false)\r\n if (!buyLoading) {\r\n onCountdownFinish()\r\n }\r\n }\r\n\r\n const renderer = ({\r\n minutes,\r\n seconds,\r\n completed,\r\n handleCountdownFinish,\r\n }: IRenderer) => {\r\n if (completed) {\r\n handleCountdownFinish()\r\n return null\r\n }\r\n return (\r\n <span>\r\n {showZero(minutes)}:{showZero(seconds)}\r\n </span>\r\n )\r\n }\r\n\r\n return showTimer && !!expires_at ? (\r\n <div className=\"timer\">\r\n <div className=\"toast-message\">\r\n <p>Please complete your purchase before the timer reaches zero.</p>\r\n <p className=\"countdown\">\r\n <Countdown\r\n date={Date.now() + expires_at * 1000}\r\n renderer={(props: any) =>\r\n renderer({\r\n ...props,\r\n handleCountdownFinish,\r\n })\r\n }\r\n />\r\n </p>\r\n </div>\r\n </div>\r\n ) : null\r\n}\r\n\r\nexport default TimerWidget\r\n","import React, { useEffect, useState } from 'react'\r\nimport { AxiosError } from 'axios'\r\nimport Container from '@mui/material/Container'\r\nimport CircularProgress from '@mui/material/CircularProgress'\r\nimport Alert from '@mui/material/Alert'\r\nimport { Elements } from '@stripe/react-stripe-js'\r\nimport {\r\n loadStripe,\r\n StripeConstructorOptions,\r\n StripeElementsOptions,\r\n} from '@stripe/stripe-js'\r\nimport _map from 'lodash/map'\r\nimport _get from 'lodash/get'\r\nimport _identity from 'lodash/identity'\r\nimport { CONFIGS } from '../../utils'\r\nimport { nanoid } from 'nanoid'\r\nimport { getQueryVariable } from '../../utils/getQueryVariable'\r\n\r\nimport './style.css'\r\nimport StripePayment from '../stripePayment'\r\nimport { IOrderData, IPaymentField } from '../../types'\r\n\r\nimport { getPaymentData, handlePaymentSuccess, getConditions, handleFreeSuccess } from '../../api'\r\nimport { StripeCardNumberElementOptions } from '@stripe/stripe-js'\r\nimport { ThemeProvider, createTheme } from '@mui/material/styles'\r\nimport { ThemeOptions } from '@mui/material'\r\nimport { CSSProperties } from '@mui/styles'\r\nimport TimerWidget from '../timerWidget'\r\nimport { Loader } from '../common/index'\r\n\r\nconst publishableKey = CONFIGS.STRIPE_PUBLISHABLE_KEY || ''\r\n\r\nconst getStripePromise = (reviewData: any) => {\r\n const stripePublishableKey =\r\n _get(reviewData, 'payment_method.stripe_publishable_key') || publishableKey\r\n const stripeAccount = _get(\r\n reviewData,\r\n 'payment_method.stripe_connected_account'\r\n )\r\n\r\n const options: StripeConstructorOptions = {}\r\n if (stripeAccount) {\r\n options.stripeAccount = stripeAccount\r\n }\r\n\r\n return loadStripe(stripePublishableKey, options)\r\n}\r\n\r\nexport interface IPaymentPage {\r\n paymentFields: IPaymentField[];\r\n handlePayment: any;\r\n checkoutData: any;\r\n formTitle?: string;\r\n errorText?: string;\r\n onErrorClose?: () => void;\r\n onGetPaymentDataSuccess: (value: any) => void;\r\n onGetPaymentDataError: (value: AxiosError) => void;\r\n onPaymentError: (value: AxiosError) => void;\r\n stripeCardOptions?: StripeCardNumberElementOptions;\r\n disableZipSection: boolean;\r\n themeOptions?: ThemeOptions & {\r\n input?: CSSProperties;\r\n checkbox?: CSSProperties;\r\n };\r\n elementsOptions?: StripeElementsOptions;\r\n onCountdownFinish?: () => void;\r\n enableTimer?: boolean;\r\n}\r\n\r\nconst initialOrderValues: IOrderData = {\r\n product_name: '',\r\n ticketType: '',\r\n quantity: '',\r\n price: '',\r\n total: '',\r\n currency: '',\r\n}\r\nconst initialReviewValues = {\r\n order_details: {\r\n order_hash: '',\r\n },\r\n payment_method: {\r\n stripe_client_secret: '',\r\n },\r\n billing_info: {},\r\n}\r\n\r\nexport const PaymentContainer = ({\r\n paymentFields = [],\r\n handlePayment,\r\n formTitle = 'Get Your Tickets',\r\n errorText,\r\n checkoutData,\r\n onErrorClose = _identity,\r\n onGetPaymentDataSuccess = () => {},\r\n onGetPaymentDataError = () => {},\r\n onPaymentError = () => {},\r\n stripeCardOptions = {},\r\n disableZipSection = false,\r\n themeOptions,\r\n elementsOptions,\r\n onCountdownFinish = () => {},\r\n enableTimer = false,\r\n}: IPaymentPage) => {\r\n const [reviewData, setReviewData] = useState(initialReviewValues)\r\n const [orderData, setOrderData] = useState(initialOrderValues)\r\n const [error, setError] = useState(null)\r\n const [paymentIsLoading, setPaymentIsLoading] = useState(false)\r\n const [paymentDataIsLoading, setPaymentDataIsLoading] = useState(true)\r\n const [conditions, setConditions] = useState<{ id: string; text: string }[]>(\r\n []\r\n )\r\n\r\n const showFormTitle: boolean = Boolean(formTitle)\r\n const showErrorText: boolean = Boolean(errorText)\r\n\r\n const eventId = getQueryVariable('event_id')\r\n const { hash, total } = checkoutData;\r\n\r\n useEffect(() => {\r\n (async () => {\r\n try {\r\n const response = await getPaymentData(hash)\r\n if (response.data.success) {\r\n const attributes = _get(response, 'data.data.attributes')\r\n setReviewData(attributes)\r\n const { cart, order_details } = attributes\r\n const {\r\n tickets: [ticket],\r\n } = order_details\r\n const orderData = {\r\n product_name: cart[0]?.product_name,\r\n ticketType: ticket?.name,\r\n quantity: ticket?.quantity,\r\n price: ticket?.price,\r\n total: order_details?.total,\r\n currency: order_details?.currency,\r\n }\r\n setOrderData(orderData)\r\n onGetPaymentDataSuccess(response.data)\r\n }\r\n } catch (e) {\r\n setError(_get(e, 'response.data.message'))\r\n onGetPaymentDataError(e.response)\r\n } finally {\r\n setPaymentDataIsLoading(false)\r\n }\r\n })()\r\n }, [checkoutData])\r\n\r\n //just once\r\n useEffect(() => {\r\n // fetch conditions data\r\n const fetchConditions = async () => {\r\n if (eventId) {\r\n const res = await getConditions(eventId)\r\n const conditionsInfo = _get(res, 'data.data.attributes')\r\n setConditions(\r\n conditionsInfo\r\n ? conditionsInfo.map((item: string) => ({\r\n id: nanoid(),\r\n text: item,\r\n checked: false,\r\n }))\r\n : []\r\n )\r\n }\r\n }\r\n fetchConditions()\r\n }, [])\r\n\r\n // 1. get payment data ---> v1/order/${hash}/review/ done\r\n // 2. handle payment ---> v1/order/${orderHash}/pay/\r\n // 3. redirect to confirmation page\r\n const handlePaymentMiddleWare = async (error: any) => {\r\n try {\r\n if (error) {\r\n setPaymentIsLoading(false)\r\n throw error\r\n }\r\n const {\r\n order_details: { order_hash },\r\n } = reviewData\r\n const paymentSuccessResponse = total === \"0.00\" ? (await handleFreeSuccess(order_hash)) : (await handlePaymentSuccess(order_hash))\r\n if (paymentSuccessResponse.status === 200) {\r\n handlePayment(paymentSuccessResponse)\r\n setPaymentIsLoading(false)\r\n }\r\n } catch (e) {\r\n setError(_get(e, 'response.data.message'))\r\n onPaymentError(e.response)\r\n }\r\n }\r\n\r\n const themeMui = createTheme(themeOptions)\r\n\r\n return (\r\n <ThemeProvider theme={themeMui}>\r\n <div className=\"payment_page\">\r\n {!paymentIsLoading && !error && enableTimer && (\r\n <TimerWidget\r\n expires_at={_get(reviewData, 'expires_at', 0)}\r\n buyLoading={paymentIsLoading}\r\n onCountdownFinish={onCountdownFinish}\r\n />\r\n )}\r\n {error && (\r\n <Alert severity=\"error\" onClose={onErrorClose} variant=\"filled\">\r\n {error}\r\n </Alert>\r\n )}\r\n {paymentDataIsLoading && <Loader />}\r\n {!paymentDataIsLoading && (\r\n <Container maxWidth=\"md\">\r\n {showFormTitle && <h1>{formTitle}</h1>}\r\n <div className=\"order_info_text\">Order Review</div>\r\n <div className=\"order_info_section\">\r\n {_map(paymentFields, field => {\r\n const {\r\n id,\r\n label,\r\n className = '',\r\n normalizer = _identity,\r\n } = field\r\n return (\r\n <div key={id} className=\"order_info_block\">\r\n <div className=\"order_info_title\">{label}</div>\r\n <div className={`${className} order_info_text`}>\r\n {normalizer(orderData[id], orderData.currency)}\r\n </div>\r\n </div>\r\n )\r\n })}\r\n </div>\r\n {total !== \"0.00\" ? <div className=\"payment_info\">\r\n <div className=\"payment_info_label\">\r\n Please provide your payment information\r\n </div>\r\n {showErrorText && (\r\n <p className=\"payment_info__error\">{errorText}</p>\r\n )}\r\n <div>\r\n <Elements\r\n stripe={getStripePromise(reviewData)}\r\n options={elementsOptions}\r\n >\r\n <StripePayment\r\n stripe_client_secret={_get(\r\n reviewData,\r\n 'payment_method.stripe_client_secret'\r\n )}\r\n total={orderData.total}\r\n onSubmit={handlePaymentMiddleWare}\r\n error={error}\r\n currency={orderData.currency}\r\n billing_info={reviewData.billing_info}\r\n isLoading={paymentIsLoading}\r\n handleSetLoading={value => setPaymentIsLoading(value)}\r\n conditions={conditions}\r\n stripeCardOptions={stripeCardOptions}\r\n disableZipSection={disableZipSection}\r\n />\r\n </Elements>\r\n </div>\r\n </div> : \r\n <div\r\n className={`payment_button ${paymentIsLoading ? 'disabled-payment-button' : ''}`}\r\n >\r\n <button disabled={paymentIsLoading} type=\"button\" onClick={() => {\r\n handlePaymentMiddleWare(null)\r\n }}>\r\n {paymentIsLoading ? (\r\n <CircularProgress size={26} />\r\n ) : (\r\n \"Complete Registration\"\r\n )}\r\n </button>\r\n </div>}\r\n </Container>\r\n )}\r\n </div>\r\n </ThemeProvider>\r\n )\r\n}\r\n","import {\r\n FacebookShareButton,\r\n FacebookMessengerShareButton,\r\n TwitterShareButton,\r\n LinkedinShareButton,\r\n PinterestShareButton,\r\n VKShareButton,\r\n OKShareButton,\r\n TelegramShareButton,\r\n WhatsappShareButton,\r\n RedditShareButton,\r\n TumblrShareButton,\r\n MailruShareButton,\r\n EmailShareButton,\r\n LivejournalShareButton,\r\n ViberShareButton,\r\n WorkplaceShareButton,\r\n LineShareButton,\r\n PocketShareButton,\r\n InstapaperShareButton,\r\n WeiboShareButton,\r\n HatenaShareButton,\r\n FacebookIcon,\r\n FacebookMessengerIcon,\r\n TwitterIcon,\r\n LinkedinIcon,\r\n PinterestIcon,\r\n VKIcon,\r\n OKIcon,\r\n TelegramIcon,\r\n WhatsappIcon,\r\n RedditIcon,\r\n TumblrIcon,\r\n MailruIcon,\r\n EmailIcon,\r\n LivejournalIcon,\r\n ViberIcon,\r\n WorkplaceIcon,\r\n LineIcon,\r\n PocketIcon,\r\n InstapaperIcon,\r\n WeiboIcon,\r\n HatenaIcon,\r\n} from 'react-share'\r\n\r\nconst config: any = {\r\n facebook: { component: FacebookShareButton, icon: FacebookIcon },\r\n messenger: { component: FacebookMessengerShareButton, icon: FacebookMessengerIcon },\r\n twitter: { component: TwitterShareButton, icon: TwitterIcon },\r\n linkedin: { component: LinkedinShareButton, icon: LinkedinIcon },\r\n pinterest: { component: PinterestShareButton, icon: PinterestIcon },\r\n vk: { component: VKShareButton, icon: VKIcon },\r\n ok: { component: OKShareButton, icon: OKIcon },\r\n telegram: { component: TelegramShareButton, icon: TelegramIcon },\r\n whatsapp: { component: WhatsappShareButton, icon: WhatsappIcon },\r\n reddit: { component: RedditShareButton, icon: RedditIcon },\r\n tumblr: { component: TumblrShareButton, icon: TumblrIcon },\r\n mailru: { component: MailruShareButton, icon: MailruIcon },\r\n email: { component: EmailShareButton, icon: EmailIcon },\r\n livejournal: { component: LivejournalShareButton, icon: LivejournalIcon },\r\n viber: { component: ViberShareButton, icon: ViberIcon },\r\n workplace: { component: WorkplaceShareButton, icon: WorkplaceIcon },\r\n line: { component: LineShareButton, icon: LineIcon },\r\n pocket: { component: PocketShareButton, icon: PocketIcon },\r\n instapaper: { component: InstapaperShareButton, icon: InstapaperIcon },\r\n weibo: { component: WeiboShareButton, icon: WeiboIcon },\r\n hatena: { component: HatenaShareButton, icon: HatenaIcon },\r\n}\r\n\r\nexport default function (key: string) {\r\n return config[key]\r\n}\r\n","import React from 'react';\r\nimport { IShareButton } from'./index'\r\nimport config from './config'\r\n\r\nconst SocialComponent = ({ mainLabel, subLabel, platform, shareData }: IShareButton) => {\r\n const Component = config(platform)?.component\r\n const Icon = config(platform)?.icon\r\n \r\n return (\r\n <>\r\n {Component && (\r\n <Component {...shareData}>\r\n <div className='social-media-sharing'>\r\n <div className='share-icon'>\r\n <Icon size={32} round />\r\n </div>\r\n <span className=\"share-text\">\r\n {mainLabel}\r\n <br /> {subLabel}\r\n </span>\r\n </div>\r\n </Component>\r\n )}\r\n </>\r\n )\r\n}\r\n\r\ninterface SocialButtonsTypes {\r\n shareLink: string;\r\n name: string;\r\n appId: string;\r\n showDefaultShareButtons: boolean;\r\n shareButtons: IShareButton[]\r\n}\r\n\r\nconst SocialButtons = ({ showDefaultShareButtons, shareLink, name, appId, shareButtons }: SocialButtonsTypes) => {\r\n return (\r\n <>\r\n <div className=\"convenient_buttons\">\r\n or use one of these convenient buttons:\r\n </div>\r\n <div className=\"social-media-btns\">\r\n {showDefaultShareButtons && (\r\n <>\r\n <SocialComponent\r\n mainLabel='Share on'\r\n subLabel='Facebook'\r\n platform='facebook'\r\n shareData={{\r\n quote: name,\r\n url: shareLink\r\n }}\r\n />\r\n <SocialComponent\r\n mainLabel='Tweet to your'\r\n subLabel='Followers'\r\n platform='twitter'\r\n shareData={{\r\n title: name,\r\n url: shareLink\r\n }}\r\n />\r\n <SocialComponent\r\n mainLabel='Message friends on'\r\n subLabel='Facebook'\r\n platform='messenger'\r\n shareData={{\r\n appId: appId,\r\n url: shareLink\r\n }}\r\n />\r\n <SocialComponent\r\n mainLabel='Message friends on'\r\n subLabel='Whatsapp'\r\n platform='whatsapp'\r\n shareData={{\r\n title: name,\r\n url: shareLink\r\n }}\r\n />\r\n </>\r\n )}\r\n {shareButtons.map((shareButton: IShareButton, index: number) => (\r\n <SocialComponent key={index} {...shareButton} />\r\n ))}\r\n </div>\r\n {(showDefaultShareButtons || shareButtons.length) && (\r\n <p>We <strong>never</strong> post on Facebook without your permission!</p>\r\n )}\r\n </>\r\n )\r\n}\r\n\r\nexport default SocialButtons\r\n","/* eslint-disable react/no-unescaped-entities */\r\nimport React, { useEffect, useRef, useState } from 'react'\r\nimport './style.css'\r\nimport _map from 'lodash/map'\r\nimport _get from 'lodash/get'\r\nimport { IReferralPromotion } from '../../types'\r\nimport { getConfirmationData } from '../../api'\r\nimport { AxiosError } from 'axios'\r\nimport SocialButtons from './social-buttons'\r\n\r\nexport interface IShareButton {\r\n mainLabel: string;\r\n subLabel: string;\r\n platform: string;\r\n shareData: any;\r\n}\r\n\r\nexport interface IConfirmationPage {\r\n isReferralEnabled: boolean;\r\n showDefaultShareButtons: boolean;\r\n messengerAppId: string;\r\n shareButtons: IShareButton[];\r\n onGetConfirmationDataSuccess: (res: any) => void;\r\n onGetConfirmationDataError: (e: AxiosError) => void;\r\n orderHash?: string;\r\n}\r\n\r\nexport const ConfirmationContainer = ({\r\n isReferralEnabled,\r\n showDefaultShareButtons,\r\n messengerAppId = '',\r\n shareButtons = [],\r\n onGetConfirmationDataSuccess = () => {},\r\n onGetConfirmationDataError = () => {},\r\n orderHash,\r\n}: IConfirmationPage) => {\r\n const inputRef = useRef(null)\r\n const [data, setData] = useState<any>(null)\r\n\r\n // 1. get payment complete data ---> v1/order/${orderHash}/payment/complete/\r\n\r\n useEffect(() => {\r\n (async () => {\r\n const dataEncoded =\r\n (typeof window !== 'undefined' &&\r\n window.localStorage.getItem('checkoutData')) ||\r\n ''\r\n\r\n const dataDecoded = dataEncoded\r\n ? JSON.parse(dataEncoded)\r\n : { hash: orderHash }\r\n const { hash } = dataDecoded\r\n\r\n if (hash) {\r\n try {\r\n const response = await getConfirmationData(hash)\r\n const data = _get(response, 'data.data.attributes')\r\n data.personal_share_sales = data.personal_share_sales.map(\r\n (d: any) => {\r\n const salesData: IReferralPromotion = {\r\n label: `If your friends buy ${d.sales} tickets`,\r\n price: '',\r\n }\r\n if (d.price === 0) {\r\n salesData.subLabel = 'Your ticket becomes'\r\n salesData.price = 'FREE!'\r\n } else {\r\n salesData.subLabel = 'Your ticket goes down to'\r\n salesData.price = data.currency.symbol + d.price?.toFixed(2)\r\n }\r\n\r\n return salesData\r\n }\r\n )\r\n data.personal_share_sales.unshift({\r\n label: 'Your ticket is currently',\r\n price: data.currency.symbol + data.product_price?.toFixed(2),\r\n })\r\n setData(data)\r\n onGetConfirmationDataSuccess(response.data)\r\n } catch (error) {\r\n onGetConfirmationDataError(error.response)\r\n }\r\n }\r\n })()\r\n }, [])\r\n\r\n const onChangeShareLink = (e: React.ChangeEvent<HTMLInputElement>) => {\r\n const newData = { ...data, personal_share_link: e.target.value }\r\n setData(newData)\r\n }\r\n\r\n return (\r\n <div className=\"confirmation-page\">\r\n {data && (\r\n <>\r\n <p className=\"title\">Your Tickets are Confirmed!</p>\r\n <div className=\"share-message-section\">\r\n <span className=\"main\">Your tickets have been emailed to you</span>\r\n <span className=\"helper\">\r\n Please bring them with you to the event\r\n </span>\r\n </div>\r\n {data.disable_referral === false && isReferralEnabled && (\r\n <>\r\n <div className=\"referral_text_image_section\">\r\n <div className=\"referral_text_section\">\r\n <div className=\"referral_title_text\">\r\n Your ticket can become\r\n <span className=\"strong-text\"> cheaper </span>\r\n or even\r\n <span className=\"strong-text\"> FREE!</span>\r\n </div>\r\n <div className=\"referral_text\">\r\n <span className=\"strong-text\"> Invite friends </span>\r\n and we'll refund up to\r\n <span className=\"strong-text\"> 100% </span>\r\n of your ticket money, if they buy tickets as well!\r\n </div>\r\n </div>\r\n <img src={data.product_image} alt=\"No Data\" />\r\n </div>\r\n <div className=\"share_wrapper\">\r\n <div className=\"share_section\">\r\n <div className=\"invitation_section\">\r\n <div className=\"invitation_title\">\r\n How do you invite your friends?\r\n </div>\r\n <div className=\"share_buttons\">\r\n <div className=\"share-by-link\">\r\n <h5 className=\"share-by-link label\">\r\n Send them this link:\r\n </h5>\r\n <div className=\"share-btn-inner\">\r\n <input\r\n ref={inputRef}\r\n className=\"share-input\"\r\n value={data.personal_share_link}\r\n onChange={onChangeShareLink}\r\n />\r\n <div\r\n className=\"share-by-link-copy-icon\"\r\n onClick={() =>\r\n navigator.clipboard.writeText(\r\n _get(inputRef, 'current.value')\r\n )\r\n }\r\n >\r\n <img\r\n src=\"https://img.icons8.com/office/50/000000/copy.png\"\r\n alt=\"copy\"\r\n />\r\n </div>\r\n </div>\r\n </div>\r\n {(showDefaultShareButtons || !!shareButtons.length) && (\r\n <SocialButtons\r\n showDefaultShareButtons={showDefaultShareButtons}\r\n name={data.product_name}\r\n appId={messengerAppId}\r\n shareLink={data.personal_share_link}\r\n shareButtons={shareButtons}\r\n />\r\n )}\r\n </div>\r\n </div>\r\n </div>\r\n <div className=\"pricing-section\">\r\n <div className=\"invitation_title\">How much cheaper?</div>\r\n {_map(data.personal_share_sales, (pricing, index) => (\r\n <div key={index} className=\"pricing-section_wrapper\">\r\n <div className=\"pricing-section_label\">\r\n {pricing.label}\r\n {pricing.subLabel && (\r\n <div className=\"pricing-section_sublabel\">\r\n {pricing.subLabel}\r\n </div>\r\n )}\r\n </div>\r\n <div className=\"pricing-section_price\">\r\n {' '}\r\n {pricing.price}\r\n </div>\r\n </div>\r\n ))}\r\n </div>\r\n </div>\r\n </>\r\n )}\r\n </>\r\n )}\r\n </div>\r\n )\r\n}\r\n","export const getTicketSelectOptions = (\r\n maxCount: number = 10,\r\n minCount: number = 1,\r\n multiplier: number = 1\r\n) => {\r\n const options = [{ label: 0, value: 0 }]\r\n for (let i = minCount; i <= Math.min(50, maxCount); i += multiplier) {\r\n options.push({ label: i, value: i })\r\n }\r\n return options\r\n}\r\n","import React from 'react'\r\nimport './style.css'\r\nimport _has from 'lodash/has'\r\nimport _get from 'lodash/get'\r\nimport Box from '@mui/material/Box'\r\nimport FormControl from '@mui/material/FormControl'\r\nimport MenuItem from '@mui/material/MenuItem'\r\nimport Select from '@mui/material/Select'\r\n\r\nimport { getTicketSelectOptions } from './utils'\r\n\r\ninterface ITicketRowProps {\r\n ticketTier: any;\r\n prevTicketTier: any;\r\n selectedTickets: any;\r\n handleTicketSelect: any;\r\n}\r\n\r\nexport const TicketRow = ({\r\n ticketTier,\r\n prevTicketTier,\r\n selectedTickets,\r\n handleTicketSelect,\r\n}: ITicketRowProps) => {\r\n const soldOutMessage = ticketTier.soldOutMessage\r\n ? `${ticketTier.soldOutMessage}`.toUpperCase()\r\n : 'SOLD OUT'\r\n const isSalesClosed = !ticketTier.salesStarted || ticketTier.salesEnded\r\n const options = getTicketSelectOptions(\r\n ticketTier.maxQuantity,\r\n ticketTier.minQuantity,\r\n ticketTier.multiplier\r\n )\r\n const ticketsClosedMessage = !ticketTier.salesStarted ? 'Sales not started' : 'Sales Ended'\r\n\r\n const onSaleContent = isSalesClosed ? ticketsClosedMessage : (\r\n <div className=\"get-tickets\">\r\n <Box className=\"get-tickets__selectbox\">\r\n <FormControl fullWidth>\r\n <Select\r\n sx={{\r\n borderRadius: 0,\r\n }}\r\n value={\r\n selectedTickets[ticketTier.id]\r\n ? selectedTickets[ticketTier.id]\r\n : 0\r\n }\r\n onChange={handleTicketSelect}\r\n displayEmpty\r\n inputProps={{ 'aria-label': 'Without label' }}\r\n MenuProps={{\r\n PaperProps: {\r\n sx: { maxHeight: 150 },\r\n className: 'get-tickets-paper',\r\n },\r\n }}\r\n >\r\n {options.map((option, index) => (\r\n <MenuItem key={index} value={option.value}>\r\n {option.value}\r\n </MenuItem>\r\n ))}\r\n </Select>\r\n </FormControl>\r\n </Box>\r\n </div>\r\n )\r\n\r\n let returnValue: any = ''\r\n\r\n if (ticketTier.sold_out || !ticketTier.displayTicket || ticketTier.soldOut) {\r\n returnValue = soldOutMessage\r\n }\r\n if (ticketTier.displayTicket) {\r\n returnValue = onSaleContent\r\n }\r\n if (_get(prevTicketTier, 'in_stock')) {\r\n returnValue = 'SOON'\r\n }\r\n\r\n return <>{returnValue} </>\r\n}\r\n","import React from 'react'\r\nimport './style.css'\r\n\r\nimport _sortBy from 'lodash/sortBy'\r\nimport { TicketRow } from './TicketRow'\r\n\r\ninterface ITicketsSectionProps {\r\n ticketsList: any;\r\n selectedTickets: any;\r\n handleTicketSelect: any;\r\n promoCodeIsApplied: boolean;\r\n}\r\n\r\nexport const TicketsSection = ({\r\n ticketsList,\r\n selectedTickets,\r\n handleTicketSelect,\r\n promoCodeIsApplied,\r\n}: ITicketsSectionProps) => {\r\n const sortedTicketsList = _sortBy(ticketsList, 'sortOrder')\r\n return (\r\n <>\r\n {sortedTicketsList.map((ticket, i, arr) => {\r\n const isSoldOut =\r\n ticket.sold_out || !ticket.displayTicket || ticket.soldOut\r\n const ticketSelect = (event: any) => {\r\n const { value } = event.target\r\n handleTicketSelect(ticket.id, value)\r\n }\r\n\r\n let ticketIsDiscounted = false\r\n if (\r\n ticket.oldPrice &&\r\n promoCodeIsApplied &&\r\n !isSoldOut &&\r\n ticket.oldPrice !== ticket.price\r\n ) {\r\n ticketIsDiscounted = true\r\n }\r\n\r\n const ticketIsFree = (+ticket.cost || +ticket.price) === 0\r\n const ticketPrice = isSoldOut ? 'SOLD OUT' : ticketIsFree ? 'FREE' : `$ ${(+ticket.cost || +ticket.price).toFixed(2)}`\r\n\r\n return (\r\n <div\r\n key={ticket.id || ticket.name}\r\n className={`event-detail__tier ${isSoldOut ? 'disabled' : ''}`}\r\n >\r\n <div className=\"event-detail__tier-name\">\r\n {ticket.displayName || ticket.name}\r\n </div>\r\n <div className=\"event-tickets-container\">\r\n <div className=\"event-detail__tier-price\">\r\n {ticketIsDiscounted && (\r\n <p className=\"old-price\">$ {(+ticket.oldPrice).toFixed(2)}</p>\r\n )}\r\n <p>{ticketPrice}</p>\r\n {!isSoldOut && !ticketIsFree && (\r\n <p className=\"fees\">\r\n {ticket.feeIncluded ? '(incl. Fees)' : '(excl. Fees)'}\r\n </p>\r\n )}\r\n </div>\r\n <div\r\n className=\"event-detail__tier-state\"\r\n style={{ minWidth: 55 }}\r\n >\r\n <TicketRow\r\n ticketTier={ticket}\r\n prevTicketTier={arr[i - 1]}\r\n selectedTickets={selectedTickets}\r\n handleTicketSelect={ticketSelect}\r\n />\r\n </div>\r\n </div>\r\n </div>\r\n )\r\n })}\r\n </>\r\n )\r\n}\r\n","import React, { useState } from 'react'\r\nimport Button from '@mui/material/Button'\r\nimport CircularProgress from '@mui/material/CircularProgress'\r\nimport { Field, Form, Formik } from 'formik'\r\nimport { CustomField } from '../common/index'\r\nimport { addToWaitingList } from '../../api'\r\nimport {\r\n combineValidators,\r\n requiredValidator,\r\n emailValidator,\r\n} from '../../validators'\r\nimport { ErrorFocus } from '../../utils/formikErrorFocus'\r\n\r\nimport './style.css'\r\n\r\ninterface WaitingListProps {\r\n tickets: any;\r\n eventId: number;\r\n}\r\n\r\ninterface WaitingListFields {\r\n ticketTypeId: string;\r\n quantity: string;\r\n firstName: string;\r\n lastName: string;\r\n email: string;\r\n}\r\n\r\nconst generateQuantity = (n: number) => {\r\n const quantityList = []\r\n for (let i = 1; i <= n; i++) {\r\n quantityList.push({ label: i, value: i })\r\n }\r\n return quantityList\r\n}\r\n \r\nconst WaitingList = ({ tickets = {}, eventId }: WaitingListProps) => {\r\n const isWindowDefined = typeof window !== 'undefined'\r\n const userData =\r\n isWindowDefined && window.localStorage.getItem('user_data')\r\n ? JSON.parse(window.localStorage.getItem('user_data') || '')\r\n : {}\r\n\r\n const [showSuccessMessage, setShowSuccessMessage] = useState(false)\r\n const [loading, setLoading] = useState(false)\r\n const ticketTypesList = Object.values(tickets).map((d: any) => ({\r\n label: d.displayName,\r\n value: d.id,\r\n }))\r\n\r\n const showTicketsField = Boolean(ticketTypesList.length)\r\n\r\n const handleSubmit = async (values: WaitingListFields) => {\r\n try {\r\n setLoading(true)\r\n const requestData = {\r\n data: {\r\n attributes: values,\r\n },\r\n }\r\n const { data } = await addToWaitingList(eventId, requestData)\r\n\r\n if (data.success) {\r\n setShowSuccessMessage(true)\r\n }\r\n } catch (error) {\r\n } finally {\r\n setLoading(false)\r\n }\r\n }\r\n\r\n return (\r\n <div className=\"waiting-list\">\r\n {showSuccessMessage ? (\r\n <div className=\"success-message\">\r\n <p className=\"added-success-message\">You've been added to the waiting list!</p>\r\n <p>You'll be notified if tickets become available.</p>\r\n </div>\r\n ) : (\r\n <>\r\n <h2>WAITING LIST</h2>\r\n <Formik\r\n initialValues={{\r\n ticketTypeId: '',\r\n quantity: '',\r\n firstName: userData.first_name || '',\r\n lastName: userData.last_name || '',\r\n email: userData.email || '',\r\n }}\r\n onSubmit={handleSubmit}\r\n >\r\n <Form>\r\n <ErrorFocus />\r\n {showTicketsField && (\r\n <>\r\n <div className=\"field-item\">\r\n <Field\r\n name=\"ticketTypeId\"\r\n label=\"Type of Ticket\"\r\n type=\"select\"\r\n component={CustomField}\r\n selectOptions={[\r\n { label: 'Type of Ticket', value: '', disabled: true },\r\n ...ticketTypesList,\r\n ]}\r\n />\r\n </div>\r\n <div className=\"field-item\">\r\n <Field\r\n name=\"quantity\"\r\n label=\"Quantity Requested\"\r\n type=\"select\"\r\n component={CustomField}\r\n selectOptions={[\r\n {\r\n label: 'Quantity Requested',\r\n value: '',\r\n disabled: true,\r\n },\r\n ...generateQuantity(10),\r\n ]}\r\n />\r\n </div>\r\n </>\r\n )}\r\n <div className=\"field-item\">\r\n <Field\r\n name=\"firstName\"\r\n label=\"First name\"\r\n validate={(value: string) =>\r\n requiredValidator(value, 'Please enter your First name')\r\n }\r\n component={CustomField}\r\n />\r\n </div>\r\n <div className=\"field-item\">\r\n <Field\r\n name=\"lastName\"\r\n label=\"Last name\"\r\n validate={(value: string) =>\r\n requiredValidator(value, 'Please enter your Last name')\r\n }\r\n component={CustomField}\r\n />\r\n </div>\r\n <div className=\"field-item\">\r\n <Field\r\n name=\"email\"\r\n label=\"Email\"\r\n validate={combineValidators(\r\n (value: string) =>\r\n requiredValidator(value, 'Please enter your Email'),\r\n (value: string) => emailValidator(value)\r\n )}\r\n component={CustomField}\r\n />\r\n </div>\r\n\r\n <Button\r\n type=\"submit\"\r\n variant=\"contained\"\r\n className=\"waiting-list-button\"\r\n >\r\n {loading ? (\r\n <CircularProgress size=\"22px\" />\r\n ) : (\r\n 'ADD TO WAITING LIST'\r\n )}\r\n </Button>\r\n </Form>\r\n </Formik>\r\n </>\r\n )}\r\n </div>\r\n )\r\n}\r\n\r\nexport default WaitingList\r\n","export const getImage = (name: string = ''): any => {\r\n let image: any = ''\r\n\r\n if (!name.trim().length) {\r\n return image\r\n }\r\n\r\n if (process.env.NODE_ENV === 'production') {\r\n image = require(`./images/${name}`)\r\n return image.default\r\n }\r\n\r\n return image\r\n}\r\n","import React from 'react'\r\nimport Button from 'react-bootstrap/Button'\r\nimport SVG from 'react-inlinesvg'\r\nimport { getImage } from '../../utils/getImage'\r\nimport { Loader } from '../common/index'\r\n\r\nexport interface IPromoCodeSectionProps {\r\n promoCode: string;\r\n promoCodeIsApplied: boolean;\r\n showPromoInput: boolean;\r\n isPromotionsEnabled: boolean;\r\n isAllTicketsSoldOut: boolean;\r\n isAccessCodeEnabled?: boolean;\r\n isPromoLoading?: boolean;\r\n setPromoCode: (value: string) => void;\r\n setPromoCodeUpdated: (value: string) => void;\r\n setShowPromoInput: (value: boolean) => void;\r\n}\r\n\r\nexport const PromoCodeSection = ({\r\n promoCode,\r\n promoCodeIsApplied,\r\n showPromoInput,\r\n isPromotionsEnabled,\r\n setPromoCode,\r\n setPromoCodeUpdated,\r\n setShowPromoInput,\r\n isAccessCodeEnabled,\r\n isPromoLoading,\r\n}: IPromoCodeSectionProps) => {\r\n const isPromoCodeHasValue = !!promoCode.trim()\r\n\r\n const renderInputField = () => {\r\n return (\r\n <div className=\"promo-code-block\">\r\n <div className=\"promo-code-block\">\r\n <p className=\"promo-code-text\">\r\n { isAccessCodeEnabled ? 'Access code required' : 'Promo code'}\r\n </p>\r\n \r\n </div>\r\n <input\r\n className=\"promo-code-input\"\r\n placeholder=\"\"\r\n onChange={e => {\r\n setPromoCode(e.target.value)\r\n }}\r\n onKeyPress={event => {\r\n if (event.key === 'Enter' && isPromoCodeHasValue) {\r\n setPromoCodeUpdated(promoCode)\r\n setShowPromoInput(false)\r\n }\r\n }}\r\n />\r\n <Button\r\n className=\"promo-submit-button\"\r\n onClick={() => {\r\n if (isPromoCodeHasValue) {\r\n setPromoCodeUpdated(promoCode)\r\n setShowPromoInput(false)\r\n }\r\n }}\r\n >\r\n {isAccessCodeEnabled ? 'ENTER' : 'APPLY'}\r\n </Button>\r\n </div>\r\n )\r\n }\r\n\r\n return isPromoLoading ? <Loader /> : (\r\n <div >\r\n {promoCodeIsApplied ? (\r\n <div className=\"alert-info\">\r\n <SVG\r\n src={getImage('done.svg')}\r\n preProcessor={(code) => code.replace(/fill=\".*?\"/g, 'fill=\"currentColor\"')}\r\n />\r\n <p className=\"promo-code-success\">PROMO CODE APPLIED SUCCESSFULLY</p>\r\n </div>\r\n ) : null}\r\n {showPromoInput && (\r\n renderInputField()\r\n )}\r\n {isPromotionsEnabled && !showPromoInput && !isAccessCodeEnabled ? (\r\n <Button\r\n className=\"promo-code-button\"\r\n placeholder=\"Promo Codes\"\r\n onClick={() => {\r\n setShowPromoInput(true)\r\n }}\r\n >\r\n Got a promo code? Click here\r\n </Button>\r\n ) : !isPromotionsEnabled && !showPromoInput && isAccessCodeEnabled && !promoCodeIsApplied ? renderInputField() :\r\n null\r\n }\r\n </div>\r\n )\r\n}\r\n","import React, { useEffect, useState } from 'react'\r\nimport moment from 'moment-timezone'\r\nimport './style.css'\r\n\r\ninterface CountdownTypes {\r\n startDate: string;\r\n timezone?: string;\r\n title?: string;\r\n message?: string;\r\n callback?: () => void;\r\n}\r\n\r\nconst isTimeExpired = (startDate: string, timezone: string) => {\r\n return !moment(startDate).isAfter(moment.tz(moment(), timezone).format('YYYY-MM-DD HH:mm:ss'))\r\n}\r\n\r\nfunction Countdown({\r\n startDate,\r\n timezone = moment.tz.guess(),\r\n title = '',\r\n message = '',\r\n callback = () => {}\r\n}: CountdownTypes) {\r\n const [duration, setDuration] = useState('')\r\n const [timeExpired, setTimeExpired] = useState(false)\r\n\r\n useEffect(() => {\r\n setTimeExpired(isTimeExpired(startDate, timezone))\r\n }, [])\r\n\r\n useEffect(() => {\r\n let timer: any;\r\n\r\n if(!timeExpired) {\r\n timer = setInterval(() => {\r\n if(isTimeExpired(startDate, timezone)) {\r\n clearInterval(timer)\r\n setTimeExpired(true)\r\n callback()\r\n }\r\n\r\n const currentDate = moment.tz(moment(), timezone).format('YYYY-MM-DD HH:mm:ss')\r\n const diffTime = moment(startDate).diff(currentDate)\r\n const duration = moment.duration(diffTime)\r\n const dateArr: any = {\r\n year: duration.years(),\r\n month: duration.months(),\r\n day: duration.days(),\r\n hour: duration.hours(),\r\n minute: duration.minutes(),\r\n second: duration.seconds(),\r\n }\r\n \r\n let timeLeft = ''\r\n \r\n for(let date in dateArr) {\r\n const unit = dateArr[date] === 1 ? date : date + 's'\r\n const val = String(dateArr[date]).length === 1 ? '0' + dateArr[date] : dateArr[date] \r\n if(timeLeft) {\r\n timeLeft += `, ${val} ${unit}`\r\n } else if(dateArr[date]) {\r\n timeLeft += `${val} ${unit}`\r\n }\r\n }\r\n \r\n setDuration(timeLeft)\r\n }, 1000)\r\n }\r\n return () => {\r\n clearInterval(timer)\r\n }\r\n }, [timeExpired])\r\n\r\n return (\r\n <>\r\n {!timeExpired && duration && (\r\n <div className='countdown'>\r\n <div>\r\n <p className='title'>{title}</p>\r\n <p>{duration}</p>\r\n </div>\r\n <p className='message'>{message}</p>\r\n </div>\r\n )}\r\n </>\r\n )\r\n}\r\n\r\nexport default Countdown\r\n","import { useEffect } from 'react'\r\nimport { postReferralVisits } from '../../api'\r\n\r\ninterface IReferralLogicProps {\r\n eventId: string | number;\r\n}\r\n\r\nexport const ReferralLogic = (props: IReferralLogicProps) => {\r\n const { eventId } = props\r\n const isWindowDefined = typeof window !== 'undefined'\r\n\r\n useEffect(() => {\r\n if (isWindowDefined) {\r\n const params: URLSearchParams = new URL(`${window.location}`).searchParams\r\n const referralId = params.get('ttf_r') || ''\r\n const isAlreadyCounted = !!localStorage.getItem('referral_key')\r\n\r\n if (referralId && eventId && !isAlreadyCounted) {\r\n (async () => {\r\n try {\r\n await postReferralVisits(`${eventId}`, referralId)\r\n localStorage.setItem(\r\n 'referral_key',\r\n [eventId, '.', referralId].join('')\r\n )\r\n } catch (error) {}\r\n })()\r\n }\r\n }\r\n }, [])\r\n\r\n return null\r\n}\r\n","import React, { useState, useEffect } from 'react'\r\nimport axios, { AxiosError } from 'axios'\r\nimport { Loader } from '../common/index'\r\nimport './style.css'\r\n\r\nimport {\r\n getTickets,\r\n getEvent,\r\n addToCart,\r\n setCustomHeader,\r\n postOnCheckout,\r\n} from '../../api'\r\nimport _get from 'lodash/get'\r\nimport _some from 'lodash/some'\r\nimport _every from 'lodash/every'\r\nimport _find from 'lodash/find'\r\nimport _isEmpty from 'lodash/isEmpty'\r\nimport Button from 'react-bootstrap/Button'\r\nimport jwt_decode from 'jwt-decode'\r\nimport { TicketsSection } from './TicketsSection'\r\nimport WaitingList from '../waitingList'\r\nimport { PromoCodeSection } from './PromoCodeSection'\r\nimport { LoginModal } from '../loginModal'\r\nimport Countdown from '../countdown'\r\nimport { createCheckoutDataBodyWithDefaultHolder, getQueryVariable } from '../../utils'\r\nimport { ThemeProvider } from '@mui/private-theming'\r\nimport { createTheme, ThemeOptions } from '@mui/material'\r\nimport { CSSProperties } from '@mui/styles'\r\nimport { ReferralLogic } from './ReferralLogic'\r\n\r\ninterface CartSuccess {\r\n skip_billing_page: boolean;\r\n names_required: boolean;\r\n age_required: boolean;\r\n phone_required: boolean;\r\n event_id: string;\r\n hash?: string;\r\n}\r\n\r\nexport interface IGetTickets {\r\n eventId: number;\r\n onAddToCartSuccess: (response: CartSuccess) => void;\r\n getTicketsLabel?: string;\r\n contentStyle?: React.CSSProperties;\r\n onAddToCartError: (e: AxiosError) => void;\r\n onGetTicketsSuccess: (response: any) => void;\r\n onGetTicketsError: (e: AxiosError) => void;\r\n onLoginSuccess: () => void;\r\n\r\n theme?: 'light' | 'dark';\r\n queryPromoCode?: string;\r\n isPromotionsEnabled?: boolean;\r\n themeOptions?: ThemeOptions & { input?: CSSProperties; checkbox?: CSSProperties }\r\n isAccessCodeEnabled?: boolean;\r\n hideSessionButtons?: boolean;\r\n hideWaitingList?: boolean;\r\n}\r\n\r\nexport interface ITicket {\r\n id: string | number;\r\n [key: string]: string | number;\r\n}\r\n\r\nexport interface ISelectedTickets {\r\n [key: string]: string | number;\r\n}\r\n\r\nexport const TicketsContainer = ({\r\n onLoginSuccess,\r\n getTicketsLabel,\r\n eventId,\r\n onAddToCartSuccess,\r\n contentStyle = {},\r\n onAddToCartError = () => {},\r\n onGetTicketsSuccess = () => {},\r\n onGetTicketsError = () => {},\r\n theme = 'light',\r\n queryPromoCode = '',\r\n isPromotionsEnabled = true,\r\n themeOptions,\r\n isAccessCodeEnabled = false,\r\n hideSessionButtons = false,\r\n hideWaitingList = false\r\n}: IGetTickets) => {\r\n const [selectedTickets, setSelectedTickets] = useState(\r\n {} as ISelectedTickets\r\n )\r\n const isWindowDefined = typeof window !== 'undefined'\r\n const [isLogged, setIsLogged] = useState(\r\n isWindowDefined ? !!window.localStorage.getItem('access_token') : false\r\n )\r\n const [showLoginModal, setShowLoginModal] = React.useState(false)\r\n const [tickets, setTickets] = useState([] as ITicket[])\r\n const [event, setEvent] = useState<any>(null)\r\n const [showWaitingList, setShowWaitingList] = useState(false)\r\n const [isLoading, setIsLoading] = useState(false)\r\n const [isPromoLoading, setIsPromoLoading] = useState(false)\r\n const [handleBookIsLoading, setHandleBookIsLoading] = useState(false)\r\n const [promoCode, setPromoCode] = useState('')\r\n const [promoCodeUpdated, setPromoCodeUpdated] = useState(getQueryVariable('r') || queryPromoCode)\r\n const [showPromoInput, setShowPromoInput] = useState(false)\r\n const [promoCodeIsApplied, setPromoCodeIsApplied] = useState(false)\r\n\r\n useEffect(() => {\r\n if (typeof window !== 'undefined') {\r\n const access_token = window.localStorage.getItem('access_token')\r\n if (access_token) {\r\n const decoded = jwt_decode<{ exp: number }>(access_token)\r\n if (decoded && decoded.exp < Date.now() / 1000) {\r\n window.localStorage.removeItem('access_token')\r\n window.localStorage.removeItem('user_data')\r\n }\r\n }\r\n }\r\n }, [])\r\n\r\n useEffect(() => {\r\n !!eventId && getTicketsApi(!!promoCodeUpdated)\r\n }, [eventId, promoCodeUpdated])\r\n\r\n const handleLogout = () => {\r\n if (isWindowDefined) {\r\n window.localStorage.removeItem('access_token')\r\n window.localStorage.removeItem('user_data')\r\n setIsLogged(false)\r\n const event = new window.CustomEvent('tf-logout')\r\n window.document.dispatchEvent(event)\r\n }\r\n }\r\n\r\n const handleExternalLogin = () => {\r\n setIsLogged(true)\r\n }\r\n const handleOnClose = () => {\r\n setShowLoginModal(false)\r\n }\r\n const handleOnLogin = () => {\r\n setShowLoginModal(false)\r\n setIsLogged(true)\r\n if (onLoginSuccess) {\r\n onLoginSuccess()\r\n }\r\n }\r\n\r\n async function getTicketsApi(isUpdateingPromoCode?: boolean) {\r\n try {\r\n !isUpdateingPromoCode && setIsLoading(true)\r\n setIsPromoLoading(true)\r\n const response = await getTickets(eventId, promoCodeUpdated)\r\n const eventResponse = await getEvent(eventId)\r\n if (response.data.success) {\r\n setCustomHeader(response)\r\n const attributes = _get(response, 'data.data.attributes')\r\n setPromoCodeIsApplied(attributes.ValidPromoCode)\r\n setTickets(_get(attributes, 'tickets'))\r\n setShowWaitingList(attributes.showWaitingList)\r\n onGetTicketsSuccess(response.data)\r\n setPromoCode('')\r\n }\r\n if (eventResponse.data.success) {\r\n const event = _get(eventResponse, 'data.data.attributes')\r\n setEvent(event)\r\n }\r\n } catch (e) {\r\n if (axios.isAxiosError(e)) {\r\n onGetTicketsError(e)\r\n }\r\n } finally {\r\n setIsLoading(false)\r\n setIsPromoLoading(false)\r\n }\r\n }\r\n\r\n const handleTicketSelect = (key: string, value: number | string) => {\r\n setSelectedTickets(prevState => {\r\n if (Object.keys(prevState)[0] !== key && !value) {\r\n return prevState\r\n }\r\n return {\r\n [key]: value,\r\n }\r\n })\r\n }\r\n\r\n const handleOrdersClick = () => {\r\n if (isWindowDefined) {\r\n window.location.href = '/orders'\r\n }\r\n }\r\n\r\n const handleBook = async () => {\r\n setHandleBookIsLoading(true)\r\n const ticket =\r\n _find(tickets, item => selectedTickets[item.id] > 0) || ({} as ITicket)\r\n const optionName = _get(ticket, 'optionName')\r\n const ticketId = _get(ticket, 'id')\r\n const ticketQuantity = +selectedTickets[ticket.id]\r\n\r\n const data = {\r\n attributes: {\r\n alternative_view_id: null,\r\n product_cart_quantity: ticketQuantity,\r\n product_options: {\r\n [optionName]: ticketId,\r\n },\r\n product_id: eventId,\r\n ticket_types: {\r\n [ticketId]: {\r\n product_options: {\r\n [optionName]: ticketId,\r\n ticket_price: ticket.price,\r\n },\r\n quantity: ticketQuantity,\r\n },\r\n },\r\n },\r\n }\r\n\r\n try {\r\n const result = await addToCart(eventId, data)\r\n if (result.status === 200) {\r\n setCustomHeader(result)\r\n\r\n const skipBillingPage =\r\n result?.data?.data?.attributes?.skip_billing_page ?? false\r\n const nameIsRequired =\r\n result?.data?.data?.attributes?.names_required ?? false\r\n const ageIsRequired =\r\n result?.data?.data?.attributes?.age_required ?? false\r\n const phoneIsRequired =\r\n result?.data?.data?.attributes?.phone_required ?? false\r\n\r\n let hash = ''\r\n\r\n if (skipBillingPage) {\r\n // Get user data for checkout data\r\n const isWindowDefined = typeof window !== 'undefined'\r\n const userData =\r\n isWindowDefined && window.localStorage.getItem('user_data')\r\n ? JSON.parse(window.localStorage.getItem('user_data') || '')\r\n : {}\r\n\r\n const access_token =\r\n isWindowDefined && window.localStorage.getItem('access_token')\r\n ? window.localStorage.getItem('access_token') || ''\r\n : ''\r\n\r\n const checkoutBody = createCheckoutDataBodyWithDefaultHolder(\r\n ticketQuantity,\r\n userData\r\n )\r\n\r\n const checkoutResult = await postOnCheckout(\r\n checkoutBody,\r\n access_token\r\n )\r\n\r\n hash = _get(checkoutResult, 'data.data.attributes.hash')\r\n }\r\n\r\n onAddToCartSuccess({\r\n skip_billing_page: skipBillingPage,\r\n names_required: nameIsRequired,\r\n phone_required: phoneIsRequired,\r\n age_required: ageIsRequired,\r\n event_id: String(eventId),\r\n hash,\r\n })\r\n }\r\n } catch (e) {\r\n if (axios.isAxiosError(e)) {\r\n onAddToCartError(e)\r\n }\r\n } finally {\r\n setHandleBookIsLoading(false)\r\n }\r\n }\r\n\r\n const updateTickets = () => {\r\n getTicketsApi()\r\n }\r\n\r\n const isAllTicketsSoldOut = _every(\r\n tickets,\r\n item => (item.sold_out || item.soldOut)\r\n )\r\n\r\n const isTicketOnSale = _some(\r\n tickets,\r\n item => (item.salesStarted && !item.salesEnded && !item.soldOut)\r\n )\r\n\r\n const themeMui = createTheme(themeOptions)\r\n \r\n useEffect(() => {\r\n isWindowDefined &&\r\n window.document.addEventListener('custom-logout', handleLogout)\r\n return () => {\r\n isWindowDefined &&\r\n window.document.removeEventListener('custom-logout', handleLogout)\r\n }\r\n }, [])\r\n\r\n useEffect(() => {\r\n isWindowDefined &&\r\n window.document.addEventListener('custom-login', handleExternalLogin)\r\n return () => {\r\n isWindowDefined &&\r\n window.document.removeEventListener(\r\n 'custom-login',\r\n handleExternalLogin\r\n )\r\n }\r\n }, [])\r\n\r\n return (\r\n <ThemeProvider theme={themeMui}>\r\n <ReferralLogic eventId={eventId} />\r\n <div className={`get-tickets-page ${theme}`} style={contentStyle}>\r\n {isLoading ? (\r\n <Loader />\r\n ) : (\r\n <div>\r\n <TicketsSection\r\n ticketsList={tickets}\r\n selectedTickets={selectedTickets}\r\n handleTicketSelect={handleTicketSelect}\r\n promoCodeIsApplied={promoCodeIsApplied}\r\n />\r\n {event?.salesEnded ? (\r\n <p className='event-closed-message'>Sales for this event are closed.</p>\r\n ) : !event?.salesStarted && event?.salesStart ? (\r\n <Countdown\r\n startDate={event.salesStart}\r\n timezone={event.timezone}\r\n title=\"Sales start in:\"\r\n message=\"No tickets are currently available for this event.\"\r\n callback={updateTickets}\r\n />\r\n ) : null}\r\n {showWaitingList && event.salesStarted && !hideWaitingList && (\r\n <WaitingList tickets={tickets} eventId={eventId} />\r\n )}\r\n <PromoCodeSection\r\n promoCode={promoCode}\r\n promoCodeIsApplied={promoCodeIsApplied}\r\n showPromoInput={showPromoInput}\r\n setPromoCode={setPromoCode}\r\n setPromoCodeUpdated={setPromoCodeUpdated}\r\n setShowPromoInput={setShowPromoInput}\r\n isPromotionsEnabled={isPromotionsEnabled}\r\n isAccessCodeEnabled={isAccessCodeEnabled}\r\n isAllTicketsSoldOut={isAllTicketsSoldOut}\r\n isPromoLoading={isPromoLoading}\r\n />\r\n {(isTicketOnSale || !event?.salesEnded) && (\r\n <Button\r\n aria-hidden={true}\r\n className={`book-button ${\r\n handleBookIsLoading ||\r\n _isEmpty(selectedTickets) ||\r\n Object.values(selectedTickets)[0] === 0\r\n ? 'disabled'\r\n : ''\r\n }`}\r\n onClick={\r\n !handleBookIsLoading &&\r\n !_isEmpty(selectedTickets) &&\r\n Object.values(selectedTickets)[0] > 0\r\n ? handleBook\r\n : () => {}\r\n }\r\n >\r\n {getTicketsLabel || 'GET TICKETS'}\r\n </Button>\r\n )}\r\n {isLogged && !hideSessionButtons ? (\r\n <div className=\"session-wrapper\">\r\n <span className=\"session-container\">\r\n <Button\r\n variant=\"outline-light\"\r\n className=\"session-buttons\"\r\n onClick={handleOrdersClick}\r\n >\r\n My Orders\r\n </Button>\r\n </span>\r\n <span className=\"session-container\">\r\n <Button\r\n variant=\"outline-light\"\r\n className=\"session-buttons\"\r\n onClick={handleLogout}\r\n >\r\n Log out\r\n </Button>\r\n </span>\r\n </div>\r\n ) : (\r\n ''\r\n )}\r\n </div>\r\n )}\r\n {showLoginModal ? (\r\n <LoginModal onClose={handleOnClose} onLogin={handleOnLogin} />\r\n ) : null}\r\n </div>\r\n </ThemeProvider>\r\n )\r\n}\r\n","import React from 'react'\r\n\r\ninterface EventInfoTypes {\r\n image: string;\r\n name: string;\r\n}\r\n\r\nconst EventInfoItem = ({ image, name }: EventInfoTypes) => {\r\n return (\r\n <div className='event-info'>\r\n <img src={image} alt=\"event\" />\r\n {name}\r\n </div>\r\n )\r\n}\r\n\r\nconst tableConfig = (key?: string) => {\r\n let config;\r\n switch (key) {\r\n default:\r\n config = {\r\n header: ['Order No.', 'Date', 'Event', 'Total'],\r\n body: [\r\n (row: any) => row.id,\r\n (row: any) => row.date,\r\n (row: any) => <EventInfoItem image={row.image} name={row.eventName} />,\r\n (row: any) => row.currency + row.amount\r\n ],\r\n }\r\n }\r\n return config\r\n}\r\n\r\nexport default tableConfig\r\n","import React from 'react'\r\nimport TableRow from '@mui/material/TableRow'\r\nimport TableCell from '@mui/material/TableCell'\r\nimport tableConfig from './tableConfig'\r\n\r\nexport interface RowItems {\r\n id: string;\r\n date: string;\r\n image: string;\r\n eventName: string;\r\n amount: string;\r\n currency: string;\r\n}\r\n\r\ninterface RowPropsTypes {\r\n row: RowItems;\r\n handleDetailsInfo: (id: string) => void;\r\n}\r\n\r\nconst Row = ({ row, handleDetailsInfo }: RowPropsTypes) => {\r\n return (\r\n <TableRow sx={{ '& > *': { borderBottom: 'unset' } }}>\r\n {tableConfig().body.map((column: any, index: number) => (\r\n <TableCell component=\"th\" scope=\"row\" key={index}>\r\n {column(row)}\r\n </TableCell>\r\n ))}\r\n <TableCell component=\"th\" scope=\"row\">\r\n <button\r\n type='button'\r\n className=\"order-details-button\"\r\n onClick={() => handleDetailsInfo(row.id)}\r\n >\r\n Details\r\n </button>\r\n </TableCell>\r\n </TableRow>\r\n );\r\n}\r\n\r\nexport default Row\r\n","import React, { useEffect, useState } from 'react'\r\nimport './style.css'\r\n\r\nimport Table from '@mui/material/Table'\r\nimport TableBody from '@mui/material/TableBody'\r\nimport TableCell from '@mui/material/TableCell'\r\nimport TableContainer from '@mui/material/TableContainer'\r\nimport TableHead from '@mui/material/TableHead'\r\nimport TableRow from '@mui/material/TableRow'\r\nimport Paper from '@mui/material/Paper'\r\nimport TablePagination from '@mui/material/TablePagination'\r\nimport CircularProgress from '@mui/material/CircularProgress'\r\nimport TextField from '@mui/material/TextField'\r\nimport Autocomplete from '@mui/material/Autocomplete'\r\nimport _get from 'lodash/get'\r\nimport MyTicketsRow, { RowItems } from './row'\r\nimport tableConfig from './tableConfig'\r\nimport { getOrders } from '../../api'\r\n\r\ninterface MyTicketsTypes {\r\n handleDetailsInfo: (id: string) => void;\r\n onGetOrdersSuccess: (res: any) => void;\r\n onGetOrdersError: (err: any) => void;\r\n\r\n theme?: 'light' | 'dark';\r\n}\r\n\r\ninterface EventFilter {\r\n event_name: string;\r\n url_name: string;\r\n}\r\n\r\nexport const MyTicketsContainer = ({\r\n handleDetailsInfo = () => {},\r\n onGetOrdersSuccess = () => {},\r\n onGetOrdersError = () => {},\r\n theme = 'dark',\r\n}: MyTicketsTypes) => {\r\n const [data, setData] = useState<any>(null)\r\n const [loading, setLoading] = useState(true)\r\n const [limit, setLimit] = useState(10)\r\n const [filter, setFilter] = useState('')\r\n\r\n //just once\r\n useEffect(() => {\r\n fetchData(1, limit, filter)\r\n }, [])\r\n\r\n const fetchData = async (page: number, limit: number, filter: string) => {\r\n try {\r\n setLoading(true)\r\n const response = await getOrders(page, limit, filter)\r\n onGetOrdersSuccess(response)\r\n\r\n const data = _get(response, 'data.data.attributes')\r\n data.page -= 1\r\n\r\n setData(data)\r\n } catch (error) {\r\n onGetOrdersError(error)\r\n } finally {\r\n setLoading(false)\r\n }\r\n }\r\n\r\n const handleChangePage = (_event: any, newPage: number) => {\r\n fetchData(newPage + 1, limit, filter)\r\n }\r\n\r\n const handleChangeRowsPerPage = (\r\n event: React.ChangeEvent<HTMLInputElement>\r\n ) => {\r\n fetchData(1, +event.target.value, filter)\r\n setLimit(+event.target.value)\r\n }\r\n\r\n const onChange = (\r\n _event: React.SyntheticEvent<Element, Event>,\r\n eventFilter: EventFilter | null\r\n ) => {\r\n fetchData(1, limit, eventFilter?.url_name || '')\r\n setFilter(eventFilter?.url_name || '')\r\n }\r\n\r\n return (\r\n <div className={`my-ticket ${theme}`}>\r\n {loading && (\r\n <div className=\"loading\">\r\n <CircularProgress />\r\n </div>\r\n )}\r\n {data && (\r\n <>\r\n <Autocomplete\r\n disablePortal\r\n id=\"combo-box-demo\"\r\n getOptionLabel={(option: EventFilter) => option.event_name}\r\n onChange={onChange}\r\n options={data.purchased_events}\r\n sx={{ width: 300 }}\r\n renderInput={params => <TextField {...params} label=\"Events\" />}\r\n />\r\n <TableContainer component={Paper} className=\"my-ticket-table\">\r\n <Table aria-label=\"collapsible table\">\r\n <TableHead>\r\n <TableRow>\r\n {tableConfig().header.map((column: string, index: number) => (\r\n <TableCell key={index}>{column}</TableCell>\r\n ))}\r\n <TableCell />\r\n </TableRow>\r\n </TableHead>\r\n <TableBody>\r\n {data.orders?.map((row: RowItems) => (\r\n <MyTicketsRow\r\n key={row.id}\r\n row={row}\r\n handleDetailsInfo={handleDetailsInfo}\r\n />\r\n ))}\r\n </TableBody>\r\n </Table>\r\n </TableContainer>\r\n <TablePagination\r\n rowsPerPageOptions={[10, 25, 100]}\r\n component=\"div\"\r\n count={data.total_count}\r\n rowsPerPage={limit}\r\n page={data.page}\r\n onPageChange={handleChangePage}\r\n onRowsPerPageChange={handleChangeRowsPerPage}\r\n />\r\n </>\r\n )}\r\n </div>\r\n )\r\n}\r\n","import React, { Fragment } from 'react'\r\nimport Table from '@mui/material/Table'\r\nimport TableBody from '@mui/material/TableBody'\r\nimport TableCell from '@mui/material/TableCell'\r\nimport TableContainer from '@mui/material/TableContainer'\r\nimport TableHead from '@mui/material/TableHead'\r\nimport TableRow from '@mui/material/TableRow'\r\nimport Paper from '@mui/material/Paper'\r\nimport { downloadPDF } from '../../utils'\r\n\r\ninterface IAddOnTypes {\r\n name: string;\r\n status: string;\r\n}\r\nexport interface ITicketTypes {\r\n add_ons?: IAddOnTypes[];\r\n hash: string;\r\n ticket_type: string;\r\n holder_name: string;\r\n status: string;\r\n pdf_link: string;\r\n is_sellable: boolean;\r\n is_on_sale?: boolean;\r\n event_name: string;\r\n currency: string;\r\n resale_fee_amount: number | string;\r\n}\r\n\r\ninterface TicketsTableTypes {\r\n tickets: ITicketTypes[];\r\n handleSellTicket: (ticket: ITicketTypes) => void;\r\n handleRemoveFromResale: (ticket: ITicketTypes) => void;\r\n}\r\n\r\nconst TicketsTable = ({\r\n tickets = [],\r\n handleSellTicket = () => {},\r\n handleRemoveFromResale = () => {}\r\n}: TicketsTableTypes) => (\r\n <div className=\"tickets-box\">\r\n <h4 className=\"sub-title\">Your Tickets</h4>\r\n <TableContainer component={Paper}>\r\n <Table aria-label=\"collapsible table\">\r\n <TableHead>\r\n <TableRow>\r\n <TableCell>Ticket ID</TableCell>\r\n <TableCell>Ticket Type</TableCell>\r\n <TableCell>Ticket Holder Name</TableCell>\r\n <TableCell>Status</TableCell>\r\n <TableCell>Download</TableCell>\r\n <TableCell />\r\n </TableRow>\r\n </TableHead>\r\n <TableBody>\r\n {tickets.map((ticket: ITicketTypes, index: number) => (\r\n <Fragment key={index}>\r\n <TableRow>\r\n <TableCell>{ticket.hash}</TableCell>\r\n <TableCell>{ticket.ticket_type}</TableCell>\r\n <TableCell>{ticket.holder_name}</TableCell>\r\n <TableCell>{ticket.status}</TableCell>\r\n <TableCell>\r\n <span\r\n aria-hidden={true}\r\n className=\"action-button\"\r\n onClick={() => downloadPDF(ticket.pdf_link)}\r\n >\r\n Download\r\n </span>\r\n </TableCell>\r\n <TableCell>\r\n {ticket.is_sellable && (\r\n <span\r\n aria-hidden={true}\r\n className=\"action-button\"\r\n onClick={() => handleSellTicket(ticket)}\r\n >\r\n Sell Ticket\r\n </span>\r\n )}\r\n {ticket.is_on_sale && (\r\n <span\r\n aria-hidden={true}\r\n className=\"action-button\"\r\n onClick={() => handleRemoveFromResale(ticket)}\r\n >\r\n Remove from Resale\r\n </span>\r\n )}\r\n </TableCell>\r\n </TableRow>\r\n {!!ticket.add_ons?.length && (\r\n <TableRow>\r\n <TableCell colSpan={6}>\r\n <Table className=\"ticket-add-on-table\">\r\n <TableHead>\r\n <TableRow>\r\n <TableCell>Add-On</TableCell>\r\n <TableCell>Status</TableCell>\r\n </TableRow>\r\n </TableHead>\r\n <TableBody>\r\n {ticket.add_ons.map(\r\n (add_on: IAddOnTypes, index: number) => (\r\n <TableRow key={index}>\r\n <TableCell>{add_on.name}</TableCell>\r\n <TableCell>{add_on.status}</TableCell>\r\n </TableRow>\r\n )\r\n )}\r\n </TableBody>\r\n </Table>\r\n </TableCell>\r\n </TableRow>\r\n )}\r\n </Fragment>\r\n ))}\r\n </TableBody>\r\n </Table>\r\n </TableContainer>\r\n </div>\r\n)\r\n\r\nexport default TicketsTable\r\n","import React from 'react'\r\nimport FormGroup from '@mui/material/FormGroup'\r\nimport FormControlLabel from '@mui/material/FormControlLabel'\r\nimport Radio from '@mui/material/Radio';\r\nimport { FieldInputProps } from 'formik'\r\nimport { useTheme } from '@mui/styles'\r\n\r\nexport interface IRadioField {\r\n label: string | number | JSX.Element;\r\n field?: FieldInputProps<any>;\r\n}\r\n\r\ninterface IOtherProps {\r\n [key: string]: any;\r\n}\r\n\r\nexport const RadioField = ({\r\n label,\r\n field,\r\n theme,\r\n ...rest\r\n}: IRadioField & IOtherProps) => {\r\n const customTheme: any = useTheme()\r\n return (\r\n <FormGroup>\r\n <FormControlLabel\r\n control={<Radio {...field} {...rest} />}\r\n label={label}\r\n componentsProps={{\r\n typography: customTheme?.checkbox\r\n }}\r\n />\r\n </FormGroup>\r\n )\r\n}\r\n","import React from 'react'\r\nimport { Field, Form, Formik } from 'formik'\r\nimport * as yup from 'yup';\r\nimport Modal from '@mui/material/Modal'\r\nimport Box from '@mui/material/Box'\r\nimport Button from '@mui/material/Button';\r\nimport { RadioField } from '../common/RadioField'\r\nimport { CheckboxField } from '../common/CheckboxField'\r\nimport { CustomField } from '../common/CustomField'\r\nimport SVG from 'react-inlinesvg'\r\nimport { getImage } from '../../utils/getImage'\r\nimport { ITicketTypes } from '../orderDetailsContainer/ticketsTable'\r\nimport './style.css'\r\n\r\ninterface Props {\r\n ticket: ITicketTypes;\r\n onClose: () => void;\r\n onSubmit: (values: InitialValuesTypes) => void;\r\n}\r\n\r\nexport interface InitialValuesTypes {\r\n to: string;\r\n first_name: string;\r\n last_name: string;\r\n email: string;\r\n confirm_email: string;\r\n confirm: boolean;\r\n}\r\n\r\nconst style: React.CSSProperties = {\r\n position: 'absolute',\r\n top: '50%',\r\n left: '50%',\r\n transform: 'translate(-50%, -50%)',\r\n minWidth: 480,\r\n backgroundColor: '#e3e3e3',\r\n border: '1px solid white',\r\n outline: 'none',\r\n padding: '14px',\r\n maxHeight: '85vh',\r\n overflow: 'auto'\r\n}\r\n\r\nconst schema = yup.object().shape({\r\n to: yup.string().required(),\r\n first_name: yup.string().when('to', {\r\n is: (to: string) => to === 'friend',\r\n then: yup.string().required('First Name is required')\r\n }),\r\n last_name: yup.string().when('to', {\r\n is: (to: string) => to === 'friend',\r\n then: yup.string().required('Last Name is required')\r\n }),\r\n email: yup.string().when('to', {\r\n is: (to: string) => to === 'friend',\r\n then: yup.string().email('Invalid email').required('Email is required')\r\n }),\r\n confirm_email: yup.string().when('to', {\r\n is: (to: string) => to === 'friend',\r\n then: yup.string().email('Invalid email').oneOf([yup.ref('email'), null], 'Emails must match').required('Confirm Email is required')\r\n }),\r\n confirm: yup.boolean().oneOf([true])\r\n})\r\n\r\nconst initialValues: InitialValuesTypes = {\r\n to: 'friend',\r\n first_name: '',\r\n last_name: '',\r\n email: '',\r\n confirm_email: '',\r\n confirm: false\r\n}\r\n\r\nexport const TicketResaleModal = ({\r\n ticket = {} as ITicketTypes,\r\n onClose = () => {},\r\n onSubmit = () => {},\r\n}: Props) => {\r\n const { hash, holder_name, event_name, currency, resale_fee_amount } = ticket\r\n return (\r\n <Modal\r\n open={true}\r\n onClose={onClose}\r\n aria-labelledby=\"modal-modal-title\"\r\n aria-describedby=\"modal-modal-description\"\r\n className='resale-modal'\r\n >\r\n <Box style={style}>\r\n <h3>Sell Ticket</h3>\r\n <div>\r\n <h3>Ticket Details</h3>\r\n <div>\r\n <h4>Event</h4>\r\n <p>{event_name}</p>\r\n </div>\r\n <div>\r\n <h4>Ticket Holder</h4>\r\n <p>{holder_name}</p>\r\n </div>\r\n <div>\r\n <h4>Ticket ID</h4>\r\n <p>{hash}</p>\r\n </div>\r\n </div>\r\n <div>\r\n <h3>Sell to Whom</h3>\r\n <Formik\r\n initialValues={initialValues}\r\n validationSchema={schema}\r\n onSubmit={onSubmit}\r\n >\r\n {({ values, isValid, dirty }) => (\r\n <Form>\r\n <div>\r\n <Field\r\n name='to'\r\n label='I want to sell the ticket to someone I know'\r\n type='radio'\r\n value='friend'\r\n component={RadioField}\r\n />\r\n {values.to === 'friend' && (\r\n <div className='sell-to-friend'>\r\n <div className='user-info-box'>\r\n <div className='field-box'>\r\n <div className='icon'>\r\n <SVG\r\n src={getImage('user.svg')}\r\n width='24'\r\n height='24'\r\n />\r\n </div>\r\n <Field\r\n name='first_name'\r\n label='First Name'\r\n type='text'\r\n component={CustomField}\r\n />\r\n </div>\r\n <div className='field-box'>\r\n <div className='empty-box' />\r\n <Field\r\n name='last_name'\r\n label='Last Name'\r\n type='text'\r\n component={CustomField}\r\n />\r\n </div>\r\n </div>\r\n <div className='email-info-box'>\r\n <div className='field-box'>\r\n <div className='icon'>\r\n <SVG\r\n src={getImage('email.svg')}\r\n width='24'\r\n height='24'\r\n />\r\n </div>\r\n <Field\r\n name='email'\r\n label='Email address'\r\n type='text'\r\n component={CustomField}\r\n />\r\n </div>\r\n <div className='field-box'>\r\n <div className='empty-box' />\r\n <Field\r\n name='confirm_email'\r\n label='Confirm Email address'\r\n type='text'\r\n component={CustomField}\r\n />\r\n </div>\r\n </div>\r\n </div>\r\n )}\r\n </div>\r\n <div>\r\n <Field\r\n name='to'\r\n label='I will sell my ticket to anyone who wants to buy it'\r\n type='radio'\r\n value='anyone'\r\n component={RadioField}\r\n />\r\n </div>\r\n <div>\r\n <h4>Terms of Resale</h4>\r\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>\r\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>\r\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 + resale_fee_amount}</strong>, and that any existing refunds due to me for referring sales for this event are no longer valid.</p>\r\n <Field\r\n name='confirm'\r\n label='I agree'\r\n type='checkbox'\r\n component={CheckboxField}\r\n />\r\n </div>\r\n <div className=\"resale-action-button\">\r\n <Button type=\"submit\" disabled={!(isValid && dirty)}>Sell Ticket</Button>\r\n </div>\r\n </Form>\r\n )}\r\n </Formik>\r\n </div>\r\n </Box>\r\n </Modal>\r\n )\r\n}\r\n","import React, { FC } from 'react'\r\nimport Modal from '@mui/material/Modal'\r\nimport Box from '@mui/material/Box'\r\nimport Button from '@mui/material/Button';\r\nimport './style.css'\r\n\r\ninterface Props {\r\n message: string;\r\n onClose: () => void;\r\n onConfirm: () => void;\r\n}\r\n\r\nconst style: React.CSSProperties = {\r\n position: 'absolute',\r\n top: '50%',\r\n left: '50%',\r\n transform: 'translate(-50%, -50%)',\r\n minWidth: 480,\r\n backgroundColor: '#e3e3e3',\r\n border: '1px solid white',\r\n outline: 'none',\r\n padding: '14px',\r\n maxHeight: '85vh',\r\n overflow: 'auto'\r\n}\r\n\r\nconst ConfirmModal: FC<Props> = ({\r\n message = '',\r\n onClose = () => {},\r\n onConfirm = () => {},\r\n}) => {\r\n return (\r\n <Modal\r\n open={true}\r\n onClose={onClose}\r\n aria-labelledby=\"modal-modal-title\"\r\n aria-describedby=\"modal-modal-description\"\r\n className='confirm-modal'\r\n >\r\n <Box style={style}>\r\n <p>{message}</p>\r\n <div className='footer'>\r\n <Button onClick={onClose}>Cancel</Button>\r\n <Button onClick={onConfirm}>OK</Button>\r\n </div>\r\n </Box>\r\n </Modal>\r\n )\r\n}\r\n\r\nexport default ConfirmModal\r\n","import React, { useState, useEffect } from 'react'\r\nimport './style.css'\r\n\r\nimport Table from '@mui/material/Table'\r\nimport TableBody from '@mui/material/TableBody'\r\nimport TableCell from '@mui/material/TableCell'\r\nimport TableContainer from '@mui/material/TableContainer'\r\nimport TableHead from '@mui/material/TableHead'\r\nimport TableRow from '@mui/material/TableRow'\r\nimport Paper from '@mui/material/Paper'\r\nimport CircularProgress from '@mui/material/CircularProgress'\r\nimport _get from 'lodash/get'\r\nimport _has from 'lodash/has'\r\nimport { getOrderDetails } from '../../api'\r\nimport TicketsTable, { ITicketTypes } from './ticketsTable'\r\nimport { TicketResaleModal, InitialValuesTypes } from '../ticketResaleModal'\r\nimport ConfirmModal from '../confirmModal'\r\nimport { resaleTicket, removeFromResale } from '../../api'\r\n\r\ninterface TicketTypes {\r\n currency: string;\r\n discount: string;\r\n name: string;\r\n price: string;\r\n quantity: string;\r\n total: string;\r\n}\r\n\r\ninterface OrderDetailsTypes {\r\n onGetOrdersSuccess: (res: any) => void;\r\n onGetOrdersError: (err: any) => void;\r\n}\r\n\r\nconst getTotal = (data: any) => {\r\n if (!data?.total || !_has(data, 'items.ticket_types.length')) return ''\r\n\r\n return data.items.ticket_types[0].currency + data.total\r\n}\r\n\r\nexport const OrderDetailsContainer = ({\r\n onGetOrdersSuccess = () => {},\r\n onGetOrdersError = () => {},\r\n}: OrderDetailsTypes) => {\r\n const [data, setData] = useState<any>({})\r\n const [loading, setLoading] = useState(true)\r\n const [showResaleModal, setShowResaleModal] = useState(false)\r\n const [showRemoveResaleModal, setShowRemoveResaleModal] = useState(false)\r\n const [activeTicket, setActiveTicket] = useState<any>(null)\r\n\r\n useEffect(() => {\r\n (async () => {\r\n try {\r\n setLoading(true)\r\n let orderId = ''\r\n if (typeof window !== 'undefined') {\r\n const params: URLSearchParams = new URL(`${window.location}`)\r\n .searchParams\r\n orderId = params.get('o') || ''\r\n }\r\n const response = await getOrderDetails(orderId)\r\n onGetOrdersSuccess(response)\r\n\r\n const data = _get(response, 'data.data.attributes')\r\n\r\n setData(data)\r\n } catch (error) {\r\n onGetOrdersError(error)\r\n } finally {\r\n setLoading(false)\r\n }\r\n })()\r\n }, [])\r\n\r\n const handleSellTicket = (ticket: ITicketTypes) => {\r\n setActiveTicket(ticket)\r\n setShowResaleModal(true)\r\n }\r\n\r\n const handleOnClose = () => {\r\n setShowResaleModal(false)\r\n setActiveTicket(null)\r\n }\r\n\r\n const handleOnSubmit = async (values: InitialValuesTypes) => {\r\n try {\r\n setLoading(true)\r\n const { to, first_name, last_name, email, confirm_email, confirm } = values\r\n const formData = new FormData();\r\n formData.append('to', to)\r\n formData.append('first_name', first_name)\r\n formData.append('last_name', last_name)\r\n formData.append('email', email)\r\n formData.append('confirm_email', confirm_email)\r\n formData.append('confirm', String(confirm))\r\n\r\n await resaleTicket(formData, activeTicket.hash)\r\n const updatedData = { ...data }\r\n updatedData?.tickets?.forEach((ticket: ITicketTypes) => {\r\n if(ticket.hash === activeTicket.hash) {\r\n ticket.is_sellable = false\r\n ticket.is_on_sale = true\r\n }\r\n })\r\n\r\n setData(updatedData)\r\n } catch (error) {\r\n // ...\r\n } finally {\r\n setShowResaleModal(false)\r\n setLoading(false)\r\n }\r\n }\r\n\r\n const handleRemoveFromResale = (ticket: ITicketTypes) => {\r\n setShowRemoveResaleModal(true)\r\n setActiveTicket(ticket)\r\n }\r\n\r\n const onCloseRemoveResale = () => {\r\n setShowRemoveResaleModal(false)\r\n setActiveTicket(null)\r\n }\r\n\r\n const onConfirmRemoveResale = async () => {\r\n try {\r\n setLoading(true)\r\n await removeFromResale(activeTicket.hash)\r\n const updatedData = { ...data }\r\n updatedData?.tickets?.forEach((ticket: ITicketTypes) => {\r\n if(ticket.hash === activeTicket.hash) {\r\n ticket.is_sellable = true\r\n ticket.is_on_sale = false\r\n }\r\n })\r\n\r\n setData(updatedData)\r\n } catch (error) {\r\n // ...\r\n } finally {\r\n setShowRemoveResaleModal(false)\r\n setLoading(false)\r\n }\r\n }\r\n\r\n return (\r\n <div className=\"order-details\">\r\n {loading ? (\r\n <div className=\"loading\">\r\n <CircularProgress />\r\n </div>\r\n ) : (\r\n <>\r\n <h1 className=\"layout-title\">Order Details</h1>\r\n <div className=\"order-summary-box\">\r\n <h4 className=\"sub-title\">Order Summary</h4>\r\n <div className=\"personal-link\">\r\n <b>Your personal share link for this event is: </b>\r\n <a\r\n href={data?.personal_share_link}\r\n target=\"_blank\"\r\n rel=\"noreferrer\"\r\n >\r\n {data?.personal_share_link}\r\n </a>\r\n </div>\r\n <TableContainer component={Paper}>\r\n <Table aria-label=\"collapsible table\">\r\n <TableHead>\r\n <TableRow>\r\n <TableCell>Items</TableCell>\r\n <TableCell>Price</TableCell>\r\n <TableCell>Quantity</TableCell>\r\n <TableCell>Total</TableCell>\r\n </TableRow>\r\n </TableHead>\r\n <TableBody>\r\n {data?.items?.ticket_types?.map(\r\n (ticket: TicketTypes, index: number) => (\r\n <TableRow key={index}>\r\n <TableCell>\r\n <b>Ticket Type: </b>\r\n {ticket.name}\r\n </TableCell>\r\n <TableCell>{ticket.currency + ticket.price}</TableCell>\r\n <TableCell>{ticket.quantity}</TableCell>\r\n <TableCell>{ticket.currency + ticket.total}</TableCell>\r\n </TableRow>\r\n )\r\n )}\r\n {data?.items?.add_ons?.map(\r\n (ticket: TicketTypes, index: number) => (\r\n <TableRow key={index}>\r\n <TableCell>\r\n <b>Add-On: </b>\r\n {ticket.name}\r\n </TableCell>\r\n <TableCell>{ticket.currency + ticket.price}</TableCell>\r\n <TableCell>{ticket.quantity}</TableCell>\r\n <TableCell>{ticket.currency + ticket.total}</TableCell>\r\n </TableRow>\r\n )\r\n )}\r\n <TableRow className=\"total-row\">\r\n <TableCell />\r\n <TableCell />\r\n <TableCell>Total</TableCell>\r\n <TableCell>{getTotal(data)}</TableCell>\r\n </TableRow>\r\n </TableBody>\r\n </Table>\r\n </TableContainer>\r\n </div>\r\n <TicketsTable\r\n tickets={data.tickets}\r\n handleSellTicket={handleSellTicket}\r\n handleRemoveFromResale={handleRemoveFromResale}\r\n />\r\n <div className=\"return-button-container\">\r\n <button\r\n type=\"button\"\r\n className=\"return-button\"\r\n onClick={() => {\r\n if (typeof window !== 'undefined') {\r\n window.location.assign('/orders')\r\n }\r\n }}\r\n >\r\n Return to Order History\r\n </button>\r\n </div>\r\n </>\r\n )}\r\n {showResaleModal && (\r\n <TicketResaleModal\r\n ticket={activeTicket}\r\n onClose={handleOnClose}\r\n onSubmit={handleOnSubmit}\r\n />\r\n )}\r\n {showRemoveResaleModal && (\r\n <ConfirmModal\r\n message=\"Are you sure you want to withdraw your ticket from resale?\"\r\n onClose={onCloseRemoveResale}\r\n onConfirm={onConfirmRemoveResale}\r\n />\r\n )}\r\n </div>\r\n )\r\n}\r\n","import React, { useEffect, useState } from 'react'\r\nimport _get from 'lodash/get'\r\nimport { checkTicketStatus } from '../../api'\r\nimport { AxiosError } from 'axios'\r\n\r\nexport interface ITicketResaleContainer {\r\n onCheckTicketStatusSuccess: (res: any) => void\r\n onCheckTicketStatusError: (e: AxiosError) => void\r\n orderHash?: string\r\n}\r\n\r\nexport const TicketResaleContainer = ({\r\n onCheckTicketStatusSuccess = () => {},\r\n onCheckTicketStatusError = () => {},\r\n orderHash,\r\n}: ITicketResaleContainer) => {\r\n const isWindowDefined = typeof window !== 'undefined'\r\n const [error, setError] = useState(null)\r\n\r\n useEffect(() => {\r\n (async () => {\r\n if (isWindowDefined) {\r\n const params: URLSearchParams = new URL(`${window.location}`)\r\n .searchParams\r\n const hash = params.get('o') || orderHash || null\r\n\r\n if (hash) {\r\n try {\r\n const response = await checkTicketStatus(hash)\r\n const data = _get(response, 'data.data.attributes')\r\n const age_required = _get(data, 'age_required', false)\r\n const names_required = _get(data, 'names_required', false)\r\n const event_id = _get(data, 'event_id')\r\n\r\n onCheckTicketStatusSuccess(response.data)\r\n window.location.href = `/billing/billing-info/?age_required=${age_required}&names_required=${names_required}&event_id=${event_id}`\r\n } catch (error) {\r\n console.log(error)\r\n setError(error?.response?.data?.message)\r\n onCheckTicketStatusError(error.response)\r\n }\r\n } else {\r\n window.location.href = '/'\r\n }\r\n }\r\n })()\r\n }, [])\r\n\r\n return (\r\n <div className=\"ticket-resale-page\">\r\n <div className=\"error-block\">\r\n <h3>{error}</h3>\r\n </div>\r\n </div>\r\n )\r\n}\r\n"],"names":["undefined","emailRegex","combineValidators","validators","i","length","error_message","requiredValidator","value","message","errorMessage","emailValidator","email","test","CONFIGS","setConfigs","configs","_forEach","key","publicRequest","setBaseUrl","BASE_URL","X_SOURCE_ORIGIN","setXSourceOrigin","getQueryVariable","variable","window","query","location","search","substring","vars","split","pair","ErrorFocusInternal","componentDidUpdate","prevProps","formik","isSubmitting","isValidating","errors","keys","Object","selector","errorElement","document","querySelector","focus","Component","ErrorFocus","connect","downloadPDF","pdfUrl","accessToken","localStorage","getItem","fetch","headers","Authorization","then","response","blob","blobValue","fileNameHeader","get","fileName","file","Blob","type","fileURL","URL","createObjectURL","link","createElement","href","setAttribute","body","appendChild","click","removeChild","createCheckoutDataBodyWithDefaultHolder","ticketsQuantity","logedInValues","includeDob","ticket_holders","first_name","_get","last_name","phone","individualHolder","push","attributes","confirm_email","holderAgeDate","Date","dob_day","getDate","dob_month","getMonth","dob_year","getFullYear","isWindowDefined","ttfHeaders","Accept","axios","create","baseURL","interceptors","use","error","status","removeItem","errorType","data","Promise","reject","request","config","guestToken","userData","updatedHeaders","setGuestToken","token","defaults","common","baseUrl","setAccessToken","sourceOrigin","setCustomHeader","guestHeaderResponseValue","guestHeaderExistingValue","guestHeader","setItem","handleSetAccessToken","getEvent","id","getTickets","promoCode","String","addToCart","res","post","getCart","postOnCheckout","authorize","CLIENT_ID","register","getAccessToken","getPaymentData","hash","handlePaymentSuccess","orderHash","handleFreeSuccess","getProfileData","e","getCountries","getConfirmationData","getStates","countryId","getOrders","page","limit","eventSlug","BRAND_SLUG","getOrderDetails","orderId","addToWaitingList","getConditions","eventId","resaleTicket","removeFromResale","postReferralVisits","referralId","referrer","checkTicketStatus","style","position","top","left","transform","minWidth","backgroundColor","border","outline","LoginModal","onClose","onLogin","alreadyHasUser","userExpired","onAuthorizeSuccess","onAuthorizeError","onGetProfileDataSuccess","onGetProfileDataError","modalClassname","useState","setError","handleForgotPassword","open","React","Modal","className","Box","Formik","initialValues","password","onSubmit","bodyFormData","FormData","append","resAutorize","bodyFormDataToken","code","CLIENT_SECRET","resAccessToken","isAxiosError","profileResponse","profileSpecifiedData","profileDataObj","firstName","lastName","JSON","stringify","event","CustomEvent","dispatchEvent","Error","props","Form","handleSubmit","src","alt","Field","name","validate","field","meta","TextField","label","fullWidth","touched","helperText","onClick","RegisterModal","display","bottom","right","alignItems","justifyContent","zIndex","confirmPassword","resRegister","access_token","getInitialValues","propsInitialValues","userValues","results","_flatMapDeep","fields","_map","groupItems","item","createRegisterFormData","values","checkoutBody","setLoggedUserData","confirmEmail","city","country","street_address","streetAddress","state","stateId","zip","zipCode","createCheckoutDataBody","holderAge","restValues","holders","fromEntries","entries","filter","includes","filteredHolders","holder","map","index","filteredRestValue","emailLogged","firstNameLogged","lastNameLogged","getValidateFunctions","element","states","validationFunctions","required","onValidate","isSameEmail","assingUniqueIds","itemValue","_isArray","uniqueId","nanoid","CheckboxField","selectOptions","rest","customTheme","useTheme","FormControl","form","FormGroup","FormControlLabel","control","Checkbox","componentsProps","typography","checkbox","FormHelperText","CustomField","submitCount","theme","isSelectField","isTouched","Boolean","_includes","select","SelectProps","MenuProps","InputLabelProps","sx","input","shrink","inputProps","option","disabled","currencyNormalizerCreator","currency","getCurrencySymbolByCurrency","createFixedFloatNormalizer","fixedValue","toFixed","removePlusSign","string","replace","FormikPhoneNumberField","setFieldValue","MuiPhoneNumber","onChange","variant","defaultCountry","disableDropdown","InputProps","autoFormat","Loader","CircularProgress","SelectField","InputLabel","htmlFor","Select","LogicRunner","setStates","setValues","setUserValues","onGetStatesSuccess","onGetStatesError","prevCountry","useRef","useEffect","fetchStates","mappedStates","current","userDataEncoded","getStoredUserData","parsedData","parse","mappedValues","brand_opt_in","BillingInfoContainer","ticketHoldersFields","buttonName","_identity","onRegisterSuccess","onRegisterError","onSubmitError","onGetCartSuccess","onGetCartError","onGetCountriesSuccess","onGetCountriesError","onLoginSuccess","isLoggedIn","pIsLoggedIn","accountInfoTitle","hideLogo","themeOptions","onErrorClose","hideErrorsAlertSection","onSkipBillingPage","skipPage","canSkipHolderNames","themeMui","createTheme","dataWithUniqueIds","setDataWithUniqueIds","setIsLoggedIn","cartInfoData","setCartInfo","countries","setCountries","showModalLogin","setShowModalLogin","setAlreadyHasUser","setUserExpired","showModalRegister","setShowModalRegister","setTicketsQuantity","holderFirstName","holderLastName","loading","setLoading","showDOB","showTicketHolders","optedInFieldValue","ttfOptIn","hideTtfOptIn","flagRequirePhone","prevData","hasUniqueId","isEqualData","_isEqual","getQuantity","cart","qty","forEach","quantity","fetchCountries","fetchCart","cartInfo","Array","fill","fetchUserData","userDataResponse","collectPaymentData","_isEmpty","collectCheckoutBody","Backdrop","color","ThemeProvider","ttf_opt_in","enableReinitialize","formikHelpers","updatedUserData","checkoutBodyForRegistration","access_token_register","refreshToken","tokens","setFieldError","profileData","scrollTop","documentElement","Alert","severity","labelClassName","Fragment","group","groupClassname","el","component","onBlur","handleBlur","_item","Button","size","onRegister","options","base","fontSize","letterSpacing","invalid","CheckoutForm","total","stripeCardOptions","stripe_client_secret","billing_info","isLoading","handleSetLoading","conditions","disableZipSection","stripe","useStripe","elements","useElements","postalCode","setPostalCode","stripeError","setStripeError","checkboxes","setCheckboxes","allowSubmit","setAllowSubmit","preventDefault","card","getElement","CardNumberElement","address","line1","postal_code","createPaymentMethod","billing_details","paymentMethodReq","confirmCardPayment","payment_method","paymentMethod","handleCheckboxes","target","updatedCheckedState","checked","onChangePostalCode","allChecked","every","buttonIsDiabled","onReady","onFocus","CardExpiryElement","CardCvcElement","placeholder","text","showZero","intNumber","Number","_isNumber","TimerWidget","expires_at","buyLoading","onCountdownFinish","showTimer","setShowTimer","handleCountdownFinish","renderer","minutes","seconds","completed","Countdown","date","now","publishableKey","STRIPE_PUBLISHABLE_KEY","getStripePromise","reviewData","stripePublishableKey","stripeAccount","loadStripe","initialOrderValues","product_name","ticketType","price","initialReviewValues","order_details","order_hash","PaymentContainer","paymentFields","handlePayment","formTitle","errorText","checkoutData","onGetPaymentDataSuccess","onGetPaymentDataError","onPaymentError","elementsOptions","enableTimer","setReviewData","orderData","setOrderData","paymentIsLoading","setPaymentIsLoading","paymentDataIsLoading","setPaymentDataIsLoading","setConditions","showFormTitle","showErrorText","success","tickets","ticket","fetchConditions","conditionsInfo","handlePaymentMiddleWare","paymentSuccessResponse","Container","maxWidth","normalizer","Elements","StripePayment","facebook","FacebookShareButton","icon","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","SocialComponent","mainLabel","subLabel","platform","shareData","Icon","round","SocialButtons","showDefaultShareButtons","shareLink","appId","shareButtons","quote","url","title","shareButton","ConfirmationContainer","isReferralEnabled","messengerAppId","onGetConfirmationDataSuccess","onGetConfirmationDataError","inputRef","setData","dataEncoded","dataDecoded","personal_share_sales","d","salesData","sales","symbol","unshift","product_price","onChangeShareLink","newData","personal_share_link","disable_referral","product_image","ref","navigator","clipboard","writeText","pricing","getTicketSelectOptions","maxCount","minCount","multiplier","Math","min","TicketRow","ticketTier","prevTicketTier","selectedTickets","handleTicketSelect","soldOutMessage","toUpperCase","isSalesClosed","salesStarted","salesEnded","maxQuantity","minQuantity","ticketsClosedMessage","onSaleContent","borderRadius","displayEmpty","PaperProps","maxHeight","MenuItem","returnValue","sold_out","displayTicket","soldOut","TicketsSection","ticketsList","promoCodeIsApplied","sortedTicketsList","_sortBy","arr","isSoldOut","ticketSelect","ticketIsDiscounted","oldPrice","ticketIsFree","cost","ticketPrice","displayName","feeIncluded","generateQuantity","n","quantityList","WaitingList","showSuccessMessage","setShowSuccessMessage","ticketTypesList","showTicketsField","requestData","ticketTypeId","getImage","image","trim","PromoCodeSection","showPromoInput","isPromotionsEnabled","setPromoCode","setPromoCodeUpdated","setShowPromoInput","isAccessCodeEnabled","isPromoLoading","isPromoCodeHasValue","renderInputField","onKeyPress","SVG","preProcessor","isTimeExpired","startDate","timezone","moment","isAfter","tz","format","guess","callback","duration","setDuration","timeExpired","setTimeExpired","timer","setInterval","clearInterval","currentDate","diffTime","diff","dateArr","year","years","month","months","day","days","hour","hours","minute","second","timeLeft","unit","val","ReferralLogic","params","searchParams","isAlreadyCounted","join","TicketsContainer","getTicketsLabel","onAddToCartSuccess","contentStyle","onAddToCartError","onGetTicketsSuccess","onGetTicketsError","queryPromoCode","hideSessionButtons","hideWaitingList","setSelectedTickets","isLogged","setIsLogged","showLoginModal","setShowLoginModal","setTickets","setEvent","showWaitingList","setShowWaitingList","setIsLoading","setIsPromoLoading","handleBookIsLoading","setHandleBookIsLoading","promoCodeUpdated","setPromoCodeIsApplied","decoded","jwt_decode","exp","getTicketsApi","handleLogout","handleExternalLogin","handleOnClose","handleOnLogin","isUpdateingPromoCode","eventResponse","ValidPromoCode","prevState","handleOrdersClick","handleBook","_find","optionName","ticketId","ticketQuantity","alternative_view_id","product_cart_quantity","product_options","product_id","ticket_types","ticket_price","result","skipBillingPage","skip_billing_page","nameIsRequired","names_required","ageIsRequired","age_required","phoneIsRequired","phone_required","checkoutResult","event_id","updateTickets","isAllTicketsSoldOut","_every","isTicketOnSale","_some","addEventListener","removeEventListener","salesStart","EventInfoItem","tableConfig","header","row","eventName","amount","Row","handleDetailsInfo","TableRow","borderBottom","column","TableCell","scope","MyTicketsContainer","onGetOrdersSuccess","onGetOrdersError","setLimit","setFilter","fetchData","handleChangePage","_event","newPage","handleChangeRowsPerPage","eventFilter","url_name","Autocomplete","disablePortal","getOptionLabel","event_name","purchased_events","width","renderInput","TableContainer","Paper","Table","TableHead","TableBody","orders","MyTicketsRow","TablePagination","rowsPerPageOptions","count","total_count","rowsPerPage","onPageChange","onRowsPerPageChange","TicketsTable","handleSellTicket","handleRemoveFromResale","ticket_type","holder_name","pdf_link","is_sellable","is_on_sale","add_ons","colSpan","add_on","RadioField","Radio","padding","overflow","schema","yup","shape","to","when","is","oneOf","confirm","TicketResaleModal","resale_fee_amount","validationSchema","isValid","dirty","height","ConfirmModal","onConfirm","getTotal","_has","items","OrderDetailsContainer","showResaleModal","setShowResaleModal","showRemoveResaleModal","setShowRemoveResaleModal","activeTicket","setActiveTicket","handleOnSubmit","formData","updatedData","onCloseRemoveResale","onConfirmRemoveResale","rel","assign","TicketResaleContainer","onCheckTicketStatusSuccess","onCheckTicketStatusError","console","log"],"mappings":"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"}
1
+ {"version":3,"file":"tf-checkout-react.cjs.development.js","sources":["../node_modules/regenerator-runtime/runtime.js","../src/validators/index.ts","../src/utils/setConfigs.ts","../src/utils/getQueryVariable.ts","../src/utils/formikErrorFocus.ts","../src/utils/downloadPDF.tsx","../src/utils/createCheckoutDataBodyWithDefaultHolder.ts","../src/api/index.ts","../src/components/loginModal/index.tsx","../src/components/registerModal/index.tsx","../src/components/billing-info-container/utils.ts","../src/components/common/CheckboxField.tsx","../src/components/common/CustomField.tsx","../src/normalizers/index.ts","../src/components/common/FormikPhoneNumberField.tsx","../src/components/common/Loader.tsx","../src/components/common/SelectField.tsx","../src/components/billing-info-container/index.tsx","../src/components/stripePayment/index.tsx","../src/utils/showZero.tsx","../src/components/timerWidget/index.tsx","../src/components/paymentContainer/index.tsx","../src/components/confirmationContainer/config.ts","../src/components/confirmationContainer/social-buttons.tsx","../src/components/confirmationContainer/index.tsx","../src/components/ticketsContainer/utils.ts","../src/components/ticketsContainer/TicketRow.tsx","../src/components/ticketsContainer/TicketsSection.tsx","../src/components/waitingList/index.tsx","../src/utils/getImage.ts","../src/components/ticketsContainer/PromoCodeSection.tsx","../src/components/countdown/index.tsx","../src/components/ticketsContainer/ReferralLogic.tsx","../src/components/ticketsContainer/index.tsx","../src/components/myTicketsContainer/tableConfig.tsx","../src/components/myTicketsContainer/row.tsx","../src/components/myTicketsContainer/index.tsx","../src/components/orderDetailsContainer/ticketsTable.tsx","../src/components/common/RadioField.tsx","../src/components/ticketResaleModal/index.tsx","../src/components/confirmModal/index.tsx","../src/components/orderDetailsContainer/index.tsx","../src/components/ticketResale/index.tsx"],"sourcesContent":["/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n try {\n // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n define({}, \"\");\n } catch (err) {\n define = function(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = GeneratorFunctionPrototype;\n define(Gp, \"constructor\", GeneratorFunctionPrototype);\n define(GeneratorFunctionPrototype, \"constructor\", GeneratorFunction);\n GeneratorFunction.displayName = define(\n GeneratorFunctionPrototype,\n toStringTagSymbol,\n \"GeneratorFunction\"\n );\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n define(prototype, method, function(arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n });\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n define(Gp, toStringTagSymbol, \"Generator\");\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n define(Gp, iteratorSymbol, function() {\n return this;\n });\n\n define(Gp, \"toString\", function() {\n return \"[object Generator]\";\n });\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, in modern engines\n // we can explicitly access globalThis. In older engines we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","const emailRegex = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/\r\n\r\nexport const combineValidators = (...validators: any) => (...value: any) => {\r\n for (let i = 0; i < validators.length; ++i) {\r\n const error_message = validators[i](...value)\r\n if (error_message) return error_message\r\n }\r\n}\r\n\r\nexport const requiredValidator = (value?: string | number, message?: string): string => {\r\n let errorMessage = ''\r\n if (!value) {\r\n errorMessage = message || 'Required'\r\n }\r\n return errorMessage\r\n}\r\n\r\nexport const emailValidator = (email: string) => {\r\n return !emailRegex.test(email) ? 'Please enter a valid email address' : '' \r\n}\r\n","import _forEach from 'lodash/forEach'\r\nimport { publicRequest, setXSourceOrigin } from '../api'\r\n\r\ninterface IConfigs {\r\n BASE_URL: string;\r\n CLIENT_ID: string;\r\n CLIENT_SECRET: string;\r\n STRIPE_PUBLISHABLE_KEY: string;\r\n X_SOURCE_ORIGIN: string;\r\n\r\n [key: string]: string | number;\r\n}\r\n\r\nexport const CONFIGS: IConfigs = {} as IConfigs\r\n\r\nexport const setConfigs = (configs: IConfigs) => {\r\n _forEach(configs, (value, key) => {\r\n CONFIGS[key] = value\r\n })\r\n\r\n publicRequest.setBaseUrl(CONFIGS.BASE_URL)\r\n\r\n if (CONFIGS.X_SOURCE_ORIGIN) {\r\n setXSourceOrigin(CONFIGS.X_SOURCE_ORIGIN)\r\n }\r\n}\r\n","export const getQueryVariable = (variable: string) => {\r\n if (typeof window !== 'undefined') {\r\n const query = window.location.search.substring(1)\r\n const vars = query.split('&')\r\n for (let i = 0; i < vars.length; i++) {\r\n const pair = vars[i].split('=')\r\n if (pair[0] === variable) {\r\n return pair[1]\r\n }\r\n }\r\n }\r\n return false\r\n}\r\n","import { connect, FormikContextType } from 'formik'\r\nimport { Component } from 'react'\r\n\r\ninterface IProps {\r\n formik: FormikContextType<any>;\r\n}\r\n\r\nclass ErrorFocusInternal extends Component<IProps> {\r\n public componentDidUpdate(prevProps: IProps) {\r\n const { isSubmitting, isValidating, errors } = prevProps.formik\r\n const keys = Object.keys(errors)\r\n if (keys.length > 0 && isSubmitting && !isValidating) {\r\n const selector = `[name=\"${keys[0]}\"]`\r\n const errorElement = document.querySelector(selector) as HTMLElement\r\n if (errorElement) {\r\n errorElement.focus()\r\n }\r\n }\r\n }\r\n\r\n public render = () => null;\r\n}\r\n\r\nexport const ErrorFocus = connect<{}>(ErrorFocusInternal)\r\n","export const downloadPDF = (pdfUrl: string) => {\r\n if (typeof window === 'undefined') return\r\n\r\n const accessToken: string | null = localStorage.getItem('access_token')\r\n\r\n if (!accessToken) return\r\n\r\n fetch(pdfUrl, {\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`,\r\n },\r\n })\r\n .then(async response => {\r\n const blobValue = await response.blob()\r\n const fileNameHeader = response.headers.get(\"content-disposition\") || ''\r\n const fileName = fileNameHeader.split('\"')[1]\r\n return { blobValue, fileName }\r\n })\r\n .then(({ blobValue, fileName }) => {\r\n if (!fileName) return\r\n const file = new Blob([blobValue], { type: 'application/pdf' })\r\n const fileURL = URL.createObjectURL(file)\r\n const link = document.createElement('a')\r\n link.href = fileURL\r\n link.setAttribute('download', fileName)\r\n document.body.appendChild(link)\r\n link.click()\r\n document.body.removeChild(link)\r\n })\r\n}\r\n","import _get from 'lodash/get'\r\n\r\ninterface ICheckoutBody {\r\n attributes: {\r\n [key: string]: any;\r\n };\r\n}\r\n\r\ninterface IticketHolder {\r\n first_name?: string;\r\n last_name?: string;\r\n phone?: string;\r\n email?: string;\r\n}\r\n\r\nexport const createCheckoutDataBodyWithDefaultHolder = (\r\n ticketsQuantity: number,\r\n logedInValues: {},\r\n includeDob: boolean = false\r\n): ICheckoutBody => {\r\n const ticket_holders: IticketHolder[] = []\r\n\r\n const first_name =\r\n _get(logedInValues, 'firstName') || _get(logedInValues, 'first_name') || ''\r\n const last_name =\r\n _get(logedInValues, 'lastName', '') ||\r\n _get(logedInValues, 'last_name') ||\r\n ''\r\n const phone = _get(logedInValues, 'phone', '')\r\n const email = _get(logedInValues, 'email', '')\r\n\r\n for (let i = 0; i <= ticketsQuantity - 1; i++) {\r\n const individualHolder = i\r\n ? { first_name: '', last_name: '', phone: '', email: '' }\r\n : { first_name, last_name, phone, email }\r\n\r\n ticket_holders.push(individualHolder)\r\n }\r\n\r\n const body: ICheckoutBody = {\r\n attributes: {\r\n ...logedInValues,\r\n email,\r\n confirm_email: email,\r\n first_name,\r\n last_name,\r\n ticket_holders,\r\n },\r\n }\r\n\r\n if (includeDob) {\r\n const holderAgeDate = new Date(_get(logedInValues, 'holderAge', ''))\r\n body.attributes.dob_day = holderAgeDate.getDate()\r\n body.attributes.dob_month = holderAgeDate.getMonth() + 1\r\n body.attributes.dob_year = holderAgeDate.getFullYear()\r\n }\r\n\r\n return body\r\n}\r\n","import axios, { AxiosInstance, AxiosRequestConfig } from 'axios'\r\nimport _get from 'lodash/get'\r\n\r\nimport { CONFIGS } from '../utils'\r\n\r\nconst isWindowDefined = typeof window !== 'undefined'\r\n\r\nconst ttfHeaders: { [key: string]: any } = {\r\n Accept: 'application/vnd.api+json',\r\n 'Content-Type': 'application/vnd.api+json',\r\n}\r\n\r\nif (isWindowDefined && localStorage.getItem('auth_guest_token')) {\r\n ttfHeaders['Authorization-Guest'] = localStorage.getItem('auth_guest_token')\r\n}\r\n\r\ninterface IPublicRequest extends AxiosInstance {\r\n setGuestToken: (token: string) => void;\r\n setAccessToken: (token: string) => void;\r\n setBaseUrl: (baseUrl: string) => void;\r\n}\r\n\r\nexport const publicRequest: IPublicRequest = axios.create({\r\n baseURL: CONFIGS.BASE_URL || `https://www.ticketfairy.com/api`,\r\n headers: ttfHeaders,\r\n}) as IPublicRequest\r\n\r\npublicRequest.interceptors.response.use(\r\n response => response,\r\n error => {\r\n if (error?.response?.status === 401) {\r\n if (isWindowDefined) {\r\n window.localStorage.removeItem('auth_guest_token')\r\n window.localStorage.removeItem('user_data')\r\n window.localStorage.removeItem('access_token')\r\n const errorType = error?.response?.data?.error\r\n if (errorType === 'invalid_token') {\r\n window.location.href = '/'\r\n }\r\n }\r\n }\r\n return Promise.reject(error)\r\n }\r\n)\r\n\r\npublicRequest.interceptors.request.use((config: AxiosRequestConfig) => {\r\n const guestToken = isWindowDefined\r\n ? window.localStorage.getItem('auth_guest_token')\r\n : null\r\n const userData = isWindowDefined\r\n ? window.localStorage.getItem('user_data')\r\n : null\r\n const accessToken = isWindowDefined\r\n ? window.localStorage.getItem('access_token')\r\n : null\r\n\r\n if (userData && accessToken) {\r\n const updatedHeaders = {\r\n ...config.headers,\r\n Authorization: `Bearer ${accessToken}`,\r\n }\r\n config.headers = updatedHeaders\r\n }\r\n\r\n if (guestToken) {\r\n publicRequest.setGuestToken(guestToken)\r\n const updatedHeaders = {\r\n ...config.headers,\r\n 'Authorization-Guest': guestToken,\r\n }\r\n config.headers = updatedHeaders\r\n }\r\n\r\n if (CONFIGS.X_SOURCE_ORIGIN) {\r\n const updatedHeaders = {\r\n ...config.headers,\r\n 'X-Source-Origin': CONFIGS.X_SOURCE_ORIGIN,\r\n }\r\n config.headers = updatedHeaders\r\n }\r\n\r\n if (CONFIGS.BASE_URL) {\r\n config.baseURL = CONFIGS.BASE_URL + '/api'\r\n }\r\n\r\n return config\r\n})\r\n\r\npublicRequest.setGuestToken = token =>\r\n (publicRequest.defaults.headers.common['Authorization-Guest'] = token)\r\n\r\npublicRequest.setBaseUrl = (baseUrl: string) =>\r\n (publicRequest.defaults.baseURL = baseUrl + '/api')\r\n\r\npublicRequest.setAccessToken = token =>\r\n (publicRequest.defaults.headers.common.Authorization = token)\r\n\r\nexport const setXSourceOrigin = (sourceOrigin: string) => {\r\n ttfHeaders['X-Source-Origin'] = sourceOrigin\r\n}\r\n\r\nexport const setCustomHeader = (response: any) => {\r\n const guestHeaderResponseValue = _get(response, 'headers.authorization-guest')\r\n const guestHeaderExistingValue = _get(\r\n response,\r\n 'config.headers[Authorization-Guest]'\r\n )\r\n const guestHeader = guestHeaderResponseValue || guestHeaderExistingValue\r\n\r\n if (guestHeader) {\r\n if (isWindowDefined) {\r\n window.localStorage.setItem('auth_guest_token', guestHeader)\r\n publicRequest.setGuestToken(guestHeader)\r\n }\r\n }\r\n}\r\n\r\nexport const handleSetAccessToken = (token: any) => {\r\n if (token) {\r\n if (isWindowDefined) {\r\n window.localStorage.setItem('access_token', token)\r\n publicRequest.setAccessToken(token)\r\n }\r\n }\r\n}\r\n\r\nexport function getEvent(id: string | number) {\r\n const response = publicRequest\r\n .get(`v1/event/${id}`, { headers: ttfHeaders })\r\n .catch(error => {\r\n throw error\r\n })\r\n return response\r\n}\r\n\r\nexport function getTickets(id: string | number, promoCode: string) {\r\n const response = publicRequest\r\n .get(`v1/event/${id}/tickets/`, {\r\n headers: promoCode\r\n ? {\r\n ...ttfHeaders,\r\n 'Promotion-Event': String(id),\r\n 'Promotion-Code': promoCode,\r\n }\r\n : { ...ttfHeaders },\r\n })\r\n .catch(error => {\r\n throw error\r\n })\r\n return response\r\n}\r\n\r\nexport const addToCart = (id: string | number, data: any) => {\r\n const res = publicRequest.post(`v1/event/${id}/add-to-cart/`, { data })\r\n return res\r\n}\r\n\r\nexport const getCart = () => {\r\n const res = publicRequest.get(`v1/cart/`)\r\n return res\r\n}\r\n\r\nexport const postOnCheckout = (data: any, accessToken: string) => {\r\n const res = publicRequest.post(\r\n `v1/on-checkout/`,\r\n { data },\r\n {\r\n headers: {\r\n ...ttfHeaders,\r\n Authorization: `Bearer ${accessToken}`,\r\n },\r\n }\r\n )\r\n return res\r\n}\r\n\r\nexport const authorize = (data: FormData) =>\r\n publicRequest.post(\r\n `v1/oauth/authorize-rn?client_id=${CONFIGS.CLIENT_ID ||\r\n 'e9d8f8922797b4621e562255afe90dbf'}`,\r\n data\r\n )\r\n\r\nexport const register = (data: FormData) =>\r\n publicRequest.post('v1/oauth/register-rn', data)\r\n\r\nexport const getAccessToken = (data: FormData) =>\r\n publicRequest.post('v1/oauth/access_token', data)\r\n\r\nexport const getPaymentData = (hash: string) => {\r\n const response = publicRequest\r\n .get(`v1/order/${hash}/review/`)\r\n .catch(error => {\r\n throw error\r\n })\r\n return response\r\n}\r\n\r\nexport const handlePaymentData = (orderHash: string, data: any) => {\r\n const res = publicRequest\r\n .post(`v1/order/${orderHash}/pay`, {\r\n data: { attributes: { 'stripe-source': data } },\r\n })\r\n .catch(error => {\r\n throw error\r\n })\r\n return res\r\n}\r\n\r\nexport const handlePaymentSuccess = (orderHash: string) => {\r\n const res = publicRequest\r\n .post(`v1/order/${orderHash}/success`)\r\n .catch(error => {\r\n throw error\r\n })\r\n return res\r\n}\r\n\r\nexport const handleFreeSuccess = (orderHash: string) => {\r\n const res = publicRequest\r\n .post(`v1/order/${orderHash}/complete_free_registration`)\r\n .catch(error => {\r\n throw error\r\n })\r\n return res\r\n}\r\n\r\nexport const getProfileData = (accessToken: any) =>\r\n publicRequest\r\n .get('/customer/profile/', {\r\n headers: {\r\n ...ttfHeaders,\r\n Authorization: `Bearer ${accessToken}`,\r\n },\r\n })\r\n .catch((e: any) => {\r\n return e\r\n })\r\n\r\nexport const getCountries = () => publicRequest.get('/countries/')\r\n\r\nexport const getConfirmationData = (orderHash: string) =>\r\n publicRequest.get(`v1/order/${orderHash}/payment/complete`)\r\n\r\nexport const getStates = (countryId: string) =>\r\n publicRequest.get(`/countries/${countryId}/states/`)\r\n\r\nexport const getOrders = (page: number, limit: number, eventSlug: string) =>\r\n publicRequest.get(\r\n `v1/account/orders/?page=${page}&limit=${limit}&filter[event]=${eventSlug}&filter[brand]=${CONFIGS.BRAND_SLUG}`\r\n )\r\n\r\nexport const getOrderDetails = (orderId: string) =>\r\n publicRequest.get(`v1/account/order/${orderId}`)\r\n\r\nexport const addToWaitingList = (id: number, data: any) =>\r\n publicRequest.post(`v1/event/${id}/add_to_waiting_list`, data)\r\n\r\nexport const getConditions = (eventId: string) =>\r\n publicRequest.get(`v1/event/${eventId}/conditions`)\r\n\r\n// resale\r\nexport const resaleTicket = (data: any, hash: string) => {\r\n return publicRequest.post(`v1/ticket/${hash}/sell`, data)\r\n}\r\n\r\nexport const removeFromResale = (hash: string) => {\r\n return publicRequest.delete(`v1/ticket/${hash}/sell`)\r\n}\r\n\r\nexport const postReferralVisits = (eventId: string, referralId: string) =>\r\n publicRequest.post(`v1/event/${eventId}/referrer/`, {\r\n referrer: `${referralId}`,\r\n })\r\n\r\nexport const checkTicketStatus = (hash: string) => {\r\n return publicRequest.post(`v1/ticket/${hash}/status/`)\r\n}\r\n","import React, { FC, useState } from 'react'\r\nimport { AxiosError } from 'axios'\r\nimport {\r\n authorize,\r\n getAccessToken,\r\n getProfileData,\r\n handleSetAccessToken,\r\n} from '../../api'\r\nimport _get from 'lodash/get'\r\nimport { Field, Form, Formik } from 'formik'\r\nimport { requiredValidator } from '../../validators'\r\nimport { TextField } from '@mui/material'\r\nimport Modal from '@mui/material/Modal'\r\nimport Box from '@mui/material/Box'\r\nimport './style.css'\r\nimport { CONFIGS } from '../../utils'\r\nimport axios from 'axios'\r\n\r\ninterface Props {\r\n onClose: () => void;\r\n onLogin: () => void;\r\n alreadyHasUser?: boolean;\r\n userExpired?: boolean;\r\n onAuthorizeSuccess?: (res: any) => void;\r\n onAuthorizeError?: (e: AxiosError) => void;\r\n onGetProfileDataSuccess?: (res: any) => void;\r\n onGetProfileDataError?: (e: AxiosError) => void;\r\n modalClassname?: string;\r\n}\r\n\r\nconst style: React.CSSProperties = {\r\n position: 'absolute',\r\n top: '50%',\r\n left: '50%',\r\n transform: 'translate(-50%, -50%)',\r\n minWidth: 480,\r\n backgroundColor: '#e3e3e3',\r\n border: '1px solid white',\r\n outline: 'none',\r\n}\r\n\r\nexport const LoginModal: FC<Props> = ({\r\n onClose,\r\n onLogin,\r\n alreadyHasUser = false,\r\n userExpired = false,\r\n onAuthorizeSuccess = () => {},\r\n onAuthorizeError = () => {},\r\n onGetProfileDataSuccess = () => {},\r\n onGetProfileDataError = () => {},\r\n modalClassname = '',\r\n}) => {\r\n const [error, setError] = useState('')\r\n const handleForgotPassword = () => {\r\n if (typeof window !== 'undefined') {\r\n window.open(`${CONFIGS.BASE_URL}/password-restore/`)\r\n }\r\n }\r\n return (\r\n <Modal\r\n open={true}\r\n onClose={onClose}\r\n aria-labelledby=\"modal-modal-title\"\r\n aria-describedby=\"modal-modal-description\"\r\n className={`login-modal ${modalClassname}`}\r\n >\r\n <Box style={style}>\r\n <div>\r\n <Formik\r\n initialValues={{ email: '', password: '' }}\r\n onSubmit={async ({ email, password }) => {\r\n try {\r\n const bodyFormData = new FormData()\r\n bodyFormData.append('email', email)\r\n bodyFormData.append('password', password)\r\n\r\n const resAutorize = await authorize(bodyFormData)\r\n const bodyFormDataToken = new FormData()\r\n bodyFormDataToken.append('code', resAutorize.data.data.code)\r\n bodyFormDataToken.append('scope', 'profile')\r\n bodyFormDataToken.append('grant_type', 'authorization_code')\r\n bodyFormDataToken.append(\r\n 'client_id',\r\n CONFIGS.CLIENT_ID || 'e9d8f8922797b4621e562255afe90dbf'\r\n )\r\n bodyFormDataToken.append(\r\n 'client_secret',\r\n CONFIGS.CLIENT_SECRET ||\r\n 'b89c191eff22fdcf84ac9bfd88d005355a151ec2c83b26b9'\r\n )\r\n\r\n let resAccessToken = null\r\n\r\n try {\r\n resAccessToken = await getAccessToken(bodyFormDataToken)\r\n onAuthorizeSuccess(resAccessToken.data)\r\n } catch (e) {\r\n if (axios.isAxiosError(e)) {\r\n onAuthorizeError(e)\r\n }\r\n return\r\n }\r\n\r\n const accessToken = _get(resAccessToken, 'data.access_token')\r\n handleSetAccessToken(accessToken)\r\n\r\n let profileResponse = null\r\n\r\n try {\r\n profileResponse = await getProfileData(accessToken)\r\n onGetProfileDataSuccess(profileResponse.data)\r\n } catch (e) {\r\n if (axios.isAxiosError(e)) {\r\n onGetProfileDataError(e)\r\n }\r\n return\r\n }\r\n\r\n const profileSpecifiedData = _get(profileResponse, 'data.data')\r\n const profileDataObj = {\r\n id: profileSpecifiedData.id,\r\n first_name: profileSpecifiedData.firstName,\r\n last_name: profileSpecifiedData.lastName,\r\n email: profileSpecifiedData.email,\r\n }\r\n if (typeof window !== 'undefined') {\r\n window.localStorage.setItem(\r\n 'user_data',\r\n JSON.stringify(profileDataObj)\r\n )\r\n window.localStorage.setItem('access_token', accessToken)\r\n const event = new window.CustomEvent('tf-login')\r\n window.document.dispatchEvent(event)\r\n }\r\n onLogin()\r\n } catch (e) {\r\n if (axios.isAxiosError(e)) {\r\n const error = e?.response?.data?.message || 'Error'\r\n setError(error)\r\n } else if (e instanceof Error) {\r\n setError(e?.message || 'Error')\r\n }\r\n }\r\n }}\r\n >\r\n {props => (\r\n <Form onSubmit={props.handleSubmit}>\r\n <div className=\"modal-title\">Login</div>\r\n <img\r\n className=\"login-logo-tff\"\r\n src=\"https://www.ticketfairy.com/resources/images/logo-ttf-black.svg\"\r\n alt=\"\"\r\n />\r\n <div className=\"server_auth__error\">{error}</div>\r\n {alreadyHasUser && (\r\n <p className=\"info-text-for-login\">\r\n It appears this email is already attached to an account.\r\n Please log in here to complete your registration.\r\n </p>\r\n )}\r\n {userExpired && (\r\n <p className=\"info-text-for-login\">\r\n Your session has expired, please log in again.\r\n </p>\r\n )}\r\n <div className=\"login-modal-body\">\r\n <div className=\"login-modal-body__email\">\r\n <Field name={'email'} validate={requiredValidator}>\r\n {({ field, meta }: { [key: string]: any }) => (\r\n <TextField\r\n label={'Email'}\r\n type={'email'}\r\n fullWidth\r\n error={!!meta.error && meta.touched}\r\n helperText={meta.touched && meta.error}\r\n {...field}\r\n />\r\n )}\r\n </Field>\r\n </div>\r\n <div className=\"login-modal-body__password\">\r\n <Field name={'password'} validate={requiredValidator}>\r\n {({ field, meta }: { [key: string]: any }) => (\r\n <TextField\r\n label=\"Password\"\r\n type=\"password\"\r\n fullWidth\r\n error={!!meta.error && meta.touched}\r\n helperText={meta.touched && meta.error}\r\n {...field}\r\n />\r\n )}\r\n </Field>\r\n </div>\r\n <div className=\"login-action-button\">\r\n <button type=\"submit\">Login</button>\r\n </div>\r\n <div className='forgot-password'>\r\n <span onClick={handleForgotPassword}>Forgot password?</span>\r\n </div>\r\n </div>\r\n </Form>\r\n )}\r\n </Formik>\r\n </div>\r\n </Box>\r\n </Modal>\r\n )\r\n}\r\n","import React, { FC } from 'react'\r\nimport { AxiosError } from 'axios'\r\nimport './style.css'\r\nimport { getProfileData, handleSetAccessToken, register } from '../../api'\r\nimport { Field, Form, Formik } from 'formik'\r\nimport { requiredValidator } from '../../validators'\r\nimport { TextField } from '@mui/material'\r\nimport _get from 'lodash/get'\r\nimport { CONFIGS } from '../../utils'\r\n\r\ninterface Props {\r\n onClose: () => void;\r\n onRegister: () => void;\r\n onGetProfileDataSuccess: (res: any) => void;\r\n onGetProfileDataError: (e: AxiosError) => void;\r\n}\r\n\r\nexport const RegisterModal: FC<Props> = ({\r\n onClose,\r\n onGetProfileDataSuccess = () => {},\r\n onGetProfileDataError = () => {},\r\n}) => (\r\n <div\r\n style={{\r\n display: 'flex',\r\n position: 'absolute',\r\n top: 0,\r\n bottom: 0,\r\n right: 0,\r\n left: 0,\r\n backgroundColor: 'white',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n zIndex: 10,\r\n }}\r\n >\r\n <Formik\r\n initialValues={{\r\n firstName: '',\r\n lastName: '',\r\n email: '',\r\n password: '',\r\n confirmPassword: '',\r\n }}\r\n onSubmit={async ({\r\n firstName,\r\n lastName,\r\n email,\r\n password,\r\n confirmPassword,\r\n }) => {\r\n const bodyFormData = new FormData()\r\n bodyFormData.append('first_name', firstName)\r\n bodyFormData.append('last_name', lastName)\r\n bodyFormData.append('email', email)\r\n bodyFormData.append('password', password)\r\n bodyFormData.append('password_confirmation', confirmPassword)\r\n bodyFormData.append(\r\n 'client_id',\r\n CONFIGS.CLIENT_ID || 'e9d8f8922797b4621e562255afe90dbf'\r\n )\r\n bodyFormData.append(\r\n 'client_secret',\r\n CONFIGS.CLIENT_SECRET ||\r\n 'b89c191eff22fdcf84ac9bfd88d005355a151ec2c83b26b9'\r\n )\r\n const resRegister = await register(bodyFormData)\r\n const access_token = _get(\r\n resRegister,\r\n 'data.data.attributes.access_token'\r\n )\r\n handleSetAccessToken(access_token)\r\n\r\n let profileResponse = null\r\n\r\n try {\r\n profileResponse = await getProfileData(access_token)\r\n onGetProfileDataSuccess(profileResponse.data)\r\n } catch (e) {\r\n onGetProfileDataError(e.response)\r\n return\r\n }\r\n\r\n const profileSpecifiedData = _get(profileResponse, 'data.data')\r\n const profileDataObj = {\r\n id: profileSpecifiedData.id,\r\n first_name: profileSpecifiedData.firstName,\r\n last_name: profileSpecifiedData.lastName,\r\n email: profileSpecifiedData.email,\r\n }\r\n if (typeof window !== 'undefined') {\r\n window.localStorage.setItem('access_token', access_token)\r\n window.localStorage.setItem(\r\n 'user_data',\r\n JSON.stringify(profileDataObj)\r\n )\r\n }\r\n onClose()\r\n }}\r\n >\r\n {props => (\r\n <Form onSubmit={props.handleSubmit}>\r\n <div className=\"register-container\">\r\n <div>Create account</div>\r\n <button type=\"button\" onClick={onClose}>\r\n Close\r\n </button>\r\n <div className=\"register-container__twoFields\">\r\n <div className=\"is-half\">\r\n <Field name={'firstName'} validate={requiredValidator()}>\r\n {({ field, meta }: { [key: string]: any }) => (\r\n <TextField\r\n label={'First Name'}\r\n type={'text'}\r\n fullWidth\r\n error={!!meta.error && meta.touched}\r\n helperText={meta.touched && meta.error}\r\n {...field}\r\n />\r\n )}\r\n </Field>\r\n </div>\r\n <div className=\"is-half\">\r\n <Field name={'lastName'} validate={requiredValidator()}>\r\n {({ field, meta }: { [key: string]: any }) => (\r\n <TextField\r\n label={'Last Name'}\r\n type={'text'}\r\n fullWidth\r\n error={!!meta.error && meta.touched}\r\n helperText={meta.touched && meta.error}\r\n {...field}\r\n />\r\n )}\r\n </Field>\r\n </div>\r\n </div>\r\n <div className=\"register-container__singleField\">\r\n <div className=\"\">\r\n <Field name={'email'} validate={requiredValidator()}>\r\n {({ field, meta }: { [key: string]: any }) => (\r\n <TextField\r\n label={'Email'}\r\n type={'email'}\r\n fullWidth\r\n error={!!meta.error && meta.touched}\r\n helperText={meta.touched && meta.error}\r\n {...field}\r\n />\r\n )}\r\n </Field>\r\n </div>\r\n </div>\r\n <div className=\"register-container__twoFields\">\r\n <div className=\"is-half\">\r\n <Field name={'password'} validate={requiredValidator()}>\r\n {({ field, meta }: { [key: string]: any }) => (\r\n <TextField\r\n label={'Password'}\r\n type={'password'}\r\n fullWidth\r\n error={!!meta.error && meta.touched}\r\n helperText={meta.touched && meta.error}\r\n {...field}\r\n />\r\n )}\r\n </Field>\r\n </div>\r\n <div className=\"is-half\">\r\n <Field name={'confirmPassword'} validate={requiredValidator()}>\r\n {({ field, meta }: { [key: string]: any }) => (\r\n <TextField\r\n label={'Confirm Passwod'}\r\n type={'password'}\r\n fullWidth\r\n error={!!meta.error && meta.touched}\r\n helperText={meta.touched && meta.error}\r\n {...field}\r\n />\r\n )}\r\n </Field>\r\n </div>\r\n </div>\r\n </div>\r\n <button type=\"submit\">Submit</button>\r\n </Form>\r\n )}\r\n </Formik>\r\n </div>\r\n)\r\n","import _map from 'lodash/map'\r\nimport _get from 'lodash/get'\r\nimport _forEach from 'lodash/forEach'\r\nimport _flatMapDeep from 'lodash/flatMapDeep'\r\nimport _isArray from 'lodash/isArray'\r\n\r\nimport { CONFIGS } from '../../utils'\r\nimport { IGroupItem } from '../../types'\r\nimport { combineValidators, requiredValidator } from '../../validators'\r\nimport { nanoid } from 'nanoid'\r\nimport { FormikValues } from 'formik'\r\n\r\nexport interface ILoggedInValues {\r\n emailLogged?: string;\r\n firstNameLogged?: string;\r\n lastNameLogged?: string;\r\n}\r\n\r\nexport interface IValues {\r\n [key: string]: any;\r\n}\r\n\r\nexport const getInitialValues = (\r\n data: any = [],\r\n propsInitialValues: IValues = {},\r\n userValues: any = {}\r\n): IValues => {\r\n const results = _flatMapDeep(data, ({ fields }) =>\r\n _map(fields, ({ groupItems }) => _map(groupItems, ({ name }) => name))\r\n )\r\n\r\n const initialValues: IValues = {}\r\n _forEach(results, item => {\r\n initialValues[item] = propsInitialValues[item] || userValues[item] || ''\r\n })\r\n\r\n // set logged in user as first ticket holder\r\n initialValues['holderFirstName-0'] =\r\n propsInitialValues.firstName || userValues.firstName || ''\r\n initialValues['holderLastName-0'] =\r\n propsInitialValues.lastName || userValues.lastName || ''\r\n initialValues['holderEmail-0'] =\r\n propsInitialValues.email || userValues.email || ''\r\n\r\n return initialValues\r\n}\r\n\r\nexport const createRegisterFormData = (\r\n values: IValues = {},\r\n checkoutBody: { attributes: { [key: string]: any } }\r\n): FormData => {\r\n const bodyFormData = new FormData()\r\n bodyFormData.append('first_name', values.firstName)\r\n bodyFormData.append('last_name', values.lastName)\r\n bodyFormData.append('email', values.email)\r\n bodyFormData.append('password', values.password)\r\n bodyFormData.append('password_confirmation', values.confirmPassword)\r\n bodyFormData.append(\r\n 'client_id',\r\n CONFIGS.CLIENT_ID || 'e9d8f8922797b4621e562255afe90dbf'\r\n )\r\n bodyFormData.append(\r\n 'client_secret',\r\n CONFIGS.CLIENT_SECRET || 'b89c191eff22fdcf84ac9bfd88d005355a151ec2c83b26b9'\r\n )\r\n\r\n _forEach(checkoutBody.attributes, (item: any, key: string) => {\r\n bodyFormData.append(key, item)\r\n })\r\n\r\n return bodyFormData\r\n}\r\n\r\ninterface ICheckoutBody {\r\n attributes: {\r\n [key: string]: any;\r\n };\r\n}\r\n\r\ninterface IUserData {\r\n id: string;\r\n firstName: string;\r\n lastName: string;\r\n email: string;\r\n city?: string;\r\n country?: string;\r\n countryId?: string;\r\n phone?: string;\r\n streetAddress?: string;\r\n state?: string;\r\n zip?: string;\r\n zipCode?: string;\r\n stateId?: string;\r\n}\r\n\r\ninterface IticketHolder {\r\n first_name?: string;\r\n last_name?: string;\r\n phone?: string;\r\n email?: string;\r\n}\r\n\r\nexport const setLoggedUserData = (data: IUserData) => ({\r\n id: data.id,\r\n first_name: data.firstName,\r\n last_name: data.lastName,\r\n email: data.email,\r\n confirmEmail: data.email,\r\n city: data?.city || '',\r\n country: data?.countryId || data?.country || '',\r\n phone: data?.phone || '',\r\n street_address: data?.streetAddress || '',\r\n state: data?.stateId || '',\r\n zip: data?.zip || data?.zipCode || '',\r\n})\r\n\r\nexport const createCheckoutDataBody = (\r\n ticketsQuantity: number,\r\n values: IValues = {},\r\n logedInValues: ILoggedInValues = {},\r\n includeDob: boolean = false\r\n): ICheckoutBody => {\r\n const {\r\n firstName,\r\n lastName,\r\n holderAge,\r\n confirmEmail,\r\n confirmPassword,\r\n ...restValues\r\n } = values\r\n\r\n const holders = []\r\n let ticket_holders: IticketHolder[] = []\r\n\r\n for (let i = 0; i <= ticketsQuantity; i++) {\r\n const individualHolder = Object.fromEntries(\r\n Object.entries(values).filter(([key, _val]) => key.includes(String(i)))\r\n )\r\n holders.push(individualHolder)\r\n }\r\n\r\n const filteredHolders = holders.filter(\r\n holder => Object.entries(holder).length > 0\r\n )\r\n ticket_holders = filteredHolders.map((item, index) => ({\r\n first_name: item[`holderFirstName-${index}`] || '',\r\n last_name: item[`holderLastName-${index}`] || '',\r\n phone: item[`holderPhone-${index}`] || '',\r\n email: item[`holderEmail-${index}`] || '',\r\n }))\r\n\r\n const filteredRestValue: { [key: string]: any } = {}\r\n _forEach(restValues, (value, key) => {\r\n if (!key.includes('holder')) {\r\n filteredRestValue[key] = value\r\n }\r\n })\r\n\r\n const body: ICheckoutBody = {\r\n attributes: {\r\n ...filteredRestValue,\r\n email: restValues.email || logedInValues.emailLogged,\r\n confirm_email: restValues.email || logedInValues.emailLogged,\r\n first_name: firstName || logedInValues.firstNameLogged,\r\n last_name: lastName || logedInValues.lastNameLogged,\r\n ticket_holders,\r\n },\r\n }\r\n\r\n if (includeDob) {\r\n const holderAgeDate = new Date(holderAge)\r\n body.attributes.dob_day = holderAgeDate.getDate()\r\n body.attributes.dob_month = holderAgeDate.getMonth() + 1\r\n body.attributes.dob_year = holderAgeDate.getFullYear()\r\n }\r\n return body\r\n}\r\n\r\nexport const getValidateFunctions = (\r\n element: IGroupItem,\r\n states: Array<{ [key: string]: any }>,\r\n values: FormikValues\r\n) => {\r\n const validationFunctions: any[] = []\r\n\r\n if (element.required) {\r\n if (\r\n element.name !== 'state' ||\r\n (element.name === 'state' && states.length)\r\n ) {\r\n validationFunctions.push(requiredValidator)\r\n }\r\n }\r\n\r\n if (element.onValidate) {\r\n validationFunctions.push(element.onValidate)\r\n }\r\n\r\n if (element.name === 'confirmEmail') {\r\n const isSameEmail = (confirmEmail?: string) =>\r\n values.email !== confirmEmail\r\n ? 'Please confirm your email address correctly'\r\n : null\r\n validationFunctions.push(isSameEmail)\r\n }\r\n\r\n return combineValidators(...validationFunctions)\r\n}\r\n\r\nexport const assingUniqueIds = (data: any): any => {\r\n if (_get(data[0], 'uniqueId')) {\r\n return data\r\n }\r\n\r\n return _map(data, (item: any) => {\r\n _forEach(item, (itemValue: string, key) => {\r\n if (_isArray(itemValue)) {\r\n item[key] = assingUniqueIds(itemValue)\r\n }\r\n })\r\n\r\n return { ...item, uniqueId: nanoid() }\r\n })\r\n}\r\n","import React from 'react'\r\nimport FormGroup from '@mui/material/FormGroup'\r\nimport FormControlLabel from '@mui/material/FormControlLabel'\r\nimport Checkbox from '@mui/material/Checkbox'\r\nimport { FieldInputProps } from 'formik'\r\nimport { useTheme } from '@mui/styles'\r\nimport { FormControl, FormHelperText } from '@mui/material'\r\n\r\nexport interface ICheckboxField {\r\n label: string | number | JSX.Element;\r\n field?: FieldInputProps<any>;\r\n}\r\n\r\ninterface IOtherProps {\r\n [key: string]: any;\r\n}\r\n\r\nexport const CheckboxField = ({\r\n label,\r\n field,\r\n selectOptions,\r\n theme,\r\n setFieldValue,\r\n ...rest\r\n}: ICheckboxField & IOtherProps) => {\r\n const customTheme: any = useTheme()\r\n return (\r\n <FormControl error={!!(rest?.form?.errors && rest.form.errors[field?.name ?? \"\"])}>\r\n <FormGroup>\r\n <FormControlLabel\r\n control={<Checkbox {...field} {...rest} />}\r\n label={label}\r\n componentsProps={{\r\n typography: customTheme?.checkbox\r\n }}\r\n />\r\n </FormGroup>\r\n {!!(rest?.form?.errors && rest.form.errors[field?.name ?? \"\"]) ? <FormHelperText>Required</FormHelperText> : null}\r\n </FormControl>\r\n )\r\n}\r\n","import React from 'react'\r\nimport TextField from '@mui/material/TextField'\r\nimport _map from 'lodash/map'\r\nimport _get from 'lodash/get'\r\nimport _includes from 'lodash/includes'\r\n\r\nimport { FieldInputProps, FormikProps } from 'formik'\r\nimport { useTheme } from '@mui/styles'\r\n\r\nexport interface ISelectOption {\r\n label: string | number;\r\n value?: string | number;\r\n [key: string]: any;\r\n}\r\n\r\nexport interface ICustomField {\r\n label: string;\r\n\r\n field: FieldInputProps<any>;\r\n form: FormikProps<any>;\r\n theme: 'dark' | 'light';\r\n\r\n // optional\r\n type?: string;\r\n selectOptions?: ISelectOption[];\r\n}\r\n\r\ninterface IOtherProps {\r\n [key: string]: any;\r\n}\r\n\r\nexport const CustomField = ({\r\n label,\r\n type = 'text',\r\n field,\r\n selectOptions = [] as ISelectOption[],\r\n form: { touched, errors, submitCount },\r\n theme,\r\n}: ICustomField & IOtherProps) => {\r\n const isSelectField = type === 'select'\r\n const error = _get(errors, field.name)\r\n const isTouched =\r\n Boolean(_get(touched, field.name)) ||\r\n (_includes(field.name, 'holder') && !!error && !!submitCount)\r\n\r\n const customTheme: any = useTheme()\r\n\r\n return (\r\n <TextField\r\n id={field.name}\r\n label={label}\r\n type={type}\r\n select={isSelectField}\r\n fullWidth={true}\r\n error={!!error && isTouched}\r\n helperText={isTouched && error}\r\n SelectProps={{\r\n native: true,\r\n className: theme,\r\n MenuProps: { className: theme },\r\n }}\r\n InputLabelProps={{\r\n sx: customTheme?.input,\r\n shrink: field.name === 'holderAge' ? true : undefined,\r\n }}\r\n inputProps={{\r\n sx: customTheme?.input,\r\n }}\r\n {...field}\r\n >\r\n {isSelectField\r\n ? _map(selectOptions, option => (\r\n <option\r\n key={option.value}\r\n value={option.value}\r\n disabled={option.disabled}\r\n >\r\n {option.label}\r\n </option>\r\n ))\r\n : null}\r\n </TextField>\r\n )\r\n}\r\n","export const currencyNormalizerCreator = (value: string | number, currency: string) =>\r\n !value ? '' : `${getCurrencySymbolByCurrency(currency)}${value}`\r\n\r\nexport const createFixedFloatNormalizer = (fixedValue: number) => (value: string | number) =>\r\n value || `${value}` === '0' ? (+value).toFixed(fixedValue) : ''\r\n\r\nexport const getCurrencySymbolByCurrency = (currency = '') => {\r\n switch (currency) {\r\n case 'GBP':\r\n return '£'\r\n case 'EUR':\r\n return '€'\r\n case 'INR':\r\n return '₹'\r\n case 'JMD':\r\n return 'J$'\r\n case 'NZD':\r\n return 'NZ$'\r\n case 'MYR':\r\n return 'RM'\r\n case 'MXN':\r\n return 'Mex$'\r\n case 'SGD':\r\n return 'S$'\r\n case 'AUD':\r\n return 'A$'\r\n case 'ZAR':\r\n return 'R'\r\n case 'ke':\r\n return 'Ksh'\r\n case 'TRY':\r\n return '₺'\r\n case 'CAD':\r\n return 'CA$'\r\n case 'THB':\r\n return '฿'\r\n case 'ISK':\r\n return 'Kr'\r\n case 'SEK':\r\n return 'kr'\r\n default:\r\n return 'US$'\r\n }\r\n}\r\n\r\nexport const removePlusSign = (string = '') => string.replace('+', '')","import React from 'react'\r\nimport { FieldInputProps } from 'formik'\r\nimport MuiPhoneNumber from 'material-ui-phone-number'\r\nimport _get from 'lodash/get'\r\nimport { removePlusSign } from '../../normalizers'\r\nimport { useTheme } from '@mui/styles'\r\n\r\nexport interface INumberInField {\r\n label: string | number | JSX.Element;\r\n field: FieldInputProps<any>;\r\n}\r\n\r\ninterface IOtherProps {\r\n [key: string]: any;\r\n}\r\n\r\nexport const FormikPhoneNumberField = ({\r\n label,\r\n field,\r\n form: { touched, errors, initialValues },\r\n setFieldValue,\r\n selectOptions,\r\n ...rest\r\n}: INumberInField & IOtherProps) => {\r\n const error = _get(errors, field.name)\r\n const isTouched = Boolean(_get(touched, field.name))\r\n\r\n const customTheme: any = useTheme()\r\n\r\n return (\r\n <MuiPhoneNumber\r\n name='phone'\r\n value={initialValues.phone}\r\n onChange={(e: any) => setFieldValue(\"phone\", removePlusSign(e))}\r\n variant=\"outlined\" \r\n defaultCountry='us'\r\n disableDropdown={true}\r\n label={label}\r\n error={!!error && isTouched}\r\n helperText={isTouched && error}\r\n fullWidth\r\n InputLabelProps={{\r\n sx: customTheme?.input\r\n }}\r\n InputProps={{\r\n sx: customTheme?.input\r\n }}\r\n autoFormat={false}\r\n {...rest} \r\n />\r\n )\r\n}","import React from 'react'\r\nimport CircularProgress from '@mui/material/CircularProgress'\r\n\r\nexport function Loader() {\r\n return (\r\n <div className=\"loader-container\">\r\n <CircularProgress />\r\n </div>\r\n )\r\n}","import React from 'react'\r\nimport Select from '@mui/material/Select'\r\nimport _map from 'lodash/map'\r\nimport _get from 'lodash/get'\r\n\r\nimport { FieldInputProps, FormikProps } from 'formik'\r\nimport { FormControl, InputLabel, FormHelperText } from '@mui/material'\r\nimport { useTheme } from '@mui/styles'\r\n\r\nexport interface ISelectOption {\r\n label: string | number;\r\n value?: string | number;\r\n [key: string]: any;\r\n}\r\n\r\nexport interface ISelectField {\r\n label: string;\r\n\r\n field: FieldInputProps<any>;\r\n form: FormikProps<any>;\r\n theme: 'dark' | 'light';\r\n\r\n // optional\r\n type?: string;\r\n selectOptions?: ISelectOption[];\r\n}\r\n\r\ninterface IOtherProps {\r\n [key: string]: any;\r\n}\r\n\r\nexport const SelectField = ({\r\n label,\r\n type = 'text',\r\n field,\r\n selectOptions = [] as ISelectOption[],\r\n form: { touched, errors },\r\n theme,\r\n}: ISelectField & IOtherProps) => {\r\n const isTouched = Boolean(_get(touched, field.name))\r\n const error = _get(errors, field.name)\r\n\r\n const customTheme: any = useTheme()\r\n\r\n return (\r\n <FormControl fullWidth={true}>\r\n <InputLabel style={customTheme?.input} htmlFor={field.name} error={!!error && isTouched} shrink={true}>\r\n {label}\r\n </InputLabel>\r\n <Select\r\n id={field.name}\r\n label={label}\r\n type={type}\r\n fullWidth={true}\r\n error={!!error && isTouched}\r\n inputProps={{\r\n id: field.name,\r\n }}\r\n native={true}\r\n className={theme}\r\n MenuProps={{ className: theme }}\r\n {...field}\r\n style={customTheme?.input}\r\n >\r\n {_map(selectOptions, option => (\r\n <option\r\n key={option.value}\r\n value={option.value}\r\n disabled={option.disabled}\r\n >\r\n {option.label}\r\n </option>\r\n ))}\r\n </Select>\r\n {isTouched && error ? (\r\n <FormHelperText error={!!error && isTouched}>{error}</FormHelperText>\r\n ) : null}\r\n </FormControl>\r\n )\r\n}\r\n","import React, { FC, useEffect, useState, useRef } from 'react'\r\nimport { AxiosError } from 'axios'\r\nimport {\r\n Field,\r\n Form,\r\n Formik,\r\n FormikHelpers,\r\n FormikProps,\r\n FormikValues,\r\n} from 'formik'\r\nimport Button from '@mui/material/Button'\r\nimport _identity from 'lodash/identity'\r\nimport _map from 'lodash/map'\r\nimport _get from 'lodash/get'\r\nimport _includes from 'lodash/includes'\r\nimport _isEqual from 'lodash/isEqual'\r\nimport _isEmpty from 'lodash/isEmpty'\r\n\r\nimport './style.css'\r\nimport { combineValidators, requiredValidator } from '../../validators'\r\nimport { IBillingInfoData } from '../../types'\r\nimport {\r\n getCart,\r\n getCountries,\r\n getProfileData,\r\n handleSetAccessToken,\r\n postOnCheckout,\r\n register,\r\n setCustomHeader,\r\n getStates,\r\n} from '../../api'\r\nimport { LoginModal } from '../loginModal'\r\nimport { RegisterModal } from '../registerModal'\r\nimport {\r\n assingUniqueIds,\r\n createCheckoutDataBody,\r\n createRegisterFormData,\r\n getInitialValues,\r\n getValidateFunctions,\r\n setLoggedUserData,\r\n} from './utils'\r\nimport { createCheckoutDataBodyWithDefaultHolder } from '../../utils'\r\nimport axios from 'axios'\r\nimport { CustomField, CheckboxField, SelectField, FormikPhoneNumberField } from '../common/index'\r\nimport { Alert, CircularProgress, ThemeOptions } from '@mui/material'\r\nimport { nanoid } from 'nanoid'\r\nimport { getQueryVariable } from '../../utils/getQueryVariable'\r\nimport { ErrorFocus } from '../../utils/formikErrorFocus'\r\nimport { ThemeProvider, createTheme } from '@mui/material/styles'\r\nimport { CSSProperties } from '@mui/styles'\r\nimport Backdrop from '@mui/material/Backdrop'\r\n\r\nexport interface IBillingInfoPage {\r\n data?: IBillingInfoData[];\r\n ticketHoldersFields?: IBillingInfoData;\r\n handleSubmit?: (\r\n values: FormikValues,\r\n formikHelpers: FormikHelpers<FormikValues>,\r\n eventId: any,\r\n res: any\r\n ) => void;\r\n onRegisterSuccess?: (value: {\r\n accessToken: string;\r\n refreshToken: string;\r\n }) => void;\r\n onRegisterError?: (e: AxiosError, email: string) => void;\r\n onSubmitError?: (e: AxiosError) => void;\r\n onGetCartSuccess?: (res: any) => void;\r\n onGetCartError?: (e: AxiosError) => void;\r\n onGetCountriesSuccess?: (res: any) => void;\r\n onGetCountriesError?: (e: AxiosError) => void;\r\n onGetStatesSuccess?: (res: any) => void;\r\n onGetStatesError?: (e: AxiosError) => void;\r\n onGetProfileDataSuccess?: (res: any) => void;\r\n onGetProfileDataError?: (e: AxiosError) => void;\r\n onAuthorizeSuccess?: () => void;\r\n onAuthorizeError?: (e: AxiosError) => void;\r\n onLogin?: () => void;\r\n onLoginSuccess?: () => void;\r\n onErrorClose?: () => void;\r\n initialValues?: FormikValues;\r\n buttonName?: string;\r\n theme?: 'light' | 'dark';\r\n isLoggedIn?: boolean;\r\n accountInfoTitle?: string | JSX.Element;\r\n hideLogo?: boolean;\r\n themeOptions?: ThemeOptions & {\r\n input?: CSSProperties;\r\n checkbox?: CSSProperties;\r\n };\r\n hideErrorsAlertSection?: boolean;\r\n onSkipBillingPage: (data: any) => void;\r\n skipPage?: boolean;\r\n canSkipHolderNames?: boolean;\r\n}\r\n\r\nconst LogicRunner: FC<{\r\n values: any;\r\n setStates: React.Dispatch<any>;\r\n setFieldValue: any;\r\n setValues: any;\r\n setUserValues: any;\r\n onGetStatesSuccess: any;\r\n onGetStatesError: any;\r\n}> = ({\r\n values,\r\n setStates,\r\n setFieldValue,\r\n setValues,\r\n setUserValues,\r\n onGetStatesSuccess,\r\n onGetStatesError,\r\n}) => {\r\n const prevCountry = useRef(values.country)\r\n useEffect(() => {\r\n const fetchStates = async () => {\r\n try {\r\n const res = await getStates(values.country)\r\n const mappedStates = _map(_get(res, 'data.data'), (item, key) => ({\r\n label: item,\r\n value: key,\r\n }))\r\n setStates(mappedStates)\r\n if (prevCountry.current !== values.country) {\r\n setFieldValue('state', mappedStates[0]?.value ?? '')\r\n prevCountry.current = values.country\r\n }\r\n onGetStatesSuccess(res.data)\r\n } catch (e) {\r\n if (axios.isAxiosError(e)) {\r\n onGetStatesError(e)\r\n }\r\n }\r\n }\r\n fetchStates()\r\n }, [values.country, setStates, setFieldValue])\r\n const userDataEncoded =\r\n typeof window !== 'undefined'\r\n ? window.localStorage.getItem('user_data')\r\n : ''\r\n useEffect(() => {\r\n // set user data from local storage\r\n const getStoredUserData = () => {\r\n if (typeof window !== 'undefined') {\r\n if (userDataEncoded) {\r\n try {\r\n const parsedData = JSON.parse(userDataEncoded)\r\n const mappedValues = {\r\n firstName: parsedData?.first_name || '',\r\n lastName: parsedData?.last_name || '',\r\n email: parsedData?.email || '',\r\n phone: parsedData?.phone || '',\r\n confirmEmail: parsedData?.email || '',\r\n state: parsedData?.state || '',\r\n street_address: parsedData?.street_address || '',\r\n country: parsedData?.country || '1',\r\n zip: parsedData?.zip || '',\r\n brand_opt_in: parsedData?.brand_opt_in || '',\r\n city: parsedData?.city || '',\r\n confirmPassword: '',\r\n password: '',\r\n 'holderFirstName-0': parsedData?.first_name || '',\r\n 'holderLastName-0': parsedData?.last_name || '',\r\n 'holderEmail-0': parsedData?.email || '',\r\n }\r\n setValues(mappedValues)\r\n setUserValues(mappedValues)\r\n } catch (e) {}\r\n }\r\n }\r\n }\r\n getStoredUserData()\r\n }, [userDataEncoded, setValues, setUserValues])\r\n return null\r\n}\r\nexport const BillingInfoContainer = ({\r\n data = [],\r\n ticketHoldersFields = {\r\n id: 1,\r\n fields: [],\r\n },\r\n initialValues = {},\r\n buttonName = 'Submit',\r\n handleSubmit = _identity,\r\n theme = 'light',\r\n onRegisterSuccess = () => {},\r\n onRegisterError = () => {},\r\n onSubmitError = () => {},\r\n onGetCartSuccess = () => {},\r\n onGetCartError = () => {},\r\n onGetCountriesSuccess = () => {},\r\n onGetCountriesError = () => {},\r\n onGetStatesSuccess = () => {},\r\n onGetStatesError = () => {},\r\n onGetProfileDataSuccess = () => {},\r\n onGetProfileDataError = () => {},\r\n onAuthorizeSuccess = () => {},\r\n onAuthorizeError = () => {},\r\n onLogin,\r\n onLoginSuccess = () => {},\r\n isLoggedIn: pIsLoggedIn = false,\r\n accountInfoTitle = '',\r\n hideLogo,\r\n themeOptions,\r\n onErrorClose = () => {},\r\n hideErrorsAlertSection = false,\r\n onSkipBillingPage = () => {},\r\n skipPage = false,\r\n canSkipHolderNames = false\r\n}: IBillingInfoPage) => {\r\n const themeMui = createTheme(themeOptions)\r\n const isWindowDefined = typeof window !== 'undefined'\r\n const userData =\r\n isWindowDefined && window.localStorage.getItem('user_data')\r\n ? JSON.parse(window.localStorage.getItem('user_data') || '')\r\n : {}\r\n const access_token =\r\n isWindowDefined && window.localStorage.getItem('access_token')\r\n ? window.localStorage.getItem('access_token') || ''\r\n : ''\r\n const [dataWithUniqueIds, setDataWithUniqueIds] = useState<\r\n IBillingInfoData[]\r\n >(data)\r\n const [isLoggedIn, setIsLoggedIn] = useState(!!access_token)\r\n const [cartInfoData, setCartInfo] = useState<any>({})\r\n const [countries, setCountries] = useState<any>([])\r\n const [states, setStates] = useState<any>([])\r\n const [showModalLogin, setShowModalLogin] = useState(false)\r\n const [alreadyHasUser, setAlreadyHasUser] = useState(false)\r\n const [userExpired, setUserExpired] = useState(false)\r\n const [showModalRegister, setShowModalRegister] = useState(false)\r\n const [ticketsQuantity, setTicketsQuantity] = useState<string[]>([])\r\n const [userValues, setUserValues] = useState<any>({\r\n firstName: '',\r\n lastName: '',\r\n email: '',\r\n phone: '',\r\n confirmEmail: '',\r\n holderFirstName: '',\r\n holderLastName: '',\r\n holderAge: '',\r\n city: '',\r\n country: '',\r\n street_address: '',\r\n state: '',\r\n zip: '',\r\n })\r\n const [loading, setLoading] = useState(true)\r\n const [error, setError] = useState(null)\r\n const emailLogged =\r\n _get(userData, 'email', '') || _get(userValues, 'email', '')\r\n const firstNameLogged =\r\n _get(userData, 'first_name', '') || _get(userValues, 'first_name', '')\r\n const lastNameLogged =\r\n _get(userData, 'last_name', '') || _get(userValues, 'last_name', '')\r\n const showDOB = getQueryVariable('age_required') === 'true'\r\n const showTicketHolders = getQueryVariable('names_required') === 'true'\r\n const eventId = getQueryVariable('event_id')\r\n const optedInFieldValue: boolean = _get(cartInfoData, 'optedIn', false)\r\n const ttfOptIn: boolean = Boolean(_get(cartInfoData, 'ttfOptIn', false))\r\n const hideTtfOptIn: boolean = _get(cartInfoData, 'hide_ttf_opt_in', true)\r\n const flagRequirePhone = getQueryVariable('phone_required') === 'true'\r\n\r\n // Get prevProps\r\n const prevData = useRef(data)\r\n\r\n useEffect(() => {\r\n const hasUniqueId = _get(dataWithUniqueIds, '[0].uniqueId')\r\n const isEqualData = _isEqual(prevData.current, data)\r\n if (!hasUniqueId || !isEqualData) {\r\n setDataWithUniqueIds(assingUniqueIds(data))\r\n if (!isEqualData) {\r\n prevData.current = data\r\n }\r\n }\r\n }, [dataWithUniqueIds, data])\r\n\r\n const getQuantity = (cart: any = []) => {\r\n let qty: any = 0\r\n cart.forEach((item: any) => {\r\n qty += +item.quantity\r\n })\r\n return qty\r\n }\r\n\r\n useEffect(() => {\r\n if ((pIsLoggedIn || access_token) && !isLoggedIn) {\r\n setIsLoggedIn(true)\r\n }\r\n }, [pIsLoggedIn, isLoggedIn, access_token])\r\n //just once\r\n useEffect(() => {\r\n // fetch countries data\r\n const fetchCountries = async () => {\r\n try {\r\n const res = await getCountries()\r\n setCustomHeader(res)\r\n setCountries(\r\n _map(_get(res, 'data.data'), (item, key) => ({\r\n label: item,\r\n value: key,\r\n }))\r\n )\r\n onGetCountriesSuccess(res.data)\r\n } catch (e) {\r\n if (axios.isAxiosError(e)) {\r\n onGetCountriesError(e)\r\n }\r\n }\r\n }\r\n fetchCountries()\r\n fetchCart()\r\n }, [])\r\n // fetch cart data\r\n const fetchCart = async () => {\r\n try {\r\n const res = await getCart()\r\n setCustomHeader(res)\r\n const cartInfo = _get(res, 'data.data.attributes')\r\n setCartInfo(cartInfo)\r\n const { cart = [] } = cartInfo\r\n setTicketsQuantity(\r\n new Array(getQuantity(cart)).fill(null).map(() => nanoid())\r\n )\r\n onGetCartSuccess(res.data)\r\n } catch (e) {\r\n if (axios.isAxiosError(e)) {\r\n onGetCartError(e)\r\n }\r\n }\r\n }\r\n // fetch user data\r\n const fetchUserData = async (token: string) => {\r\n try {\r\n if (isWindowDefined && token) {\r\n const userDataResponse = await getProfileData(token)\r\n const profileSpecifiedData = _get(userDataResponse, 'data.data')\r\n const profileDataObj = setLoggedUserData(profileSpecifiedData)\r\n setUserValues({\r\n ...profileDataObj,\r\n firstName: profileDataObj.first_name,\r\n lastName: profileDataObj.last_name,\r\n })\r\n window.localStorage.setItem(\r\n 'user_data',\r\n JSON.stringify(profileDataObj)\r\n )\r\n onGetProfileDataSuccess(userDataResponse.data)\r\n }\r\n } catch (e) {\r\n if (axios.isAxiosError(e)) {\r\n onGetProfileDataError(e)\r\n }\r\n }\r\n }\r\n useEffect(() => {\r\n fetchUserData(access_token)\r\n }, [access_token])\r\n\r\n useEffect(() => {\r\n const collectPaymentData = async () => {\r\n if (skipPage && !_isEmpty(ticketsQuantity) && !showDOB) {\r\n setLoading(true)\r\n const checkoutBody = createCheckoutDataBodyWithDefaultHolder(\r\n ticketsQuantity.length,\r\n userData\r\n )\r\n\r\n try {\r\n const res = await postOnCheckout(checkoutBody, access_token)\r\n onSkipBillingPage(_get(res, 'data.data.attributes'))\r\n setLoading(false)\r\n } catch (e) {\r\n onSubmitError(e)\r\n }\r\n } else {\r\n setLoading(false)\r\n }\r\n }\r\n collectPaymentData()\r\n }, [skipPage, ticketsQuantity])\r\n\r\n\r\n const collectCheckoutBody = (values: object): object => {\r\n let checkoutBody = {}\r\n\r\n // Auto collect ticket holders name when it was skipped optionally\r\n if (showDOB && !showTicketHolders && canSkipHolderNames) {\r\n checkoutBody = createCheckoutDataBodyWithDefaultHolder(\r\n ticketsQuantity.length,\r\n values,\r\n true\r\n )\r\n } else {\r\n checkoutBody = createCheckoutDataBody(\r\n ticketsQuantity.length,\r\n values,\r\n { emailLogged, firstNameLogged, lastNameLogged },\r\n showDOB\r\n )\r\n }\r\n\r\n return checkoutBody\r\n }\r\n\r\n // Displaying loader\r\n if (loading) {\r\n return (\r\n <Backdrop sx={{ color: '#fff' }} open={true}>\r\n <CircularProgress color=\"inherit\" />\r\n </Backdrop>\r\n )\r\n }\r\n\r\n return (\r\n <ThemeProvider theme={themeMui}>\r\n <Formik\r\n initialValues={getInitialValues(\r\n dataWithUniqueIds,\r\n {\r\n ...initialValues,\r\n country: _get(userData, 'country', '') || '1',\r\n state: _get(userData, 'state', '') || '1',\r\n brand_opt_in: optedInFieldValue,\r\n ttf_opt_in: ttfOptIn,\r\n },\r\n userValues\r\n )}\r\n enableReinitialize={true}\r\n onSubmit={async (values, formikHelpers) => {\r\n try {\r\n if (isLoggedIn) {\r\n if (access_token) {\r\n const updatedUserData = await getProfileData(access_token)\r\n const profileSpecifiedData = _get(updatedUserData, 'data.data')\r\n const profileDataObj = setLoggedUserData(profileSpecifiedData)\r\n if (isWindowDefined) {\r\n window.localStorage.setItem(\r\n 'user_data',\r\n JSON.stringify(profileDataObj)\r\n )\r\n }\r\n }\r\n\r\n const checkoutBody = collectCheckoutBody(values)\r\n const res = await postOnCheckout(checkoutBody, access_token)\r\n handleSubmit(\r\n values,\r\n formikHelpers as FormikHelpers<any>,\r\n eventId,\r\n res\r\n )\r\n return\r\n }\r\n const checkoutBodyForRegistration = createCheckoutDataBody(\r\n ticketsQuantity.length,\r\n values,\r\n { emailLogged, firstNameLogged, lastNameLogged },\r\n showDOB\r\n )\r\n const bodyFormData = createRegisterFormData(\r\n values,\r\n checkoutBodyForRegistration\r\n )\r\n let access_token_register = null\r\n try {\r\n const resRegister = await register(bodyFormData)\r\n access_token_register = _get(\r\n resRegister,\r\n 'data.data.attributes.access_token'\r\n )\r\n const refreshToken = _get(\r\n resRegister,\r\n 'data.data.attributes.refresh_token'\r\n )\r\n handleSetAccessToken(access_token_register)\r\n const tokens = {\r\n accessToken: access_token_register,\r\n refreshToken,\r\n }\r\n onRegisterSuccess(tokens)\r\n } catch (e) {\r\n if (axios.isAxiosError(e)) {\r\n const error = e?.response?.data?.message\r\n if (_includes(error, 'You must be aged')) {\r\n formikHelpers.setFieldError('holderAge', error)\r\n }\r\n if (error?.password) {\r\n formikHelpers.setFieldError('password', error.password)\r\n formikHelpers.setFieldError(\r\n 'confirmPassword',\r\n error.password\r\n )\r\n }\r\n if (error?.email && !onLogin) {\r\n // False will stand for outside controll\r\n setAlreadyHasUser(true)\r\n setShowModalLogin(true)\r\n }\r\n onRegisterError(e, values.email)\r\n }\r\n return\r\n }\r\n const profileData = await getProfileData(access_token_register)\r\n const profileSpecifiedData = _get(profileData, 'data.data')\r\n const profileDataObj = setLoggedUserData(profileSpecifiedData)\r\n if (isWindowDefined) {\r\n window.localStorage.setItem(\r\n 'user_data',\r\n JSON.stringify(profileDataObj)\r\n )\r\n }\r\n\r\n const checkoutBody = collectCheckoutBody(values)\r\n const res = await postOnCheckout(\r\n checkoutBody,\r\n access_token_register\r\n )\r\n handleSubmit(\r\n values,\r\n formikHelpers as FormikHelpers<any>,\r\n eventId,\r\n res\r\n )\r\n } catch (e) {\r\n if (axios.isAxiosError(e)) {\r\n if (e.response?.data.error === 'invalid_token') {\r\n if (isWindowDefined) {\r\n window.localStorage.removeItem('user_data')\r\n window.localStorage.removeItem('access_token')\r\n setUserExpired(true)\r\n setShowModalLogin(true)\r\n }\r\n }\r\n if (e.response?.data.message) {\r\n if (typeof document !== undefined) {\r\n document.body.scrollTop = document.documentElement.scrollTop = 0\r\n }\r\n setError(_get(e, 'response.data.message'))\r\n }\r\n onSubmitError(e)\r\n }\r\n }\r\n }}\r\n >\r\n {(props: FormikProps<any>) => (\r\n <Form onSubmit={props.handleSubmit}>\r\n <ErrorFocus />\r\n <LogicRunner\r\n values={props.values}\r\n setStates={setStates}\r\n setFieldValue={props.setFieldValue}\r\n setValues={props.setValues}\r\n setUserValues={setUserValues}\r\n onGetStatesSuccess={onGetStatesSuccess}\r\n onGetStatesError={onGetStatesError}\r\n />\r\n <div className={`billing-info-container ${theme}`}>\r\n {error && !hideErrorsAlertSection && (\r\n <Alert severity=\"error\" onClose={onErrorClose} variant=\"filled\">\r\n {error}\r\n </Alert>\r\n )}\r\n {!isLoggedIn && (\r\n <div className=\"account-actions-block\">\r\n <div>{accountInfoTitle}</div>\r\n <div>Login & skip ahead:</div>\r\n <div className=\"login-block\">\r\n <button\r\n className=\"login-register-button\"\r\n type=\"button\"\r\n onClick={() => {\r\n // If outside login needed to skip package login functionallity\r\n if (onLogin) {\r\n onLogin()\r\n } else {\r\n setShowModalLogin(true)\r\n }\r\n }}\r\n >\r\n Login\r\n </button>\r\n {!hideLogo && (\r\n <div className=\"logo-image-container\">\r\n <img\r\n src={\r\n theme === 'dark'\r\n ? 'https://www.ticketfairy.com/resources/images/logo-ttf.svg'\r\n : 'https://www.ticketfairy.com/resources/images/logo-ttf-black.svg'\r\n }\r\n alt=\"nodata\"\r\n />\r\n </div>\r\n )}\r\n </div>\r\n </div>\r\n )}\r\n {_map(dataWithUniqueIds, item => {\r\n const { label, labelClassName, fields } = item\r\n return (\r\n <React.Fragment key={item.uniqueId}>\r\n <p className={labelClassName}>{label}</p>\r\n {_map(fields, group => {\r\n const { groupClassname, groupItems } = group\r\n return (\r\n <React.Fragment key={group.uniqueId}>\r\n <div className={groupClassname}>\r\n {_map(\r\n groupItems.filter(el => {\r\n if (el.name === 'holderAge' && !showDOB) {\r\n return false\r\n }\r\n if (el.name === 'ttf_opt_in' && hideTtfOptIn) {\r\n return false\r\n }\r\n if (el.name === 'phone') {\r\n el.required = flagRequirePhone\r\n }\r\n return true\r\n }),\r\n element =>\r\n [\r\n 'password',\r\n 'confirmPassword',\r\n 'password-info',\r\n ].includes(element.name) &&\r\n isLoggedIn ? null : (\r\n <React.Fragment key={element.uniqueId}>\r\n <div className={element.className}>\r\n {element.component ? (\r\n element.component\r\n ) : (\r\n <Field\r\n name={element.name}\r\n label={element.name === 'phone' \r\n ? `${element.label}${flagRequirePhone ? '' : ' (optional)'} ` \r\n : element.label}\r\n type={element.type}\r\n validate={getValidateFunctions(\r\n element,\r\n states,\r\n props.values\r\n )}\r\n setFieldValue={props.setFieldValue}\r\n onBlur={props.handleBlur}\r\n component={\r\n element.type === 'checkbox'\r\n ? CheckboxField\r\n : element.type === 'select'\r\n ? SelectField\r\n : element.type === 'phone'\r\n ? FormikPhoneNumberField\r\n : CustomField\r\n }\r\n selectOptions={\r\n element.name === 'country'\r\n ? countries\r\n : element.name === 'state'\r\n ? states\r\n : []\r\n }\r\n theme={theme}\r\n />\r\n )}\r\n </div>\r\n </React.Fragment>\r\n )\r\n )}\r\n </div>\r\n </React.Fragment>\r\n )\r\n })}\r\n </React.Fragment>\r\n )\r\n })}\r\n {!_isEmpty(ticketHoldersFields.fields) && (\r\n <div className=\"ticket-holders-fields\">\r\n <p>{ticketHoldersFields.label}</p>\r\n {_map(ticketsQuantity, (_item, index) => (\r\n <div key={_item}>\r\n <h5>Ticket {index + 1}</h5>\r\n {_map(ticketHoldersFields.fields, group => {\r\n const { groupClassname, groupItems } = group\r\n return (\r\n <div key={group.id}>\r\n <div className={groupClassname}>\r\n {_map(groupItems, element => (\r\n <div\r\n className={element.className}\r\n key={element.name}\r\n >\r\n <Field\r\n name={`${element.name}-${index}`}\r\n label={element.label}\r\n type={element.type}\r\n required={true}\r\n component={\r\n element.type === 'checkbox'\r\n ? CheckboxField\r\n : CustomField\r\n }\r\n validate={combineValidators(\r\n element.required\r\n ? requiredValidator\r\n : () => {},\r\n element.onValidate\r\n ? element.onValidate\r\n : () => {}\r\n )}\r\n />\r\n </div>\r\n ))}\r\n </div>\r\n </div>\r\n )\r\n })}\r\n </div>\r\n ))}\r\n </div>\r\n )}\r\n <div className=\"button-container\">\r\n <Button\r\n type=\"submit\"\r\n variant=\"contained\"\r\n className=\"login-register-button\"\r\n disabled={props.isSubmitting}\r\n >\r\n {props.isSubmitting ? (\r\n <CircularProgress size={26} />\r\n ) : (\r\n buttonName\r\n )}\r\n </Button>\r\n </div>\r\n </div>\r\n </Form>\r\n )}\r\n </Formik>\r\n {showModalLogin && (\r\n <LoginModal\r\n onClose={() => {\r\n setShowModalLogin(false)\r\n }}\r\n onLogin={() => {\r\n setShowModalLogin(false)\r\n setUserExpired(false)\r\n onLoginSuccess()\r\n }}\r\n alreadyHasUser={alreadyHasUser}\r\n userExpired={userExpired}\r\n onAuthorizeSuccess={onAuthorizeSuccess}\r\n onAuthorizeError={onAuthorizeError}\r\n onGetProfileDataSuccess={(data: any) => {\r\n fetchCart()\r\n onGetProfileDataSuccess(data)\r\n }}\r\n onGetProfileDataError={onGetProfileDataError}\r\n />\r\n )}\r\n {showModalRegister && (\r\n <RegisterModal\r\n onClose={() => {\r\n setShowModalRegister(false)\r\n }}\r\n onRegister={() => {\r\n setShowModalRegister(false)\r\n }}\r\n onGetProfileDataSuccess={(data: any) => {\r\n fetchCart()\r\n onGetProfileDataSuccess(data)\r\n }}\r\n onGetProfileDataError={onGetProfileDataError}\r\n />\r\n )}\r\n </ThemeProvider>\r\n )\r\n}\r\n","import React, { useState, useEffect } from 'react'\r\nimport {\r\n useStripe,\r\n useElements,\r\n CardNumberElement,\r\n CardExpiryElement,\r\n CardCvcElement,\r\n} from '@stripe/react-stripe-js'\r\nimport { StripeCardNumberElementOptions } from '@stripe/stripe-js'\r\nimport _identity from 'lodash/identity'\r\nimport _get from 'lodash/get'\r\nimport { CheckboxField } from '../common/index'\r\n\r\nimport './style.css'\r\nimport { getCurrencySymbolByCurrency } from '../../normalizers'\r\nimport CircularProgress from '@mui/material/CircularProgress'\r\n\r\nconst options: StripeCardNumberElementOptions = {\r\n style: {\r\n base: {\r\n backgroundColor: '#000',\r\n fontSize: '18px',\r\n color: '#ffffff',\r\n letterSpacing: '1px',\r\n ':-webkit-autofill': {\r\n color: '#ffffff',\r\n },\r\n '::placeholder': {\r\n color: 'rgba(201, 201, 201, 0.5)',\r\n },\r\n },\r\n invalid: {\r\n color: '#E53935',\r\n },\r\n },\r\n}\r\n\r\nexport interface ICheckoutForm {\r\n total: string;\r\n currency: string;\r\n onSubmit: (error: any) => Promise<any>;\r\n error?: string | null;\r\n stripeCardOptions?: StripeCardNumberElementOptions;\r\n stripe_client_secret: string;\r\n billing_info: { [key: string]: any };\r\n isLoading: any;\r\n handleSetLoading: (loading: any) => void;\r\n conditions: any;\r\n disableZipSection: boolean;\r\n}\r\n\r\ninterface AddressTypes {\r\n city: string;\r\n line1: string;\r\n state: string;\r\n postal_code?: string;\r\n}\r\n\r\nconst CheckoutForm = ({\r\n total,\r\n onSubmit = _identity,\r\n stripeCardOptions = {},\r\n error = null,\r\n stripe_client_secret,\r\n currency,\r\n billing_info,\r\n isLoading = false,\r\n handleSetLoading = () => {},\r\n conditions = [],\r\n disableZipSection,\r\n}: ICheckoutForm) => {\r\n const stripe = useStripe()\r\n const elements = useElements()\r\n const [postalCode, setPostalCode] = useState<any>('')\r\n const [stripeError, setStripeError] = useState<any>(null)\r\n const [checkboxes, setCheckboxes] = useState<any>([])\r\n const [allowSubmit, setAllowSubmit] = useState(false)\r\n\r\n const handleSubmit = async (event: React.SyntheticEvent) => {\r\n handleSetLoading(true)\r\n try {\r\n event.preventDefault()\r\n\r\n if (!postalCode && !disableZipSection) {\r\n setStripeError('Please enter your zip code.')\r\n handleSetLoading(false)\r\n return\r\n }\r\n\r\n if (!stripe || !elements) {\r\n // Stripe.js has not loaded yet. Make sure to disable\r\n // form submission until Stripe.js has loaded.\r\n handleSetLoading(false)\r\n return\r\n }\r\n\r\n const card = elements.getElement(CardNumberElement)\r\n\r\n const address: AddressTypes = {\r\n city: billing_info.city,\r\n line1: billing_info.street_address,\r\n state: billing_info.state,\r\n }\r\n \r\n if (!disableZipSection) {\r\n address.postal_code = postalCode\r\n }\r\n\r\n const paymentMethodReq = await stripe.createPaymentMethod({\r\n type: 'card',\r\n card: card || { token: '' },\r\n billing_details: {\r\n address,\r\n },\r\n })\r\n\r\n if (paymentMethodReq.error) {\r\n setStripeError(paymentMethodReq.error.message || null)\r\n handleSetLoading(false)\r\n return\r\n }\r\n\r\n const { error } = await stripe.confirmCardPayment(stripe_client_secret, {\r\n payment_method: paymentMethodReq.paymentMethod.id,\r\n })\r\n\r\n if (error) {\r\n setStripeError(error.message)\r\n handleSetLoading(false)\r\n return\r\n }\r\n\r\n onSubmit(null)\r\n } catch (e) {\r\n onSubmit(e)\r\n }\r\n }\r\n\r\n const handleCheckboxes = (e: any) => {\r\n const checkbox = e.target\r\n const updatedCheckedState = checkboxes.map((item: any) => {\r\n const value = item.id === checkbox.name ? !item.checked : item.checked\r\n return {\r\n ...item,\r\n checked: value,\r\n }\r\n })\r\n setCheckboxes(updatedCheckedState)\r\n }\r\n\r\n const onChangePostalCode = (e: any) => {\r\n setPostalCode(e.target.value)\r\n }\r\n\r\n useEffect(() => {\r\n if (typeof window !== 'undefined') {\r\n const userData = JSON.parse(\r\n window.localStorage.getItem('user_data') || ''\r\n )\r\n const zipCode = _get(userData, 'zip', '')\r\n zipCode && setPostalCode(zipCode)\r\n }\r\n }, [])\r\n\r\n useEffect(() => {\r\n if (conditions.length) {\r\n setCheckboxes(conditions)\r\n }\r\n }, [conditions])\r\n\r\n useEffect(() => {\r\n if (checkboxes.length) {\r\n const allChecked = checkboxes.every(\r\n (item: any) => item?.checked === true\r\n )\r\n setAllowSubmit(allChecked)\r\n } else {\r\n setAllowSubmit(true)\r\n }\r\n }, [checkboxes])\r\n\r\n const buttonIsDiabled = !stripe || !!error || isLoading || !allowSubmit\r\n\r\n return (\r\n <div className=\"stripe_payment_container\">\r\n {!!stripeError && (\r\n <div className=\"checkout_error_block\">{stripeError}</div>\r\n )}\r\n <form onSubmit={handleSubmit}>\r\n <div className=\"card_form_inner\">\r\n <label className=\"card_number_element\">\r\n <span className=\"card_label_text\">Card number</span>\r\n <CardNumberElement\r\n options={{ ...options, ...stripeCardOptions, }}\r\n onReady={_identity}\r\n onChange={_identity}\r\n onBlur={_identity}\r\n onFocus={_identity}\r\n />\r\n </label>\r\n <label className=\"expiration_element\">\r\n <span className=\"card_label_text\">Expiration date</span>\r\n <CardExpiryElement options={{ ...options, ...stripeCardOptions }} />\r\n </label>\r\n <label className=\"cvc_element\">\r\n <span className=\"card_label_text\">CVC</span>\r\n <CardCvcElement options={{ ...options, ...stripeCardOptions }} />\r\n </label>\r\n {!disableZipSection && (\r\n <label className=\"zip_element\">\r\n <p className=\"card_label_text\">ZIP</p>\r\n <input\r\n type=\"text\"\r\n value={postalCode}\r\n onChange={onChangePostalCode}\r\n placeholder=\"ZIP\"\r\n />\r\n </label>\r\n )}\r\n </div>\r\n {checkboxes?.map((checkbox: any) => (\r\n <div\r\n className={'billing-info-container__singleField'}\r\n key={checkbox.id}\r\n >\r\n <div className=\"conditions-block\">\r\n <CheckboxField\r\n name={checkbox.id}\r\n label={checkbox.text}\r\n required={true}\r\n onChange={handleCheckboxes}\r\n checked={checkbox.checked}\r\n />\r\n </div>\r\n </div>\r\n ))}\r\n <div\r\n className={`payment_button ${buttonIsDiabled ? 'disabled-payment-button' : ''}`}\r\n >\r\n <button disabled={buttonIsDiabled} type=\"submit\">\r\n {isLoading ? (\r\n <CircularProgress size={26} />\r\n ) : (\r\n `Pay ${getCurrencySymbolByCurrency(currency)}${total}`\r\n )}\r\n </button>\r\n </div>\r\n </form>\r\n </div>\r\n )\r\n}\r\n\r\nexport default CheckoutForm\r\n","import _isNumber from 'lodash/isNumber'\r\n\r\nexport const showZero = (value = 0) => {\r\n const intNumber = Number(value)\r\n return _isNumber(intNumber)\r\n ? intNumber >= 0 && intNumber < 10\r\n ? '0' + intNumber\r\n : intNumber\r\n : null\r\n}\r\n","import React, { useState } from 'react'\r\nimport Countdown from 'react-countdown'\r\nimport { showZero } from '../../utils/showZero'\r\nimport './style.css'\r\n\r\nexport interface ITimerWidgetPage {\r\n expires_at: number;\r\n buyLoading?: boolean;\r\n onCountdownFinish?: () => void;\r\n}\r\n\r\nexport interface IRenderer {\r\n minutes: number;\r\n seconds: number;\r\n completed: number;\r\n handleCountdownFinish: () => void;\r\n}\r\n\r\nconst TimerWidget = ({\r\n expires_at,\r\n buyLoading,\r\n onCountdownFinish = () => {},\r\n}: ITimerWidgetPage) => {\r\n const [showTimer, setShowTimer] = useState(true)\r\n\r\n const handleCountdownFinish = () => {\r\n setShowTimer(false)\r\n if (!buyLoading) {\r\n onCountdownFinish()\r\n }\r\n }\r\n\r\n const renderer = ({\r\n minutes,\r\n seconds,\r\n completed,\r\n handleCountdownFinish,\r\n }: IRenderer) => {\r\n if (completed) {\r\n handleCountdownFinish()\r\n return null\r\n }\r\n return (\r\n <span>\r\n {showZero(minutes)}:{showZero(seconds)}\r\n </span>\r\n )\r\n }\r\n\r\n return showTimer && !!expires_at ? (\r\n <div className=\"timer\">\r\n <div className=\"toast-message\">\r\n <p>Please complete your purchase before the timer reaches zero.</p>\r\n <p className=\"countdown\">\r\n <Countdown\r\n date={Date.now() + expires_at * 1000}\r\n renderer={(props: any) =>\r\n renderer({\r\n ...props,\r\n handleCountdownFinish,\r\n })\r\n }\r\n />\r\n </p>\r\n </div>\r\n </div>\r\n ) : null\r\n}\r\n\r\nexport default TimerWidget\r\n","import React, { useEffect, useState } from 'react'\r\nimport { AxiosError } from 'axios'\r\nimport Container from '@mui/material/Container'\r\nimport CircularProgress from '@mui/material/CircularProgress'\r\nimport Alert from '@mui/material/Alert'\r\nimport { Elements } from '@stripe/react-stripe-js'\r\nimport {\r\n loadStripe,\r\n StripeConstructorOptions,\r\n StripeElementsOptions,\r\n} from '@stripe/stripe-js'\r\nimport _map from 'lodash/map'\r\nimport _get from 'lodash/get'\r\nimport _identity from 'lodash/identity'\r\nimport { CONFIGS } from '../../utils'\r\nimport { nanoid } from 'nanoid'\r\nimport { getQueryVariable } from '../../utils/getQueryVariable'\r\n\r\nimport './style.css'\r\nimport StripePayment from '../stripePayment'\r\nimport { IOrderData, IPaymentField } from '../../types'\r\n\r\nimport { getPaymentData, handlePaymentSuccess, getConditions, handleFreeSuccess } from '../../api'\r\nimport { StripeCardNumberElementOptions } from '@stripe/stripe-js'\r\nimport { ThemeProvider, createTheme } from '@mui/material/styles'\r\nimport { ThemeOptions } from '@mui/material'\r\nimport { CSSProperties } from '@mui/styles'\r\nimport TimerWidget from '../timerWidget'\r\nimport { Loader } from '../common/index'\r\n\r\nconst publishableKey = CONFIGS.STRIPE_PUBLISHABLE_KEY || ''\r\n\r\nconst getStripePromise = (reviewData: any) => {\r\n const stripePublishableKey =\r\n _get(reviewData, 'payment_method.stripe_publishable_key') || publishableKey\r\n const stripeAccount = _get(\r\n reviewData,\r\n 'payment_method.stripe_connected_account'\r\n )\r\n\r\n const options: StripeConstructorOptions = {}\r\n if (stripeAccount) {\r\n options.stripeAccount = stripeAccount\r\n }\r\n\r\n return loadStripe(stripePublishableKey, options)\r\n}\r\n\r\nexport interface IPaymentPage {\r\n paymentFields: IPaymentField[];\r\n handlePayment: any;\r\n checkoutData: any;\r\n formTitle?: string;\r\n errorText?: string;\r\n onErrorClose?: () => void;\r\n onGetPaymentDataSuccess: (value: any) => void;\r\n onGetPaymentDataError: (value: AxiosError) => void;\r\n onPaymentError: (value: AxiosError) => void;\r\n stripeCardOptions?: StripeCardNumberElementOptions;\r\n disableZipSection: boolean;\r\n themeOptions?: ThemeOptions & {\r\n input?: CSSProperties;\r\n checkbox?: CSSProperties;\r\n };\r\n elementsOptions?: StripeElementsOptions;\r\n onCountdownFinish?: () => void;\r\n enableTimer?: boolean;\r\n}\r\n\r\nconst initialOrderValues: IOrderData = {\r\n product_name: '',\r\n ticketType: '',\r\n quantity: '',\r\n price: '',\r\n total: '',\r\n currency: '',\r\n}\r\nconst initialReviewValues = {\r\n order_details: {\r\n order_hash: '',\r\n },\r\n payment_method: {\r\n stripe_client_secret: '',\r\n },\r\n billing_info: {},\r\n}\r\n\r\nexport const PaymentContainer = ({\r\n paymentFields = [],\r\n handlePayment,\r\n formTitle = 'Get Your Tickets',\r\n errorText,\r\n checkoutData,\r\n onErrorClose = _identity,\r\n onGetPaymentDataSuccess = () => {},\r\n onGetPaymentDataError = () => {},\r\n onPaymentError = () => {},\r\n stripeCardOptions = {},\r\n disableZipSection = false,\r\n themeOptions,\r\n elementsOptions,\r\n onCountdownFinish = () => {},\r\n enableTimer = false,\r\n}: IPaymentPage) => {\r\n const [reviewData, setReviewData] = useState(initialReviewValues)\r\n const [orderData, setOrderData] = useState(initialOrderValues)\r\n const [error, setError] = useState(null)\r\n const [paymentIsLoading, setPaymentIsLoading] = useState(false)\r\n const [paymentDataIsLoading, setPaymentDataIsLoading] = useState(true)\r\n const [conditions, setConditions] = useState<{ id: string; text: string }[]>(\r\n []\r\n )\r\n\r\n const showFormTitle: boolean = Boolean(formTitle)\r\n const showErrorText: boolean = Boolean(errorText)\r\n\r\n const eventId = getQueryVariable('event_id')\r\n const { hash, total } = checkoutData;\r\n\r\n useEffect(() => {\r\n (async () => {\r\n try {\r\n const response = await getPaymentData(hash)\r\n if (response.data.success) {\r\n const attributes = _get(response, 'data.data.attributes')\r\n setReviewData(attributes)\r\n const { cart, order_details } = attributes\r\n const {\r\n tickets: [ticket],\r\n } = order_details\r\n const orderData = {\r\n product_name: cart[0]?.product_name,\r\n ticketType: ticket?.name,\r\n quantity: ticket?.quantity,\r\n price: ticket?.price,\r\n total: order_details?.total,\r\n currency: order_details?.currency,\r\n }\r\n setOrderData(orderData)\r\n onGetPaymentDataSuccess(response.data)\r\n }\r\n } catch (e) {\r\n setError(_get(e, 'response.data.message'))\r\n onGetPaymentDataError(e.response)\r\n } finally {\r\n setPaymentDataIsLoading(false)\r\n }\r\n })()\r\n }, [checkoutData])\r\n\r\n //just once\r\n useEffect(() => {\r\n // fetch conditions data\r\n const fetchConditions = async () => {\r\n if (eventId) {\r\n const res = await getConditions(eventId)\r\n const conditionsInfo = _get(res, 'data.data.attributes')\r\n setConditions(\r\n conditionsInfo\r\n ? conditionsInfo.map((item: string) => ({\r\n id: nanoid(),\r\n text: item,\r\n checked: false,\r\n }))\r\n : []\r\n )\r\n }\r\n }\r\n fetchConditions()\r\n }, [])\r\n\r\n // 1. get payment data ---> v1/order/${hash}/review/ done\r\n // 2. handle payment ---> v1/order/${orderHash}/pay/\r\n // 3. redirect to confirmation page\r\n const handlePaymentMiddleWare = async (error: any) => {\r\n try {\r\n if (error) {\r\n setPaymentIsLoading(false)\r\n throw error\r\n }\r\n const {\r\n order_details: { order_hash },\r\n } = reviewData\r\n const paymentSuccessResponse = total === \"0.00\" ? (await handleFreeSuccess(order_hash)) : (await handlePaymentSuccess(order_hash))\r\n if (paymentSuccessResponse.status === 200) {\r\n handlePayment(paymentSuccessResponse)\r\n setPaymentIsLoading(false)\r\n }\r\n } catch (e) {\r\n setError(_get(e, 'response.data.message'))\r\n onPaymentError(e.response)\r\n }\r\n }\r\n\r\n const themeMui = createTheme(themeOptions)\r\n\r\n return (\r\n <ThemeProvider theme={themeMui}>\r\n <div className=\"payment_page\">\r\n {!paymentIsLoading && !error && enableTimer && (\r\n <TimerWidget\r\n expires_at={_get(reviewData, 'expires_at', 0)}\r\n buyLoading={paymentIsLoading}\r\n onCountdownFinish={onCountdownFinish}\r\n />\r\n )}\r\n {error && (\r\n <Alert severity=\"error\" onClose={onErrorClose} variant=\"filled\">\r\n {error}\r\n </Alert>\r\n )}\r\n {paymentDataIsLoading && <Loader />}\r\n {!paymentDataIsLoading && (\r\n <Container maxWidth=\"md\">\r\n {showFormTitle && <h1>{formTitle}</h1>}\r\n <div className=\"order_info_text\">Order Review</div>\r\n <div className=\"order_info_section\">\r\n {_map(paymentFields, field => {\r\n const {\r\n id,\r\n label,\r\n className = '',\r\n normalizer = _identity,\r\n } = field\r\n return (\r\n <div key={id} className=\"order_info_block\">\r\n <div className=\"order_info_title\">{label}</div>\r\n <div className={`${className} order_info_text`}>\r\n {normalizer(orderData[id], orderData.currency)}\r\n </div>\r\n </div>\r\n )\r\n })}\r\n </div>\r\n {total !== \"0.00\" ? <div className=\"payment_info\">\r\n <div className=\"payment_info_label\">\r\n Please provide your payment information\r\n </div>\r\n {showErrorText && (\r\n <p className=\"payment_info__error\">{errorText}</p>\r\n )}\r\n <div>\r\n <Elements\r\n stripe={getStripePromise(reviewData)}\r\n options={elementsOptions}\r\n >\r\n <StripePayment\r\n stripe_client_secret={_get(\r\n reviewData,\r\n 'payment_method.stripe_client_secret'\r\n )}\r\n total={orderData.total}\r\n onSubmit={handlePaymentMiddleWare}\r\n error={error}\r\n currency={orderData.currency}\r\n billing_info={reviewData.billing_info}\r\n isLoading={paymentIsLoading}\r\n handleSetLoading={value => setPaymentIsLoading(value)}\r\n conditions={conditions}\r\n stripeCardOptions={stripeCardOptions}\r\n disableZipSection={disableZipSection}\r\n />\r\n </Elements>\r\n </div>\r\n </div> : \r\n <div\r\n className={`payment_button ${paymentIsLoading ? 'disabled-payment-button' : ''}`}\r\n >\r\n <button disabled={paymentIsLoading} type=\"button\" onClick={() => {\r\n handlePaymentMiddleWare(null)\r\n }}>\r\n {paymentIsLoading ? (\r\n <CircularProgress size={26} />\r\n ) : (\r\n \"Complete Registration\"\r\n )}\r\n </button>\r\n </div>}\r\n </Container>\r\n )}\r\n </div>\r\n </ThemeProvider>\r\n )\r\n}\r\n","import {\r\n FacebookShareButton,\r\n FacebookMessengerShareButton,\r\n TwitterShareButton,\r\n LinkedinShareButton,\r\n PinterestShareButton,\r\n VKShareButton,\r\n OKShareButton,\r\n TelegramShareButton,\r\n WhatsappShareButton,\r\n RedditShareButton,\r\n TumblrShareButton,\r\n MailruShareButton,\r\n EmailShareButton,\r\n LivejournalShareButton,\r\n ViberShareButton,\r\n WorkplaceShareButton,\r\n LineShareButton,\r\n PocketShareButton,\r\n InstapaperShareButton,\r\n WeiboShareButton,\r\n HatenaShareButton,\r\n FacebookIcon,\r\n FacebookMessengerIcon,\r\n TwitterIcon,\r\n LinkedinIcon,\r\n PinterestIcon,\r\n VKIcon,\r\n OKIcon,\r\n TelegramIcon,\r\n WhatsappIcon,\r\n RedditIcon,\r\n TumblrIcon,\r\n MailruIcon,\r\n EmailIcon,\r\n LivejournalIcon,\r\n ViberIcon,\r\n WorkplaceIcon,\r\n LineIcon,\r\n PocketIcon,\r\n InstapaperIcon,\r\n WeiboIcon,\r\n HatenaIcon,\r\n} from 'react-share'\r\n\r\nconst config: any = {\r\n facebook: { component: FacebookShareButton, icon: FacebookIcon },\r\n messenger: { component: FacebookMessengerShareButton, icon: FacebookMessengerIcon },\r\n twitter: { component: TwitterShareButton, icon: TwitterIcon },\r\n linkedin: { component: LinkedinShareButton, icon: LinkedinIcon },\r\n pinterest: { component: PinterestShareButton, icon: PinterestIcon },\r\n vk: { component: VKShareButton, icon: VKIcon },\r\n ok: { component: OKShareButton, icon: OKIcon },\r\n telegram: { component: TelegramShareButton, icon: TelegramIcon },\r\n whatsapp: { component: WhatsappShareButton, icon: WhatsappIcon },\r\n reddit: { component: RedditShareButton, icon: RedditIcon },\r\n tumblr: { component: TumblrShareButton, icon: TumblrIcon },\r\n mailru: { component: MailruShareButton, icon: MailruIcon },\r\n email: { component: EmailShareButton, icon: EmailIcon },\r\n livejournal: { component: LivejournalShareButton, icon: LivejournalIcon },\r\n viber: { component: ViberShareButton, icon: ViberIcon },\r\n workplace: { component: WorkplaceShareButton, icon: WorkplaceIcon },\r\n line: { component: LineShareButton, icon: LineIcon },\r\n pocket: { component: PocketShareButton, icon: PocketIcon },\r\n instapaper: { component: InstapaperShareButton, icon: InstapaperIcon },\r\n weibo: { component: WeiboShareButton, icon: WeiboIcon },\r\n hatena: { component: HatenaShareButton, icon: HatenaIcon },\r\n}\r\n\r\nexport default function (key: string) {\r\n return config[key]\r\n}\r\n","import React from 'react';\r\nimport { IShareButton } from'./index'\r\nimport config from './config'\r\n\r\nconst SocialComponent = ({ mainLabel, subLabel, platform, shareData }: IShareButton) => {\r\n const Component = config(platform)?.component\r\n const Icon = config(platform)?.icon\r\n \r\n return (\r\n <>\r\n {Component && (\r\n <Component {...shareData}>\r\n <div className='social-media-sharing'>\r\n <div className='share-icon'>\r\n <Icon size={32} round />\r\n </div>\r\n <span className=\"share-text\">\r\n {mainLabel}\r\n <br /> {subLabel}\r\n </span>\r\n </div>\r\n </Component>\r\n )}\r\n </>\r\n )\r\n}\r\n\r\ninterface SocialButtonsTypes {\r\n shareLink: string;\r\n name: string;\r\n appId: string;\r\n showDefaultShareButtons: boolean;\r\n shareButtons: IShareButton[]\r\n}\r\n\r\nconst SocialButtons = ({ showDefaultShareButtons, shareLink, name, appId, shareButtons }: SocialButtonsTypes) => {\r\n return (\r\n <>\r\n <div className=\"convenient_buttons\">\r\n or use one of these convenient buttons:\r\n </div>\r\n <div className=\"social-media-btns\">\r\n {showDefaultShareButtons && (\r\n <>\r\n <SocialComponent\r\n mainLabel='Share on'\r\n subLabel='Facebook'\r\n platform='facebook'\r\n shareData={{\r\n quote: name,\r\n url: shareLink\r\n }}\r\n />\r\n <SocialComponent\r\n mainLabel='Tweet to your'\r\n subLabel='Followers'\r\n platform='twitter'\r\n shareData={{\r\n title: name,\r\n url: shareLink\r\n }}\r\n />\r\n <SocialComponent\r\n mainLabel='Message friends on'\r\n subLabel='Facebook'\r\n platform='messenger'\r\n shareData={{\r\n appId: appId,\r\n url: shareLink\r\n }}\r\n />\r\n <SocialComponent\r\n mainLabel='Message friends on'\r\n subLabel='Whatsapp'\r\n platform='whatsapp'\r\n shareData={{\r\n title: name,\r\n url: shareLink\r\n }}\r\n />\r\n </>\r\n )}\r\n {shareButtons.map((shareButton: IShareButton, index: number) => (\r\n <SocialComponent key={index} {...shareButton} />\r\n ))}\r\n </div>\r\n {(showDefaultShareButtons || shareButtons.length) && (\r\n <p>We <strong>never</strong> post on Facebook without your permission!</p>\r\n )}\r\n </>\r\n )\r\n}\r\n\r\nexport default SocialButtons\r\n","/* eslint-disable react/no-unescaped-entities */\r\nimport React, { useEffect, useRef, useState } from 'react'\r\nimport './style.css'\r\nimport _map from 'lodash/map'\r\nimport _get from 'lodash/get'\r\nimport { IReferralPromotion } from '../../types'\r\nimport { getConfirmationData } from '../../api'\r\nimport { AxiosError } from 'axios'\r\nimport SocialButtons from './social-buttons'\r\n\r\nexport interface IShareButton {\r\n mainLabel: string;\r\n subLabel: string;\r\n platform: string;\r\n shareData: any;\r\n}\r\n\r\nexport interface IConfirmationPage {\r\n isReferralEnabled: boolean;\r\n showDefaultShareButtons: boolean;\r\n messengerAppId: string;\r\n shareButtons: IShareButton[];\r\n onGetConfirmationDataSuccess: (res: any) => void;\r\n onGetConfirmationDataError: (e: AxiosError) => void;\r\n orderHash?: string;\r\n}\r\n\r\nexport const ConfirmationContainer = ({\r\n isReferralEnabled,\r\n showDefaultShareButtons,\r\n messengerAppId = '',\r\n shareButtons = [],\r\n onGetConfirmationDataSuccess = () => {},\r\n onGetConfirmationDataError = () => {},\r\n orderHash,\r\n}: IConfirmationPage) => {\r\n const inputRef = useRef(null)\r\n const [data, setData] = useState<any>(null)\r\n\r\n // 1. get payment complete data ---> v1/order/${orderHash}/payment/complete/\r\n\r\n useEffect(() => {\r\n (async () => {\r\n const dataEncoded =\r\n (typeof window !== 'undefined' &&\r\n window.localStorage.getItem('checkoutData')) ||\r\n ''\r\n\r\n const dataDecoded = dataEncoded\r\n ? JSON.parse(dataEncoded)\r\n : { hash: orderHash }\r\n const { hash } = dataDecoded\r\n\r\n if (hash) {\r\n try {\r\n const response = await getConfirmationData(hash)\r\n const data = _get(response, 'data.data.attributes')\r\n data.personal_share_sales = data.personal_share_sales.map(\r\n (d: any) => {\r\n const salesData: IReferralPromotion = {\r\n label: `If your friends buy ${d.sales} tickets`,\r\n price: '',\r\n }\r\n if (d.price === 0) {\r\n salesData.subLabel = 'Your ticket becomes'\r\n salesData.price = 'FREE!'\r\n } else {\r\n salesData.subLabel = 'Your ticket goes down to'\r\n salesData.price = data.currency.symbol + d.price?.toFixed(2)\r\n }\r\n\r\n return salesData\r\n }\r\n )\r\n data.personal_share_sales.unshift({\r\n label: 'Your ticket is currently',\r\n price: data.currency.symbol + data.product_price?.toFixed(2),\r\n })\r\n setData(data)\r\n onGetConfirmationDataSuccess(response.data)\r\n } catch (error) {\r\n onGetConfirmationDataError(error.response)\r\n }\r\n }\r\n })()\r\n }, [])\r\n\r\n const onChangeShareLink = (e: React.ChangeEvent<HTMLInputElement>) => {\r\n const newData = { ...data, personal_share_link: e.target.value }\r\n setData(newData)\r\n }\r\n\r\n return (\r\n <div className=\"confirmation-page\">\r\n {data && (\r\n <>\r\n <p className=\"title\">Your Tickets are Confirmed!</p>\r\n <div className=\"share-message-section\">\r\n <span className=\"main\">Your tickets have been emailed to you</span>\r\n <span className=\"helper\">\r\n Please bring them with you to the event\r\n </span>\r\n </div>\r\n {data.disable_referral === false && isReferralEnabled && (\r\n <>\r\n <div className=\"referral_text_image_section\">\r\n <div className=\"referral_text_section\">\r\n <div className=\"referral_title_text\">\r\n Your ticket can become\r\n <span className=\"strong-text\"> cheaper </span>\r\n or even\r\n <span className=\"strong-text\"> FREE!</span>\r\n </div>\r\n <div className=\"referral_text\">\r\n <span className=\"strong-text\"> Invite friends </span>\r\n and we'll refund up to\r\n <span className=\"strong-text\"> 100% </span>\r\n of your ticket money, if they buy tickets as well!\r\n </div>\r\n </div>\r\n <img src={data.product_image} alt=\"No Data\" />\r\n </div>\r\n <div className=\"share_wrapper\">\r\n <div className=\"share_section\">\r\n <div className=\"invitation_section\">\r\n <div className=\"invitation_title\">\r\n How do you invite your friends?\r\n </div>\r\n <div className=\"share_buttons\">\r\n <div className=\"share-by-link\">\r\n <h5 className=\"share-by-link label\">\r\n Send them this link:\r\n </h5>\r\n <div className=\"share-btn-inner\">\r\n <input\r\n ref={inputRef}\r\n className=\"share-input\"\r\n value={data.personal_share_link}\r\n onChange={onChangeShareLink}\r\n />\r\n <div\r\n className=\"share-by-link-copy-icon\"\r\n onClick={() =>\r\n navigator.clipboard.writeText(\r\n _get(inputRef, 'current.value')\r\n )\r\n }\r\n >\r\n <img\r\n src=\"https://img.icons8.com/office/50/000000/copy.png\"\r\n alt=\"copy\"\r\n />\r\n </div>\r\n </div>\r\n </div>\r\n {(showDefaultShareButtons || !!shareButtons.length) && (\r\n <SocialButtons\r\n showDefaultShareButtons={showDefaultShareButtons}\r\n name={data.product_name}\r\n appId={messengerAppId}\r\n shareLink={data.personal_share_link}\r\n shareButtons={shareButtons}\r\n />\r\n )}\r\n </div>\r\n </div>\r\n </div>\r\n <div className=\"pricing-section\">\r\n <div className=\"invitation_title\">How much cheaper?</div>\r\n {_map(data.personal_share_sales, (pricing, index) => (\r\n <div key={index} className=\"pricing-section_wrapper\">\r\n <div className=\"pricing-section_label\">\r\n {pricing.label}\r\n {pricing.subLabel && (\r\n <div className=\"pricing-section_sublabel\">\r\n {pricing.subLabel}\r\n </div>\r\n )}\r\n </div>\r\n <div className=\"pricing-section_price\">\r\n {' '}\r\n {pricing.price}\r\n </div>\r\n </div>\r\n ))}\r\n </div>\r\n </div>\r\n </>\r\n )}\r\n </>\r\n )}\r\n </div>\r\n )\r\n}\r\n","export const getTicketSelectOptions = (\r\n maxCount: number = 10,\r\n minCount: number = 1,\r\n multiplier: number = 1\r\n) => {\r\n const options = [{ label: 0, value: 0 }]\r\n for (let i = minCount; i <= Math.min(50, maxCount); i += multiplier) {\r\n options.push({ label: i, value: i })\r\n }\r\n return options\r\n}\r\n","import React from 'react'\r\nimport './style.css'\r\nimport _has from 'lodash/has'\r\nimport _get from 'lodash/get'\r\nimport Box from '@mui/material/Box'\r\nimport FormControl from '@mui/material/FormControl'\r\nimport MenuItem from '@mui/material/MenuItem'\r\nimport Select from '@mui/material/Select'\r\n\r\nimport { getTicketSelectOptions } from './utils'\r\n\r\ninterface ITicketRowProps {\r\n ticketTier: any;\r\n prevTicketTier: any;\r\n selectedTickets: any;\r\n handleTicketSelect: any;\r\n}\r\n\r\nexport const TicketRow = ({\r\n ticketTier,\r\n prevTicketTier,\r\n selectedTickets,\r\n handleTicketSelect,\r\n}: ITicketRowProps) => {\r\n const soldOutMessage = ticketTier.soldOutMessage\r\n ? `${ticketTier.soldOutMessage}`.toUpperCase()\r\n : 'SOLD OUT'\r\n const isSalesClosed = !ticketTier.salesStarted || ticketTier.salesEnded\r\n const options = getTicketSelectOptions(\r\n ticketTier.maxQuantity,\r\n ticketTier.minQuantity,\r\n ticketTier.multiplier\r\n )\r\n const ticketsClosedMessage = !ticketTier.salesStarted ? 'Sales not started' : 'Sales Ended'\r\n\r\n const onSaleContent = isSalesClosed ? ticketsClosedMessage : (\r\n <div className=\"get-tickets\">\r\n <Box className=\"get-tickets__selectbox\">\r\n <FormControl fullWidth>\r\n <Select\r\n sx={{\r\n borderRadius: 0,\r\n }}\r\n value={\r\n selectedTickets[ticketTier.id]\r\n ? selectedTickets[ticketTier.id]\r\n : 0\r\n }\r\n onChange={handleTicketSelect}\r\n displayEmpty\r\n inputProps={{ 'aria-label': 'Without label' }}\r\n MenuProps={{\r\n PaperProps: {\r\n sx: { maxHeight: 150 },\r\n className: 'get-tickets-paper',\r\n },\r\n }}\r\n >\r\n {options.map((option, index) => (\r\n <MenuItem key={index} value={option.value}>\r\n {option.value}\r\n </MenuItem>\r\n ))}\r\n </Select>\r\n </FormControl>\r\n </Box>\r\n </div>\r\n )\r\n\r\n let returnValue: any = ''\r\n\r\n if (ticketTier.sold_out || !ticketTier.displayTicket || ticketTier.soldOut) {\r\n returnValue = soldOutMessage\r\n }\r\n if (ticketTier.displayTicket) {\r\n returnValue = onSaleContent\r\n }\r\n if (_get(prevTicketTier, 'in_stock')) {\r\n returnValue = 'SOON'\r\n }\r\n\r\n return <>{returnValue} </>\r\n}\r\n","import React from 'react'\r\nimport './style.css'\r\n\r\nimport _sortBy from 'lodash/sortBy'\r\nimport { TicketRow } from './TicketRow'\r\n\r\ninterface ITicketsSectionProps {\r\n ticketsList: any;\r\n selectedTickets: any;\r\n handleTicketSelect: any;\r\n promoCodeIsApplied: boolean;\r\n}\r\n\r\nexport const TicketsSection = ({\r\n ticketsList,\r\n selectedTickets,\r\n handleTicketSelect,\r\n promoCodeIsApplied,\r\n}: ITicketsSectionProps) => {\r\n const sortedTicketsList = _sortBy(ticketsList, 'sortOrder')\r\n return (\r\n <>\r\n {sortedTicketsList.map((ticket, i, arr) => {\r\n const isSoldOut =\r\n ticket.sold_out || !ticket.displayTicket || ticket.soldOut\r\n const ticketSelect = (event: any) => {\r\n const { value } = event.target\r\n handleTicketSelect(ticket.id, value)\r\n }\r\n\r\n let ticketIsDiscounted = false\r\n if (\r\n ticket.oldPrice &&\r\n promoCodeIsApplied &&\r\n !isSoldOut &&\r\n ticket.oldPrice !== ticket.price\r\n ) {\r\n ticketIsDiscounted = true\r\n }\r\n\r\n const ticketIsFree = (+ticket.cost || +ticket.price) === 0\r\n const ticketPrice = isSoldOut ? 'SOLD OUT' : ticketIsFree ? 'FREE' : `$ ${(+ticket.cost || +ticket.price).toFixed(2)}`\r\n\r\n return (\r\n <div\r\n key={ticket.id || ticket.name}\r\n className={`event-detail__tier ${isSoldOut ? 'disabled' : ''}`}\r\n >\r\n <div className=\"event-detail__tier-name\">\r\n {ticket.displayName || ticket.name}\r\n </div>\r\n <div className=\"event-tickets-container\">\r\n <div className=\"event-detail__tier-price\">\r\n {ticketIsDiscounted && (\r\n <p className=\"old-price\">$ {(+ticket.oldPrice).toFixed(2)}</p>\r\n )}\r\n <p>{ticketPrice}</p>\r\n {!isSoldOut && !ticketIsFree && (\r\n <p className=\"fees\">\r\n {ticket.feeIncluded ? '(incl. Fees)' : '(excl. Fees)'}\r\n </p>\r\n )}\r\n </div>\r\n <div\r\n className=\"event-detail__tier-state\"\r\n style={{ minWidth: 55 }}\r\n >\r\n <TicketRow\r\n ticketTier={ticket}\r\n prevTicketTier={arr[i - 1]}\r\n selectedTickets={selectedTickets}\r\n handleTicketSelect={ticketSelect}\r\n />\r\n </div>\r\n </div>\r\n </div>\r\n )\r\n })}\r\n </>\r\n )\r\n}\r\n","import React, { useState } from 'react'\r\nimport Button from '@mui/material/Button'\r\nimport CircularProgress from '@mui/material/CircularProgress'\r\nimport { Field, Form, Formik } from 'formik'\r\nimport { CustomField } from '../common/index'\r\nimport { addToWaitingList } from '../../api'\r\nimport {\r\n combineValidators,\r\n requiredValidator,\r\n emailValidator,\r\n} from '../../validators'\r\nimport { ErrorFocus } from '../../utils/formikErrorFocus'\r\n\r\nimport './style.css'\r\n\r\ninterface WaitingListProps {\r\n tickets: any;\r\n eventId: number;\r\n}\r\n\r\ninterface WaitingListFields {\r\n ticketTypeId: string;\r\n quantity: string;\r\n firstName: string;\r\n lastName: string;\r\n email: string;\r\n}\r\n\r\nconst generateQuantity = (n: number) => {\r\n const quantityList = []\r\n for (let i = 1; i <= n; i++) {\r\n quantityList.push({ label: i, value: i })\r\n }\r\n return quantityList\r\n}\r\n \r\nconst WaitingList = ({ tickets = {}, eventId }: WaitingListProps) => {\r\n const isWindowDefined = typeof window !== 'undefined'\r\n const userData =\r\n isWindowDefined && window.localStorage.getItem('user_data')\r\n ? JSON.parse(window.localStorage.getItem('user_data') || '')\r\n : {}\r\n\r\n const [showSuccessMessage, setShowSuccessMessage] = useState(false)\r\n const [loading, setLoading] = useState(false)\r\n const ticketTypesList = Object.values(tickets).map((d: any) => ({\r\n label: d.displayName,\r\n value: d.id,\r\n }))\r\n\r\n const showTicketsField = Boolean(ticketTypesList.length)\r\n\r\n const handleSubmit = async (values: WaitingListFields) => {\r\n try {\r\n setLoading(true)\r\n const requestData = {\r\n data: {\r\n attributes: values,\r\n },\r\n }\r\n const { data } = await addToWaitingList(eventId, requestData)\r\n\r\n if (data.success) {\r\n setShowSuccessMessage(true)\r\n }\r\n } catch (error) {\r\n } finally {\r\n setLoading(false)\r\n }\r\n }\r\n\r\n return (\r\n <div className=\"waiting-list\">\r\n {showSuccessMessage ? (\r\n <div className=\"success-message\">\r\n <p className=\"added-success-message\">You've been added to the waiting list!</p>\r\n <p>You'll be notified if tickets become available.</p>\r\n </div>\r\n ) : (\r\n <>\r\n <h2>WAITING LIST</h2>\r\n <Formik\r\n initialValues={{\r\n ticketTypeId: '',\r\n quantity: '',\r\n firstName: userData.first_name || '',\r\n lastName: userData.last_name || '',\r\n email: userData.email || '',\r\n }}\r\n onSubmit={handleSubmit}\r\n >\r\n <Form>\r\n <ErrorFocus />\r\n {showTicketsField && (\r\n <>\r\n <div className=\"field-item\">\r\n <Field\r\n name=\"ticketTypeId\"\r\n label=\"Type of Ticket\"\r\n type=\"select\"\r\n component={CustomField}\r\n selectOptions={[\r\n { label: 'Type of Ticket', value: '', disabled: true },\r\n ...ticketTypesList,\r\n ]}\r\n />\r\n </div>\r\n <div className=\"field-item\">\r\n <Field\r\n name=\"quantity\"\r\n label=\"Quantity Requested\"\r\n type=\"select\"\r\n component={CustomField}\r\n selectOptions={[\r\n {\r\n label: 'Quantity Requested',\r\n value: '',\r\n disabled: true,\r\n },\r\n ...generateQuantity(10),\r\n ]}\r\n />\r\n </div>\r\n </>\r\n )}\r\n <div className=\"field-item\">\r\n <Field\r\n name=\"firstName\"\r\n label=\"First name\"\r\n validate={(value: string) =>\r\n requiredValidator(value, 'Please enter your First name')\r\n }\r\n component={CustomField}\r\n />\r\n </div>\r\n <div className=\"field-item\">\r\n <Field\r\n name=\"lastName\"\r\n label=\"Last name\"\r\n validate={(value: string) =>\r\n requiredValidator(value, 'Please enter your Last name')\r\n }\r\n component={CustomField}\r\n />\r\n </div>\r\n <div className=\"field-item\">\r\n <Field\r\n name=\"email\"\r\n label=\"Email\"\r\n validate={combineValidators(\r\n (value: string) =>\r\n requiredValidator(value, 'Please enter your Email'),\r\n (value: string) => emailValidator(value)\r\n )}\r\n component={CustomField}\r\n />\r\n </div>\r\n\r\n <Button\r\n type=\"submit\"\r\n variant=\"contained\"\r\n className=\"waiting-list-button\"\r\n >\r\n {loading ? (\r\n <CircularProgress size=\"22px\" />\r\n ) : (\r\n 'ADD TO WAITING LIST'\r\n )}\r\n </Button>\r\n </Form>\r\n </Formik>\r\n </>\r\n )}\r\n </div>\r\n )\r\n}\r\n\r\nexport default WaitingList\r\n","export const getImage = (name: string = ''): any => {\r\n let image: any = ''\r\n\r\n if (!name.trim().length) {\r\n return image\r\n }\r\n\r\n if (process.env.NODE_ENV === 'production') {\r\n image = require(`./images/${name}`)\r\n return image.default\r\n }\r\n\r\n return image\r\n}\r\n","import React from 'react'\r\nimport Button from 'react-bootstrap/Button'\r\nimport SVG from 'react-inlinesvg'\r\nimport { getImage } from '../../utils/getImage'\r\nimport { Loader } from '../common/index'\r\n\r\nexport interface IPromoCodeSectionProps {\r\n promoCode: string;\r\n promoCodeIsApplied: boolean;\r\n showPromoInput: boolean;\r\n isPromotionsEnabled: boolean;\r\n isAllTicketsSoldOut: boolean;\r\n isAccessCodeEnabled?: boolean;\r\n isPromoLoading?: boolean;\r\n setPromoCode: (value: string) => void;\r\n setPromoCodeUpdated: (value: string) => void;\r\n setShowPromoInput: (value: boolean) => void;\r\n}\r\n\r\nexport const PromoCodeSection = ({\r\n promoCode,\r\n promoCodeIsApplied,\r\n showPromoInput,\r\n isPromotionsEnabled,\r\n setPromoCode,\r\n setPromoCodeUpdated,\r\n setShowPromoInput,\r\n isAccessCodeEnabled,\r\n isPromoLoading,\r\n}: IPromoCodeSectionProps) => {\r\n const isPromoCodeHasValue = !!promoCode.trim()\r\n\r\n const renderInputField = () => {\r\n return (\r\n <div className=\"promo-code-block\">\r\n <div className=\"promo-code-block\">\r\n <p className=\"promo-code-text\">\r\n { isAccessCodeEnabled ? 'Access code required' : 'Promo code'}\r\n </p>\r\n \r\n </div>\r\n <input\r\n className=\"promo-code-input\"\r\n placeholder=\"\"\r\n onChange={e => {\r\n setPromoCode(e.target.value)\r\n }}\r\n onKeyPress={event => {\r\n if (event.key === 'Enter' && isPromoCodeHasValue) {\r\n setPromoCodeUpdated(promoCode)\r\n setShowPromoInput(false)\r\n }\r\n }}\r\n />\r\n <Button\r\n className=\"promo-submit-button\"\r\n onClick={() => {\r\n if (isPromoCodeHasValue) {\r\n setPromoCodeUpdated(promoCode)\r\n setShowPromoInput(false)\r\n }\r\n }}\r\n >\r\n {isAccessCodeEnabled ? 'ENTER' : 'APPLY'}\r\n </Button>\r\n </div>\r\n )\r\n }\r\n\r\n return isPromoLoading ? <Loader /> : (\r\n <div >\r\n {promoCodeIsApplied ? (\r\n <div className=\"alert-info\">\r\n <SVG\r\n src={getImage('done.svg')}\r\n preProcessor={(code) => code.replace(/fill=\".*?\"/g, 'fill=\"currentColor\"')}\r\n />\r\n <p className=\"promo-code-success\">PROMO CODE APPLIED SUCCESSFULLY</p>\r\n </div>\r\n ) : null}\r\n {showPromoInput && (\r\n renderInputField()\r\n )}\r\n {isPromotionsEnabled && !showPromoInput && !isAccessCodeEnabled ? (\r\n <Button\r\n className=\"promo-code-button\"\r\n placeholder=\"Promo Codes\"\r\n onClick={() => {\r\n setShowPromoInput(true)\r\n }}\r\n >\r\n Got a promo code? Click here\r\n </Button>\r\n ) : !isPromotionsEnabled && !showPromoInput && isAccessCodeEnabled && !promoCodeIsApplied ? renderInputField() :\r\n null\r\n }\r\n </div>\r\n )\r\n}\r\n","import React, { useEffect, useState } from 'react'\r\nimport moment from 'moment-timezone'\r\nimport './style.css'\r\n\r\ninterface CountdownTypes {\r\n startDate: string;\r\n timezone?: string;\r\n title?: string;\r\n message?: string;\r\n callback?: () => void;\r\n}\r\n\r\nconst isTimeExpired = (startDate: string, timezone: string) => {\r\n return !moment(startDate).isAfter(moment.tz(moment(), timezone).format('YYYY-MM-DD HH:mm:ss'))\r\n}\r\n\r\nfunction Countdown({\r\n startDate,\r\n timezone = moment.tz.guess(),\r\n title = '',\r\n message = '',\r\n callback = () => {}\r\n}: CountdownTypes) {\r\n const [duration, setDuration] = useState('')\r\n const [timeExpired, setTimeExpired] = useState(false)\r\n\r\n useEffect(() => {\r\n setTimeExpired(isTimeExpired(startDate, timezone))\r\n }, [])\r\n\r\n useEffect(() => {\r\n let timer: any;\r\n\r\n if(!timeExpired) {\r\n timer = setInterval(() => {\r\n if(isTimeExpired(startDate, timezone)) {\r\n clearInterval(timer)\r\n setTimeExpired(true)\r\n callback()\r\n }\r\n\r\n const currentDate = moment.tz(moment(), timezone).format('YYYY-MM-DD HH:mm:ss')\r\n const diffTime = moment(startDate).diff(currentDate)\r\n const duration = moment.duration(diffTime)\r\n const dateArr: any = {\r\n year: duration.years(),\r\n month: duration.months(),\r\n day: duration.days(),\r\n hour: duration.hours(),\r\n minute: duration.minutes(),\r\n second: duration.seconds(),\r\n }\r\n \r\n let timeLeft = ''\r\n \r\n for(let date in dateArr) {\r\n const unit = dateArr[date] === 1 ? date : date + 's'\r\n const val = String(dateArr[date]).length === 1 ? '0' + dateArr[date] : dateArr[date] \r\n if(timeLeft) {\r\n timeLeft += `, ${val} ${unit}`\r\n } else if(dateArr[date]) {\r\n timeLeft += `${val} ${unit}`\r\n }\r\n }\r\n \r\n setDuration(timeLeft)\r\n }, 1000)\r\n }\r\n return () => {\r\n clearInterval(timer)\r\n }\r\n }, [timeExpired])\r\n\r\n return (\r\n <>\r\n {!timeExpired && duration && (\r\n <div className='countdown'>\r\n <div>\r\n <p className='title'>{title}</p>\r\n <p>{duration}</p>\r\n </div>\r\n <p className='message'>{message}</p>\r\n </div>\r\n )}\r\n </>\r\n )\r\n}\r\n\r\nexport default Countdown\r\n","import { useEffect } from 'react'\r\nimport { postReferralVisits } from '../../api'\r\n\r\ninterface IReferralLogicProps {\r\n eventId: string | number;\r\n}\r\n\r\nexport const ReferralLogic = (props: IReferralLogicProps) => {\r\n const { eventId } = props\r\n const isWindowDefined = typeof window !== 'undefined'\r\n\r\n useEffect(() => {\r\n if (isWindowDefined) {\r\n const params: URLSearchParams = new URL(`${window.location}`).searchParams\r\n const referralId = params.get('ttf_r') || ''\r\n const isAlreadyCounted = !!localStorage.getItem('referral_key')\r\n\r\n if (referralId && eventId && !isAlreadyCounted) {\r\n (async () => {\r\n try {\r\n await postReferralVisits(`${eventId}`, referralId)\r\n localStorage.setItem(\r\n 'referral_key',\r\n [eventId, '.', referralId].join('')\r\n )\r\n } catch (error) {}\r\n })()\r\n }\r\n }\r\n }, [])\r\n\r\n return null\r\n}\r\n","import React, { useState, useEffect } from 'react'\r\nimport axios, { AxiosError } from 'axios'\r\nimport { Loader } from '../common/index'\r\nimport './style.css'\r\n\r\nimport {\r\n getTickets,\r\n getEvent,\r\n addToCart,\r\n setCustomHeader,\r\n postOnCheckout,\r\n} from '../../api'\r\nimport _get from 'lodash/get'\r\nimport _some from 'lodash/some'\r\nimport _every from 'lodash/every'\r\nimport _find from 'lodash/find'\r\nimport _isEmpty from 'lodash/isEmpty'\r\nimport Button from 'react-bootstrap/Button'\r\nimport jwt_decode from 'jwt-decode'\r\nimport { TicketsSection } from './TicketsSection'\r\nimport WaitingList from '../waitingList'\r\nimport { PromoCodeSection } from './PromoCodeSection'\r\nimport { LoginModal } from '../loginModal'\r\nimport Countdown from '../countdown'\r\nimport { createCheckoutDataBodyWithDefaultHolder, getQueryVariable } from '../../utils'\r\nimport { ThemeProvider } from '@mui/private-theming'\r\nimport { createTheme, ThemeOptions } from '@mui/material'\r\nimport { CSSProperties } from '@mui/styles'\r\nimport { ReferralLogic } from './ReferralLogic'\r\n\r\ninterface CartSuccess {\r\n skip_billing_page: boolean;\r\n names_required: boolean;\r\n age_required: boolean;\r\n phone_required: boolean;\r\n event_id: string;\r\n hash?: string;\r\n}\r\n\r\nexport interface IGetTickets {\r\n eventId: number;\r\n onAddToCartSuccess: (response: CartSuccess) => void;\r\n getTicketsLabel?: string;\r\n contentStyle?: React.CSSProperties;\r\n onAddToCartError: (e: AxiosError) => void;\r\n onGetTicketsSuccess: (response: any) => void;\r\n onGetTicketsError: (e: AxiosError) => void;\r\n onLoginSuccess: () => void;\r\n\r\n theme?: 'light' | 'dark';\r\n queryPromoCode?: string;\r\n isPromotionsEnabled?: boolean;\r\n themeOptions?: ThemeOptions & { input?: CSSProperties; checkbox?: CSSProperties }\r\n isAccessCodeEnabled?: boolean;\r\n hideSessionButtons?: boolean;\r\n hideWaitingList?: boolean;\r\n}\r\n\r\nexport interface ITicket {\r\n id: string | number;\r\n [key: string]: string | number;\r\n}\r\n\r\nexport interface ISelectedTickets {\r\n [key: string]: string | number;\r\n}\r\n\r\nexport const TicketsContainer = ({\r\n onLoginSuccess,\r\n getTicketsLabel,\r\n eventId,\r\n onAddToCartSuccess,\r\n contentStyle = {},\r\n onAddToCartError = () => {},\r\n onGetTicketsSuccess = () => {},\r\n onGetTicketsError = () => {},\r\n theme = 'light',\r\n queryPromoCode = '',\r\n isPromotionsEnabled = true,\r\n themeOptions,\r\n isAccessCodeEnabled = false,\r\n hideSessionButtons = false,\r\n hideWaitingList = false\r\n}: IGetTickets) => {\r\n const [selectedTickets, setSelectedTickets] = useState(\r\n {} as ISelectedTickets\r\n )\r\n const isWindowDefined = typeof window !== 'undefined'\r\n const [isLogged, setIsLogged] = useState(\r\n isWindowDefined ? !!window.localStorage.getItem('access_token') : false\r\n )\r\n const [showLoginModal, setShowLoginModal] = React.useState(false)\r\n const [tickets, setTickets] = useState([] as ITicket[])\r\n const [event, setEvent] = useState<any>(null)\r\n const [showWaitingList, setShowWaitingList] = useState(false)\r\n const [isLoading, setIsLoading] = useState(false)\r\n const [isPromoLoading, setIsPromoLoading] = useState(false)\r\n const [handleBookIsLoading, setHandleBookIsLoading] = useState(false)\r\n const [promoCode, setPromoCode] = useState('')\r\n const [promoCodeUpdated, setPromoCodeUpdated] = useState(getQueryVariable('r') || queryPromoCode)\r\n const [showPromoInput, setShowPromoInput] = useState(false)\r\n const [promoCodeIsApplied, setPromoCodeIsApplied] = useState(false)\r\n\r\n useEffect(() => {\r\n if (typeof window !== 'undefined') {\r\n const access_token = window.localStorage.getItem('access_token')\r\n if (access_token) {\r\n const decoded = jwt_decode<{ exp: number }>(access_token)\r\n if (decoded && decoded.exp < Date.now() / 1000) {\r\n window.localStorage.removeItem('access_token')\r\n window.localStorage.removeItem('user_data')\r\n }\r\n }\r\n }\r\n }, [])\r\n\r\n useEffect(() => {\r\n !!eventId && getTicketsApi(!!promoCodeUpdated)\r\n }, [eventId, promoCodeUpdated])\r\n\r\n const handleLogout = () => {\r\n if (isWindowDefined) {\r\n window.localStorage.removeItem('access_token')\r\n window.localStorage.removeItem('user_data')\r\n setIsLogged(false)\r\n const event = new window.CustomEvent('tf-logout')\r\n window.document.dispatchEvent(event)\r\n }\r\n }\r\n\r\n const handleExternalLogin = () => {\r\n setIsLogged(true)\r\n }\r\n const handleOnClose = () => {\r\n setShowLoginModal(false)\r\n }\r\n const handleOnLogin = () => {\r\n setShowLoginModal(false)\r\n setIsLogged(true)\r\n if (onLoginSuccess) {\r\n onLoginSuccess()\r\n }\r\n }\r\n\r\n async function getTicketsApi(isUpdateingPromoCode?: boolean) {\r\n try {\r\n !isUpdateingPromoCode && setIsLoading(true)\r\n setIsPromoLoading(true)\r\n const response = await getTickets(eventId, promoCodeUpdated)\r\n const eventResponse = await getEvent(eventId)\r\n if (response.data.success) {\r\n setCustomHeader(response)\r\n const attributes = _get(response, 'data.data.attributes')\r\n setPromoCodeIsApplied(attributes.ValidPromoCode)\r\n setTickets(_get(attributes, 'tickets'))\r\n setShowWaitingList(attributes.showWaitingList)\r\n onGetTicketsSuccess(response.data)\r\n setPromoCode('')\r\n }\r\n if (eventResponse.data.success) {\r\n const event = _get(eventResponse, 'data.data.attributes')\r\n setEvent(event)\r\n }\r\n } catch (e) {\r\n if (axios.isAxiosError(e)) {\r\n onGetTicketsError(e)\r\n }\r\n } finally {\r\n setIsLoading(false)\r\n setIsPromoLoading(false)\r\n }\r\n }\r\n\r\n const handleTicketSelect = (key: string, value: number | string) => {\r\n setSelectedTickets(prevState => {\r\n if (Object.keys(prevState)[0] !== key && !value) {\r\n return prevState\r\n }\r\n return {\r\n [key]: value,\r\n }\r\n })\r\n }\r\n\r\n const handleOrdersClick = () => {\r\n if (isWindowDefined) {\r\n window.location.href = '/orders'\r\n }\r\n }\r\n\r\n const handleBook = async () => {\r\n setHandleBookIsLoading(true)\r\n const ticket =\r\n _find(tickets, item => selectedTickets[item.id] > 0) || ({} as ITicket)\r\n const optionName = _get(ticket, 'optionName')\r\n const ticketId = _get(ticket, 'id')\r\n const ticketQuantity = +selectedTickets[ticket.id]\r\n\r\n const data = {\r\n attributes: {\r\n alternative_view_id: null,\r\n product_cart_quantity: ticketQuantity,\r\n product_options: {\r\n [optionName]: ticketId,\r\n },\r\n product_id: eventId,\r\n ticket_types: {\r\n [ticketId]: {\r\n product_options: {\r\n [optionName]: ticketId,\r\n ticket_price: ticket.price,\r\n },\r\n quantity: ticketQuantity,\r\n },\r\n },\r\n },\r\n }\r\n\r\n try {\r\n const result = await addToCart(eventId, data)\r\n if (result.status === 200) {\r\n setCustomHeader(result)\r\n\r\n const skipBillingPage =\r\n result?.data?.data?.attributes?.skip_billing_page ?? false\r\n const nameIsRequired =\r\n result?.data?.data?.attributes?.names_required ?? false\r\n const ageIsRequired =\r\n result?.data?.data?.attributes?.age_required ?? false\r\n const phoneIsRequired =\r\n result?.data?.data?.attributes?.phone_required ?? false\r\n\r\n let hash = ''\r\n\r\n if (skipBillingPage) {\r\n // Get user data for checkout data\r\n const isWindowDefined = typeof window !== 'undefined'\r\n const userData =\r\n isWindowDefined && window.localStorage.getItem('user_data')\r\n ? JSON.parse(window.localStorage.getItem('user_data') || '')\r\n : {}\r\n\r\n const access_token =\r\n isWindowDefined && window.localStorage.getItem('access_token')\r\n ? window.localStorage.getItem('access_token') || ''\r\n : ''\r\n\r\n const checkoutBody = createCheckoutDataBodyWithDefaultHolder(\r\n ticketQuantity,\r\n userData\r\n )\r\n\r\n const checkoutResult = await postOnCheckout(\r\n checkoutBody,\r\n access_token\r\n )\r\n\r\n hash = _get(checkoutResult, 'data.data.attributes.hash')\r\n }\r\n\r\n onAddToCartSuccess({\r\n skip_billing_page: skipBillingPage,\r\n names_required: nameIsRequired,\r\n phone_required: phoneIsRequired,\r\n age_required: ageIsRequired,\r\n event_id: String(eventId),\r\n hash,\r\n })\r\n }\r\n } catch (e) {\r\n if (axios.isAxiosError(e)) {\r\n onAddToCartError(e)\r\n }\r\n } finally {\r\n setHandleBookIsLoading(false)\r\n }\r\n }\r\n\r\n const updateTickets = () => {\r\n getTicketsApi()\r\n }\r\n\r\n const isAllTicketsSoldOut = _every(\r\n tickets,\r\n item => (item.sold_out || item.soldOut)\r\n )\r\n\r\n const isTicketOnSale = _some(\r\n tickets,\r\n item => (item.salesStarted && !item.salesEnded && !item.soldOut)\r\n )\r\n\r\n const themeMui = createTheme(themeOptions)\r\n \r\n useEffect(() => {\r\n isWindowDefined &&\r\n window.document.addEventListener('custom-logout', handleLogout)\r\n return () => {\r\n isWindowDefined &&\r\n window.document.removeEventListener('custom-logout', handleLogout)\r\n }\r\n }, [])\r\n\r\n useEffect(() => {\r\n isWindowDefined &&\r\n window.document.addEventListener('custom-login', handleExternalLogin)\r\n return () => {\r\n isWindowDefined &&\r\n window.document.removeEventListener(\r\n 'custom-login',\r\n handleExternalLogin\r\n )\r\n }\r\n }, [])\r\n\r\n return (\r\n <ThemeProvider theme={themeMui}>\r\n <ReferralLogic eventId={eventId} />\r\n <div className={`get-tickets-page ${theme}`} style={contentStyle}>\r\n {isLoading ? (\r\n <Loader />\r\n ) : (\r\n <div>\r\n <TicketsSection\r\n ticketsList={tickets}\r\n selectedTickets={selectedTickets}\r\n handleTicketSelect={handleTicketSelect}\r\n promoCodeIsApplied={promoCodeIsApplied}\r\n />\r\n {event?.salesEnded ? (\r\n <p className='event-closed-message'>Sales for this event are closed.</p>\r\n ) : !event?.salesStarted && event?.salesStart ? (\r\n <Countdown\r\n startDate={event.salesStart}\r\n timezone={event.timezone}\r\n title=\"Sales start in:\"\r\n message=\"No tickets are currently available for this event.\"\r\n callback={updateTickets}\r\n />\r\n ) : null}\r\n {showWaitingList && event.salesStarted && !hideWaitingList && (\r\n <WaitingList tickets={tickets} eventId={eventId} />\r\n )}\r\n <PromoCodeSection\r\n promoCode={promoCode}\r\n promoCodeIsApplied={promoCodeIsApplied}\r\n showPromoInput={showPromoInput}\r\n setPromoCode={setPromoCode}\r\n setPromoCodeUpdated={setPromoCodeUpdated}\r\n setShowPromoInput={setShowPromoInput}\r\n isPromotionsEnabled={isPromotionsEnabled}\r\n isAccessCodeEnabled={isAccessCodeEnabled}\r\n isAllTicketsSoldOut={isAllTicketsSoldOut}\r\n isPromoLoading={isPromoLoading}\r\n />\r\n {(isTicketOnSale || !event?.salesEnded) && (\r\n <Button\r\n aria-hidden={true}\r\n className={`book-button ${\r\n handleBookIsLoading ||\r\n _isEmpty(selectedTickets) ||\r\n Object.values(selectedTickets)[0] === 0\r\n ? 'disabled'\r\n : ''\r\n }`}\r\n onClick={\r\n !handleBookIsLoading &&\r\n !_isEmpty(selectedTickets) &&\r\n Object.values(selectedTickets)[0] > 0\r\n ? handleBook\r\n : () => {}\r\n }\r\n >\r\n {getTicketsLabel || 'GET TICKETS'}\r\n </Button>\r\n )}\r\n {isLogged && !hideSessionButtons ? (\r\n <div className=\"session-wrapper\">\r\n <span className=\"session-container\">\r\n <Button\r\n variant=\"outline-light\"\r\n className=\"session-buttons\"\r\n onClick={handleOrdersClick}\r\n >\r\n My Orders\r\n </Button>\r\n </span>\r\n <span className=\"session-container\">\r\n <Button\r\n variant=\"outline-light\"\r\n className=\"session-buttons\"\r\n onClick={handleLogout}\r\n >\r\n Log out\r\n </Button>\r\n </span>\r\n </div>\r\n ) : (\r\n ''\r\n )}\r\n </div>\r\n )}\r\n {showLoginModal ? (\r\n <LoginModal onClose={handleOnClose} onLogin={handleOnLogin} />\r\n ) : null}\r\n </div>\r\n </ThemeProvider>\r\n )\r\n}\r\n","import React from 'react'\r\n\r\ninterface EventInfoTypes {\r\n image: string;\r\n name: string;\r\n}\r\n\r\nconst EventInfoItem = ({ image, name }: EventInfoTypes) => {\r\n return (\r\n <div className='event-info'>\r\n <img src={image} alt=\"event\" />\r\n {name}\r\n </div>\r\n )\r\n}\r\n\r\nconst tableConfig = (key?: string) => {\r\n let config;\r\n switch (key) {\r\n default:\r\n config = {\r\n header: ['Order No.', 'Date', 'Event', 'Total'],\r\n body: [\r\n (row: any) => row.id,\r\n (row: any) => row.date,\r\n (row: any) => <EventInfoItem image={row.image} name={row.eventName} />,\r\n (row: any) => row.currency + row.amount\r\n ],\r\n }\r\n }\r\n return config\r\n}\r\n\r\nexport default tableConfig\r\n","import React from 'react'\r\nimport TableRow from '@mui/material/TableRow'\r\nimport TableCell from '@mui/material/TableCell'\r\nimport tableConfig from './tableConfig'\r\n\r\nexport interface RowItems {\r\n id: string;\r\n date: string;\r\n image: string;\r\n eventName: string;\r\n amount: string;\r\n currency: string;\r\n}\r\n\r\ninterface RowPropsTypes {\r\n row: RowItems;\r\n handleDetailsInfo: (id: string) => void;\r\n}\r\n\r\nconst Row = ({ row, handleDetailsInfo }: RowPropsTypes) => {\r\n return (\r\n <TableRow sx={{ '& > *': { borderBottom: 'unset' } }}>\r\n {tableConfig().body.map((column: any, index: number) => (\r\n <TableCell component=\"th\" scope=\"row\" key={index}>\r\n {column(row)}\r\n </TableCell>\r\n ))}\r\n <TableCell component=\"th\" scope=\"row\">\r\n <button\r\n type='button'\r\n className=\"order-details-button\"\r\n onClick={() => handleDetailsInfo(row.id)}\r\n >\r\n Details\r\n </button>\r\n </TableCell>\r\n </TableRow>\r\n );\r\n}\r\n\r\nexport default Row\r\n","import React, { useEffect, useState } from 'react'\r\nimport './style.css'\r\n\r\nimport Table from '@mui/material/Table'\r\nimport TableBody from '@mui/material/TableBody'\r\nimport TableCell from '@mui/material/TableCell'\r\nimport TableContainer from '@mui/material/TableContainer'\r\nimport TableHead from '@mui/material/TableHead'\r\nimport TableRow from '@mui/material/TableRow'\r\nimport Paper from '@mui/material/Paper'\r\nimport TablePagination from '@mui/material/TablePagination'\r\nimport CircularProgress from '@mui/material/CircularProgress'\r\nimport TextField from '@mui/material/TextField'\r\nimport Autocomplete from '@mui/material/Autocomplete'\r\nimport _get from 'lodash/get'\r\nimport MyTicketsRow, { RowItems } from './row'\r\nimport tableConfig from './tableConfig'\r\nimport { getOrders } from '../../api'\r\n\r\ninterface MyTicketsTypes {\r\n handleDetailsInfo: (id: string) => void;\r\n onGetOrdersSuccess: (res: any) => void;\r\n onGetOrdersError: (err: any) => void;\r\n\r\n theme?: 'light' | 'dark';\r\n}\r\n\r\ninterface EventFilter {\r\n event_name: string;\r\n url_name: string;\r\n}\r\n\r\nexport const MyTicketsContainer = ({\r\n handleDetailsInfo = () => {},\r\n onGetOrdersSuccess = () => {},\r\n onGetOrdersError = () => {},\r\n theme = 'dark',\r\n}: MyTicketsTypes) => {\r\n const [data, setData] = useState<any>(null)\r\n const [loading, setLoading] = useState(true)\r\n const [limit, setLimit] = useState(10)\r\n const [filter, setFilter] = useState('')\r\n\r\n //just once\r\n useEffect(() => {\r\n fetchData(1, limit, filter)\r\n }, [])\r\n\r\n const fetchData = async (page: number, limit: number, filter: string) => {\r\n try {\r\n setLoading(true)\r\n const response = await getOrders(page, limit, filter)\r\n onGetOrdersSuccess(response)\r\n\r\n const data = _get(response, 'data.data.attributes')\r\n data.page -= 1\r\n\r\n setData(data)\r\n } catch (error) {\r\n onGetOrdersError(error)\r\n } finally {\r\n setLoading(false)\r\n }\r\n }\r\n\r\n const handleChangePage = (_event: any, newPage: number) => {\r\n fetchData(newPage + 1, limit, filter)\r\n }\r\n\r\n const handleChangeRowsPerPage = (\r\n event: React.ChangeEvent<HTMLInputElement>\r\n ) => {\r\n fetchData(1, +event.target.value, filter)\r\n setLimit(+event.target.value)\r\n }\r\n\r\n const onChange = (\r\n _event: React.SyntheticEvent<Element, Event>,\r\n eventFilter: EventFilter | null\r\n ) => {\r\n fetchData(1, limit, eventFilter?.url_name || '')\r\n setFilter(eventFilter?.url_name || '')\r\n }\r\n\r\n return (\r\n <div className={`my-ticket ${theme}`}>\r\n {loading && (\r\n <div className=\"loading\">\r\n <CircularProgress />\r\n </div>\r\n )}\r\n {data && (\r\n <>\r\n <Autocomplete\r\n disablePortal\r\n id=\"combo-box-demo\"\r\n getOptionLabel={(option: EventFilter) => option.event_name}\r\n onChange={onChange}\r\n options={data.purchased_events}\r\n sx={{ width: 300 }}\r\n renderInput={params => <TextField {...params} label=\"Events\" />}\r\n />\r\n <TableContainer component={Paper} className=\"my-ticket-table\">\r\n <Table aria-label=\"collapsible table\">\r\n <TableHead>\r\n <TableRow>\r\n {tableConfig().header.map((column: string, index: number) => (\r\n <TableCell key={index}>{column}</TableCell>\r\n ))}\r\n <TableCell />\r\n </TableRow>\r\n </TableHead>\r\n <TableBody>\r\n {data.orders?.map((row: RowItems) => (\r\n <MyTicketsRow\r\n key={row.id}\r\n row={row}\r\n handleDetailsInfo={handleDetailsInfo}\r\n />\r\n ))}\r\n </TableBody>\r\n </Table>\r\n </TableContainer>\r\n <TablePagination\r\n rowsPerPageOptions={[10, 25, 100]}\r\n component=\"div\"\r\n count={data.total_count}\r\n rowsPerPage={limit}\r\n page={data.page}\r\n onPageChange={handleChangePage}\r\n onRowsPerPageChange={handleChangeRowsPerPage}\r\n />\r\n </>\r\n )}\r\n </div>\r\n )\r\n}\r\n","import React, { Fragment } from 'react'\r\nimport Table from '@mui/material/Table'\r\nimport TableBody from '@mui/material/TableBody'\r\nimport TableCell from '@mui/material/TableCell'\r\nimport TableContainer from '@mui/material/TableContainer'\r\nimport TableHead from '@mui/material/TableHead'\r\nimport TableRow from '@mui/material/TableRow'\r\nimport Paper from '@mui/material/Paper'\r\nimport { downloadPDF } from '../../utils'\r\n\r\ninterface IAddOnTypes {\r\n name: string;\r\n status: string;\r\n}\r\nexport interface ITicketTypes {\r\n add_ons?: IAddOnTypes[];\r\n hash: string;\r\n ticket_type: string;\r\n holder_name: string;\r\n status: string;\r\n pdf_link: string;\r\n is_sellable: boolean;\r\n is_on_sale?: boolean;\r\n event_name: string;\r\n currency: string;\r\n resale_fee_amount: number | string;\r\n}\r\n\r\ninterface TicketsTableTypes {\r\n tickets: ITicketTypes[];\r\n handleSellTicket: (ticket: ITicketTypes) => void;\r\n handleRemoveFromResale: (ticket: ITicketTypes) => void;\r\n}\r\n\r\nconst TicketsTable = ({\r\n tickets = [],\r\n handleSellTicket = () => {},\r\n handleRemoveFromResale = () => {}\r\n}: TicketsTableTypes) => (\r\n <div className=\"tickets-box\">\r\n <h4 className=\"sub-title\">Your Tickets</h4>\r\n <TableContainer component={Paper}>\r\n <Table aria-label=\"collapsible table\">\r\n <TableHead>\r\n <TableRow>\r\n <TableCell>Ticket ID</TableCell>\r\n <TableCell>Ticket Type</TableCell>\r\n <TableCell>Ticket Holder Name</TableCell>\r\n <TableCell>Status</TableCell>\r\n <TableCell>Download</TableCell>\r\n <TableCell />\r\n </TableRow>\r\n </TableHead>\r\n <TableBody>\r\n {tickets.map((ticket: ITicketTypes, index: number) => (\r\n <Fragment key={index}>\r\n <TableRow>\r\n <TableCell>{ticket.hash}</TableCell>\r\n <TableCell>{ticket.ticket_type}</TableCell>\r\n <TableCell>{ticket.holder_name}</TableCell>\r\n <TableCell>{ticket.status}</TableCell>\r\n <TableCell>\r\n <span\r\n aria-hidden={true}\r\n className=\"action-button\"\r\n onClick={() => downloadPDF(ticket.pdf_link)}\r\n >\r\n Download\r\n </span>\r\n </TableCell>\r\n <TableCell>\r\n {ticket.is_sellable && (\r\n <span\r\n aria-hidden={true}\r\n className=\"action-button\"\r\n onClick={() => handleSellTicket(ticket)}\r\n >\r\n Sell Ticket\r\n </span>\r\n )}\r\n {ticket.is_on_sale && (\r\n <span\r\n aria-hidden={true}\r\n className=\"action-button\"\r\n onClick={() => handleRemoveFromResale(ticket)}\r\n >\r\n Remove from Resale\r\n </span>\r\n )}\r\n </TableCell>\r\n </TableRow>\r\n {!!ticket.add_ons?.length && (\r\n <TableRow>\r\n <TableCell colSpan={6}>\r\n <Table className=\"ticket-add-on-table\">\r\n <TableHead>\r\n <TableRow>\r\n <TableCell>Add-On</TableCell>\r\n <TableCell>Status</TableCell>\r\n </TableRow>\r\n </TableHead>\r\n <TableBody>\r\n {ticket.add_ons.map(\r\n (add_on: IAddOnTypes, index: number) => (\r\n <TableRow key={index}>\r\n <TableCell>{add_on.name}</TableCell>\r\n <TableCell>{add_on.status}</TableCell>\r\n </TableRow>\r\n )\r\n )}\r\n </TableBody>\r\n </Table>\r\n </TableCell>\r\n </TableRow>\r\n )}\r\n </Fragment>\r\n ))}\r\n </TableBody>\r\n </Table>\r\n </TableContainer>\r\n </div>\r\n)\r\n\r\nexport default TicketsTable\r\n","import React from 'react'\r\nimport FormGroup from '@mui/material/FormGroup'\r\nimport FormControlLabel from '@mui/material/FormControlLabel'\r\nimport Radio from '@mui/material/Radio';\r\nimport { FieldInputProps } from 'formik'\r\nimport { useTheme } from '@mui/styles'\r\n\r\nexport interface IRadioField {\r\n label: string | number | JSX.Element;\r\n field?: FieldInputProps<any>;\r\n}\r\n\r\ninterface IOtherProps {\r\n [key: string]: any;\r\n}\r\n\r\nexport const RadioField = ({\r\n label,\r\n field,\r\n theme,\r\n ...rest\r\n}: IRadioField & IOtherProps) => {\r\n const customTheme: any = useTheme()\r\n return (\r\n <FormGroup>\r\n <FormControlLabel\r\n control={<Radio {...field} {...rest} />}\r\n label={label}\r\n componentsProps={{\r\n typography: customTheme?.checkbox\r\n }}\r\n />\r\n </FormGroup>\r\n )\r\n}\r\n","import React from 'react'\r\nimport { Field, Form, Formik } from 'formik'\r\nimport * as yup from 'yup';\r\nimport Modal from '@mui/material/Modal'\r\nimport Box from '@mui/material/Box'\r\nimport Button from '@mui/material/Button';\r\nimport { RadioField } from '../common/RadioField'\r\nimport { CheckboxField } from '../common/CheckboxField'\r\nimport { CustomField } from '../common/CustomField'\r\nimport SVG from 'react-inlinesvg'\r\nimport { getImage } from '../../utils/getImage'\r\nimport { ITicketTypes } from '../orderDetailsContainer/ticketsTable'\r\nimport './style.css'\r\n\r\ninterface Props {\r\n ticket: ITicketTypes;\r\n onClose: () => void;\r\n onSubmit: (values: InitialValuesTypes) => void;\r\n}\r\n\r\nexport interface InitialValuesTypes {\r\n to: string;\r\n first_name: string;\r\n last_name: string;\r\n email: string;\r\n confirm_email: string;\r\n confirm: boolean;\r\n}\r\n\r\nconst style: React.CSSProperties = {\r\n position: 'absolute',\r\n top: '50%',\r\n left: '50%',\r\n transform: 'translate(-50%, -50%)',\r\n minWidth: 480,\r\n backgroundColor: '#e3e3e3',\r\n border: '1px solid white',\r\n outline: 'none',\r\n padding: '14px',\r\n maxHeight: '85vh',\r\n overflow: 'auto'\r\n}\r\n\r\nconst schema = yup.object().shape({\r\n to: yup.string().required(),\r\n first_name: yup.string().when('to', {\r\n is: (to: string) => to === 'friend',\r\n then: yup.string().required('First Name is required')\r\n }),\r\n last_name: yup.string().when('to', {\r\n is: (to: string) => to === 'friend',\r\n then: yup.string().required('Last Name is required')\r\n }),\r\n email: yup.string().when('to', {\r\n is: (to: string) => to === 'friend',\r\n then: yup.string().email('Invalid email').required('Email is required')\r\n }),\r\n confirm_email: yup.string().when('to', {\r\n is: (to: string) => to === 'friend',\r\n then: yup.string().email('Invalid email').oneOf([yup.ref('email'), null], 'Emails must match').required('Confirm Email is required')\r\n }),\r\n confirm: yup.boolean().oneOf([true])\r\n})\r\n\r\nconst initialValues: InitialValuesTypes = {\r\n to: 'friend',\r\n first_name: '',\r\n last_name: '',\r\n email: '',\r\n confirm_email: '',\r\n confirm: false\r\n}\r\n\r\nexport const TicketResaleModal = ({\r\n ticket = {} as ITicketTypes,\r\n onClose = () => {},\r\n onSubmit = () => {},\r\n}: Props) => {\r\n const { hash, holder_name, event_name, currency, resale_fee_amount } = ticket\r\n return (\r\n <Modal\r\n open={true}\r\n onClose={onClose}\r\n aria-labelledby=\"modal-modal-title\"\r\n aria-describedby=\"modal-modal-description\"\r\n className='resale-modal'\r\n >\r\n <Box style={style}>\r\n <h3>Sell Ticket</h3>\r\n <div>\r\n <h3>Ticket Details</h3>\r\n <div>\r\n <h4>Event</h4>\r\n <p>{event_name}</p>\r\n </div>\r\n <div>\r\n <h4>Ticket Holder</h4>\r\n <p>{holder_name}</p>\r\n </div>\r\n <div>\r\n <h4>Ticket ID</h4>\r\n <p>{hash}</p>\r\n </div>\r\n </div>\r\n <div>\r\n <h3>Sell to Whom</h3>\r\n <Formik\r\n initialValues={initialValues}\r\n validationSchema={schema}\r\n onSubmit={onSubmit}\r\n >\r\n {({ values, isValid, dirty }) => (\r\n <Form>\r\n <div>\r\n <Field\r\n name='to'\r\n label='I want to sell the ticket to someone I know'\r\n type='radio'\r\n value='friend'\r\n component={RadioField}\r\n />\r\n {values.to === 'friend' && (\r\n <div className='sell-to-friend'>\r\n <div className='user-info-box'>\r\n <div className='field-box'>\r\n <div className='icon'>\r\n <SVG\r\n src={getImage('user.svg')}\r\n width='24'\r\n height='24'\r\n />\r\n </div>\r\n <Field\r\n name='first_name'\r\n label='First Name'\r\n type='text'\r\n component={CustomField}\r\n />\r\n </div>\r\n <div className='field-box'>\r\n <div className='empty-box' />\r\n <Field\r\n name='last_name'\r\n label='Last Name'\r\n type='text'\r\n component={CustomField}\r\n />\r\n </div>\r\n </div>\r\n <div className='email-info-box'>\r\n <div className='field-box'>\r\n <div className='icon'>\r\n <SVG\r\n src={getImage('email.svg')}\r\n width='24'\r\n height='24'\r\n />\r\n </div>\r\n <Field\r\n name='email'\r\n label='Email address'\r\n type='text'\r\n component={CustomField}\r\n />\r\n </div>\r\n <div className='field-box'>\r\n <div className='empty-box' />\r\n <Field\r\n name='confirm_email'\r\n label='Confirm Email address'\r\n type='text'\r\n component={CustomField}\r\n />\r\n </div>\r\n </div>\r\n </div>\r\n )}\r\n </div>\r\n <div>\r\n <Field\r\n name='to'\r\n label='I will sell my ticket to anyone who wants to buy it'\r\n type='radio'\r\n value='anyone'\r\n component={RadioField}\r\n />\r\n </div>\r\n <div>\r\n <h4>Terms of Resale</h4>\r\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>\r\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>\r\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 + resale_fee_amount}</strong>, and that any existing refunds due to me for referring sales for this event are no longer valid.</p>\r\n <Field\r\n name='confirm'\r\n label='I agree'\r\n type='checkbox'\r\n component={CheckboxField}\r\n />\r\n </div>\r\n <div className=\"resale-action-button\">\r\n <Button type=\"submit\" disabled={!(isValid && dirty)}>Sell Ticket</Button>\r\n </div>\r\n </Form>\r\n )}\r\n </Formik>\r\n </div>\r\n </Box>\r\n </Modal>\r\n )\r\n}\r\n","import React, { FC } from 'react'\r\nimport Modal from '@mui/material/Modal'\r\nimport Box from '@mui/material/Box'\r\nimport Button from '@mui/material/Button';\r\nimport './style.css'\r\n\r\ninterface Props {\r\n message: string;\r\n onClose: () => void;\r\n onConfirm: () => void;\r\n}\r\n\r\nconst style: React.CSSProperties = {\r\n position: 'absolute',\r\n top: '50%',\r\n left: '50%',\r\n transform: 'translate(-50%, -50%)',\r\n minWidth: 480,\r\n backgroundColor: '#e3e3e3',\r\n border: '1px solid white',\r\n outline: 'none',\r\n padding: '14px',\r\n maxHeight: '85vh',\r\n overflow: 'auto'\r\n}\r\n\r\nconst ConfirmModal: FC<Props> = ({\r\n message = '',\r\n onClose = () => {},\r\n onConfirm = () => {},\r\n}) => {\r\n return (\r\n <Modal\r\n open={true}\r\n onClose={onClose}\r\n aria-labelledby=\"modal-modal-title\"\r\n aria-describedby=\"modal-modal-description\"\r\n className='confirm-modal'\r\n >\r\n <Box style={style}>\r\n <p>{message}</p>\r\n <div className='footer'>\r\n <Button onClick={onClose}>Cancel</Button>\r\n <Button onClick={onConfirm}>OK</Button>\r\n </div>\r\n </Box>\r\n </Modal>\r\n )\r\n}\r\n\r\nexport default ConfirmModal\r\n","import React, { useState, useEffect } from 'react'\r\nimport './style.css'\r\n\r\nimport Table from '@mui/material/Table'\r\nimport TableBody from '@mui/material/TableBody'\r\nimport TableCell from '@mui/material/TableCell'\r\nimport TableContainer from '@mui/material/TableContainer'\r\nimport TableHead from '@mui/material/TableHead'\r\nimport TableRow from '@mui/material/TableRow'\r\nimport Paper from '@mui/material/Paper'\r\nimport CircularProgress from '@mui/material/CircularProgress'\r\nimport _get from 'lodash/get'\r\nimport _has from 'lodash/has'\r\nimport { getOrderDetails } from '../../api'\r\nimport TicketsTable, { ITicketTypes } from './ticketsTable'\r\nimport { TicketResaleModal, InitialValuesTypes } from '../ticketResaleModal'\r\nimport ConfirmModal from '../confirmModal'\r\nimport { resaleTicket, removeFromResale } from '../../api'\r\n\r\ninterface TicketTypes {\r\n currency: string;\r\n discount: string;\r\n name: string;\r\n price: string;\r\n quantity: string;\r\n total: string;\r\n}\r\n\r\ninterface OrderDetailsTypes {\r\n onGetOrdersSuccess: (res: any) => void;\r\n onGetOrdersError: (err: any) => void;\r\n}\r\n\r\nconst getTotal = (data: any) => {\r\n if (!data?.total || !_has(data, 'items.ticket_types.length')) return ''\r\n\r\n return data.items.ticket_types[0].currency + data.total\r\n}\r\n\r\nexport const OrderDetailsContainer = ({\r\n onGetOrdersSuccess = () => {},\r\n onGetOrdersError = () => {},\r\n}: OrderDetailsTypes) => {\r\n const [data, setData] = useState<any>({})\r\n const [loading, setLoading] = useState(true)\r\n const [showResaleModal, setShowResaleModal] = useState(false)\r\n const [showRemoveResaleModal, setShowRemoveResaleModal] = useState(false)\r\n const [activeTicket, setActiveTicket] = useState<any>(null)\r\n\r\n useEffect(() => {\r\n (async () => {\r\n try {\r\n setLoading(true)\r\n let orderId = ''\r\n if (typeof window !== 'undefined') {\r\n const params: URLSearchParams = new URL(`${window.location}`)\r\n .searchParams\r\n orderId = params.get('o') || ''\r\n }\r\n const response = await getOrderDetails(orderId)\r\n onGetOrdersSuccess(response)\r\n\r\n const data = _get(response, 'data.data.attributes')\r\n\r\n setData(data)\r\n } catch (error) {\r\n onGetOrdersError(error)\r\n } finally {\r\n setLoading(false)\r\n }\r\n })()\r\n }, [])\r\n\r\n const handleSellTicket = (ticket: ITicketTypes) => {\r\n setActiveTicket(ticket)\r\n setShowResaleModal(true)\r\n }\r\n\r\n const handleOnClose = () => {\r\n setShowResaleModal(false)\r\n setActiveTicket(null)\r\n }\r\n\r\n const handleOnSubmit = async (values: InitialValuesTypes) => {\r\n try {\r\n setLoading(true)\r\n const { to, first_name, last_name, email, confirm_email, confirm } = values\r\n const formData = new FormData();\r\n formData.append('to', to)\r\n formData.append('first_name', first_name)\r\n formData.append('last_name', last_name)\r\n formData.append('email', email)\r\n formData.append('confirm_email', confirm_email)\r\n formData.append('confirm', String(confirm))\r\n\r\n await resaleTicket(formData, activeTicket.hash)\r\n const updatedData = { ...data }\r\n updatedData?.tickets?.forEach((ticket: ITicketTypes) => {\r\n if(ticket.hash === activeTicket.hash) {\r\n ticket.is_sellable = false\r\n ticket.is_on_sale = true\r\n }\r\n })\r\n\r\n setData(updatedData)\r\n } catch (error) {\r\n // ...\r\n } finally {\r\n setShowResaleModal(false)\r\n setLoading(false)\r\n }\r\n }\r\n\r\n const handleRemoveFromResale = (ticket: ITicketTypes) => {\r\n setShowRemoveResaleModal(true)\r\n setActiveTicket(ticket)\r\n }\r\n\r\n const onCloseRemoveResale = () => {\r\n setShowRemoveResaleModal(false)\r\n setActiveTicket(null)\r\n }\r\n\r\n const onConfirmRemoveResale = async () => {\r\n try {\r\n setLoading(true)\r\n await removeFromResale(activeTicket.hash)\r\n const updatedData = { ...data }\r\n updatedData?.tickets?.forEach((ticket: ITicketTypes) => {\r\n if(ticket.hash === activeTicket.hash) {\r\n ticket.is_sellable = true\r\n ticket.is_on_sale = false\r\n }\r\n })\r\n\r\n setData(updatedData)\r\n } catch (error) {\r\n // ...\r\n } finally {\r\n setShowRemoveResaleModal(false)\r\n setLoading(false)\r\n }\r\n }\r\n\r\n return (\r\n <div className=\"order-details\">\r\n {loading ? (\r\n <div className=\"loading\">\r\n <CircularProgress />\r\n </div>\r\n ) : (\r\n <>\r\n <h1 className=\"layout-title\">Order Details</h1>\r\n <div className=\"order-summary-box\">\r\n <h4 className=\"sub-title\">Order Summary</h4>\r\n <div className=\"personal-link\">\r\n <b>Your personal share link for this event is: </b>\r\n <a\r\n href={data?.personal_share_link}\r\n target=\"_blank\"\r\n rel=\"noreferrer\"\r\n >\r\n {data?.personal_share_link}\r\n </a>\r\n </div>\r\n <TableContainer component={Paper}>\r\n <Table aria-label=\"collapsible table\">\r\n <TableHead>\r\n <TableRow>\r\n <TableCell>Items</TableCell>\r\n <TableCell>Price</TableCell>\r\n <TableCell>Quantity</TableCell>\r\n <TableCell>Total</TableCell>\r\n </TableRow>\r\n </TableHead>\r\n <TableBody>\r\n {data?.items?.ticket_types?.map(\r\n (ticket: TicketTypes, index: number) => (\r\n <TableRow key={index}>\r\n <TableCell>\r\n <b>Ticket Type: </b>\r\n {ticket.name}\r\n </TableCell>\r\n <TableCell>{ticket.currency + ticket.price}</TableCell>\r\n <TableCell>{ticket.quantity}</TableCell>\r\n <TableCell>{ticket.currency + ticket.total}</TableCell>\r\n </TableRow>\r\n )\r\n )}\r\n {data?.items?.add_ons?.map(\r\n (ticket: TicketTypes, index: number) => (\r\n <TableRow key={index}>\r\n <TableCell>\r\n <b>Add-On: </b>\r\n {ticket.name}\r\n </TableCell>\r\n <TableCell>{ticket.currency + ticket.price}</TableCell>\r\n <TableCell>{ticket.quantity}</TableCell>\r\n <TableCell>{ticket.currency + ticket.total}</TableCell>\r\n </TableRow>\r\n )\r\n )}\r\n <TableRow className=\"total-row\">\r\n <TableCell />\r\n <TableCell />\r\n <TableCell>Total</TableCell>\r\n <TableCell>{getTotal(data)}</TableCell>\r\n </TableRow>\r\n </TableBody>\r\n </Table>\r\n </TableContainer>\r\n </div>\r\n <TicketsTable\r\n tickets={data.tickets}\r\n handleSellTicket={handleSellTicket}\r\n handleRemoveFromResale={handleRemoveFromResale}\r\n />\r\n <div className=\"return-button-container\">\r\n <button\r\n type=\"button\"\r\n className=\"return-button\"\r\n onClick={() => {\r\n if (typeof window !== 'undefined') {\r\n window.location.assign('/orders')\r\n }\r\n }}\r\n >\r\n Return to Order History\r\n </button>\r\n </div>\r\n </>\r\n )}\r\n {showResaleModal && (\r\n <TicketResaleModal\r\n ticket={activeTicket}\r\n onClose={handleOnClose}\r\n onSubmit={handleOnSubmit}\r\n />\r\n )}\r\n {showRemoveResaleModal && (\r\n <ConfirmModal\r\n message=\"Are you sure you want to withdraw your ticket from resale?\"\r\n onClose={onCloseRemoveResale}\r\n onConfirm={onConfirmRemoveResale}\r\n />\r\n )}\r\n </div>\r\n )\r\n}\r\n","import React, { useEffect, useState } from 'react'\r\nimport _get from 'lodash/get'\r\nimport { checkTicketStatus } from '../../api'\r\nimport { AxiosError } from 'axios'\r\n\r\nexport interface ITicketResaleContainer {\r\n onCheckTicketStatusSuccess: (res: any) => void\r\n onCheckTicketStatusError: (e: AxiosError) => void\r\n orderHash?: string\r\n}\r\n\r\nexport const TicketResaleContainer = ({\r\n onCheckTicketStatusSuccess = () => {},\r\n onCheckTicketStatusError = () => {},\r\n orderHash,\r\n}: ITicketResaleContainer) => {\r\n const isWindowDefined = typeof window !== 'undefined'\r\n const [error, setError] = useState(null)\r\n\r\n useEffect(() => {\r\n (async () => {\r\n if (isWindowDefined) {\r\n const params: URLSearchParams = new URL(`${window.location}`)\r\n .searchParams\r\n const hash = params.get('o') || orderHash || null\r\n\r\n if (hash) {\r\n try {\r\n const response = await checkTicketStatus(hash)\r\n const data = _get(response, 'data.data.attributes')\r\n const age_required = _get(data, 'age_required', false)\r\n const names_required = _get(data, 'names_required', false)\r\n const event_id = _get(data, 'event_id')\r\n\r\n onCheckTicketStatusSuccess(response.data)\r\n window.location.href = `/billing/billing-info/?age_required=${age_required}&names_required=${names_required}&event_id=${event_id}`\r\n } catch (error) {\r\n console.log(error)\r\n setError(error?.response?.data?.message)\r\n onCheckTicketStatusError(error.response)\r\n }\r\n } else {\r\n window.location.href = '/'\r\n }\r\n }\r\n })()\r\n }, [])\r\n\r\n return (\r\n <div className=\"ticket-resale-page\">\r\n <div className=\"error-block\">\r\n <h3>{error}</h3>\r\n </div>\r\n </div>\r\n )\r\n}\r\n"],"names":["undefined","emailRegex","combineValidators","validators","i","length","error_message","requiredValidator","value","message","errorMessage","emailValidator","email","test","CONFIGS","setConfigs","configs","_forEach","key","publicRequest","setBaseUrl","BASE_URL","X_SOURCE_ORIGIN","setXSourceOrigin","getQueryVariable","variable","window","query","location","search","substring","vars","split","pair","ErrorFocusInternal","componentDidUpdate","prevProps","formik","isSubmitting","isValidating","errors","keys","Object","selector","errorElement","document","querySelector","focus","Component","ErrorFocus","connect","downloadPDF","pdfUrl","accessToken","localStorage","getItem","fetch","headers","Authorization","then","response","blob","blobValue","fileNameHeader","get","fileName","file","Blob","type","fileURL","URL","createObjectURL","link","createElement","href","setAttribute","body","appendChild","click","removeChild","createCheckoutDataBodyWithDefaultHolder","ticketsQuantity","logedInValues","includeDob","ticket_holders","first_name","_get","last_name","phone","individualHolder","push","attributes","confirm_email","holderAgeDate","Date","dob_day","getDate","dob_month","getMonth","dob_year","getFullYear","isWindowDefined","ttfHeaders","Accept","axios","create","baseURL","interceptors","use","error","status","removeItem","errorType","data","Promise","reject","request","config","guestToken","userData","updatedHeaders","setGuestToken","token","defaults","common","baseUrl","setAccessToken","sourceOrigin","setCustomHeader","guestHeaderResponseValue","guestHeaderExistingValue","guestHeader","setItem","handleSetAccessToken","getEvent","id","getTickets","promoCode","String","addToCart","res","post","getCart","postOnCheckout","authorize","CLIENT_ID","register","getAccessToken","getPaymentData","hash","handlePaymentSuccess","orderHash","handleFreeSuccess","getProfileData","e","getCountries","getConfirmationData","getStates","countryId","getOrders","page","limit","eventSlug","BRAND_SLUG","getOrderDetails","orderId","addToWaitingList","getConditions","eventId","resaleTicket","removeFromResale","postReferralVisits","referralId","referrer","checkTicketStatus","style","position","top","left","transform","minWidth","backgroundColor","border","outline","LoginModal","onClose","onLogin","alreadyHasUser","userExpired","onAuthorizeSuccess","onAuthorizeError","onGetProfileDataSuccess","onGetProfileDataError","modalClassname","useState","setError","handleForgotPassword","open","React","Modal","className","Box","Formik","initialValues","password","onSubmit","bodyFormData","FormData","append","resAutorize","bodyFormDataToken","code","CLIENT_SECRET","resAccessToken","isAxiosError","profileResponse","profileSpecifiedData","profileDataObj","firstName","lastName","JSON","stringify","event","CustomEvent","dispatchEvent","Error","props","Form","handleSubmit","src","alt","Field","name","validate","field","meta","TextField","label","fullWidth","touched","helperText","onClick","RegisterModal","display","bottom","right","alignItems","justifyContent","zIndex","confirmPassword","resRegister","access_token","getInitialValues","propsInitialValues","userValues","results","_flatMapDeep","fields","_map","groupItems","item","createRegisterFormData","values","checkoutBody","setLoggedUserData","confirmEmail","city","country","street_address","streetAddress","state","stateId","zip","zipCode","createCheckoutDataBody","holderAge","restValues","holders","fromEntries","entries","filter","includes","filteredHolders","holder","map","index","filteredRestValue","emailLogged","firstNameLogged","lastNameLogged","getValidateFunctions","element","states","validationFunctions","required","onValidate","isSameEmail","assingUniqueIds","itemValue","_isArray","uniqueId","nanoid","CheckboxField","selectOptions","rest","customTheme","useTheme","FormControl","form","FormGroup","FormControlLabel","control","Checkbox","componentsProps","typography","checkbox","FormHelperText","CustomField","submitCount","theme","isSelectField","isTouched","Boolean","_includes","select","SelectProps","MenuProps","InputLabelProps","sx","input","shrink","inputProps","option","disabled","currencyNormalizerCreator","currency","getCurrencySymbolByCurrency","createFixedFloatNormalizer","fixedValue","toFixed","removePlusSign","string","replace","FormikPhoneNumberField","setFieldValue","MuiPhoneNumber","onChange","variant","defaultCountry","disableDropdown","InputProps","autoFormat","Loader","CircularProgress","SelectField","InputLabel","htmlFor","Select","LogicRunner","setStates","setValues","setUserValues","onGetStatesSuccess","onGetStatesError","prevCountry","useRef","useEffect","fetchStates","mappedStates","current","userDataEncoded","getStoredUserData","parsedData","parse","mappedValues","brand_opt_in","BillingInfoContainer","ticketHoldersFields","buttonName","_identity","onRegisterSuccess","onRegisterError","onSubmitError","onGetCartSuccess","onGetCartError","onGetCountriesSuccess","onGetCountriesError","onLoginSuccess","isLoggedIn","pIsLoggedIn","accountInfoTitle","hideLogo","themeOptions","onErrorClose","hideErrorsAlertSection","onSkipBillingPage","skipPage","canSkipHolderNames","themeMui","createTheme","dataWithUniqueIds","setDataWithUniqueIds","setIsLoggedIn","cartInfoData","setCartInfo","countries","setCountries","showModalLogin","setShowModalLogin","setAlreadyHasUser","setUserExpired","showModalRegister","setShowModalRegister","setTicketsQuantity","holderFirstName","holderLastName","loading","setLoading","showDOB","showTicketHolders","optedInFieldValue","ttfOptIn","hideTtfOptIn","flagRequirePhone","prevData","hasUniqueId","isEqualData","_isEqual","getQuantity","cart","qty","forEach","quantity","fetchCountries","fetchCart","cartInfo","Array","fill","fetchUserData","userDataResponse","collectPaymentData","_isEmpty","collectCheckoutBody","Backdrop","color","ThemeProvider","ttf_opt_in","enableReinitialize","formikHelpers","updatedUserData","checkoutBodyForRegistration","access_token_register","refreshToken","tokens","setFieldError","profileData","scrollTop","documentElement","Alert","severity","labelClassName","Fragment","group","groupClassname","el","component","onBlur","handleBlur","_item","Button","size","onRegister","options","base","fontSize","letterSpacing","invalid","CheckoutForm","total","stripeCardOptions","stripe_client_secret","billing_info","isLoading","handleSetLoading","conditions","disableZipSection","stripe","useStripe","elements","useElements","postalCode","setPostalCode","stripeError","setStripeError","checkboxes","setCheckboxes","allowSubmit","setAllowSubmit","preventDefault","card","getElement","CardNumberElement","address","line1","postal_code","createPaymentMethod","billing_details","paymentMethodReq","confirmCardPayment","payment_method","paymentMethod","handleCheckboxes","target","updatedCheckedState","checked","onChangePostalCode","allChecked","every","buttonIsDiabled","onReady","onFocus","CardExpiryElement","CardCvcElement","placeholder","text","showZero","intNumber","Number","_isNumber","TimerWidget","expires_at","buyLoading","onCountdownFinish","showTimer","setShowTimer","handleCountdownFinish","renderer","minutes","seconds","completed","Countdown","date","now","publishableKey","STRIPE_PUBLISHABLE_KEY","getStripePromise","reviewData","stripePublishableKey","stripeAccount","loadStripe","initialOrderValues","product_name","ticketType","price","initialReviewValues","order_details","order_hash","PaymentContainer","paymentFields","handlePayment","formTitle","errorText","checkoutData","onGetPaymentDataSuccess","onGetPaymentDataError","onPaymentError","elementsOptions","enableTimer","setReviewData","orderData","setOrderData","paymentIsLoading","setPaymentIsLoading","paymentDataIsLoading","setPaymentDataIsLoading","setConditions","showFormTitle","showErrorText","success","tickets","ticket","fetchConditions","conditionsInfo","handlePaymentMiddleWare","paymentSuccessResponse","Container","maxWidth","normalizer","Elements","StripePayment","facebook","FacebookShareButton","icon","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","SocialComponent","mainLabel","subLabel","platform","shareData","Icon","round","SocialButtons","showDefaultShareButtons","shareLink","appId","shareButtons","quote","url","title","shareButton","ConfirmationContainer","isReferralEnabled","messengerAppId","onGetConfirmationDataSuccess","onGetConfirmationDataError","inputRef","setData","dataEncoded","dataDecoded","personal_share_sales","d","salesData","sales","symbol","unshift","product_price","onChangeShareLink","newData","personal_share_link","disable_referral","product_image","ref","navigator","clipboard","writeText","pricing","getTicketSelectOptions","maxCount","minCount","multiplier","Math","min","TicketRow","ticketTier","prevTicketTier","selectedTickets","handleTicketSelect","soldOutMessage","toUpperCase","isSalesClosed","salesStarted","salesEnded","maxQuantity","minQuantity","ticketsClosedMessage","onSaleContent","borderRadius","displayEmpty","PaperProps","maxHeight","MenuItem","returnValue","sold_out","displayTicket","soldOut","TicketsSection","ticketsList","promoCodeIsApplied","sortedTicketsList","_sortBy","arr","isSoldOut","ticketSelect","ticketIsDiscounted","oldPrice","ticketIsFree","cost","ticketPrice","displayName","feeIncluded","generateQuantity","n","quantityList","WaitingList","showSuccessMessage","setShowSuccessMessage","ticketTypesList","showTicketsField","requestData","ticketTypeId","getImage","image","trim","PromoCodeSection","showPromoInput","isPromotionsEnabled","setPromoCode","setPromoCodeUpdated","setShowPromoInput","isAccessCodeEnabled","isPromoLoading","isPromoCodeHasValue","renderInputField","onKeyPress","SVG","preProcessor","isTimeExpired","startDate","timezone","moment","isAfter","tz","format","guess","callback","duration","setDuration","timeExpired","setTimeExpired","timer","setInterval","clearInterval","currentDate","diffTime","diff","dateArr","year","years","month","months","day","days","hour","hours","minute","second","timeLeft","unit","val","ReferralLogic","params","searchParams","isAlreadyCounted","join","TicketsContainer","getTicketsLabel","onAddToCartSuccess","contentStyle","onAddToCartError","onGetTicketsSuccess","onGetTicketsError","queryPromoCode","hideSessionButtons","hideWaitingList","setSelectedTickets","isLogged","setIsLogged","showLoginModal","setShowLoginModal","setTickets","setEvent","showWaitingList","setShowWaitingList","setIsLoading","setIsPromoLoading","handleBookIsLoading","setHandleBookIsLoading","promoCodeUpdated","setPromoCodeIsApplied","decoded","jwt_decode","exp","getTicketsApi","handleLogout","handleExternalLogin","handleOnClose","handleOnLogin","isUpdateingPromoCode","eventResponse","ValidPromoCode","prevState","handleOrdersClick","handleBook","_find","optionName","ticketId","ticketQuantity","alternative_view_id","product_cart_quantity","product_options","product_id","ticket_types","ticket_price","result","skipBillingPage","skip_billing_page","nameIsRequired","names_required","ageIsRequired","age_required","phoneIsRequired","phone_required","checkoutResult","event_id","updateTickets","isAllTicketsSoldOut","_every","isTicketOnSale","_some","addEventListener","removeEventListener","salesStart","EventInfoItem","tableConfig","header","row","eventName","amount","Row","handleDetailsInfo","TableRow","borderBottom","column","TableCell","scope","MyTicketsContainer","onGetOrdersSuccess","onGetOrdersError","setLimit","setFilter","fetchData","handleChangePage","_event","newPage","handleChangeRowsPerPage","eventFilter","url_name","Autocomplete","disablePortal","getOptionLabel","event_name","purchased_events","width","renderInput","TableContainer","Paper","Table","TableHead","TableBody","orders","MyTicketsRow","TablePagination","rowsPerPageOptions","count","total_count","rowsPerPage","onPageChange","onRowsPerPageChange","TicketsTable","handleSellTicket","handleRemoveFromResale","ticket_type","holder_name","pdf_link","is_sellable","is_on_sale","add_ons","colSpan","add_on","RadioField","Radio","padding","overflow","schema","yup","shape","to","when","is","oneOf","confirm","TicketResaleModal","resale_fee_amount","validationSchema","isValid","dirty","height","ConfirmModal","onConfirm","getTotal","_has","items","OrderDetailsContainer","showResaleModal","setShowResaleModal","showRemoveResaleModal","setShowRemoveResaleModal","activeTicket","setActiveTicket","handleOnSubmit","formData","updatedData","onCloseRemoveResale","onConfirmRemoveResale","rel","assign","TicketResaleContainer","onCheckTicketStatusSuccess","onCheckTicketStatusError","console","log"],"mappings":"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"}