@eventlook/sdk 1.4.3 → 1.4.5-1.beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (447) hide show
  1. package/.env.example +1 -0
  2. package/dev-frontend.sh +32 -0
  3. package/dist/cjs/_virtual/_commonjsHelpers.js +4 -2
  4. package/dist/cjs/_virtual/_commonjsHelpers.js.map +1 -1
  5. package/dist/cjs/_virtual/index.js +2 -2
  6. package/dist/cjs/_virtual/index2.js +2 -2
  7. package/dist/cjs/_virtual/index3.js +2 -2
  8. package/dist/cjs/components/Image.js +29 -14
  9. package/dist/cjs/components/Image.js.map +1 -1
  10. package/dist/cjs/components/hook-form/FormProvider.js +2 -2
  11. package/dist/cjs/components/hook-form/FormProvider.js.map +1 -1
  12. package/dist/cjs/context/GlobalContext.js +2 -1
  13. package/dist/cjs/context/GlobalContext.js.map +1 -1
  14. package/dist/cjs/form/ChildEventDialog.js +3 -3
  15. package/dist/cjs/form/ChildEventDialog.js.map +1 -1
  16. package/dist/cjs/form/ContactPerson.js +1 -1
  17. package/dist/cjs/form/ContactPerson.js.map +1 -1
  18. package/dist/cjs/form/Payment.js +2 -4
  19. package/dist/cjs/form/Payment.js.map +1 -1
  20. package/dist/cjs/form/PaymentOverviewBox.js +104 -115
  21. package/dist/cjs/form/PaymentOverviewBox.js.map +1 -1
  22. package/dist/cjs/form/PaymentOverviewDrawer.js +317 -0
  23. package/dist/cjs/form/PaymentOverviewDrawer.js.map +1 -0
  24. package/dist/cjs/form/PaymentPending.js +15 -3
  25. package/dist/cjs/form/PaymentPending.js.map +1 -1
  26. package/dist/cjs/form/PaymentSuccess.js +39 -2
  27. package/dist/cjs/form/PaymentSuccess.js.map +1 -1
  28. package/dist/cjs/form/ReleaseWithMerchandise.js +57 -48
  29. package/dist/cjs/form/ReleaseWithMerchandise.js.map +1 -1
  30. package/dist/cjs/form/Shipping.js +33 -27
  31. package/dist/cjs/form/Shipping.js.map +1 -1
  32. package/dist/cjs/form/TicketForm.js +102 -35
  33. package/dist/cjs/form/TicketForm.js.map +1 -1
  34. package/dist/cjs/form/TicketQuantityControl.js +51 -0
  35. package/dist/cjs/form/TicketQuantityControl.js.map +1 -0
  36. package/dist/cjs/form/TicketSelection.js +32 -12
  37. package/dist/cjs/form/TicketSelection.js.map +1 -1
  38. package/dist/cjs/form/TicketSelectionMap.js +67 -0
  39. package/dist/cjs/form/TicketSelectionMap.js.map +1 -0
  40. package/dist/cjs/form/TicketSelectionMobile.js +98 -0
  41. package/dist/cjs/form/TicketSelectionMobile.js.map +1 -0
  42. package/dist/cjs/form/TicketWithMerchandiseSelection.js +46 -10
  43. package/dist/cjs/form/TicketWithMerchandiseSelection.js.map +1 -1
  44. package/dist/cjs/form/extra-field/ExtraField.js.map +1 -1
  45. package/dist/cjs/form/extra-field/ReleaseExtraFields.js +1 -1
  46. package/dist/cjs/form/extra-field/ReleaseExtraFields.js.map +1 -1
  47. package/dist/cjs/form/index.js +2 -2
  48. package/dist/cjs/form/index.js.map +1 -1
  49. package/dist/cjs/form/merchandise/MerchandiseSelection.js +14 -0
  50. package/dist/cjs/form/merchandise/MerchandiseSelection.js.map +1 -0
  51. package/dist/cjs/form/merchandise/MerchandiseSlider.js +40 -0
  52. package/dist/cjs/form/merchandise/MerchandiseSlider.js.map +1 -0
  53. package/dist/cjs/form/merchendise/MerchandiseSelection.js +19 -0
  54. package/dist/cjs/form/merchendise/MerchandiseSelection.js.map +1 -0
  55. package/dist/cjs/form/merchendise/MerchandiseSlider.js +75 -0
  56. package/dist/cjs/form/merchendise/MerchandiseSlider.js.map +1 -0
  57. package/dist/cjs/form/payment/FeeBox.js +5 -17
  58. package/dist/cjs/form/payment/FeeBox.js.map +1 -1
  59. package/dist/cjs/form/payment/PaymentOverviewCheckbox.js +52 -0
  60. package/dist/cjs/form/payment/PaymentOverviewCheckbox.js.map +1 -0
  61. package/dist/cjs/form/product/ProductCard.js +147 -36
  62. package/dist/cjs/form/product/ProductCard.js.map +1 -1
  63. package/dist/cjs/form/product/ProductVariantsDialog.js +182 -97
  64. package/dist/cjs/form/product/ProductVariantsDialog.js.map +1 -1
  65. package/dist/cjs/form/services/index.js +116 -0
  66. package/dist/cjs/form/services/index.js.map +1 -0
  67. package/dist/cjs/form/style.js +13 -4
  68. package/dist/cjs/form/style.js.map +1 -1
  69. package/dist/cjs/form/tickets/ReleaseDescription.js +23 -0
  70. package/dist/cjs/form/tickets/ReleaseDescription.js.map +1 -0
  71. package/dist/cjs/form/tickets/ReleaseWithMerchandise.js +164 -0
  72. package/dist/cjs/form/tickets/ReleaseWithMerchandise.js.map +1 -0
  73. package/dist/cjs/form/tickets/TicketQuantityControl.js +54 -0
  74. package/dist/cjs/form/tickets/TicketQuantityControl.js.map +1 -0
  75. package/dist/cjs/form/tickets/TicketSelection.js +162 -0
  76. package/dist/cjs/form/tickets/TicketSelection.js.map +1 -0
  77. package/dist/cjs/form/tickets/TicketSelectionMap.js +79 -0
  78. package/dist/cjs/form/tickets/TicketSelectionMap.js.map +1 -0
  79. package/dist/cjs/form/tickets/TicketSelectionMobile.js +100 -0
  80. package/dist/cjs/form/tickets/TicketSelectionMobile.js.map +1 -0
  81. package/dist/cjs/form/tickets/TicketWithMerchandiseSelection.js +127 -0
  82. package/dist/cjs/form/tickets/TicketWithMerchandiseSelection.js.map +1 -0
  83. package/dist/cjs/hooks/useConsentScrollOnDrawerOpen.js +59 -0
  84. package/dist/cjs/hooks/useConsentScrollOnDrawerOpen.js.map +1 -0
  85. package/dist/cjs/hooks/useScrollToFirstError.js +73 -0
  86. package/dist/cjs/hooks/useScrollToFirstError.js.map +1 -0
  87. package/dist/cjs/locales/cs.js +48 -2
  88. package/dist/cjs/locales/cs.js.map +1 -1
  89. package/dist/cjs/locales/en.js +48 -1
  90. package/dist/cjs/locales/en.js.map +1 -1
  91. package/dist/cjs/locales/es.js +48 -1
  92. package/dist/cjs/locales/es.js.map +1 -1
  93. package/dist/cjs/locales/pl.js +48 -1
  94. package/dist/cjs/locales/pl.js.map +1 -1
  95. package/dist/cjs/locales/sk.js +48 -1
  96. package/dist/cjs/locales/sk.js.map +1 -1
  97. package/dist/cjs/locales/uk.js +48 -1
  98. package/dist/cjs/locales/uk.js.map +1 -1
  99. package/dist/cjs/modules/shopping-cart.js +10 -9
  100. package/dist/cjs/modules/shopping-cart.js.map +1 -1
  101. package/dist/cjs/utils/data/global.js +2 -0
  102. package/dist/cjs/utils/data/global.js.map +1 -1
  103. package/dist/cjs/utils/data/ticket.js +6 -0
  104. package/dist/cjs/utils/data/ticket.js.map +1 -0
  105. package/dist/cjs/utils/gtm.js +20 -0
  106. package/dist/cjs/utils/gtm.js.map +1 -1
  107. package/dist/esm/_virtual/_commonjsHelpers.js +4 -2
  108. package/dist/esm/_virtual/_commonjsHelpers.js.map +1 -1
  109. package/dist/esm/_virtual/index.js +2 -2
  110. package/dist/esm/_virtual/index2.js +2 -2
  111. package/dist/esm/_virtual/index3.js +2 -2
  112. package/dist/esm/components/Image.js +30 -15
  113. package/dist/esm/components/Image.js.map +1 -1
  114. package/dist/esm/components/hook-form/FormProvider.js +2 -2
  115. package/dist/esm/components/hook-form/FormProvider.js.map +1 -1
  116. package/dist/esm/context/GlobalContext.js +2 -1
  117. package/dist/esm/context/GlobalContext.js.map +1 -1
  118. package/dist/esm/form/ChildEventDialog.js +3 -3
  119. package/dist/esm/form/ChildEventDialog.js.map +1 -1
  120. package/dist/esm/form/ContactPerson.js +1 -1
  121. package/dist/esm/form/ContactPerson.js.map +1 -1
  122. package/dist/esm/form/Payment.js +2 -4
  123. package/dist/esm/form/Payment.js.map +1 -1
  124. package/dist/esm/form/PaymentOverviewBox.js +107 -118
  125. package/dist/esm/form/PaymentOverviewBox.js.map +1 -1
  126. package/dist/esm/form/PaymentOverviewDrawer.js +313 -0
  127. package/dist/esm/form/PaymentOverviewDrawer.js.map +1 -0
  128. package/dist/esm/form/PaymentPending.js +16 -4
  129. package/dist/esm/form/PaymentPending.js.map +1 -1
  130. package/dist/esm/form/PaymentSuccess.js +39 -2
  131. package/dist/esm/form/PaymentSuccess.js.map +1 -1
  132. package/dist/esm/form/ReleaseWithMerchandise.js +58 -49
  133. package/dist/esm/form/ReleaseWithMerchandise.js.map +1 -1
  134. package/dist/esm/form/Shipping.js +33 -27
  135. package/dist/esm/form/Shipping.js.map +1 -1
  136. package/dist/esm/form/TicketForm.js +104 -37
  137. package/dist/esm/form/TicketForm.js.map +1 -1
  138. package/dist/esm/form/TicketQuantityControl.js +47 -0
  139. package/dist/esm/form/TicketQuantityControl.js.map +1 -0
  140. package/dist/esm/form/TicketSelection.js +33 -13
  141. package/dist/esm/form/TicketSelection.js.map +1 -1
  142. package/dist/esm/form/TicketSelectionMap.js +63 -0
  143. package/dist/esm/form/TicketSelectionMap.js.map +1 -0
  144. package/dist/esm/form/TicketSelectionMobile.js +94 -0
  145. package/dist/esm/form/TicketSelectionMobile.js.map +1 -0
  146. package/dist/esm/form/TicketWithMerchandiseSelection.js +48 -12
  147. package/dist/esm/form/TicketWithMerchandiseSelection.js.map +1 -1
  148. package/dist/esm/form/extra-field/ExtraField.js.map +1 -1
  149. package/dist/esm/form/extra-field/ReleaseExtraFields.js +1 -1
  150. package/dist/esm/form/extra-field/ReleaseExtraFields.js.map +1 -1
  151. package/dist/esm/form/index.js +2 -2
  152. package/dist/esm/form/index.js.map +1 -1
  153. package/dist/esm/form/merchandise/MerchandiseSelection.js +10 -0
  154. package/dist/esm/form/merchandise/MerchandiseSelection.js.map +1 -0
  155. package/dist/esm/form/merchandise/MerchandiseSlider.js +36 -0
  156. package/dist/esm/form/merchandise/MerchandiseSlider.js.map +1 -0
  157. package/dist/esm/form/merchendise/MerchandiseSelection.js +15 -0
  158. package/dist/esm/form/merchendise/MerchandiseSelection.js.map +1 -0
  159. package/dist/esm/form/merchendise/MerchandiseSlider.js +71 -0
  160. package/dist/esm/form/merchendise/MerchandiseSlider.js.map +1 -0
  161. package/dist/esm/form/payment/FeeBox.js +6 -18
  162. package/dist/esm/form/payment/FeeBox.js.map +1 -1
  163. package/dist/esm/form/payment/PaymentOverviewCheckbox.js +48 -0
  164. package/dist/esm/form/payment/PaymentOverviewCheckbox.js.map +1 -0
  165. package/dist/esm/form/product/ProductCard.js +148 -37
  166. package/dist/esm/form/product/ProductCard.js.map +1 -1
  167. package/dist/esm/form/product/ProductVariantsDialog.js +184 -99
  168. package/dist/esm/form/product/ProductVariantsDialog.js.map +1 -1
  169. package/dist/esm/form/services/index.js +112 -0
  170. package/dist/esm/form/services/index.js.map +1 -0
  171. package/dist/esm/form/style.js +13 -4
  172. package/dist/esm/form/style.js.map +1 -1
  173. package/dist/esm/form/tickets/ReleaseDescription.js +19 -0
  174. package/dist/esm/form/tickets/ReleaseDescription.js.map +1 -0
  175. package/dist/esm/form/tickets/ReleaseWithMerchandise.js +160 -0
  176. package/dist/esm/form/tickets/ReleaseWithMerchandise.js.map +1 -0
  177. package/dist/esm/form/tickets/TicketQuantityControl.js +50 -0
  178. package/dist/esm/form/tickets/TicketQuantityControl.js.map +1 -0
  179. package/dist/esm/form/tickets/TicketSelection.js +158 -0
  180. package/dist/esm/form/tickets/TicketSelection.js.map +1 -0
  181. package/dist/esm/form/tickets/TicketSelectionMap.js +75 -0
  182. package/dist/esm/form/tickets/TicketSelectionMap.js.map +1 -0
  183. package/dist/esm/form/tickets/TicketSelectionMobile.js +96 -0
  184. package/dist/esm/form/tickets/TicketSelectionMobile.js.map +1 -0
  185. package/dist/esm/form/tickets/TicketWithMerchandiseSelection.js +123 -0
  186. package/dist/esm/form/tickets/TicketWithMerchandiseSelection.js.map +1 -0
  187. package/dist/esm/hooks/useConsentScrollOnDrawerOpen.js +55 -0
  188. package/dist/esm/hooks/useConsentScrollOnDrawerOpen.js.map +1 -0
  189. package/dist/esm/hooks/useScrollToFirstError.js +69 -0
  190. package/dist/esm/hooks/useScrollToFirstError.js.map +1 -0
  191. package/dist/esm/locales/cs.js +48 -2
  192. package/dist/esm/locales/cs.js.map +1 -1
  193. package/dist/esm/locales/en.js +48 -1
  194. package/dist/esm/locales/en.js.map +1 -1
  195. package/dist/esm/locales/es.js +48 -1
  196. package/dist/esm/locales/es.js.map +1 -1
  197. package/dist/esm/locales/pl.js +48 -1
  198. package/dist/esm/locales/pl.js.map +1 -1
  199. package/dist/esm/locales/sk.js +48 -1
  200. package/dist/esm/locales/sk.js.map +1 -1
  201. package/dist/esm/locales/uk.js +48 -1
  202. package/dist/esm/locales/uk.js.map +1 -1
  203. package/dist/esm/modules/shopping-cart.js +9 -8
  204. package/dist/esm/modules/shopping-cart.js.map +1 -1
  205. package/dist/esm/utils/data/global.js +2 -1
  206. package/dist/esm/utils/data/global.js.map +1 -1
  207. package/dist/esm/utils/data/ticket.js +4 -0
  208. package/dist/esm/utils/data/ticket.js.map +1 -0
  209. package/dist/esm/utils/gtm.js +19 -1
  210. package/dist/esm/utils/gtm.js.map +1 -1
  211. package/dist/types/context/GlobalContext.d.ts +2 -1
  212. package/dist/types/form/PaymentOverviewDrawer.d.ts +8 -0
  213. package/dist/types/form/PaymentSuccess.d.ts +2 -0
  214. package/dist/types/form/TicketSelectionMap.d.ts +7 -0
  215. package/dist/types/form/extra-field/ExtraField.d.ts +1 -1
  216. package/dist/types/form/index.d.ts +1 -0
  217. package/dist/types/form/merchendise/MerchandiseSelection.d.ts +9 -0
  218. package/dist/types/form/merchendise/MerchandiseSlider.d.ts +10 -0
  219. package/dist/types/form/merchendise/MerchendiseSlider.d.ts +0 -0
  220. package/dist/types/form/payment/PaymentOverviewCheckbox.d.ts +12 -0
  221. package/dist/types/locales/cs.d.ts +24 -0
  222. package/dist/types/locales/en.d.ts +25 -0
  223. package/dist/types/locales/es.d.ts +25 -0
  224. package/dist/types/locales/pl.d.ts +25 -0
  225. package/dist/types/locales/sk.d.ts +25 -0
  226. package/dist/types/locales/uk.d.ts +25 -0
  227. package/dist/types/modules/shopping-cart.d.ts +3 -5
  228. package/dist/types/utils/data/shopping-cart.d.ts +5 -0
  229. package/dist/types/utils/gtm.d.ts +3 -1
  230. package/dist/types/utils/types/event.type.d.ts +1 -0
  231. package/dist/types/utils/types/global.type.d.ts +2 -0
  232. package/dist/types/utils/types/gtm.type.d.ts +5 -0
  233. package/dist/types/utils/types/order.type.d.ts +1 -0
  234. package/dist/types/utils/types/shopping-cart.type.d.ts +44 -35
  235. package/dist/types/utils/types/ticket.type.d.ts +21 -5
  236. package/package.json +11 -6
  237. package/rollup.config.mjs +16 -1
  238. package/src/components/Image.tsx +49 -27
  239. package/src/components/hook-form/FormProvider.tsx +5 -2
  240. package/src/context/GlobalContext.tsx +3 -0
  241. package/src/form/ChildEventDialog.tsx +3 -3
  242. package/src/form/ContactPerson.tsx +1 -1
  243. package/src/form/Payment.tsx +2 -4
  244. package/src/form/PaymentOverviewBox.tsx +178 -139
  245. package/src/form/PaymentOverviewDrawer.tsx +446 -0
  246. package/src/form/PaymentPending.tsx +19 -3
  247. package/src/form/PaymentSuccess.tsx +46 -3
  248. package/src/form/Shipping.tsx +48 -33
  249. package/src/form/TicketForm.tsx +162 -43
  250. package/src/form/extra-field/ExtraField.tsx +3 -1
  251. package/src/form/extra-field/ReleaseExtraFields.tsx +1 -1
  252. package/src/form/index.tsx +12 -2
  253. package/src/form/merchandise/MerchandiseSelection.tsx +24 -0
  254. package/src/form/merchandise/MerchandiseSlider.tsx +62 -0
  255. package/src/form/payment/FeeBox.tsx +6 -34
  256. package/src/form/payment/PaymentOverviewCheckbox.tsx +88 -0
  257. package/src/form/product/ProductCard.tsx +258 -59
  258. package/src/form/product/ProductVariantsDialog.tsx +292 -139
  259. package/src/form/services/index.tsx +263 -0
  260. package/src/form/style.ts +16 -4
  261. package/src/form/tickets/ReleaseDescription.tsx +46 -0
  262. package/src/form/tickets/ReleaseWithMerchandise.tsx +270 -0
  263. package/src/form/tickets/TicketQuantityControl.tsx +100 -0
  264. package/src/form/tickets/TicketSelection.tsx +236 -0
  265. package/src/form/tickets/TicketSelectionMap.tsx +99 -0
  266. package/src/form/tickets/TicketSelectionMobile.tsx +187 -0
  267. package/src/form/tickets/TicketWithMerchandiseSelection.tsx +192 -0
  268. package/src/hooks/useScrollToFirstError.ts +99 -0
  269. package/src/locales/cs.tsx +51 -2
  270. package/src/locales/en.tsx +51 -1
  271. package/src/locales/es.tsx +51 -1
  272. package/src/locales/pl.tsx +51 -1
  273. package/src/locales/sk.tsx +51 -1
  274. package/src/locales/uk.tsx +51 -1
  275. package/src/modules/shopping-cart.ts +14 -11
  276. package/src/utils/data/global.ts +1 -0
  277. package/src/utils/data/shopping-cart.ts +5 -0
  278. package/src/utils/data/ticket.ts +1 -0
  279. package/src/utils/gtm.ts +29 -0
  280. package/src/utils/types/event.type.ts +1 -0
  281. package/src/utils/types/global.type.ts +2 -0
  282. package/src/utils/types/gtm.type.ts +6 -0
  283. package/src/utils/types/order.type.ts +1 -0
  284. package/src/utils/types/shopping-cart.type.ts +42 -31
  285. package/src/utils/types/ticket.type.ts +23 -3
  286. package/tsconfig.json +2 -1
  287. package/dist/cjs/_virtual/colorManipulator.js +0 -6
  288. package/dist/cjs/_virtual/colorManipulator.js.map +0 -1
  289. package/dist/cjs/_virtual/createStyled.js +0 -6
  290. package/dist/cjs/_virtual/createStyled.js.map +0 -1
  291. package/dist/cjs/_virtual/customParseFormat.js +0 -6
  292. package/dist/cjs/_virtual/customParseFormat.js.map +0 -1
  293. package/dist/cjs/_virtual/dayjs.min.js +0 -6
  294. package/dist/cjs/_virtual/dayjs.min.js.map +0 -1
  295. package/dist/cjs/_virtual/extends.js +0 -6
  296. package/dist/cjs/_virtual/extends.js.map +0 -1
  297. package/dist/cjs/_virtual/index.umd.js +0 -6
  298. package/dist/cjs/_virtual/index.umd.js.map +0 -1
  299. package/dist/cjs/_virtual/index10.js +0 -11
  300. package/dist/cjs/_virtual/index10.js.map +0 -1
  301. package/dist/cjs/_virtual/index11.js +0 -11
  302. package/dist/cjs/_virtual/index11.js.map +0 -1
  303. package/dist/cjs/_virtual/index12.js +0 -6
  304. package/dist/cjs/_virtual/index12.js.map +0 -1
  305. package/dist/cjs/_virtual/index13.js +0 -6
  306. package/dist/cjs/_virtual/index13.js.map +0 -1
  307. package/dist/cjs/_virtual/index14.js +0 -6
  308. package/dist/cjs/_virtual/index14.js.map +0 -1
  309. package/dist/cjs/_virtual/index15.js +0 -6
  310. package/dist/cjs/_virtual/index15.js.map +0 -1
  311. package/dist/cjs/_virtual/index4.js +0 -11
  312. package/dist/cjs/_virtual/index4.js.map +0 -1
  313. package/dist/cjs/_virtual/index5.js +0 -11
  314. package/dist/cjs/_virtual/index5.js.map +0 -1
  315. package/dist/cjs/_virtual/index6.js +0 -11
  316. package/dist/cjs/_virtual/index6.js.map +0 -1
  317. package/dist/cjs/_virtual/index7.js +0 -11
  318. package/dist/cjs/_virtual/index7.js.map +0 -1
  319. package/dist/cjs/_virtual/index8.js +0 -11
  320. package/dist/cjs/_virtual/index8.js.map +0 -1
  321. package/dist/cjs/_virtual/index9.js +0 -11
  322. package/dist/cjs/_virtual/index9.js.map +0 -1
  323. package/dist/cjs/_virtual/interopRequireDefault.js +0 -6
  324. package/dist/cjs/_virtual/interopRequireDefault.js.map +0 -1
  325. package/dist/cjs/_virtual/isBetween.js +0 -6
  326. package/dist/cjs/_virtual/isBetween.js.map +0 -1
  327. package/dist/cjs/_virtual/jsx-runtime.js +0 -6
  328. package/dist/cjs/_virtual/jsx-runtime.js.map +0 -1
  329. package/dist/cjs/_virtual/localizedFormat.js +0 -6
  330. package/dist/cjs/_virtual/localizedFormat.js.map +0 -1
  331. package/dist/cjs/_virtual/lodash.js +0 -6
  332. package/dist/cjs/_virtual/lodash.js.map +0 -1
  333. package/dist/cjs/_virtual/lottie.js +0 -6
  334. package/dist/cjs/_virtual/lottie.js.map +0 -1
  335. package/dist/cjs/_virtual/numeral.js +0 -6
  336. package/dist/cjs/_virtual/numeral.js.map +0 -1
  337. package/dist/cjs/_virtual/objectWithoutPropertiesLoose.js +0 -6
  338. package/dist/cjs/_virtual/objectWithoutPropertiesLoose.js.map +0 -1
  339. package/dist/cjs/_virtual/react-is.development3.js +0 -6
  340. package/dist/cjs/_virtual/react-is.development3.js.map +0 -1
  341. package/dist/cjs/_virtual/react-is.production.min2.js +0 -6
  342. package/dist/cjs/_virtual/react-is.production.min2.js.map +0 -1
  343. package/dist/cjs/_virtual/react-jsx-runtime.development.js +0 -6
  344. package/dist/cjs/_virtual/react-jsx-runtime.development.js.map +0 -1
  345. package/dist/cjs/_virtual/react-jsx-runtime.production.min.js +0 -6
  346. package/dist/cjs/_virtual/react-jsx-runtime.production.min.js.map +0 -1
  347. package/dist/cjs/_virtual/timezone.js +0 -6
  348. package/dist/cjs/_virtual/timezone.js.map +0 -1
  349. package/dist/cjs/_virtual/use-sync-external-store-shim.development.js +0 -6
  350. package/dist/cjs/_virtual/use-sync-external-store-shim.development.js.map +0 -1
  351. package/dist/cjs/_virtual/use-sync-external-store-shim.production.js +0 -6
  352. package/dist/cjs/_virtual/use-sync-external-store-shim.production.js.map +0 -1
  353. package/dist/cjs/_virtual/useThemeWithoutDefault.js +0 -6
  354. package/dist/cjs/_virtual/useThemeWithoutDefault.js.map +0 -1
  355. package/dist/cjs/_virtual/utc.js +0 -6
  356. package/dist/cjs/_virtual/utc.js.map +0 -1
  357. package/dist/cjs/_virtual/weekOfYear.js +0 -6
  358. package/dist/cjs/_virtual/weekOfYear.js.map +0 -1
  359. package/dist/cjs/hooks/useFirstRender.js +0 -14
  360. package/dist/cjs/hooks/useFirstRender.js.map +0 -1
  361. package/dist/cjs/utils/data/order.js +0 -8
  362. package/dist/cjs/utils/data/order.js.map +0 -1
  363. package/dist/esm/_virtual/colorManipulator.js +0 -4
  364. package/dist/esm/_virtual/colorManipulator.js.map +0 -1
  365. package/dist/esm/_virtual/createStyled.js +0 -4
  366. package/dist/esm/_virtual/createStyled.js.map +0 -1
  367. package/dist/esm/_virtual/customParseFormat.js +0 -4
  368. package/dist/esm/_virtual/customParseFormat.js.map +0 -1
  369. package/dist/esm/_virtual/dayjs.min.js +0 -4
  370. package/dist/esm/_virtual/dayjs.min.js.map +0 -1
  371. package/dist/esm/_virtual/extends.js +0 -4
  372. package/dist/esm/_virtual/extends.js.map +0 -1
  373. package/dist/esm/_virtual/index.umd.js +0 -4
  374. package/dist/esm/_virtual/index.umd.js.map +0 -1
  375. package/dist/esm/_virtual/index10.js +0 -7
  376. package/dist/esm/_virtual/index10.js.map +0 -1
  377. package/dist/esm/_virtual/index11.js +0 -7
  378. package/dist/esm/_virtual/index11.js.map +0 -1
  379. package/dist/esm/_virtual/index12.js +0 -4
  380. package/dist/esm/_virtual/index12.js.map +0 -1
  381. package/dist/esm/_virtual/index13.js +0 -4
  382. package/dist/esm/_virtual/index13.js.map +0 -1
  383. package/dist/esm/_virtual/index14.js +0 -4
  384. package/dist/esm/_virtual/index14.js.map +0 -1
  385. package/dist/esm/_virtual/index15.js +0 -4
  386. package/dist/esm/_virtual/index15.js.map +0 -1
  387. package/dist/esm/_virtual/index4.js +0 -7
  388. package/dist/esm/_virtual/index4.js.map +0 -1
  389. package/dist/esm/_virtual/index5.js +0 -7
  390. package/dist/esm/_virtual/index5.js.map +0 -1
  391. package/dist/esm/_virtual/index6.js +0 -7
  392. package/dist/esm/_virtual/index6.js.map +0 -1
  393. package/dist/esm/_virtual/index7.js +0 -7
  394. package/dist/esm/_virtual/index7.js.map +0 -1
  395. package/dist/esm/_virtual/index8.js +0 -7
  396. package/dist/esm/_virtual/index8.js.map +0 -1
  397. package/dist/esm/_virtual/index9.js +0 -7
  398. package/dist/esm/_virtual/index9.js.map +0 -1
  399. package/dist/esm/_virtual/interopRequireDefault.js +0 -4
  400. package/dist/esm/_virtual/interopRequireDefault.js.map +0 -1
  401. package/dist/esm/_virtual/isBetween.js +0 -4
  402. package/dist/esm/_virtual/isBetween.js.map +0 -1
  403. package/dist/esm/_virtual/jsx-runtime.js +0 -4
  404. package/dist/esm/_virtual/jsx-runtime.js.map +0 -1
  405. package/dist/esm/_virtual/localizedFormat.js +0 -4
  406. package/dist/esm/_virtual/localizedFormat.js.map +0 -1
  407. package/dist/esm/_virtual/lodash.js +0 -4
  408. package/dist/esm/_virtual/lodash.js.map +0 -1
  409. package/dist/esm/_virtual/lottie.js +0 -4
  410. package/dist/esm/_virtual/lottie.js.map +0 -1
  411. package/dist/esm/_virtual/numeral.js +0 -4
  412. package/dist/esm/_virtual/numeral.js.map +0 -1
  413. package/dist/esm/_virtual/objectWithoutPropertiesLoose.js +0 -4
  414. package/dist/esm/_virtual/objectWithoutPropertiesLoose.js.map +0 -1
  415. package/dist/esm/_virtual/react-is.development3.js +0 -4
  416. package/dist/esm/_virtual/react-is.development3.js.map +0 -1
  417. package/dist/esm/_virtual/react-is.production.min2.js +0 -4
  418. package/dist/esm/_virtual/react-is.production.min2.js.map +0 -1
  419. package/dist/esm/_virtual/react-jsx-runtime.development.js +0 -4
  420. package/dist/esm/_virtual/react-jsx-runtime.development.js.map +0 -1
  421. package/dist/esm/_virtual/react-jsx-runtime.production.min.js +0 -4
  422. package/dist/esm/_virtual/react-jsx-runtime.production.min.js.map +0 -1
  423. package/dist/esm/_virtual/timezone.js +0 -4
  424. package/dist/esm/_virtual/timezone.js.map +0 -1
  425. package/dist/esm/_virtual/use-sync-external-store-shim.development.js +0 -4
  426. package/dist/esm/_virtual/use-sync-external-store-shim.development.js.map +0 -1
  427. package/dist/esm/_virtual/use-sync-external-store-shim.production.js +0 -4
  428. package/dist/esm/_virtual/use-sync-external-store-shim.production.js.map +0 -1
  429. package/dist/esm/_virtual/useThemeWithoutDefault.js +0 -4
  430. package/dist/esm/_virtual/useThemeWithoutDefault.js.map +0 -1
  431. package/dist/esm/_virtual/utc.js +0 -4
  432. package/dist/esm/_virtual/utc.js.map +0 -1
  433. package/dist/esm/_virtual/weekOfYear.js +0 -4
  434. package/dist/esm/_virtual/weekOfYear.js.map +0 -1
  435. package/dist/esm/hooks/useFirstRender.js +0 -12
  436. package/dist/esm/hooks/useFirstRender.js.map +0 -1
  437. package/dist/esm/utils/data/order.js +0 -8
  438. package/dist/esm/utils/data/order.js.map +0 -1
  439. package/dist/index.cjs.js +0 -90295
  440. package/dist/index.cjs.js.map +0 -1
  441. package/dist/index.esm.js +0 -90275
  442. package/dist/index.esm.js.map +0 -1
  443. package/dist/types/hooks/data/useShoppingCart.d.ts +0 -8
  444. package/src/form/MerchandiseSelection.tsx +0 -29
  445. package/src/form/ReleaseWithMerchandise.tsx +0 -230
  446. package/src/form/TicketSelection.tsx +0 -282
  447. package/src/form/TicketWithMerchandiseSelection.tsx +0 -131
@@ -0,0 +1,313 @@
1
+ import { Box, Typography, Button, SwipeableDrawer } from '@mui/material';
2
+ import React, { useState, useRef, useEffect } from 'react';
3
+ import PaymentOverviewBox from './PaymentOverviewBox.js';
4
+ import useGlobal from '../hooks/useGlobal.js';
5
+ import { fCurrency } from '../utils/formatNumber.js';
6
+ import { EVENTLOOK_ORDER_FORM_ID } from '../utils/data/global.js';
7
+
8
+ const swipeAreaWidth = 120;
9
+ const clearResetPulledPastTimeout = (timeoutRef) => {
10
+ if (timeoutRef.current !== null) {
11
+ window.clearTimeout(timeoutRef.current);
12
+ timeoutRef.current = null;
13
+ }
14
+ };
15
+ const PaymentOverviewDrawer = ({ event, totalPrice, termsAndConditionsRef, onOpenChange, }) => {
16
+ const { t, lang } = useGlobal();
17
+ const [isDrawerOpened, setIsDrawerOpened] = useState(false);
18
+ const [isOpeningGesture, setIsOpeningGesture] = useState(false);
19
+ const [hasPulledPastClosedTabHeight, setHasPulledPastClosedTabHeight] = useState(false);
20
+ const [isDrawerHidden, setIsDrawerHidden] = useState(false);
21
+ const [closedTabHeight, setClosedTabHeight] = useState(0);
22
+ const openingTouchStartYRef = useRef(null);
23
+ const openDrawerRef = useRef(false);
24
+ const isOpeningGestureRef = useRef(false);
25
+ const shouldReopenOnScrollUpRef = useRef(false);
26
+ const lastScrollYRef = useRef(0);
27
+ const isScrollingDownRef = useRef(false);
28
+ const wasAtPageBottomRef = useRef(false);
29
+ const resetPulledPastTimeoutRef = useRef(null);
30
+ const closedTabRef = useRef(null);
31
+ useEffect(() => {
32
+ openDrawerRef.current = isDrawerOpened;
33
+ }, [isDrawerOpened]);
34
+ useEffect(() => {
35
+ isOpeningGestureRef.current = isOpeningGesture;
36
+ }, [isOpeningGesture]);
37
+ // reopens the drawer when user scrolls up and the drawer was closed by scrolling down to the bottom of the page
38
+ useEffect(() => {
39
+ if (typeof window === 'undefined') {
40
+ return;
41
+ }
42
+ const atBottomThreshold = 8;
43
+ lastScrollYRef.current = window.scrollY;
44
+ isScrollingDownRef.current = false;
45
+ wasAtPageBottomRef.current =
46
+ window.innerHeight + window.scrollY >=
47
+ document.documentElement.scrollHeight - atBottomThreshold;
48
+ const handleScroll = () => {
49
+ const currentY = window.scrollY;
50
+ const isScrollingUp = currentY < lastScrollYRef.current;
51
+ const isScrollingDown = currentY > lastScrollYRef.current;
52
+ const isAtPageBottom = window.innerHeight + currentY >= document.documentElement.scrollHeight - atBottomThreshold;
53
+ isScrollingDownRef.current = isScrollingDown;
54
+ if (isScrollingUp &&
55
+ wasAtPageBottomRef.current &&
56
+ shouldReopenOnScrollUpRef.current &&
57
+ !openDrawerRef.current) {
58
+ shouldReopenOnScrollUpRef.current = false;
59
+ setIsDrawerHidden(false);
60
+ openDrawerHandler();
61
+ }
62
+ wasAtPageBottomRef.current = isAtPageBottom;
63
+ lastScrollYRef.current = currentY;
64
+ };
65
+ window.addEventListener('scroll', handleScroll, { passive: true });
66
+ return () => {
67
+ window.removeEventListener('scroll', handleScroll);
68
+ };
69
+ }, []);
70
+ useEffect(() => {
71
+ const closedTab = closedTabRef.current;
72
+ if (!closedTab)
73
+ return;
74
+ const updateClosedTabHeight = () => {
75
+ setClosedTabHeight(closedTab.offsetHeight);
76
+ };
77
+ updateClosedTabHeight();
78
+ const resizeObserver = new ResizeObserver(() => {
79
+ updateClosedTabHeight();
80
+ });
81
+ resizeObserver.observe(closedTab);
82
+ return () => {
83
+ resizeObserver.disconnect();
84
+ };
85
+ }, []);
86
+ useEffect(() => () => {
87
+ clearResetPulledPastTimeout(resetPulledPastTimeoutRef);
88
+ }, []);
89
+ useEffect(() => {
90
+ const termsAndConditionsElement = termsAndConditionsRef?.current;
91
+ if (!termsAndConditionsElement) {
92
+ return;
93
+ }
94
+ if (!('IntersectionObserver' in window)) {
95
+ return;
96
+ }
97
+ const observer = new IntersectionObserver((entries) => {
98
+ const entry = entries[0];
99
+ const hasReachedTermsSection = entry?.isIntersecting ?? false;
100
+ const shouldAutoCloseDrawer = hasReachedTermsSection;
101
+ const shouldHideDrawerTab = hasReachedTermsSection && !openDrawerRef.current && !isOpeningGestureRef.current;
102
+ setIsDrawerHidden(shouldHideDrawerTab);
103
+ if (shouldAutoCloseDrawer && openDrawerRef.current && isScrollingDownRef.current) {
104
+ closeDrawerHandler({ shouldReopenOnScrollUp: true });
105
+ setIsDrawerHidden(true);
106
+ }
107
+ }, {
108
+ root: null,
109
+ threshold: 0,
110
+ rootMargin: '0px 0px -40% 0px',
111
+ });
112
+ observer.observe(termsAndConditionsElement);
113
+ return () => {
114
+ observer.disconnect();
115
+ };
116
+ }, [termsAndConditionsRef]);
117
+ const toggleDrawer = () => {
118
+ if (openDrawerRef.current) {
119
+ closeDrawerHandler();
120
+ return;
121
+ }
122
+ openDrawerHandler();
123
+ };
124
+ const openDrawerHandler = () => {
125
+ clearResetPulledPastTimeout(resetPulledPastTimeoutRef);
126
+ setIsOpeningGesture(false);
127
+ setHasPulledPastClosedTabHeight(false);
128
+ openingTouchStartYRef.current = null;
129
+ shouldReopenOnScrollUpRef.current = false;
130
+ setIsDrawerOpened(true);
131
+ onOpenChange?.(true);
132
+ };
133
+ const closeDrawerHandler = ({ shouldReopenOnScrollUp = false, } = {}) => {
134
+ clearResetPulledPastTimeout(resetPulledPastTimeoutRef);
135
+ setIsOpeningGesture(false);
136
+ setHasPulledPastClosedTabHeight(false);
137
+ openingTouchStartYRef.current = null;
138
+ shouldReopenOnScrollUpRef.current = shouldReopenOnScrollUp;
139
+ setIsDrawerOpened(false);
140
+ onOpenChange?.(false);
141
+ };
142
+ const scheduleResetPulledPastTimeout = () => {
143
+ clearResetPulledPastTimeout(resetPulledPastTimeoutRef);
144
+ resetPulledPastTimeoutRef.current = window.setTimeout(() => {
145
+ if (!openDrawerRef.current) {
146
+ setHasPulledPastClosedTabHeight(false);
147
+ }
148
+ }, 180);
149
+ };
150
+ const handleGestureStart = (startY) => {
151
+ openingTouchStartYRef.current = startY;
152
+ setIsOpeningGesture(true);
153
+ setHasPulledPastClosedTabHeight(false);
154
+ };
155
+ const handleGestureMove = (currentY) => {
156
+ if (!isOpeningGestureRef.current)
157
+ return;
158
+ const startY = openingTouchStartYRef.current;
159
+ if (startY === null || typeof currentY !== 'number')
160
+ return;
161
+ const pullDistance = startY - currentY;
162
+ const currentClosedTabHeight = closedTabRef.current?.offsetHeight ?? 0;
163
+ setHasPulledPastClosedTabHeight(currentClosedTabHeight > 0 && pullDistance >= currentClosedTabHeight);
164
+ };
165
+ const handleGestureCancel = () => {
166
+ openingTouchStartYRef.current = null;
167
+ setIsOpeningGesture(false);
168
+ setHasPulledPastClosedTabHeight(false);
169
+ };
170
+ const handleGestureEnd = ({ shouldResetTouchStart = false, } = {}) => {
171
+ if (shouldResetTouchStart) {
172
+ openingTouchStartYRef.current = null;
173
+ }
174
+ if (!isDrawerOpened) {
175
+ setIsOpeningGesture(false);
176
+ scheduleResetPulledPastTimeout();
177
+ }
178
+ };
179
+ return (React.createElement(Box, { sx: { display: { md: 'none' } } },
180
+ React.createElement(Box, { ref: closedTabRef, sx: {
181
+ position: 'fixed',
182
+ bottom: 0,
183
+ left: 0,
184
+ right: 0,
185
+ backgroundColor: (theme) => theme.palette.background.paper,
186
+ borderTopLeftRadius: isOpeningGesture || isDrawerOpened ? 0 : 16,
187
+ borderTopRightRadius: isOpeningGesture || isDrawerOpened ? 0 : 16,
188
+ boxShadow: isOpeningGesture || isDrawerOpened ? 'none' : '0 -8px 10px 2px rgba(0,0,0,0.2)',
189
+ zIndex: (theme) => theme.zIndex.drawer + 1,
190
+ opacity: isDrawerHidden ? 0 : 1,
191
+ transform: isDrawerHidden ? 'translateY(calc(100% + 12px))' : 'translateY(0)',
192
+ transition: 'opacity 180ms ease, transform 180ms ease, border-radius 120ms ease, box-shadow 120ms ease',
193
+ pointerEvents: 'none',
194
+ } },
195
+ !isDrawerOpened && (React.createElement(Box, { sx: {
196
+ display: 'flex',
197
+ justifyContent: 'center',
198
+ alignItems: 'center',
199
+ width: '100%',
200
+ py: 1,
201
+ } },
202
+ React.createElement(Box, { sx: {
203
+ width: 80,
204
+ height: 6,
205
+ backgroundColor: (theme) => theme.palette.grey[300],
206
+ borderRadius: 3,
207
+ opacity: isOpeningGesture ? 0 : 1,
208
+ transition: 'opacity 120ms ease',
209
+ } }))),
210
+ React.createElement(Box, { role: "button", "aria-label": t('form.labels.payment_overview_open'), onClick: toggleDrawer, onTouchStart: (event) => {
211
+ handleGestureStart(event.touches[0]?.clientY ?? null);
212
+ }, onMouseDown: () => {
213
+ handleGestureStart(null);
214
+ }, onTouchMove: (event) => {
215
+ handleGestureMove(event.touches[0]?.clientY);
216
+ }, onTouchCancel: handleGestureCancel, onTouchEnd: () => {
217
+ handleGestureEnd({ shouldResetTouchStart: true });
218
+ }, onMouseUp: () => {
219
+ handleGestureEnd();
220
+ }, sx: {
221
+ width: '100%',
222
+ px: 2,
223
+ pb: 2,
224
+ pointerEvents: isDrawerOpened || isDrawerHidden ? 'none' : 'auto',
225
+ cursor: 'pointer',
226
+ } },
227
+ React.createElement(Typography, { sx: {
228
+ fontWeight: 'bold',
229
+ display: 'flex',
230
+ justifyContent: 'space-between',
231
+ alignItems: 'center',
232
+ } },
233
+ React.createElement("span", null,
234
+ t('form.labels.total'),
235
+ ":"),
236
+ React.createElement("span", null, fCurrency(totalPrice, lang, event.currency))),
237
+ React.createElement(Button, { type: "submit", form: EVENTLOOK_ORDER_FORM_ID, onClick: (event) => {
238
+ event.stopPropagation();
239
+ }, variant: "contained", size: "large", fullWidth: true, sx: { mt: 1, height: { xs: 36, md: 40 } } }, t('buy')))),
240
+ React.createElement(SwipeableDrawer, { anchor: "bottom", open: isDrawerOpened, onClose: () => closeDrawerHandler(), onOpen: () => openDrawerHandler(), swipeAreaWidth: swipeAreaWidth, allowSwipeInChildren: true, disableSwipeToOpen: isDrawerHidden, keepMounted: true, SwipeAreaProps: {
241
+ onTouchStart: (event) => {
242
+ handleGestureStart(event.touches[0]?.clientY ?? null);
243
+ },
244
+ onMouseDown: () => {
245
+ handleGestureStart(null);
246
+ },
247
+ onTouchMove: (event) => {
248
+ handleGestureMove(event.touches[0]?.clientY);
249
+ },
250
+ onTouchCancel: handleGestureCancel,
251
+ onTouchEnd: () => {
252
+ handleGestureEnd({ shouldResetTouchStart: true });
253
+ },
254
+ onMouseUp: () => {
255
+ handleGestureEnd();
256
+ },
257
+ }, sx: {
258
+ display: { md: 'none' },
259
+ pointerEvents: isDrawerOpened ? 'none' : 'auto',
260
+ '& .MuiDrawer-paper': {
261
+ pointerEvents: 'auto',
262
+ },
263
+ '& .MuiSwipeArea-root': {
264
+ pointerEvents: 'auto',
265
+ },
266
+ }, ModalProps: {
267
+ disableScrollLock: true,
268
+ keepMounted: false,
269
+ disableAutoFocus: true,
270
+ disableRestoreFocus: true,
271
+ disableEnforceFocus: true,
272
+ BackdropProps: {
273
+ sx: {
274
+ background: 'none',
275
+ pointerEvents: 'none',
276
+ },
277
+ },
278
+ }, PaperProps: {
279
+ sx: {
280
+ borderTopLeftRadius: 16,
281
+ borderTopRightRadius: 16,
282
+ boxShadow: '0 -8px 10px 2px rgba(0,0,0,0.2)',
283
+ overflow: 'hidden',
284
+ mb: isDrawerOpened ||
285
+ (!isDrawerOpened && (isOpeningGesture || hasPulledPastClosedTabHeight))
286
+ ? `${closedTabHeight}px`
287
+ : 0,
288
+ transition: 'none',
289
+ },
290
+ } },
291
+ React.createElement(Box, { role: "button", "aria-label": t('form.labels.payment_overview_close'), onClick: toggleDrawer, sx: {
292
+ display: 'flex',
293
+ justifyContent: 'center',
294
+ alignItems: 'center',
295
+ backgroundColor: (theme) => theme.palette.background.paper,
296
+ cursor: 'pointer',
297
+ py: 1,
298
+ } },
299
+ React.createElement(Box, { sx: {
300
+ width: 80,
301
+ height: 6,
302
+ backgroundColor: (theme) => theme.palette.grey[300],
303
+ borderRadius: 3,
304
+ } })),
305
+ React.createElement(Box, { sx: {
306
+ height: '100%',
307
+ overflow: 'auto',
308
+ } },
309
+ React.createElement(PaymentOverviewBox, { event: event, hideBuyButton: true })))));
310
+ };
311
+
312
+ export { PaymentOverviewDrawer as default };
313
+ //# sourceMappingURL=PaymentOverviewDrawer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PaymentOverviewDrawer.js","sources":["../../../src/form/PaymentOverviewDrawer.tsx"],"sourcesContent":["import { Box, Button, SwipeableDrawer, Typography } from '@mui/material';\nimport React, { useEffect } from 'react';\nimport { useRef, useState } from 'react';\nimport PaymentOverviewBox from './PaymentOverviewBox';\nimport { IEvent } from '@utils/types/event.type';\nimport useGlobal from '@hooks/useGlobal';\nimport { fCurrency } from '@utils/formatNumber';\nimport { EVENTLOOK_ORDER_FORM_ID } from '@utils/data/global.ts';\n\ninterface Props {\n event: IEvent;\n totalPrice: number;\n termsAndConditionsRef?: React.RefObject<HTMLElement | null>;\n onOpenChange?: (open: boolean) => void;\n}\n\nconst swipeAreaWidth = 120;\n\nconst clearResetPulledPastTimeout = (timeoutRef: { current: number | null }) => {\n if (timeoutRef.current !== null) {\n window.clearTimeout(timeoutRef.current);\n timeoutRef.current = null;\n }\n};\n\nconst PaymentOverviewDrawer: React.FC<Props> = ({\n event,\n totalPrice,\n termsAndConditionsRef,\n onOpenChange,\n}) => {\n const { t, lang } = useGlobal();\n const [isDrawerOpened, setIsDrawerOpened] = useState(false);\n const [isOpeningGesture, setIsOpeningGesture] = useState(false);\n const [hasPulledPastClosedTabHeight, setHasPulledPastClosedTabHeight] = useState(false);\n const [isDrawerHidden, setIsDrawerHidden] = useState(false);\n const [closedTabHeight, setClosedTabHeight] = useState(0);\n const openingTouchStartYRef = useRef<number | null>(null);\n const openDrawerRef = useRef(false);\n const isOpeningGestureRef = useRef(false);\n const shouldReopenOnScrollUpRef = useRef(false);\n const lastScrollYRef = useRef(0);\n const isScrollingDownRef = useRef(false);\n const wasAtPageBottomRef = useRef(false);\n const resetPulledPastTimeoutRef = useRef<number | null>(null);\n const closedTabRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n openDrawerRef.current = isDrawerOpened;\n }, [isDrawerOpened]);\n\n useEffect(() => {\n isOpeningGestureRef.current = isOpeningGesture;\n }, [isOpeningGesture]);\n\n // reopens the drawer when user scrolls up and the drawer was closed by scrolling down to the bottom of the page\n useEffect(() => {\n if (typeof window === 'undefined') {\n return;\n }\n\n const atBottomThreshold = 8;\n lastScrollYRef.current = window.scrollY;\n isScrollingDownRef.current = false;\n wasAtPageBottomRef.current =\n window.innerHeight + window.scrollY >=\n document.documentElement.scrollHeight - atBottomThreshold;\n\n const handleScroll = () => {\n const currentY = window.scrollY;\n const isScrollingUp = currentY < lastScrollYRef.current;\n const isScrollingDown = currentY > lastScrollYRef.current;\n const isAtPageBottom =\n window.innerHeight + currentY >= document.documentElement.scrollHeight - atBottomThreshold;\n\n isScrollingDownRef.current = isScrollingDown;\n\n if (\n isScrollingUp &&\n wasAtPageBottomRef.current &&\n shouldReopenOnScrollUpRef.current &&\n !openDrawerRef.current\n ) {\n shouldReopenOnScrollUpRef.current = false;\n setIsDrawerHidden(false);\n openDrawerHandler();\n }\n\n wasAtPageBottomRef.current = isAtPageBottom;\n lastScrollYRef.current = currentY;\n };\n\n window.addEventListener('scroll', handleScroll, { passive: true });\n\n return () => {\n window.removeEventListener('scroll', handleScroll);\n };\n }, []);\n\n useEffect(() => {\n const closedTab = closedTabRef.current;\n if (!closedTab) return;\n\n const updateClosedTabHeight = () => {\n setClosedTabHeight(closedTab.offsetHeight);\n };\n\n updateClosedTabHeight();\n\n const resizeObserver = new ResizeObserver(() => {\n updateClosedTabHeight();\n });\n\n resizeObserver.observe(closedTab);\n\n return () => {\n resizeObserver.disconnect();\n };\n }, []);\n\n useEffect(\n () => () => {\n clearResetPulledPastTimeout(resetPulledPastTimeoutRef);\n },\n []\n );\n\n useEffect(() => {\n const termsAndConditionsElement = termsAndConditionsRef?.current;\n if (!termsAndConditionsElement) {\n return;\n }\n\n if (!('IntersectionObserver' in window)) {\n return;\n }\n\n const observer = new IntersectionObserver(\n (entries) => {\n const entry = entries[0];\n const hasReachedTermsSection = entry?.isIntersecting ?? false;\n const shouldAutoCloseDrawer = hasReachedTermsSection;\n const shouldHideDrawerTab =\n hasReachedTermsSection && !openDrawerRef.current && !isOpeningGestureRef.current;\n setIsDrawerHidden(shouldHideDrawerTab);\n\n if (shouldAutoCloseDrawer && openDrawerRef.current && isScrollingDownRef.current) {\n closeDrawerHandler({ shouldReopenOnScrollUp: true });\n setIsDrawerHidden(true);\n }\n },\n {\n root: null,\n threshold: 0,\n rootMargin: '0px 0px -40% 0px',\n }\n );\n\n observer.observe(termsAndConditionsElement);\n\n return () => {\n observer.disconnect();\n };\n }, [termsAndConditionsRef]);\n\n const toggleDrawer = () => {\n if (openDrawerRef.current) {\n closeDrawerHandler();\n return;\n }\n\n openDrawerHandler();\n };\n\n const openDrawerHandler = () => {\n clearResetPulledPastTimeout(resetPulledPastTimeoutRef);\n setIsOpeningGesture(false);\n setHasPulledPastClosedTabHeight(false);\n openingTouchStartYRef.current = null;\n shouldReopenOnScrollUpRef.current = false;\n setIsDrawerOpened(true);\n onOpenChange?.(true);\n };\n\n const closeDrawerHandler = ({\n shouldReopenOnScrollUp = false,\n }: { shouldReopenOnScrollUp?: boolean } = {}) => {\n clearResetPulledPastTimeout(resetPulledPastTimeoutRef);\n setIsOpeningGesture(false);\n setHasPulledPastClosedTabHeight(false);\n openingTouchStartYRef.current = null;\n shouldReopenOnScrollUpRef.current = shouldReopenOnScrollUp;\n setIsDrawerOpened(false);\n onOpenChange?.(false);\n };\n\n const scheduleResetPulledPastTimeout = () => {\n clearResetPulledPastTimeout(resetPulledPastTimeoutRef);\n resetPulledPastTimeoutRef.current = window.setTimeout(() => {\n if (!openDrawerRef.current) {\n setHasPulledPastClosedTabHeight(false);\n }\n }, 180);\n };\n\n const handleGestureStart = (startY: number | null) => {\n openingTouchStartYRef.current = startY;\n setIsOpeningGesture(true);\n setHasPulledPastClosedTabHeight(false);\n };\n\n const handleGestureMove = (currentY?: number) => {\n if (!isOpeningGestureRef.current) return;\n\n const startY = openingTouchStartYRef.current;\n if (startY === null || typeof currentY !== 'number') return;\n\n const pullDistance = startY - currentY;\n const currentClosedTabHeight = closedTabRef.current?.offsetHeight ?? 0;\n setHasPulledPastClosedTabHeight(\n currentClosedTabHeight > 0 && pullDistance >= currentClosedTabHeight\n );\n };\n\n const handleGestureCancel = () => {\n openingTouchStartYRef.current = null;\n setIsOpeningGesture(false);\n setHasPulledPastClosedTabHeight(false);\n };\n\n const handleGestureEnd = ({\n shouldResetTouchStart = false,\n }: { shouldResetTouchStart?: boolean } = {}) => {\n if (shouldResetTouchStart) {\n openingTouchStartYRef.current = null;\n }\n\n if (!isDrawerOpened) {\n setIsOpeningGesture(false);\n scheduleResetPulledPastTimeout();\n }\n };\n\n return (\n <Box sx={{ display: { md: 'none' } }}>\n {/* Drawer Tab */}\n <Box\n ref={closedTabRef}\n sx={{\n position: 'fixed',\n bottom: 0,\n left: 0,\n right: 0,\n backgroundColor: (theme) => theme.palette.background.paper,\n borderTopLeftRadius: isOpeningGesture || isDrawerOpened ? 0 : 16,\n borderTopRightRadius: isOpeningGesture || isDrawerOpened ? 0 : 16,\n boxShadow:\n isOpeningGesture || isDrawerOpened ? 'none' : '0 -8px 10px 2px rgba(0,0,0,0.2)',\n zIndex: (theme) => theme.zIndex.drawer + 1,\n opacity: isDrawerHidden ? 0 : 1,\n transform: isDrawerHidden ? 'translateY(calc(100% + 12px))' : 'translateY(0)',\n transition:\n 'opacity 180ms ease, transform 180ms ease, border-radius 120ms ease, box-shadow 120ms ease',\n pointerEvents: 'none',\n }}\n >\n {!isDrawerOpened && (\n <Box\n sx={{\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n width: '100%',\n py: 1,\n }}\n >\n <Box\n sx={{\n width: 80,\n height: 6,\n backgroundColor: (theme) => theme.palette.grey[300],\n borderRadius: 3,\n opacity: isOpeningGesture ? 0 : 1,\n transition: 'opacity 120ms ease',\n }}\n />\n </Box>\n )}\n <Box\n role=\"button\"\n aria-label={t('form.labels.payment_overview_open')}\n onClick={toggleDrawer}\n onTouchStart={(event: React.TouchEvent<HTMLDivElement>) => {\n handleGestureStart(event.touches[0]?.clientY ?? null);\n }}\n onMouseDown={() => {\n handleGestureStart(null);\n }}\n onTouchMove={(event: React.TouchEvent<HTMLDivElement>) => {\n handleGestureMove(event.touches[0]?.clientY);\n }}\n onTouchCancel={handleGestureCancel}\n onTouchEnd={() => {\n handleGestureEnd({ shouldResetTouchStart: true });\n }}\n onMouseUp={() => {\n handleGestureEnd();\n }}\n sx={{\n width: '100%',\n px: 2,\n pb: 2,\n pointerEvents: isDrawerOpened || isDrawerHidden ? 'none' : 'auto',\n cursor: 'pointer',\n }}\n >\n <Typography\n sx={{\n fontWeight: 'bold',\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n }}\n >\n <span>{t('form.labels.total')}:</span>\n <span>{fCurrency(totalPrice, lang, event.currency)}</span>\n </Typography>\n\n <Button\n type=\"submit\"\n form={EVENTLOOK_ORDER_FORM_ID}\n onClick={(event) => {\n event.stopPropagation();\n }}\n variant=\"contained\"\n size=\"large\"\n fullWidth\n sx={{ mt: 1, height: { xs: 36, md: 40 } }}\n >\n {t('buy')}\n </Button>\n </Box>\n </Box>\n\n {/* Drawer Content */}\n <SwipeableDrawer\n anchor=\"bottom\"\n open={isDrawerOpened}\n onClose={() => closeDrawerHandler()}\n onOpen={() => openDrawerHandler()}\n swipeAreaWidth={swipeAreaWidth}\n allowSwipeInChildren\n disableSwipeToOpen={isDrawerHidden}\n keepMounted\n SwipeAreaProps={{\n onTouchStart: (event: React.TouchEvent<HTMLDivElement>) => {\n handleGestureStart(event.touches[0]?.clientY ?? null);\n },\n onMouseDown: () => {\n handleGestureStart(null);\n },\n onTouchMove: (event: React.TouchEvent<HTMLDivElement>) => {\n handleGestureMove(event.touches[0]?.clientY);\n },\n onTouchCancel: handleGestureCancel,\n onTouchEnd: () => {\n handleGestureEnd({ shouldResetTouchStart: true });\n },\n onMouseUp: () => {\n handleGestureEnd();\n },\n }}\n sx={{\n display: { md: 'none' },\n pointerEvents: isDrawerOpened ? 'none' : 'auto',\n '& .MuiDrawer-paper': {\n pointerEvents: 'auto',\n },\n '& .MuiSwipeArea-root': {\n pointerEvents: 'auto',\n },\n }}\n ModalProps={{\n disableScrollLock: true,\n keepMounted: false,\n disableAutoFocus: true,\n disableRestoreFocus: true,\n disableEnforceFocus: true,\n BackdropProps: {\n sx: {\n background: 'none',\n pointerEvents: 'none',\n },\n },\n }}\n PaperProps={{\n sx: {\n borderTopLeftRadius: 16,\n borderTopRightRadius: 16,\n boxShadow: '0 -8px 10px 2px rgba(0,0,0,0.2)',\n overflow: 'hidden',\n mb:\n isDrawerOpened ||\n (!isDrawerOpened && (isOpeningGesture || hasPulledPastClosedTabHeight))\n ? `${closedTabHeight}px`\n : 0,\n transition: 'none',\n },\n }}\n >\n <Box\n role=\"button\"\n aria-label={t('form.labels.payment_overview_close')}\n onClick={toggleDrawer}\n sx={{\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n backgroundColor: (theme) => theme.palette.background.paper,\n cursor: 'pointer',\n py: 1,\n }}\n >\n <Box\n sx={{\n width: 80,\n height: 6,\n backgroundColor: (theme) => theme.palette.grey[300],\n borderRadius: 3,\n }}\n />\n </Box>\n <Box\n sx={{\n height: '100%',\n overflow: 'auto',\n }}\n >\n <PaymentOverviewBox event={event} hideBuyButton />\n </Box>\n </SwipeableDrawer>\n </Box>\n );\n};\n\nexport default PaymentOverviewDrawer;\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,5 @@
1
- import React from 'react';
1
+ import React, { useState, useEffect } from 'react';
2
2
  import { Box, Typography } from '@mui/material';
3
- import Lottie from 'lottie-react';
4
3
  import bankTransferAnimation from '../utils/data/lottie/bank-transfer.json.js';
5
4
  import { varBounce } from '../components/animate/variants/bounce.js';
6
5
  import { m } from 'framer-motion';
@@ -11,11 +10,24 @@ import useGlobal from '../hooks/useGlobal.js';
11
10
 
12
11
  const PaymentPending = () => {
13
12
  const { t } = useGlobal();
13
+ const [LottieComponent, setLottieComponent] = useState(null);
14
+ useEffect(() => {
15
+ if (typeof window === 'undefined')
16
+ return;
17
+ let isMounted = true;
18
+ import('lottie-react').then((module) => {
19
+ if (isMounted) {
20
+ setLottieComponent(() => module.default);
21
+ }
22
+ });
23
+ return () => {
24
+ isMounted = false;
25
+ };
26
+ }, []);
14
27
  return (React.createElement(Box, { textAlign: "center" },
15
28
  React.createElement(m.div, { variants: varBounce().in },
16
29
  React.createElement(Typography, { variant: "h4", sx: { mb: 2, maxWidth: 600, mx: 'auto' } }, t('event.tickets.payment_pending'))),
17
- React.createElement(Box, { maxWidth: 600, mx: "auto" },
18
- React.createElement(Lottie, { animationData: bankTransferAnimation }))));
30
+ React.createElement(Box, { maxWidth: 600, mx: "auto" }, LottieComponent ? React.createElement(LottieComponent, { animationData: bankTransferAnimation }) : null)));
19
31
  };
20
32
 
21
33
  export { PaymentPending as default };
@@ -1 +1 @@
1
- {"version":3,"file":"PaymentPending.js","sources":["../../../src/form/PaymentPending.tsx"],"sourcesContent":["import React from 'react';\nimport { Box, Typography } from '@mui/material';\nimport Lottie from 'lottie-react';\nimport bankTransferAnimation from '../utils/data/lottie/bank-transfer.json';\nimport { varBounce } from '@components/animate';\nimport { m } from 'framer-motion';\nimport useGlobal from '@hooks/useGlobal.ts';\n\nconst PaymentPending: React.FC = () => {\n const { t } = useGlobal();\n\n return (\n <Box textAlign=\"center\">\n <m.div variants={varBounce().in}>\n <Typography variant=\"h4\" sx={{ mb: 2, maxWidth: 600, mx: 'auto' }}>\n {t('event.tickets.payment_pending')}\n </Typography>\n </m.div>\n <Box maxWidth={600} mx=\"auto\">\n <Lottie animationData={bankTransferAnimation} />\n </Box>\n </Box>\n );\n};\n\nexport default PaymentPending;\n"],"names":[],"mappings":";;;;;;;;;;;AAQA,MAAM,cAAc,GAAa,MAAK;AACpC,IAAA,MAAM,EAAE,CAAC,EAAE,GAAG,SAAS,EAAE;AAEzB,IAAA,QACE,KAAA,CAAA,aAAA,CAAC,GAAG,EAAA,EAAC,SAAS,EAAC,QAAQ,EAAA;QACrB,KAAA,CAAA,aAAA,CAAC,CAAC,CAAC,GAAG,EAAA,EAAC,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE,EAAA;YAC7B,KAAA,CAAA,aAAA,CAAC,UAAU,EAAA,EAAC,OAAO,EAAC,IAAI,EAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,EAAA,EAC9D,CAAC,CAAC,+BAA+B,CAAC,CACxB,CACP;QACR,KAAA,CAAA,aAAA,CAAC,GAAG,IAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAC,MAAM,EAAA;YAC3B,KAAA,CAAA,aAAA,CAAC,MAAM,IAAC,aAAa,EAAE,qBAAqB,EAAA,CAAI,CAC5C,CACF;AAEV;;;;"}
1
+ {"version":3,"file":"PaymentPending.js","sources":["../../../src/form/PaymentPending.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport { Box, Typography } from '@mui/material';\nimport bankTransferAnimation from '../utils/data/lottie/bank-transfer.json';\nimport { varBounce } from '@components/animate';\nimport { m } from 'framer-motion';\nimport useGlobal from '@hooks/useGlobal.ts';\n\nconst PaymentPending: React.FC = () => {\n const { t } = useGlobal();\n const [LottieComponent, setLottieComponent] = useState<React.ComponentType<any> | null>(null);\n\n useEffect(() => {\n if (typeof window === 'undefined') return;\n\n let isMounted = true;\n\n import('lottie-react').then((module) => {\n if (isMounted) {\n setLottieComponent(() => module.default);\n }\n });\n\n return () => {\n isMounted = false;\n };\n }, []);\n\n return (\n <Box textAlign=\"center\">\n <m.div variants={varBounce().in}>\n <Typography variant=\"h4\" sx={{ mb: 2, maxWidth: 600, mx: 'auto' }}>\n {t('event.tickets.payment_pending')}\n </Typography>\n </m.div>\n <Box maxWidth={600} mx=\"auto\">\n {LottieComponent ? <LottieComponent animationData={bankTransferAnimation} /> : null}\n </Box>\n </Box>\n );\n};\n\nexport default PaymentPending;\n"],"names":[],"mappings":";;;;;;;;;;AAOA,MAAM,cAAc,GAAa,MAAK;AACpC,IAAA,MAAM,EAAE,CAAC,EAAE,GAAG,SAAS,EAAE;IACzB,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAkC,IAAI,CAAC;IAE7F,SAAS,CAAC,MAAK;QACb,IAAI,OAAO,MAAM,KAAK,WAAW;YAAE;QAEnC,IAAI,SAAS,GAAG,IAAI;QAEpB,OAAO,cAAc,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,KAAI;YACrC,IAAI,SAAS,EAAE;gBACb,kBAAkB,CAAC,MAAM,MAAM,CAAC,OAAO,CAAC;;AAE5C,SAAC,CAAC;AAEF,QAAA,OAAO,MAAK;YACV,SAAS,GAAG,KAAK;AACnB,SAAC;KACF,EAAE,EAAE,CAAC;AAEN,IAAA,QACE,KAAA,CAAA,aAAA,CAAC,GAAG,EAAA,EAAC,SAAS,EAAC,QAAQ,EAAA;QACrB,KAAA,CAAA,aAAA,CAAC,CAAC,CAAC,GAAG,EAAA,EAAC,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE,EAAA;YAC7B,KAAA,CAAA,aAAA,CAAC,UAAU,EAAA,EAAC,OAAO,EAAC,IAAI,EAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,EAAA,EAC9D,CAAC,CAAC,+BAA+B,CAAC,CACxB,CACP;AACR,QAAA,KAAA,CAAA,aAAA,CAAC,GAAG,EAAA,EAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAC,MAAM,EAAA,EAC1B,eAAe,GAAG,KAAA,CAAA,aAAA,CAAC,eAAe,EAAA,EAAC,aAAa,EAAE,qBAAqB,EAAA,CAAI,GAAG,IAAI,CAC/E,CACF;AAEV;;;;"}
@@ -16,9 +16,10 @@ import { useTheme } from '@mui/material/styles';
16
16
  import dayjs from 'dayjs';
17
17
  import useGlobal from '../hooks/useGlobal.js';
18
18
  import { Trans } from '../components/Trans.js';
19
+ import { getGtmPurchasePaid, gtmPurchasePaid, mapUserToUserData } from '../utils/gtm.js';
19
20
 
20
- const PaymentSuccess = ({ setIsPaying, isIframe }) => {
21
- const { showSnackbar, t, lang, callbacks, content } = useGlobal();
21
+ const PaymentSuccess = ({ setIsPaying, isIframe, pixels }) => {
22
+ const { showSnackbar, t, lang, callbacks, content, user } = useGlobal();
22
23
  const theme = useTheme();
23
24
  const defaultState = 'PROCESSING';
24
25
  const errorState = 'ERROR';
@@ -46,9 +47,45 @@ const PaymentSuccess = ({ setIsPaying, isIframe }) => {
46
47
  setProducts(products);
47
48
  setState(data.state);
48
49
  setGwUrl(data.gwUrl);
50
+ const items = [
51
+ ...data.tickets.map((ticket) => ({
52
+ item_id: ticket.number,
53
+ item_name: `${ticket.eventName} - ${ticket.releaseCategoryName} - ${ticket.releaseName}`,
54
+ price: ticket.price,
55
+ quantity: 1,
56
+ })),
57
+ ];
58
+ if (data.extraFee) {
59
+ items.push({
60
+ item_id: 'service_fee',
61
+ item_name: `Service fee`,
62
+ price: data.extraFee,
63
+ quantity: 1,
64
+ });
65
+ }
66
+ const item = {
67
+ currency: data.currency,
68
+ value: data.totalPrice,
69
+ tax: 0,
70
+ payment_type: data.paymentType,
71
+ transaction_id: String(data.orderNumber),
72
+ coupon: data?.promoCodes?.map((p) => p.code) || [],
73
+ items,
74
+ };
49
75
  switch (data.state) {
50
76
  case GopayState.PAID:
51
77
  setTitle('event.tickets.payment_success.paid.title');
78
+ if (isIframe) {
79
+ setTimeout(() => {
80
+ parent.postMessage({
81
+ type: 'eventlookFrameGtm',
82
+ item: getGtmPurchasePaid(item, pixels),
83
+ }, '*');
84
+ }, 1000);
85
+ }
86
+ else {
87
+ gtmPurchasePaid(item, pixels, user ? mapUserToUserData(user) : undefined);
88
+ }
52
89
  break;
53
90
  default:
54
91
  setTitle('event.tickets.payment_success.unpaid');
@@ -1 +1 @@
1
- {"version":3,"file":"PaymentSuccess.js","sources":["../../../src/form/PaymentSuccess.tsx"],"sourcesContent":["import { Iconify, Image, MotionContainer, varBounce } from '@components';\nimport { Box, Button, Card, Grid, LinearProgress, Link, Typography } from '@mui/material';\nimport React, { Dispatch, SetStateAction, useEffect, useState } from 'react';\nimport { getSearchParamsInObject } from '@utils/url';\nimport { postOrderPaid } from '@modules/order';\nimport { m } from 'framer-motion';\nimport { GopayState } from '@utils/data/gopay';\nimport { PropsWithChildren } from '@utils/types/global.type';\nimport { IPaidTicket } from '@utils/types/ticket.type';\nimport useResponsive from '@hooks/useResponsive';\nimport { getPlaceAsString } from '@utils/place';\nimport { fCurrency, fData } from '@utils/formatNumber';\nimport { useTheme } from '@mui/material/styles';\nimport { IPaidProduct } from '@utils/types/product.type';\nimport dayjs from 'dayjs';\nimport useGlobal from '@hooks/useGlobal';\nimport { Trans } from '@components/Trans';\n\ninterface Props {\n setIsPaying: Dispatch<SetStateAction<boolean>>;\n isIframe?: boolean;\n}\n\nconst PaymentSuccess: React.FC<Props> = ({ setIsPaying, isIframe }) => {\n const { showSnackbar, t, lang, callbacks, content } = useGlobal();\n const theme = useTheme();\n const defaultState = 'PROCESSING';\n const errorState = 'ERROR';\n const [tickets, setTickets] = useState<IPaidTicket[]>([]);\n const [products, setProducts] = useState<IPaidProduct[]>([]);\n const [state, setState] = useState<string>(defaultState);\n const [title, setTitle] = useState<string>(t('event.tickets.payment_success.loading'));\n const [description, setDescription] = useState<string | null>(null);\n const [gwUrl, setGwUrl] = useState<string>('');\n const isMobile = useResponsive('down', 'sm');\n\n useEffect(() => {\n setIsPaying(false);\n checkStatus();\n }, []);\n\n const checkStatus = async () => {\n const searchParams = getSearchParamsInObject(window.location.search);\n const paymentId = searchParams.id;\n\n try {\n const { data } = await postOrderPaid({\n gopayId: Number(paymentId),\n });\n const tickets = data.tickets;\n setTickets(tickets);\n const products = data.products;\n setProducts(products);\n setState(data.state);\n setGwUrl(data.gwUrl);\n switch (data.state) {\n case GopayState.PAID:\n setTitle('event.tickets.payment_success.paid.title');\n break;\n default:\n setTitle('event.tickets.payment_success.unpaid');\n setDescription('event.tickets.payment_success.unpaid_description');\n break;\n }\n } catch (error: any) {\n setState(errorState);\n setTitle(error.message);\n showSnackbar(error.message, { variant: 'error' });\n }\n };\n\n return (\n <MotionContainer className=\"iframe__payment-success\">\n {state === GopayState.PAID ? (\n <Box>\n <Grid container spacing={3} mb={6}>\n <Grid display=\"flex\" item xs={12} sm={6} alignItems=\"center\">\n <m.div variants={varBounce().in}>\n <Typography\n variant=\"h5\"\n component=\"div\"\n color=\"primary.main\"\n mb={2}\n sx={{ textTransform: 'uppercase' }}\n >\n <Trans\n text={\n content?.paymentConfirmation?.status ||\n 'event.tickets.payment_success.paid.status'\n }\n />\n </Typography>\n <Typography variant=\"h1\" mb={4}>\n <Trans\n text={\n content?.paymentConfirmation?.title ||\n 'event.tickets.payment_success.paid.title'\n }\n />\n </Typography>\n <Typography\n variant=\"subtitle1\"\n component=\"div\"\n color=\"text.secondary\"\n sx={{ maxWidth: 450 }}\n >\n <Trans\n text={\n content?.paymentConfirmation?.subtitle ||\n 'event.tickets.payment_success.paid.subtitle'\n }\n />\n </Typography>\n </m.div>\n </Grid>\n {!isMobile && (\n <Grid item xs={12} sm={6} display=\"flex\" justifyContent=\"center\">\n <m.div variants={varBounce().in}>\n {content?.paymentConfirmation?.image ? (\n <Image\n src={content.paymentConfirmation.image.src}\n width=\"100%\"\n maxWidth={content.paymentConfirmation.image.maxWidth}\n />\n ) : (\n <Image\n src=\"https://eventigo.s3-central.vshosting.cloud/production/payment_success.png\"\n alt=\"Payment success\"\n maxWidth={400}\n />\n )}\n </m.div>\n </Grid>\n )}\n </Grid>\n {tickets.length > 0 && (\n <>\n <m.div variants={varBounce().in}>\n <Typography variant=\"h2\" textAlign=\"center\" mb={4}>\n {t('event.tickets.payment_success.paid.tickets')}\n </Typography>\n </m.div>\n <Grid container justifyContent=\"center\" spacing={5} mb={6}>\n {tickets.map((item, index) => (\n <Grid key={index} item xs={12} sm={6} textAlign=\"center\">\n <m.div variants={varBounce().in}>\n <Card sx={{ px: 2, py: 4 }}>\n <Box\n component=\"div\"\n display=\"inline-block\"\n sx={{\n width: 28,\n height: 28,\n borderRadius: '50%',\n backgroundColor: 'primary.main',\n color: 'grey.0',\n fontWeight: 700,\n }}\n mb={2}\n >\n {index + 1}\n </Box>\n <Typography variant=\"h3\">{item.eventName}</Typography>\n <Typography variant=\"h6\" mb={2}>\n {getPlaceAsString(item.location)}\n </Typography>\n <Typography variant=\"h3\">{item.releaseCategoryName}</Typography>\n {item.firstName && item.lastName && (\n <Typography variant=\"h5\">{`${item.firstName} ${item.lastName}`}</Typography>\n )}\n <Typography variant=\"h5\" mb={3}>\n {fCurrency(item.price, lang, item.currency)}\n </Typography>\n {item.eventTimeslot && (\n <Typography variant=\"h5\">\n {dayjs(item.eventTimeslot.startDate).format('DD.MM.YYYY HH:mm')}\n </Typography>\n )}\n <Image\n src={item.qrUrl}\n alt=\"QR Code\"\n maxWidth={200}\n border={`3px solid ${theme.palette.grey['800']}`}\n mb={2}\n />\n {item.pdfUrl && (\n <Button\n href={item.pdfUrl}\n target=\"_blank\"\n variant=\"contained\"\n sx={{ mb: 2 }}\n >\n {t('event.tickets.payment_success.paid.button')}\n </Button>\n )}\n {item.applePassWalletUrl && (\n <Link href={item.applePassWalletUrl} target=\"_blank\" display=\"block\">\n <Box sx={{ maxWidth: 180, mx: 'auto', mb: 2 }}>\n <Image\n src={`https://eventigo.s3-central.vshosting.cloud/production/apple-wallet/${lang}.png`}\n alt={t('apple_wallet')}\n objectFit=\"contain\"\n sx={{ height: 47 }}\n />\n </Box>\n </Link>\n )}\n {item.googlePassWalletUrl && (\n <Link href={item.googlePassWalletUrl} target=\"_blank\" display=\"block\">\n <Box sx={{ maxWidth: 180, mx: 'auto', mb: 2 }}>\n <Image\n src={`https://eventigo.s3-central.vshosting.cloud/production/google-wallet/${lang}.png`}\n alt={t('google_wallet')}\n objectFit=\"contain\"\n sx={{ height: 47 }}\n />\n </Box>\n </Link>\n )}\n <Box\n maxWidth={300}\n mx=\"auto\"\n px={2}\n borderRadius={1}\n color=\"grey.0\"\n sx={{\n fontWeight: 700,\n backgroundColor: 'primary.main',\n }}\n className=\"iframe__payment-success__ticket\"\n >\n {item.number}\n </Box>\n </Card>\n </m.div>\n </Grid>\n ))}\n </Grid>\n </>\n )}\n {products.length > 0 && (\n <>\n <m.div variants={varBounce().in}>\n <Typography variant=\"h2\" textAlign=\"center\" mb={4}>\n {t('event.tickets.payment_success.paid.products')}\n </Typography>\n </m.div>\n <Grid container justifyContent=\"center\" spacing={5} mb={6}>\n {products.map((item, index) => (\n <Grid key={index} item xs={12} sm={6} md={4} textAlign=\"center\">\n <m.div variants={varBounce().in}>\n <Card sx={{ px: 2, py: 4 }}>\n <Box\n component=\"div\"\n display=\"inline-block\"\n sx={{\n width: 28,\n height: 28,\n borderRadius: '50%',\n backgroundColor: 'primary.main',\n color: 'grey.0',\n fontWeight: 700,\n }}\n mb={2}\n >\n {index + 1}\n </Box>\n <Typography variant=\"h3\">{item.name}</Typography>\n <Typography variant=\"h6\" mb={2}>\n {item.variantName}\n </Typography>\n <Typography variant=\"h5\" mb={3}>\n {fCurrency(item.price, lang, item.currency)}\n </Typography>\n <Image\n src={item.imageUrl}\n alt=\"Product preview\"\n maxWidth={200}\n mb={2}\n borderRadius={2}\n />\n </Card>\n </m.div>\n </Grid>\n ))}\n </Grid>\n </>\n )}\n {!isIframe && (\n <Box textAlign=\"center\">\n <CustomButton\n onClick={callbacks.homepage}\n startIcon={<Iconify icon=\"eva:home-fill\" />}\n >\n {t('go_home')}\n </CustomButton>\n </Box>\n )}\n </Box>\n ) : (\n <Box sx={{ textAlign: 'center', py: 4 }}>\n <m.div variants={varBounce().in}>\n <Typography variant=\"h4\" sx={{ mb: 2, maxWidth: 600, mx: 'auto' }}>\n <Trans\n text={title}\n components={{\n br: <br key=\"br\" />,\n }}\n />\n </Typography>\n {description && (\n <Typography variant=\"body1\" sx={{ mb: 2, maxWidth: 600, mx: 'auto' }}>\n <Trans\n text={description}\n components={{\n br: <br key=\"br\" />,\n }}\n />\n </Typography>\n )}\n </m.div>\n {state === errorState ? (\n <>\n <m.div variants={varBounce().in}>\n <Iconify\n icon=\"eva:close-circle-fill\"\n sx={{\n color: 'error.main',\n width: (theme) => theme.spacing(20),\n height: (theme) => theme.spacing(20),\n }}\n />\n </m.div>\n {!isIframe && (\n <Button\n onClick={callbacks.tickets}\n startIcon={<Iconify icon=\"eva:arrow-back-fill\" />}\n >\n {t('back_to_tickets')}\n </Button>\n )}\n </>\n ) : state !== defaultState ? (\n <>\n <m.div variants={varBounce().in}>\n <Iconify\n icon=\"eva:alert-triangle-fill\"\n sx={{\n color: 'warning.main',\n width: (theme) => theme.spacing(20),\n height: (theme) => theme.spacing(20),\n }}\n />\n </m.div>\n {!isIframe && (\n <CustomButton url={gwUrl} endIcon={<Iconify icon=\"eva:external-link-outline\" />}>\n {t('pay')}\n </CustomButton>\n )}\n </>\n ) : (\n <LinearProgress sx={{ width: 1, maxWidth: 320, mx: 'auto' }} />\n )}\n </Box>\n )}\n </MotionContainer>\n );\n};\n\ninterface ButtonProps {\n onClick?: () => void;\n url?: string;\n startIcon?: React.ReactNode;\n endIcon?: React.ReactNode;\n}\n\nconst CustomButton: React.FC<PropsWithChildren<ButtonProps>> = ({\n onClick,\n url,\n children,\n startIcon,\n endIcon,\n}) => (\n <Button\n onClick={onClick}\n href={url}\n size=\"large\"\n color=\"primary\"\n variant=\"contained\"\n startIcon={startIcon}\n endIcon={endIcon}\n sx={{\n mt: 2,\n }}\n >\n {children}\n </Button>\n);\n\nexport default PaymentSuccess;\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAuBA,MAAM,cAAc,GAAoB,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAI;AACpE,IAAA,MAAM,EAAE,YAAY,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,SAAS,EAAE;AACjE,IAAA,MAAM,KAAK,GAAG,QAAQ,EAAE;IACxB,MAAM,YAAY,GAAG,YAAY;IACjC,MAAM,UAAU,GAAG,OAAO;IAC1B,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAgB,EAAE,CAAC;IACzD,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAiB,EAAE,CAAC;IAC5D,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAS,YAAY,CAAC;AACxD,IAAA,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAS,CAAC,CAAC,uCAAuC,CAAC,CAAC;IACtF,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC;IACnE,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAS,EAAE,CAAC;IAC9C,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC;IAE5C,SAAS,CAAC,MAAK;QACb,WAAW,CAAC,KAAK,CAAC;AAClB,QAAA,WAAW,EAAE;KACd,EAAE,EAAE,CAAC;AAEN,IAAA,MAAM,WAAW,GAAG,YAAW;QAC7B,MAAM,YAAY,GAAG,uBAAuB,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;AACpE,QAAA,MAAM,SAAS,GAAG,YAAY,CAAC,EAAE;AAEjC,QAAA,IAAI;AACF,YAAA,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,aAAa,CAAC;AACnC,gBAAA,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC;AAC3B,aAAA,CAAC;AACF,YAAA,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO;YAC5B,UAAU,CAAC,OAAO,CAAC;AACnB,YAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ;YAC9B,WAAW,CAAC,QAAQ,CAAC;AACrB,YAAA,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;AACpB,YAAA,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;AACpB,YAAA,QAAQ,IAAI,CAAC,KAAK;gBAChB,KAAK,UAAU,CAAC,IAAI;oBAClB,QAAQ,CAAC,0CAA0C,CAAC;oBACpD;AACF,gBAAA;oBACE,QAAQ,CAAC,sCAAsC,CAAC;oBAChD,cAAc,CAAC,kDAAkD,CAAC;oBAClE;;;QAEJ,OAAO,KAAU,EAAE;YACnB,QAAQ,CAAC,UAAU,CAAC;AACpB,YAAA,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC;YACvB,YAAY,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;;AAErD,KAAC;AAED,IAAA,QACE,KAAA,CAAA,aAAA,CAAC,eAAe,IAAC,SAAS,EAAC,yBAAyB,EAAA,EACjD,KAAK,KAAK,UAAU,CAAC,IAAI,IACxB,oBAAC,GAAG,EAAA,IAAA;QACF,KAAA,CAAA,aAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAA,IAAA,EAAC,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAA;AAC/B,YAAA,KAAA,CAAA,aAAA,CAAC,IAAI,EAAA,EAAC,OAAO,EAAC,MAAM,EAAC,IAAI,EAAA,IAAA,EAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,UAAU,EAAC,QAAQ,EAAA;gBAC1D,KAAA,CAAA,aAAA,CAAC,CAAC,CAAC,GAAG,EAAA,EAAC,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE,EAAA;oBAC7B,KAAA,CAAA,aAAA,CAAC,UAAU,EAAA,EACT,OAAO,EAAC,IAAI,EACZ,SAAS,EAAC,KAAK,EACf,KAAK,EAAC,cAAc,EACpB,EAAE,EAAE,CAAC,EACL,EAAE,EAAE,EAAE,aAAa,EAAE,WAAW,EAAE,EAAA;wBAElC,KAAA,CAAA,aAAA,CAAC,KAAK,IACJ,IAAI,EACF,OAAO,EAAE,mBAAmB,EAAE,MAAM;AACpC,gCAAA,2CAA2C,GAE7C,CACS;oBACb,KAAA,CAAA,aAAA,CAAC,UAAU,IAAC,OAAO,EAAC,IAAI,EAAC,EAAE,EAAE,CAAC,EAAA;wBAC5B,KAAA,CAAA,aAAA,CAAC,KAAK,IACJ,IAAI,EACF,OAAO,EAAE,mBAAmB,EAAE,KAAK;AACnC,gCAAA,0CAA0C,GAE5C,CACS;oBACb,KAAA,CAAA,aAAA,CAAC,UAAU,IACT,OAAO,EAAC,WAAW,EACnB,SAAS,EAAC,KAAK,EACf,KAAK,EAAC,gBAAgB,EACtB,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAA;wBAErB,KAAA,CAAA,aAAA,CAAC,KAAK,IACJ,IAAI,EACF,OAAO,EAAE,mBAAmB,EAAE,QAAQ;gCACtC,6CAA6C,EAAA,CAE/C,CACS,CACP,CACH;YACN,CAAC,QAAQ,KACR,KAAA,CAAA,aAAA,CAAC,IAAI,EAAA,EAAC,IAAI,EAAA,IAAA,EAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,OAAO,EAAC,MAAM,EAAC,cAAc,EAAC,QAAQ,EAAA;AAC9D,gBAAA,KAAA,CAAA,aAAA,CAAC,CAAC,CAAC,GAAG,EAAA,EAAC,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE,EAAA,EAC5B,OAAO,EAAE,mBAAmB,EAAE,KAAK,IAClC,KAAA,CAAA,aAAA,CAAC,KAAK,IACJ,GAAG,EAAE,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,EAC1C,KAAK,EAAC,MAAM,EACZ,QAAQ,EAAE,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC,QAAQ,GACpD,KAEF,KAAA,CAAA,aAAA,CAAC,KAAK,EAAA,EACJ,GAAG,EAAC,4EAA4E,EAChF,GAAG,EAAC,iBAAiB,EACrB,QAAQ,EAAE,GAAG,EAAA,CACb,CACH,CACK,CACH,CACR,CACI;AACN,QAAA,OAAO,CAAC,MAAM,GAAG,CAAC,KACjB,KAAA,CAAA,aAAA,CAAA,KAAA,CAAA,QAAA,EAAA,IAAA;YACE,KAAA,CAAA,aAAA,CAAC,CAAC,CAAC,GAAG,EAAA,EAAC,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE,EAAA;AAC7B,gBAAA,KAAA,CAAA,aAAA,CAAC,UAAU,EAAA,EAAC,OAAO,EAAC,IAAI,EAAC,SAAS,EAAC,QAAQ,EAAC,EAAE,EAAE,CAAC,EAAA,EAC9C,CAAC,CAAC,4CAA4C,CAAC,CACrC,CACP;YACR,KAAA,CAAA,aAAA,CAAC,IAAI,IAAC,SAAS,EAAA,IAAA,EAAC,cAAc,EAAC,QAAQ,EAAC,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAA,EACtD,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,MACvB,KAAA,CAAA,aAAA,CAAC,IAAI,EAAA,EAAC,GAAG,EAAE,KAAK,EAAE,IAAI,QAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,SAAS,EAAC,QAAQ,EAAA;gBACtD,KAAA,CAAA,aAAA,CAAC,CAAC,CAAC,GAAG,EAAA,EAAC,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE,EAAA;AAC7B,oBAAA,KAAA,CAAA,aAAA,CAAC,IAAI,EAAA,EAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAA;wBACxB,KAAA,CAAA,aAAA,CAAC,GAAG,EAAA,EACF,SAAS,EAAC,KAAK,EACf,OAAO,EAAC,cAAc,EACtB,EAAE,EAAE;AACF,gCAAA,KAAK,EAAE,EAAE;AACT,gCAAA,MAAM,EAAE,EAAE;AACV,gCAAA,YAAY,EAAE,KAAK;AACnB,gCAAA,eAAe,EAAE,cAAc;AAC/B,gCAAA,KAAK,EAAE,QAAQ;AACf,gCAAA,UAAU,EAAE,GAAG;AAChB,6BAAA,EACD,EAAE,EAAE,CAAC,IAEJ,KAAK,GAAG,CAAC,CACN;wBACN,KAAA,CAAA,aAAA,CAAC,UAAU,IAAC,OAAO,EAAC,IAAI,EAAA,EAAE,IAAI,CAAC,SAAS,CAAc;AACtD,wBAAA,KAAA,CAAA,aAAA,CAAC,UAAU,EAAA,EAAC,OAAO,EAAC,IAAI,EAAC,EAAE,EAAE,CAAC,EAAA,EAC3B,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CACrB;wBACb,KAAA,CAAA,aAAA,CAAC,UAAU,IAAC,OAAO,EAAC,IAAI,EAAA,EAAE,IAAI,CAAC,mBAAmB,CAAc;wBAC/D,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,QAAQ,KAC9B,KAAA,CAAA,aAAA,CAAC,UAAU,EAAA,EAAC,OAAO,EAAC,IAAI,EAAA,EAAE,CAAA,EAAG,IAAI,CAAC,SAAS,CAAA,CAAA,EAAI,IAAI,CAAC,QAAQ,CAAA,CAAE,CAAc,CAC7E;wBACD,KAAA,CAAA,aAAA,CAAC,UAAU,IAAC,OAAO,EAAC,IAAI,EAAC,EAAE,EAAE,CAAC,EAAA,EAC3B,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAChC;wBACZ,IAAI,CAAC,aAAa,KACjB,KAAA,CAAA,aAAA,CAAC,UAAU,EAAA,EAAC,OAAO,EAAC,IAAI,EAAA,EACrB,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,CACpD,CACd;AACD,wBAAA,KAAA,CAAA,aAAA,CAAC,KAAK,EAAA,EACJ,GAAG,EAAE,IAAI,CAAC,KAAK,EACf,GAAG,EAAC,SAAS,EACb,QAAQ,EAAE,GAAG,EACb,MAAM,EAAE,CAAA,UAAA,EAAa,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA,CAAE,EAChD,EAAE,EAAE,CAAC,EAAA,CACL;AACD,wBAAA,IAAI,CAAC,MAAM,KACV,oBAAC,MAAM,EAAA,EACL,IAAI,EAAE,IAAI,CAAC,MAAM,EACjB,MAAM,EAAC,QAAQ,EACf,OAAO,EAAC,WAAW,EACnB,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,IAEZ,CAAC,CAAC,2CAA2C,CAAC,CACxC,CACV;AACA,wBAAA,IAAI,CAAC,kBAAkB,KACtB,KAAA,CAAA,aAAA,CAAC,IAAI,IAAC,IAAI,EAAE,IAAI,CAAC,kBAAkB,EAAE,MAAM,EAAC,QAAQ,EAAC,OAAO,EAAC,OAAO,EAAA;AAClE,4BAAA,KAAA,CAAA,aAAA,CAAC,GAAG,EAAA,EAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,EAAE,EAAA;AAC3C,gCAAA,KAAA,CAAA,aAAA,CAAC,KAAK,EAAA,EACJ,GAAG,EAAE,CAAA,oEAAA,EAAuE,IAAI,CAAA,IAAA,CAAM,EACtF,GAAG,EAAE,CAAC,CAAC,cAAc,CAAC,EACtB,SAAS,EAAC,SAAS,EACnB,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAA,CAClB,CACE,CACD,CACR;AACA,wBAAA,IAAI,CAAC,mBAAmB,KACvB,KAAA,CAAA,aAAA,CAAC,IAAI,IAAC,IAAI,EAAE,IAAI,CAAC,mBAAmB,EAAE,MAAM,EAAC,QAAQ,EAAC,OAAO,EAAC,OAAO,EAAA;AACnE,4BAAA,KAAA,CAAA,aAAA,CAAC,GAAG,EAAA,EAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,EAAE,EAAA;AAC3C,gCAAA,KAAA,CAAA,aAAA,CAAC,KAAK,EAAA,EACJ,GAAG,EAAE,CAAA,qEAAA,EAAwE,IAAI,CAAA,IAAA,CAAM,EACvF,GAAG,EAAE,CAAC,CAAC,eAAe,CAAC,EACvB,SAAS,EAAC,SAAS,EACnB,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAA,CAClB,CACE,CACD,CACR;wBACD,KAAA,CAAA,aAAA,CAAC,GAAG,IACF,QAAQ,EAAE,GAAG,EACb,EAAE,EAAC,MAAM,EACT,EAAE,EAAE,CAAC,EACL,YAAY,EAAE,CAAC,EACf,KAAK,EAAC,QAAQ,EACd,EAAE,EAAE;AACF,gCAAA,UAAU,EAAE,GAAG;AACf,gCAAA,eAAe,EAAE,cAAc;AAChC,6BAAA,EACD,SAAS,EAAC,iCAAiC,EAAA,EAE1C,IAAI,CAAC,MAAM,CACR,CACD,CACD,CACH,CACR,CAAC,CACG,CACN,CACJ;AACA,QAAA,QAAQ,CAAC,MAAM,GAAG,CAAC,KAClB,KAAA,CAAA,aAAA,CAAA,KAAA,CAAA,QAAA,EAAA,IAAA;YACE,KAAA,CAAA,aAAA,CAAC,CAAC,CAAC,GAAG,EAAA,EAAC,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE,EAAA;AAC7B,gBAAA,KAAA,CAAA,aAAA,CAAC,UAAU,EAAA,EAAC,OAAO,EAAC,IAAI,EAAC,SAAS,EAAC,QAAQ,EAAC,EAAE,EAAE,CAAC,EAAA,EAC9C,CAAC,CAAC,6CAA6C,CAAC,CACtC,CACP;YACR,KAAA,CAAA,aAAA,CAAC,IAAI,IAAC,SAAS,EAAA,IAAA,EAAC,cAAc,EAAC,QAAQ,EAAC,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAA,EACtD,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,MACxB,KAAA,CAAA,aAAA,CAAC,IAAI,EAAA,EAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAA,IAAA,EAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,SAAS,EAAC,QAAQ,EAAA;gBAC7D,KAAA,CAAA,aAAA,CAAC,CAAC,CAAC,GAAG,EAAA,EAAC,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE,EAAA;AAC7B,oBAAA,KAAA,CAAA,aAAA,CAAC,IAAI,EAAA,EAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAA;wBACxB,KAAA,CAAA,aAAA,CAAC,GAAG,EAAA,EACF,SAAS,EAAC,KAAK,EACf,OAAO,EAAC,cAAc,EACtB,EAAE,EAAE;AACF,gCAAA,KAAK,EAAE,EAAE;AACT,gCAAA,MAAM,EAAE,EAAE;AACV,gCAAA,YAAY,EAAE,KAAK;AACnB,gCAAA,eAAe,EAAE,cAAc;AAC/B,gCAAA,KAAK,EAAE,QAAQ;AACf,gCAAA,UAAU,EAAE,GAAG;AAChB,6BAAA,EACD,EAAE,EAAE,CAAC,IAEJ,KAAK,GAAG,CAAC,CACN;wBACN,KAAA,CAAA,aAAA,CAAC,UAAU,IAAC,OAAO,EAAC,IAAI,EAAA,EAAE,IAAI,CAAC,IAAI,CAAc;AACjD,wBAAA,KAAA,CAAA,aAAA,CAAC,UAAU,EAAA,EAAC,OAAO,EAAC,IAAI,EAAC,EAAE,EAAE,CAAC,EAAA,EAC3B,IAAI,CAAC,WAAW,CACN;wBACb,KAAA,CAAA,aAAA,CAAC,UAAU,IAAC,OAAO,EAAC,IAAI,EAAC,EAAE,EAAE,CAAC,EAAA,EAC3B,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAChC;AACb,wBAAA,KAAA,CAAA,aAAA,CAAC,KAAK,EAAA,EACJ,GAAG,EAAE,IAAI,CAAC,QAAQ,EAClB,GAAG,EAAC,iBAAiB,EACrB,QAAQ,EAAE,GAAG,EACb,EAAE,EAAE,CAAC,EACL,YAAY,EAAE,CAAC,EAAA,CACf,CACG,CACD,CACH,CACR,CAAC,CACG,CACN,CACJ;QACA,CAAC,QAAQ,KACR,KAAA,CAAA,aAAA,CAAC,GAAG,EAAA,EAAC,SAAS,EAAC,QAAQ,EAAA;YACrB,KAAA,CAAA,aAAA,CAAC,YAAY,IACX,OAAO,EAAE,SAAS,CAAC,QAAQ,EAC3B,SAAS,EAAE,oBAAC,OAAO,EAAA,EAAC,IAAI,EAAC,eAAe,GAAG,EAAA,EAE1C,CAAC,CAAC,SAAS,CAAC,CACA,CACX,CACP,CACG,KAEN,oBAAC,GAAG,EAAA,EAAC,EAAE,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,EAAE,EAAA;QACrC,KAAA,CAAA,aAAA,CAAC,CAAC,CAAC,GAAG,EAAA,EAAC,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE,EAAA;YAC7B,KAAA,CAAA,aAAA,CAAC,UAAU,IAAC,OAAO,EAAC,IAAI,EAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,EAAA;AAC/D,gBAAA,KAAA,CAAA,aAAA,CAAC,KAAK,EAAA,EACJ,IAAI,EAAE,KAAK,EACX,UAAU,EAAE;AACV,wBAAA,EAAE,EAAE,KAAA,CAAA,aAAA,CAAA,IAAA,EAAA,EAAI,GAAG,EAAC,IAAI,EAAA,CAAG;AACpB,qBAAA,EAAA,CACD,CACS;YACZ,WAAW,KACV,KAAA,CAAA,aAAA,CAAC,UAAU,IAAC,OAAO,EAAC,OAAO,EAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,EAAA;AAClE,gBAAA,KAAA,CAAA,aAAA,CAAC,KAAK,EAAA,EACJ,IAAI,EAAE,WAAW,EACjB,UAAU,EAAE;AACV,wBAAA,EAAE,EAAE,KAAA,CAAA,aAAA,CAAA,IAAA,EAAA,EAAI,GAAG,EAAC,IAAI,EAAA,CAAG;qBACpB,EAAA,CACD,CACS,CACd,CACK;AACP,QAAA,KAAK,KAAK,UAAU,IACnB,KAAA,CAAA,aAAA,CAAA,KAAA,CAAA,QAAA,EAAA,IAAA;YACE,KAAA,CAAA,aAAA,CAAC,CAAC,CAAC,GAAG,EAAA,EAAC,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE,EAAA;AAC7B,gBAAA,KAAA,CAAA,aAAA,CAAC,OAAO,EAAA,EACN,IAAI,EAAC,uBAAuB,EAC5B,EAAE,EAAE;AACF,wBAAA,KAAK,EAAE,YAAY;wBACnB,KAAK,EAAE,CAAC,KAAK,KAAK,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;wBACnC,MAAM,EAAE,CAAC,KAAK,KAAK,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;AACrC,qBAAA,EAAA,CACD,CACI;AACP,YAAA,CAAC,QAAQ,KACR,KAAA,CAAA,aAAA,CAAC,MAAM,IACL,OAAO,EAAE,SAAS,CAAC,OAAO,EAC1B,SAAS,EAAE,KAAA,CAAA,aAAA,CAAC,OAAO,IAAC,IAAI,EAAC,qBAAqB,EAAA,CAAG,IAEhD,CAAC,CAAC,iBAAiB,CAAC,CACd,CACV,CACA,IACD,KAAK,KAAK,YAAY,IACxB,KAAA,CAAA,aAAA,CAAA,KAAA,CAAA,QAAA,EAAA,IAAA;YACE,KAAA,CAAA,aAAA,CAAC,CAAC,CAAC,GAAG,EAAA,EAAC,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE,EAAA;AAC7B,gBAAA,KAAA,CAAA,aAAA,CAAC,OAAO,EAAA,EACN,IAAI,EAAC,yBAAyB,EAC9B,EAAE,EAAE;AACF,wBAAA,KAAK,EAAE,cAAc;wBACrB,KAAK,EAAE,CAAC,KAAK,KAAK,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;wBACnC,MAAM,EAAE,CAAC,KAAK,KAAK,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;AACrC,qBAAA,EAAA,CACD,CACI;YACP,CAAC,QAAQ,KACR,KAAA,CAAA,aAAA,CAAC,YAAY,EAAA,EAAC,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,KAAA,CAAA,aAAA,CAAC,OAAO,EAAA,EAAC,IAAI,EAAC,2BAA2B,EAAA,CAAG,EAAA,EAC5E,CAAC,CAAC,KAAK,CAAC,CACI,CAChB,CACA,KAEH,KAAA,CAAA,aAAA,CAAC,cAAc,EAAA,EAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,EAAA,CAAI,CAChE,CACG,CACP,CACe;AAEtB;AASA,MAAM,YAAY,GAA6C,CAAC,EAC9D,OAAO,EACP,GAAG,EACH,QAAQ,EACR,SAAS,EACT,OAAO,GACR,MACC,oBAAC,MAAM,EAAA,EACL,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,GAAG,EACT,IAAI,EAAC,OAAO,EACZ,KAAK,EAAC,SAAS,EACf,OAAO,EAAC,WAAW,EACnB,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,OAAO,EAChB,EAAE,EAAE;AACF,QAAA,EAAE,EAAE,CAAC;KACN,EAAA,EAEA,QAAQ,CACF,CACV;;;;"}
1
+ {"version":3,"file":"PaymentSuccess.js","sources":["../../../src/form/PaymentSuccess.tsx"],"sourcesContent":["import { Iconify, Image, MotionContainer, varBounce } from '@components';\nimport { Box, Button, Card, Grid, LinearProgress, Link, Typography } from '@mui/material';\nimport React, { Dispatch, SetStateAction, useEffect, useState } from 'react';\nimport { getSearchParamsInObject } from '@utils/url';\nimport { postOrderPaid } from '@modules/order';\nimport { m } from 'framer-motion';\nimport { GopayState } from '@utils/data/gopay';\nimport { PropsWithChildren } from '@utils/types/global.type';\nimport { IPaidTicket } from '@utils/types/ticket.type';\nimport useResponsive from '@hooks/useResponsive';\nimport { getPlaceAsString } from '@utils/place';\nimport { fCurrency } from '@utils/formatNumber';\nimport { useTheme } from '@mui/material/styles';\nimport { IPaidProduct } from '@utils/types/product.type';\nimport dayjs from 'dayjs';\nimport useGlobal from '@hooks/useGlobal';\nimport { Trans } from '@components/Trans';\nimport { getGtmPurchasePaid, gtmPurchasePaid, mapUserToUserData } from '@utils/gtm.ts';\nimport { IPixels } from '@utils/types/gtm.type.ts';\n\ninterface Props {\n setIsPaying: Dispatch<SetStateAction<boolean>>;\n isIframe?: boolean;\n pixels?: IPixels;\n}\n\nconst PaymentSuccess: React.FC<Props> = ({ setIsPaying, isIframe, pixels }) => {\n const { showSnackbar, t, lang, callbacks, content, user } = useGlobal();\n const theme = useTheme();\n const defaultState = 'PROCESSING';\n const errorState = 'ERROR';\n const [tickets, setTickets] = useState<IPaidTicket[]>([]);\n const [products, setProducts] = useState<IPaidProduct[]>([]);\n const [state, setState] = useState<string>(defaultState);\n const [title, setTitle] = useState<string>(t('event.tickets.payment_success.loading'));\n const [description, setDescription] = useState<string | null>(null);\n const [gwUrl, setGwUrl] = useState<string>('');\n const isMobile = useResponsive('down', 'sm');\n\n useEffect(() => {\n setIsPaying(false);\n checkStatus();\n }, []);\n\n const checkStatus = async () => {\n const searchParams = getSearchParamsInObject(window.location.search);\n const paymentId = searchParams.id;\n\n try {\n const { data } = await postOrderPaid({\n gopayId: Number(paymentId),\n });\n const tickets = data.tickets;\n setTickets(tickets);\n const products = data.products;\n setProducts(products);\n setState(data.state);\n setGwUrl(data.gwUrl);\n\n const items = [\n ...data.tickets.map((ticket) => ({\n item_id: ticket.number,\n item_name: `${ticket.eventName} - ${ticket.releaseCategoryName} - ${ticket.releaseName}`,\n price: ticket.price,\n quantity: 1,\n })),\n ];\n if (data.extraFee) {\n items.push({\n item_id: 'service_fee',\n item_name: `Service fee`,\n price: data.extraFee,\n quantity: 1,\n });\n }\n const item = {\n currency: data.currency,\n value: data.totalPrice,\n tax: 0,\n payment_type: data.paymentType,\n transaction_id: String(data.orderNumber),\n coupon: data?.promoCodes?.map((p) => p.code) || [],\n items,\n };\n\n switch (data.state) {\n case GopayState.PAID:\n setTitle('event.tickets.payment_success.paid.title');\n if (isIframe) {\n setTimeout(() => {\n parent.postMessage(\n {\n type: 'eventlookFrameGtm',\n item: getGtmPurchasePaid(item, pixels),\n },\n '*'\n );\n }, 1000);\n } else {\n gtmPurchasePaid(item, pixels, user ? mapUserToUserData(user) : undefined);\n }\n break;\n default:\n setTitle('event.tickets.payment_success.unpaid');\n setDescription('event.tickets.payment_success.unpaid_description');\n break;\n }\n } catch (error: any) {\n setState(errorState);\n setTitle(error.message);\n showSnackbar(error.message, { variant: 'error' });\n }\n };\n\n return (\n <MotionContainer className=\"iframe__payment-success\">\n {state === GopayState.PAID ? (\n <Box>\n <Grid container spacing={3} mb={6}>\n <Grid display=\"flex\" item xs={12} sm={6} alignItems=\"center\">\n <m.div variants={varBounce().in}>\n <Typography\n variant=\"h5\"\n component=\"div\"\n color=\"primary.main\"\n mb={2}\n sx={{ textTransform: 'uppercase' }}\n >\n <Trans\n text={\n content?.paymentConfirmation?.status ||\n 'event.tickets.payment_success.paid.status'\n }\n />\n </Typography>\n <Typography variant=\"h1\" mb={4}>\n <Trans\n text={\n content?.paymentConfirmation?.title ||\n 'event.tickets.payment_success.paid.title'\n }\n />\n </Typography>\n <Typography\n variant=\"subtitle1\"\n component=\"div\"\n color=\"text.secondary\"\n sx={{ maxWidth: 450 }}\n >\n <Trans\n text={\n content?.paymentConfirmation?.subtitle ||\n 'event.tickets.payment_success.paid.subtitle'\n }\n />\n </Typography>\n </m.div>\n </Grid>\n {!isMobile && (\n <Grid item xs={12} sm={6} display=\"flex\" justifyContent=\"center\">\n <m.div variants={varBounce().in}>\n {content?.paymentConfirmation?.image ? (\n <Image\n src={content.paymentConfirmation.image.src}\n width=\"100%\"\n maxWidth={content.paymentConfirmation.image.maxWidth}\n />\n ) : (\n <Image\n src=\"https://eventigo.s3-central.vshosting.cloud/production/payment_success.png\"\n alt=\"Payment success\"\n maxWidth={400}\n />\n )}\n </m.div>\n </Grid>\n )}\n </Grid>\n {tickets.length > 0 && (\n <>\n <m.div variants={varBounce().in}>\n <Typography variant=\"h2\" textAlign=\"center\" mb={4}>\n {t('event.tickets.payment_success.paid.tickets')}\n </Typography>\n </m.div>\n <Grid container justifyContent=\"center\" spacing={5} mb={6}>\n {tickets.map((item, index) => (\n <Grid key={index} item xs={12} sm={6} textAlign=\"center\">\n <m.div variants={varBounce().in}>\n <Card sx={{ px: 2, py: 4 }}>\n <Box\n component=\"div\"\n display=\"inline-block\"\n sx={{\n width: 28,\n height: 28,\n borderRadius: '50%',\n backgroundColor: 'primary.main',\n color: 'grey.0',\n fontWeight: 700,\n }}\n mb={2}\n >\n {index + 1}\n </Box>\n <Typography variant=\"h3\">{item.eventName}</Typography>\n <Typography variant=\"h6\" mb={2}>\n {getPlaceAsString(item.location)}\n </Typography>\n <Typography variant=\"h3\">{item.releaseCategoryName}</Typography>\n {item.firstName && item.lastName && (\n <Typography variant=\"h5\">{`${item.firstName} ${item.lastName}`}</Typography>\n )}\n <Typography variant=\"h5\" mb={3}>\n {fCurrency(item.price, lang, item.currency)}\n </Typography>\n {item.eventTimeslot && (\n <Typography variant=\"h5\">\n {dayjs(item.eventTimeslot.startDate).format('DD.MM.YYYY HH:mm')}\n </Typography>\n )}\n <Image\n src={item.qrUrl}\n alt=\"QR Code\"\n maxWidth={200}\n border={`3px solid ${theme.palette.grey['800']}`}\n mb={2}\n />\n {item.pdfUrl && (\n <Button\n href={item.pdfUrl}\n target=\"_blank\"\n variant=\"contained\"\n sx={{ mb: 2 }}\n >\n {t('event.tickets.payment_success.paid.button')}\n </Button>\n )}\n {item.applePassWalletUrl && (\n <Link href={item.applePassWalletUrl} target=\"_blank\" display=\"block\">\n <Box sx={{ maxWidth: 180, mx: 'auto', mb: 2 }}>\n <Image\n src={`https://eventigo.s3-central.vshosting.cloud/production/apple-wallet/${lang}.png`}\n alt={t('apple_wallet')}\n objectFit=\"contain\"\n sx={{ height: 47 }}\n />\n </Box>\n </Link>\n )}\n {item.googlePassWalletUrl && (\n <Link href={item.googlePassWalletUrl} target=\"_blank\" display=\"block\">\n <Box sx={{ maxWidth: 180, mx: 'auto', mb: 2 }}>\n <Image\n src={`https://eventigo.s3-central.vshosting.cloud/production/google-wallet/${lang}.png`}\n alt={t('google_wallet')}\n objectFit=\"contain\"\n sx={{ height: 47 }}\n />\n </Box>\n </Link>\n )}\n <Box\n maxWidth={300}\n mx=\"auto\"\n px={2}\n borderRadius={1}\n color=\"grey.0\"\n sx={{\n fontWeight: 700,\n backgroundColor: 'primary.main',\n }}\n className=\"iframe__payment-success__ticket\"\n >\n {item.number}\n </Box>\n </Card>\n </m.div>\n </Grid>\n ))}\n </Grid>\n </>\n )}\n {products.length > 0 && (\n <>\n <m.div variants={varBounce().in}>\n <Typography variant=\"h2\" textAlign=\"center\" mb={4}>\n {t('event.tickets.payment_success.paid.products')}\n </Typography>\n </m.div>\n <Grid container justifyContent=\"center\" spacing={5} mb={6}>\n {products.map((item, index) => (\n <Grid key={index} item xs={12} sm={6} md={4} textAlign=\"center\">\n <m.div variants={varBounce().in}>\n <Card sx={{ px: 2, py: 4 }}>\n <Box\n component=\"div\"\n display=\"inline-block\"\n sx={{\n width: 28,\n height: 28,\n borderRadius: '50%',\n backgroundColor: 'primary.main',\n color: 'grey.0',\n fontWeight: 700,\n }}\n mb={2}\n >\n {index + 1}\n </Box>\n <Typography variant=\"h3\">{item.name}</Typography>\n <Typography variant=\"h6\" mb={2}>\n {item.variantName}\n </Typography>\n <Typography variant=\"h5\" mb={3}>\n {fCurrency(item.price, lang, item.currency)}\n </Typography>\n <Image\n src={item.imageUrl}\n alt=\"Product preview\"\n maxWidth={200}\n mb={2}\n borderRadius={2}\n />\n </Card>\n </m.div>\n </Grid>\n ))}\n </Grid>\n </>\n )}\n {!isIframe && (\n <Box textAlign=\"center\">\n <CustomButton\n onClick={callbacks.homepage}\n startIcon={<Iconify icon=\"eva:home-fill\" />}\n >\n {t('go_home')}\n </CustomButton>\n </Box>\n )}\n </Box>\n ) : (\n <Box sx={{ textAlign: 'center', py: 4 }}>\n <m.div variants={varBounce().in}>\n <Typography variant=\"h4\" sx={{ mb: 2, maxWidth: 600, mx: 'auto' }}>\n <Trans\n text={title}\n components={{\n br: <br key=\"br\" />,\n }}\n />\n </Typography>\n {description && (\n <Typography variant=\"body1\" sx={{ mb: 2, maxWidth: 600, mx: 'auto' }}>\n <Trans\n text={description}\n components={{\n br: <br key=\"br\" />,\n }}\n />\n </Typography>\n )}\n </m.div>\n {state === errorState ? (\n <>\n <m.div variants={varBounce().in}>\n <Iconify\n icon=\"eva:close-circle-fill\"\n sx={{\n color: 'error.main',\n width: (theme) => theme.spacing(20),\n height: (theme) => theme.spacing(20),\n }}\n />\n </m.div>\n {!isIframe && (\n <Button\n onClick={callbacks.tickets}\n startIcon={<Iconify icon=\"eva:arrow-back-fill\" />}\n >\n {t('back_to_tickets')}\n </Button>\n )}\n </>\n ) : state !== defaultState ? (\n <>\n <m.div variants={varBounce().in}>\n <Iconify\n icon=\"eva:alert-triangle-fill\"\n sx={{\n color: 'warning.main',\n width: (theme) => theme.spacing(20),\n height: (theme) => theme.spacing(20),\n }}\n />\n </m.div>\n {!isIframe && (\n <CustomButton url={gwUrl} endIcon={<Iconify icon=\"eva:external-link-outline\" />}>\n {t('pay')}\n </CustomButton>\n )}\n </>\n ) : (\n <LinearProgress sx={{ width: 1, maxWidth: 320, mx: 'auto' }} />\n )}\n </Box>\n )}\n </MotionContainer>\n );\n};\n\ninterface ButtonProps {\n onClick?: () => void;\n url?: string;\n startIcon?: React.ReactNode;\n endIcon?: React.ReactNode;\n}\n\nconst CustomButton: React.FC<PropsWithChildren<ButtonProps>> = ({\n onClick,\n url,\n children,\n startIcon,\n endIcon,\n}) => (\n <Button\n onClick={onClick}\n href={url}\n size=\"large\"\n color=\"primary\"\n variant=\"contained\"\n startIcon={startIcon}\n endIcon={endIcon}\n sx={{\n mt: 2,\n }}\n >\n {children}\n </Button>\n);\n\nexport default PaymentSuccess;\n"],"names":[],"mappings":"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"}