tf-checkout-react-native 1.0.0

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 (285) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +168 -0
  3. package/android/build.gradle +42 -0
  4. package/android/src/main/AndroidManifest.xml +2 -0
  5. package/android/src/main/java/com/theticketfairy/tfcheckoutreactnative/TFCheckoutRNModule.kt +13 -0
  6. package/android/src/main/java/com/theticketfairy/tfcheckoutreactnative/TFCheckoutRNPackage.kt +19 -0
  7. package/ios/TFCheckoutRNModule-Bridging-Header.h +5 -0
  8. package/ios/TFCheckoutRNModule.m +11 -0
  9. package/ios/TFCheckoutRNModule.swift +21 -0
  10. package/ios/TFCheckoutRNModule.xcodeproj/project.pbxproj +314 -0
  11. package/lib/api/ApiClient.d.ts +62 -0
  12. package/lib/api/ApiClient.js +490 -0
  13. package/lib/api/ApiClient.js.map +1 -0
  14. package/lib/api/Constants.d.ts +7 -0
  15. package/lib/api/Constants.js +7 -0
  16. package/lib/api/Constants.js.map +1 -0
  17. package/lib/api/types.d.ts +164 -0
  18. package/lib/api/types.js +3 -0
  19. package/lib/api/types.js.map +1 -0
  20. package/lib/components/button/Button.d.ts +3 -0
  21. package/lib/components/button/Button.js +13 -0
  22. package/lib/components/button/Button.js.map +1 -0
  23. package/lib/components/button/styles.d.ts +27 -0
  24. package/lib/components/button/styles.js +29 -0
  25. package/lib/components/button/styles.js.map +1 -0
  26. package/lib/components/button/types.d.ts +14 -0
  27. package/lib/components/button/types.js +2 -0
  28. package/lib/components/button/types.js.map +1 -0
  29. package/lib/components/checkbox/Checkbox.d.ts +3 -0
  30. package/lib/components/checkbox/Checkbox.js +14 -0
  31. package/lib/components/checkbox/Checkbox.js.map +1 -0
  32. package/lib/components/checkbox/styles.d.ts +38 -0
  33. package/lib/components/checkbox/styles.js +40 -0
  34. package/lib/components/checkbox/styles.js.map +1 -0
  35. package/lib/components/checkbox/types.d.ts +18 -0
  36. package/lib/components/checkbox/types.js +2 -0
  37. package/lib/components/checkbox/types.js.map +1 -0
  38. package/lib/components/datePicker/DatePicker.d.ts +3 -0
  39. package/lib/components/datePicker/DatePicker.js +30 -0
  40. package/lib/components/datePicker/DatePicker.js.map +1 -0
  41. package/lib/components/datePicker/styles.d.ts +18 -0
  42. package/lib/components/datePicker/styles.js +20 -0
  43. package/lib/components/datePicker/styles.js.map +1 -0
  44. package/lib/components/datePicker/types.d.ts +8 -0
  45. package/lib/components/datePicker/types.js +2 -0
  46. package/lib/components/datePicker/types.js.map +1 -0
  47. package/lib/components/dropdown/Dropdown.d.ts +3 -0
  48. package/lib/components/dropdown/Dropdown.js +40 -0
  49. package/lib/components/dropdown/Dropdown.js.map +1 -0
  50. package/lib/components/dropdown/DropdownListItem.d.ts +3 -0
  51. package/lib/components/dropdown/DropdownListItem.js +12 -0
  52. package/lib/components/dropdown/DropdownListItem.js.map +1 -0
  53. package/lib/components/dropdown/styles.d.ts +72 -0
  54. package/lib/components/dropdown/styles.js +75 -0
  55. package/lib/components/dropdown/styles.js.map +1 -0
  56. package/lib/components/dropdown/types.d.ts +24 -0
  57. package/lib/components/dropdown/types.js +2 -0
  58. package/lib/components/dropdown/types.js.map +1 -0
  59. package/lib/components/formField/FormField.d.ts +3 -0
  60. package/lib/components/formField/FormField.js +35 -0
  61. package/lib/components/formField/FormField.js.map +1 -0
  62. package/lib/components/formField/styles.d.ts +34 -0
  63. package/lib/components/formField/styles.js +36 -0
  64. package/lib/components/formField/styles.js.map +1 -0
  65. package/lib/components/formField/types.d.ts +34 -0
  66. package/lib/components/formField/types.js +2 -0
  67. package/lib/components/formField/types.js.map +1 -0
  68. package/lib/components/index.d.ts +12 -0
  69. package/lib/components/index.js +13 -0
  70. package/lib/components/index.js.map +1 -0
  71. package/lib/components/input/Input.d.ts +3 -0
  72. package/lib/components/input/Input.js +13 -0
  73. package/lib/components/input/Input.js.map +1 -0
  74. package/lib/components/input/styles.d.ts +41 -0
  75. package/lib/components/input/styles.js +46 -0
  76. package/lib/components/input/styles.js.map +1 -0
  77. package/lib/components/input/types.d.ts +22 -0
  78. package/lib/components/input/types.js +2 -0
  79. package/lib/components/input/types.js.map +1 -0
  80. package/lib/components/loading/Loading.d.ts +3 -0
  81. package/lib/components/loading/Loading.js +14 -0
  82. package/lib/components/loading/Loading.js.map +1 -0
  83. package/lib/components/loading/styles.d.ts +29 -0
  84. package/lib/components/loading/styles.js +31 -0
  85. package/lib/components/loading/styles.js.map +1 -0
  86. package/lib/components/loading/types.d.ts +14 -0
  87. package/lib/components/loading/types.js +2 -0
  88. package/lib/components/loading/types.js.map +1 -0
  89. package/lib/components/loggedIn/LoggedIn.d.ts +4 -0
  90. package/lib/components/loggedIn/LoggedIn.js +21 -0
  91. package/lib/components/loggedIn/LoggedIn.js.map +1 -0
  92. package/lib/components/loggedIn/styles.d.ts +8 -0
  93. package/lib/components/loggedIn/styles.js +9 -0
  94. package/lib/components/loggedIn/styles.js.map +1 -0
  95. package/lib/components/loggedIn/types.d.ts +11 -0
  96. package/lib/components/loggedIn/types.js +2 -0
  97. package/lib/components/loggedIn/types.js.map +1 -0
  98. package/lib/components/login/Login.d.ts +3 -0
  99. package/lib/components/login/Login.js +68 -0
  100. package/lib/components/login/Login.js.map +1 -0
  101. package/lib/components/login/LoginView.d.ts +3 -0
  102. package/lib/components/login/LoginView.js +121 -0
  103. package/lib/components/login/LoginView.js.map +1 -0
  104. package/lib/components/login/styles.d.ts +50 -0
  105. package/lib/components/login/styles.js +52 -0
  106. package/lib/components/login/styles.js.map +1 -0
  107. package/lib/components/login/types.d.ts +63 -0
  108. package/lib/components/login/types.js +2 -0
  109. package/lib/components/login/types.js.map +1 -0
  110. package/lib/components/promoCode/PromoCode.d.ts +3 -0
  111. package/lib/components/promoCode/PromoCode.js +66 -0
  112. package/lib/components/promoCode/PromoCode.js.map +1 -0
  113. package/lib/components/promoCode/styles.d.ts +56 -0
  114. package/lib/components/promoCode/styles.js +58 -0
  115. package/lib/components/promoCode/styles.js.map +1 -0
  116. package/lib/components/promoCode/types.d.ts +33 -0
  117. package/lib/components/promoCode/types.js +2 -0
  118. package/lib/components/promoCode/types.js.map +1 -0
  119. package/lib/components/separator/Separator.d.ts +3 -0
  120. package/lib/components/separator/Separator.js +13 -0
  121. package/lib/components/separator/Separator.js.map +1 -0
  122. package/lib/components/separator/types.d.ts +8 -0
  123. package/lib/components/separator/types.js +2 -0
  124. package/lib/components/separator/types.js.map +1 -0
  125. package/lib/components/waitingList/WaitingList.d.ts +3 -0
  126. package/lib/components/waitingList/WaitingList.js +51 -0
  127. package/lib/components/waitingList/WaitingList.js.map +1 -0
  128. package/lib/components/waitingList/WaitingListView.d.ts +3 -0
  129. package/lib/components/waitingList/WaitingListView.js +19 -0
  130. package/lib/components/waitingList/WaitingListView.js.map +1 -0
  131. package/lib/components/waitingList/styles.d.ts +8 -0
  132. package/lib/components/waitingList/styles.js +9 -0
  133. package/lib/components/waitingList/styles.js.map +1 -0
  134. package/lib/components/waitingList/types.d.ts +49 -0
  135. package/lib/components/waitingList/types.js +2 -0
  136. package/lib/components/waitingList/types.js.map +1 -0
  137. package/lib/containers/billingInfo/BillingInfo.d.ts +3 -0
  138. package/lib/containers/billingInfo/BillingInfo.js +627 -0
  139. package/lib/containers/billingInfo/BillingInfo.js.map +1 -0
  140. package/lib/containers/billingInfo/BillingInfoData.d.ts +6 -0
  141. package/lib/containers/billingInfo/BillingInfoData.js +79 -0
  142. package/lib/containers/billingInfo/BillingInfoData.js.map +1 -0
  143. package/lib/containers/billingInfo/BillingInfoView.d.ts +3 -0
  144. package/lib/containers/billingInfo/BillingInfoView.js +23 -0
  145. package/lib/containers/billingInfo/BillingInfoView.js.map +1 -0
  146. package/lib/containers/billingInfo/styles.d.ts +20 -0
  147. package/lib/containers/billingInfo/styles.js +21 -0
  148. package/lib/containers/billingInfo/styles.js.map +1 -0
  149. package/lib/containers/billingInfo/types.d.ts +103 -0
  150. package/lib/containers/billingInfo/types.js +2 -0
  151. package/lib/containers/billingInfo/types.js.map +1 -0
  152. package/lib/containers/checkout/Checkout.d.ts +3 -0
  153. package/lib/containers/checkout/Checkout.js +162 -0
  154. package/lib/containers/checkout/Checkout.js.map +1 -0
  155. package/lib/containers/checkout/CheckoutData.d.ts +2 -0
  156. package/lib/containers/checkout/CheckoutData.js +28 -0
  157. package/lib/containers/checkout/CheckoutData.js.map +1 -0
  158. package/lib/containers/checkout/CheckoutView.d.ts +3 -0
  159. package/lib/containers/checkout/CheckoutView.js +34 -0
  160. package/lib/containers/checkout/CheckoutView.js.map +1 -0
  161. package/lib/containers/checkout/components/Conditions.d.ts +3 -0
  162. package/lib/containers/checkout/components/Conditions.js +11 -0
  163. package/lib/containers/checkout/components/Conditions.js.map +1 -0
  164. package/lib/containers/checkout/components/OrderReview.d.ts +3 -0
  165. package/lib/containers/checkout/components/OrderReview.js +10 -0
  166. package/lib/containers/checkout/components/OrderReview.js.map +1 -0
  167. package/lib/containers/checkout/components/styles.d.ts +25 -0
  168. package/lib/containers/checkout/components/styles.js +27 -0
  169. package/lib/containers/checkout/components/styles.js.map +1 -0
  170. package/lib/containers/checkout/styles.d.ts +29 -0
  171. package/lib/containers/checkout/styles.js +31 -0
  172. package/lib/containers/checkout/styles.js.map +1 -0
  173. package/lib/containers/checkout/types.d.ts +41 -0
  174. package/lib/containers/checkout/types.js +2 -0
  175. package/lib/containers/checkout/types.js.map +1 -0
  176. package/lib/containers/index.d.ts +6 -0
  177. package/lib/containers/index.js +7 -0
  178. package/lib/containers/index.js.map +1 -0
  179. package/lib/containers/myOrderDetails/MyOrderDetails.d.ts +4 -0
  180. package/lib/containers/myOrderDetails/MyOrderDetails.js +11 -0
  181. package/lib/containers/myOrderDetails/MyOrderDetails.js.map +1 -0
  182. package/lib/containers/myOrderDetails/MyOrderDetailsView.d.ts +4 -0
  183. package/lib/containers/myOrderDetails/MyOrderDetailsView.js +60 -0
  184. package/lib/containers/myOrderDetails/MyOrderDetailsView.js.map +1 -0
  185. package/lib/containers/myOrderDetails/styles.d.ts +0 -0
  186. package/lib/containers/myOrderDetails/styles.js +2 -0
  187. package/lib/containers/myOrderDetails/styles.js.map +1 -0
  188. package/lib/containers/myOrderDetails/types.d.ts +11 -0
  189. package/lib/containers/myOrderDetails/types.js +2 -0
  190. package/lib/containers/myOrderDetails/types.js.map +1 -0
  191. package/lib/containers/myOrders/MyOrders.d.ts +9 -0
  192. package/lib/containers/myOrders/MyOrders.js +62 -0
  193. package/lib/containers/myOrders/MyOrders.js.map +1 -0
  194. package/lib/containers/myOrders/MyOrdersView.d.ts +3 -0
  195. package/lib/containers/myOrders/MyOrdersView.js +30 -0
  196. package/lib/containers/myOrders/MyOrdersView.js.map +1 -0
  197. package/lib/containers/myOrders/components/OrderListItem.d.ts +4 -0
  198. package/lib/containers/myOrders/components/OrderListItem.js +29 -0
  199. package/lib/containers/myOrders/components/OrderListItem.js.map +1 -0
  200. package/lib/containers/myOrders/components/styles.d.ts +51 -0
  201. package/lib/containers/myOrders/components/styles.js +50 -0
  202. package/lib/containers/myOrders/components/styles.js.map +1 -0
  203. package/lib/containers/myOrders/components/types.d.ts +25 -0
  204. package/lib/containers/myOrders/components/types.js +2 -0
  205. package/lib/containers/myOrders/components/types.js.map +1 -0
  206. package/lib/containers/myOrders/styles.d.ts +21 -0
  207. package/lib/containers/myOrders/styles.js +23 -0
  208. package/lib/containers/myOrders/styles.js.map +1 -0
  209. package/lib/containers/myOrders/types.d.ts +27 -0
  210. package/lib/containers/myOrders/types.js +2 -0
  211. package/lib/containers/myOrders/types.js.map +1 -0
  212. package/lib/containers/purchaseConfirmation/PurchaseConfirmation.d.ts +3 -0
  213. package/lib/containers/purchaseConfirmation/PurchaseConfirmation.js +17 -0
  214. package/lib/containers/purchaseConfirmation/PurchaseConfirmation.js.map +1 -0
  215. package/lib/containers/purchaseConfirmation/PurchaseConfirmationView.d.ts +3 -0
  216. package/lib/containers/purchaseConfirmation/PurchaseConfirmationView.js +15 -0
  217. package/lib/containers/purchaseConfirmation/PurchaseConfirmationView.js.map +1 -0
  218. package/lib/containers/purchaseConfirmation/styles.d.ts +73 -0
  219. package/lib/containers/purchaseConfirmation/styles.js +75 -0
  220. package/lib/containers/purchaseConfirmation/styles.js.map +1 -0
  221. package/lib/containers/purchaseConfirmation/types.d.ts +50 -0
  222. package/lib/containers/purchaseConfirmation/types.js +2 -0
  223. package/lib/containers/purchaseConfirmation/types.js.map +1 -0
  224. package/lib/containers/tickets/Tickets.d.ts +3 -0
  225. package/lib/containers/tickets/Tickets.js +143 -0
  226. package/lib/containers/tickets/Tickets.js.map +1 -0
  227. package/lib/containers/tickets/TicketsView.d.ts +3 -0
  228. package/lib/containers/tickets/TicketsView.js +35 -0
  229. package/lib/containers/tickets/TicketsView.js.map +1 -0
  230. package/lib/containers/tickets/components/TicketListItem.d.ts +3 -0
  231. package/lib/containers/tickets/components/TicketListItem.js +46 -0
  232. package/lib/containers/tickets/components/TicketListItem.js.map +1 -0
  233. package/lib/containers/tickets/components/styles.d.ts +50 -0
  234. package/lib/containers/tickets/components/styles.js +53 -0
  235. package/lib/containers/tickets/components/styles.js.map +1 -0
  236. package/lib/containers/tickets/components/types.d.ts +25 -0
  237. package/lib/containers/tickets/components/types.js +2 -0
  238. package/lib/containers/tickets/components/types.js.map +1 -0
  239. package/lib/containers/tickets/styles.d.ts +19 -0
  240. package/lib/containers/tickets/styles.js +21 -0
  241. package/lib/containers/tickets/styles.js.map +1 -0
  242. package/lib/containers/tickets/types.d.ts +69 -0
  243. package/lib/containers/tickets/types.js +2 -0
  244. package/lib/containers/tickets/types.js.map +1 -0
  245. package/lib/helpers/Debounced.d.ts +1 -0
  246. package/lib/helpers/Debounced.js +24 -0
  247. package/lib/helpers/Debounced.js.map +1 -0
  248. package/lib/helpers/LocalStorage.d.ts +16 -0
  249. package/lib/helpers/LocalStorage.js +58 -0
  250. package/lib/helpers/LocalStorage.js.map +1 -0
  251. package/lib/helpers/StringsHelper.d.ts +1 -0
  252. package/lib/helpers/StringsHelper.js +7 -0
  253. package/lib/helpers/StringsHelper.js.map +1 -0
  254. package/lib/helpers/Validators.d.ts +5 -0
  255. package/lib/helpers/Validators.js +36 -0
  256. package/lib/helpers/Validators.js.map +1 -0
  257. package/lib/index.d.ts +6 -0
  258. package/lib/index.js +6 -0
  259. package/lib/index.js.map +1 -0
  260. package/lib/res/colors.d.ts +12 -0
  261. package/lib/res/colors.js +27 -0
  262. package/lib/res/colors.js.map +1 -0
  263. package/lib/res/icons.d.ts +7 -0
  264. package/lib/res/icons.js +7 -0
  265. package/lib/res/icons.js.map +1 -0
  266. package/lib/res/images.d.ts +4 -0
  267. package/lib/res/images.js +4 -0
  268. package/lib/res/images.js.map +1 -0
  269. package/lib/res/index.d.ts +23 -0
  270. package/lib/res/index.js +10 -0
  271. package/lib/res/index.js.map +1 -0
  272. package/lib/types/IEvent.d.ts +64 -0
  273. package/lib/types/IEvent.js +2 -0
  274. package/lib/types/IEvent.js.map +1 -0
  275. package/lib/types/ITicket.d.ts +44 -0
  276. package/lib/types/ITicket.js +2 -0
  277. package/lib/types/ITicket.js.map +1 -0
  278. package/lib/types/IUserProfile.d.ts +24 -0
  279. package/lib/types/IUserProfile.js +2 -0
  280. package/lib/types/IUserProfile.js.map +1 -0
  281. package/lib/types/index.d.ts +3 -0
  282. package/lib/types/index.js +4 -0
  283. package/lib/types/index.js.map +1 -0
  284. package/package.json +80 -0
  285. package/tf-checkout-react-native.podspec +19 -0
@@ -0,0 +1,627 @@
1
+ //@ts-nocheck
2
+ import _every from 'lodash/every';
3
+ import _find from 'lodash/find';
4
+ import _get from 'lodash/get';
5
+ import _map from 'lodash/map';
6
+ import React, { useCallback, useEffect, useState } from 'react';
7
+ import { Linking } from 'react-native';
8
+ import { Alert, Text } from 'react-native';
9
+ import { checkoutOrder, fetchCart, fetchCountries, fetchStates, fetchUserProfile, registerNewUser, } from '../../api/ApiClient';
10
+ import Constants from '../../api/Constants';
11
+ import { useDebounced } from '../../helpers/Debounced';
12
+ import { deleteAllData, getData, LocalStorageKeys, } from '../../helpers/LocalStorage';
13
+ import { validateEmail, validateEmpty, validatePasswords, } from '../../helpers/Validators';
14
+ import { formDataInitialState, getCheckoutBody, getRegisterFormData, } from './BillingInfoData';
15
+ import BillingInfoView from './BillingInfoView';
16
+ import s from './styles';
17
+ const BillingInfo = ({ cartProps: { isAgeRequired, isNameRequired }, onRegisterSuccess, onRegisterFail, onCheckoutSuccess, onCheckoutFail, onLoginSuccess, onLoginFail, onFetchUserProfileFail, onFetchUserProfileSuccess, onFetchCartError, styles, texts, customCheckboxText, privacyPolicyLinkStyle, }) => {
18
+ //#region Declare state variables
19
+ const [isLoading, setIsLoading] = useState(false);
20
+ const [isSubmitLoading, setIsSubmitLoading] = useState(false);
21
+ const [countries, setCountries] = useState([]);
22
+ const [states, setStates] = useState([]);
23
+ const [isLoginDialogVisible, setIsLoginDialogVisible] = useState(false);
24
+ const [loginMessage, setLoginMessage] = useState('');
25
+ const [userData, setUserData] = useState();
26
+ const [storedToken, setStoredToken] = useState('');
27
+ const [formData, setFormData] = useState(formDataInitialState);
28
+ const { firstName, lastName, email, confirmEmail, password, confirmPassword, phone, street, city, country, zipCode, isSubToNewsletter, ticketHoldersFields, isSubToMarketing, birthday, } = formData;
29
+ const firstNameError = useDebounced(firstName, validateEmpty);
30
+ const lastNameError = useDebounced(lastName, validateEmpty);
31
+ const emailError = useDebounced(email, () => validateEmail(email, confirmEmail));
32
+ const confirmEmailError = useDebounced(confirmEmail, () => validateEmail(confirmEmail, email));
33
+ const passwordError = useDebounced(password, () => validatePasswords(password, confirmPassword));
34
+ const confirmPasswordError = useDebounced(confirmPassword, () => validatePasswords(confirmPassword, password));
35
+ const phoneError = useDebounced(phone, validateEmpty);
36
+ const streetError = useDebounced(street, validateEmpty);
37
+ const cityError = useDebounced(city, validateEmpty);
38
+ const zipCodeError = useDebounced(zipCode, validateEmpty);
39
+ //#endregion
40
+ //#region State setters
41
+ const showLoginDialog = () => setIsLoginDialogVisible(true);
42
+ const hideLoginDialog = () => setIsLoginDialogVisible(false);
43
+ const setInputData = (id, value) => {
44
+ console.log(`Setting InputData for ID ${id} with value ${value}`);
45
+ setFormData({ ...formData, [id]: value });
46
+ };
47
+ const setDatePickerData = (date) => {
48
+ console.log(`Setting DATEPICKER DATA ${date}`);
49
+ setFormData({ ...formData, birthday: date });
50
+ };
51
+ const setTicketHolderData = (index, id, value) => {
52
+ console.log('setTicketHolderData', value);
53
+ const newData = { ...formData };
54
+ const holder = newData.ticketHoldersFields[index];
55
+ holder[`${id}`] = value;
56
+ setFormData(newData);
57
+ };
58
+ const setDropdownData = (id, value) => {
59
+ console.log(`Setting DROPDOWN DATA for ID ${id} with value ${value}`);
60
+ setFormData({ ...formData, [id]: value });
61
+ };
62
+ const setCheckboxData = (id) => {
63
+ console.log(`Setting setCheckboxData DATA for ID ${id}`);
64
+ setFormData({ ...formData, [id]: !_get(formData, id) });
65
+ };
66
+ //#endregion
67
+ // Gets all fields from the form
68
+ const getFormFields = () => {
69
+ const getBirthdayField = () => {
70
+ return isAgeRequired
71
+ ? [
72
+ {
73
+ id: 'age',
74
+ fieldType: 'datePicker',
75
+ datePickerProps: {
76
+ text: 'Ticket Holder Age',
77
+ onSelectDate: setDatePickerData,
78
+ selectedDate: birthday,
79
+ },
80
+ },
81
+ ]
82
+ : [];
83
+ };
84
+ const getPasswordsFields = () => {
85
+ return userData
86
+ ? []
87
+ : [
88
+ {
89
+ fieldType: 'title',
90
+ title: 'Choose a password for your new TICKETFAIRY account',
91
+ titleStyle: {},
92
+ },
93
+ {
94
+ id: 'password',
95
+ fieldType: 'input',
96
+ inputProps: {
97
+ onTextChanged: setInputData,
98
+ label: 'Password',
99
+ autoCapitalize: 'none',
100
+ secureTextEntry: true,
101
+ value: password,
102
+ error: passwordError,
103
+ },
104
+ },
105
+ {
106
+ id: 'confirmPassword',
107
+ fieldType: 'input',
108
+ inputProps: {
109
+ onTextChanged: setInputData,
110
+ label: 'Confirm Password',
111
+ autoCapitalize: 'none',
112
+ secureTextEntry: true,
113
+ value: confirmPassword,
114
+ error: confirmPasswordError,
115
+ },
116
+ },
117
+ ];
118
+ };
119
+ const getTicketHolderFields = () => {
120
+ if (ticketHoldersFields.length === 0) {
121
+ return [];
122
+ }
123
+ const ticketHolder = [
124
+ {
125
+ fieldType: 'header',
126
+ title: 'Ticket Holders',
127
+ },
128
+ ];
129
+ for (let i = 0; i < ticketHoldersFields.length; i++) {
130
+ ticketHolder.push({
131
+ fieldType: 'title',
132
+ title: `Ticket holder ${i + 1}`,
133
+ }, {
134
+ id: 'firstName',
135
+ fieldType: 'input',
136
+ inputProps: {
137
+ value: ticketHoldersFields[i].firstName,
138
+ onTextChanged: (key, value) => setTicketHolderData(i, key, value),
139
+ label: 'First Name',
140
+ },
141
+ }, {
142
+ id: 'lastName',
143
+ fieldType: 'input',
144
+ inputProps: {
145
+ value: ticketHoldersFields[i].lastName,
146
+ onTextChanged: (key, value) => setTicketHolderData(i, key, value),
147
+ label: 'Last Name',
148
+ },
149
+ }, {
150
+ id: 'email',
151
+ fieldType: 'input',
152
+ inputProps: {
153
+ value: ticketHoldersFields[i].email,
154
+ onTextChanged: (key, value) => setTicketHolderData(i, key, value),
155
+ keyboardType: 'email-address',
156
+ label: 'Email Address (optional)',
157
+ },
158
+ }, {
159
+ id: 'phone',
160
+ fieldType: 'input',
161
+ inputProps: {
162
+ value: ticketHoldersFields[i].phone,
163
+ onTextChanged: (key, value) => setTicketHolderData(i, key, value),
164
+ keyboardType: 'phone-pad',
165
+ label: 'Phone (optional)',
166
+ },
167
+ });
168
+ }
169
+ return ticketHolder;
170
+ };
171
+ return [
172
+ {
173
+ fieldType: 'title',
174
+ title: 'Get Your Tickets',
175
+ },
176
+ {
177
+ fieldType: 'input',
178
+ id: 'firstName',
179
+ inputProps: {
180
+ value: firstName,
181
+ onTextChanged: setInputData,
182
+ label: 'First Name',
183
+ error: firstNameError,
184
+ },
185
+ },
186
+ {
187
+ fieldType: 'input',
188
+ id: 'lastName',
189
+ inputProps: {
190
+ value: lastName,
191
+ onTextChanged: setInputData,
192
+ label: 'Last Name',
193
+ error: lastNameError,
194
+ },
195
+ },
196
+ {
197
+ fieldType: 'text',
198
+ id: 'notice-email',
199
+ title: "IMPORTANT: Please double check that your email address is correct. It's where we send your confirmation and e-tickets to!",
200
+ },
201
+ {
202
+ fieldType: 'input',
203
+ id: 'email',
204
+ inputProps: {
205
+ value: email,
206
+ onTextChanged: setInputData,
207
+ label: 'Email',
208
+ keyboardType: 'email-address',
209
+ autoCapitalize: 'none',
210
+ autoCorrect: false,
211
+ error: emailError,
212
+ },
213
+ },
214
+ {
215
+ fieldType: 'input',
216
+ id: 'confirmEmail',
217
+ inputProps: {
218
+ value: confirmEmail,
219
+ onTextChanged: setInputData,
220
+ label: 'Confirm Email',
221
+ keyboardType: 'email-address',
222
+ autoCapitalize: 'none',
223
+ autoCorrect: false,
224
+ error: confirmEmailError,
225
+ },
226
+ },
227
+ ...getPasswordsFields(),
228
+ {
229
+ id: 'phone',
230
+ fieldType: 'input',
231
+ inputProps: {
232
+ onTextChanged: setInputData,
233
+ label: 'Phone',
234
+ value: phone,
235
+ keyboardType: 'phone-pad',
236
+ error: phoneError,
237
+ },
238
+ },
239
+ {
240
+ id: 'street',
241
+ fieldType: 'input',
242
+ inputProps: {
243
+ onTextChanged: setInputData,
244
+ label: 'Billing Street Address',
245
+ value: street,
246
+ error: streetError,
247
+ },
248
+ },
249
+ {
250
+ id: 'city',
251
+ fieldType: 'input',
252
+ inputProps: {
253
+ onTextChanged: setInputData,
254
+ label: 'City/Suburb',
255
+ value: city,
256
+ error: cityError,
257
+ },
258
+ },
259
+ {
260
+ id: 'country',
261
+ fieldType: 'dropdown',
262
+ dropdownProps: {
263
+ options: countries,
264
+ selectedOption: country,
265
+ onSelectOption: setDropdownData,
266
+ },
267
+ },
268
+ {
269
+ id: 'zipCode',
270
+ fieldType: 'input',
271
+ inputProps: {
272
+ value: zipCode,
273
+ onTextChanged: setInputData,
274
+ label: 'Post Code/Zip',
275
+ keyboardType: 'number-pad',
276
+ error: zipCodeError,
277
+ },
278
+ },
279
+ {
280
+ id: 'state',
281
+ fieldType: 'dropdown',
282
+ dropdownProps: {
283
+ options: states,
284
+ selectedOption: formData.state,
285
+ onSelectOption: setDropdownData,
286
+ },
287
+ },
288
+ ...getBirthdayField(),
289
+ {
290
+ id: 'isSubToNewsletter',
291
+ fieldType: 'checkbox',
292
+ checkboxProps: {
293
+ text: 'I would like to be updated on House of X news, events and offers.',
294
+ isActive: isSubToNewsletter,
295
+ onPress: setCheckboxData,
296
+ },
297
+ },
298
+ {
299
+ id: 'isSubToMarketing',
300
+ fieldType: 'checkbox',
301
+ checkboxProps: {
302
+ text: 'I agree that The Ticket Fairy may use the personal data that I have provided for marketing purposes, such as recommending events that I might be interested in, in accordance with its Privacy Policy.',
303
+ isActive: isSubToMarketing,
304
+ onPress: setCheckboxData,
305
+ customTextComp: (React.createElement(Text, { style: [s.customCheckboxText, customCheckboxText] },
306
+ "I agree that The Ticket Fairy may use the personal data that I have provided for marketing purposes, such as recommending events that I might be interested in, in accordance with its",
307
+ ' ',
308
+ React.createElement(Text, { style: [s.privacyPolicyLink, privacyPolicyLinkStyle], onPress: handleOpenPrivacyLink }, "Privacy Policy."))),
309
+ },
310
+ },
311
+ ...getTicketHolderFields(),
312
+ ];
313
+ };
314
+ // Sets a Country either from User's Profile Data or from Countries list
315
+ const setSelectedCountry = () => {
316
+ console.log('setSelectedCountry COUNTRIES LENGTH', countries.length);
317
+ if (countries.length === 0) {
318
+ console.log('Not setting country X');
319
+ return;
320
+ }
321
+ const countryId = (userData === null || userData === void 0 ? void 0 : userData.country) ? userData.country : countries[0].value;
322
+ const sCountryItem = _find(countries, (item) => item.value === countryId);
323
+ console.log('countryId', countryId);
324
+ console.log('sCountryItem', sCountryItem);
325
+ if (sCountryItem) {
326
+ setFormData({ ...formData, country: sCountryItem });
327
+ }
328
+ };
329
+ const setSelectedState = useCallback(() => {
330
+ console.log('setSelectedState', states);
331
+ if (states.length === 0) {
332
+ return;
333
+ }
334
+ const foundId = (userData === null || userData === void 0 ? void 0 : userData.stateId) ? userData.stateId : states[0].value;
335
+ console.log('foundId state', foundId);
336
+ const sStateItem = _find(states, (item) => item.value === foundId);
337
+ console.log('sStateItem', sStateItem);
338
+ if (sStateItem) {
339
+ setFormData({ ...formData, state: sStateItem });
340
+ }
341
+ // eslint-disable-next-line react-hooks/exhaustive-deps
342
+ }, [states, userData === null || userData === void 0 ? void 0 : userData.state]);
343
+ //#region API calls
344
+ // If there is already an AccessToken stored we can directly request User Data
345
+ const fetchUserDataAsync = async (accessToken) => {
346
+ if (!accessToken) {
347
+ return;
348
+ }
349
+ const { userProfile: userProfileData, error: userDataError } = await fetchUserProfile(accessToken);
350
+ if (userDataError) {
351
+ await deleteAllData();
352
+ handleOnFetchUserDataFail(userDataError);
353
+ setUserData(undefined);
354
+ }
355
+ if (userProfileData) {
356
+ handleOnFetchUserDataSuccess(userProfileData);
357
+ }
358
+ };
359
+ const fetchCartAsync = async () => {
360
+ const { data: cartData, error: cartError } = await fetchCart();
361
+ if (cartError) {
362
+ Alert.alert('', cartError);
363
+ if (onFetchCartError) {
364
+ onFetchCartError(cartError);
365
+ }
366
+ return;
367
+ }
368
+ let ticketQuantity = parseInt(cartData.quantity, 10);
369
+ // Ticket holders initial data
370
+ const newTicketHolderFields = [];
371
+ for (let i = 0; i < ticketQuantity; i++) {
372
+ newTicketHolderFields.push({
373
+ firstName: i === 0 && userData ? userData.firstName : '',
374
+ lastName: i === 0 && userData ? userData.lastName : '',
375
+ email: i === 0 && userData ? userData.email : '',
376
+ phone: i === 0 && userData ? userData.phone : '',
377
+ });
378
+ }
379
+ setFormData({
380
+ ...formData,
381
+ ticketHoldersFields: newTicketHolderFields,
382
+ });
383
+ };
384
+ const fetchCountriesAsync = async () => {
385
+ setIsLoading(true);
386
+ const { data: countriesData, error: countriesError } = await fetchCountries();
387
+ console.log('fetchCountriesAsync countriesResponse', countriesData);
388
+ setIsLoading(false);
389
+ if (countriesError) {
390
+ return;
391
+ }
392
+ const parsedCountries = _map(countriesData, (item, index) => {
393
+ return { label: item, value: index };
394
+ });
395
+ setCountries(parsedCountries);
396
+ };
397
+ const fetchStatesAsync = async (selectedCountryId) => {
398
+ setIsLoading(true);
399
+ const { data: statesData, error: statesError } = await fetchStates(selectedCountryId);
400
+ setIsLoading(false);
401
+ if (statesError) {
402
+ Alert.alert('', statesError);
403
+ return;
404
+ }
405
+ const parsedStates = _map(statesData, (item, index) => {
406
+ return { label: item, value: index };
407
+ });
408
+ setStates(parsedStates);
409
+ };
410
+ //#endregion
411
+ //#region UseEffects
412
+ //Initial useEffect, to fetch Cart and Countries list.
413
+ useEffect(() => {
414
+ const fetchInitialData = async () => {
415
+ setIsLoading(true);
416
+ const tkn = await getData(LocalStorageKeys.ACCESS_TOKEN);
417
+ console.log('tkn', tkn);
418
+ if (tkn) {
419
+ setStoredToken(tkn);
420
+ }
421
+ await fetchCartAsync();
422
+ setIsLoading(false);
423
+ };
424
+ fetchInitialData();
425
+ // eslint-disable-next-line react-hooks/exhaustive-deps
426
+ }, []);
427
+ // Fetch userData
428
+ useEffect(() => {
429
+ const fetchUserData = async () => {
430
+ console.log('.fetchUserData.');
431
+ setIsLoading(true);
432
+ await fetchUserDataAsync(storedToken);
433
+ setIsLoading(false);
434
+ };
435
+ if (ticketHoldersFields.length > 0 && storedToken && !userData) {
436
+ fetchUserData();
437
+ }
438
+ else if (ticketHoldersFields.length > 0 && !storedToken) {
439
+ fetchCountriesAsync();
440
+ }
441
+ // eslint-disable-next-line react-hooks/exhaustive-deps
442
+ }, [ticketHoldersFields, storedToken, userData]);
443
+ // Fetch Countries
444
+ useEffect(() => {
445
+ const getCountries = async () => {
446
+ await fetchCountriesAsync();
447
+ };
448
+ if (countries.length === 0 && userData) {
449
+ getCountries();
450
+ }
451
+ }, [userData, countries]);
452
+ //Once Countries is fullfilled, useEffect to set Country item.
453
+ useEffect(() => {
454
+ console.log('USE COUNTRIES', countries);
455
+ setSelectedCountry();
456
+ // eslint-disable-next-line react-hooks/exhaustive-deps
457
+ }, [countries]);
458
+ // Fetch States list.
459
+ useEffect(() => {
460
+ console.log('COUNTRY WAS SET TO: ', country);
461
+ if (country === null || country === void 0 ? void 0 : country.value) {
462
+ console.log('Gona FETCH States');
463
+ fetchStatesAsync(country.value);
464
+ }
465
+ }, [country, userData]);
466
+ // Set State item.
467
+ useEffect(() => {
468
+ if (countries.length > 0 && states && states.length > 1) {
469
+ console.log('Gonna set STATE', states);
470
+ setSelectedState();
471
+ }
472
+ }, [countries, states, setSelectedState, userData]);
473
+ //#endregion
474
+ //#region Handlers
475
+ const handleOpenPrivacyLink = async () => {
476
+ const canOpenLink = await Linking.canOpenURL(Constants.PRIVACY_POLICY_LINK);
477
+ if (canOpenLink) {
478
+ await Linking.openURL(Constants.PRIVACY_POLICY_LINK);
479
+ }
480
+ };
481
+ const handleOnFetchUserDataSuccess = (userProfile) => {
482
+ console.log('handleOnFetchUserDataSuccess', userProfile);
483
+ if (onFetchUserProfileSuccess) {
484
+ onFetchUserProfileSuccess(userProfile);
485
+ }
486
+ setUserData(userProfile);
487
+ console.log('formData.ticketHoldersFields', ticketHoldersFields);
488
+ const newTicketHolderFields = [...ticketHoldersFields];
489
+ console.log('******* newTicketHolderFields ****', newTicketHolderFields);
490
+ newTicketHolderFields[0] = {
491
+ email: userProfile.email,
492
+ firstName: userProfile.firstName,
493
+ lastName: userProfile.lastName,
494
+ phone: userProfile.phone,
495
+ };
496
+ setFormData({
497
+ ...formData,
498
+ firstName: userProfile.firstName,
499
+ lastName: userProfile.lastName,
500
+ email: userProfile.email,
501
+ confirmEmail: userProfile.email,
502
+ phone: userProfile.phone,
503
+ street: userProfile.streetAddress,
504
+ zipCode: userProfile.zipCode,
505
+ city: userProfile.city,
506
+ ticketHoldersFields: newTicketHolderFields,
507
+ });
508
+ };
509
+ const handleOnLogoutSuccess = () => {
510
+ setStoredToken('');
511
+ setUserData(undefined);
512
+ setTimeout(() => {
513
+ setFormData(formDataInitialState);
514
+ }, 200);
515
+ };
516
+ const handleOnLoginSuccess = (userProfile, accessToken) => {
517
+ console.log('\x1b[34m%s\x1b[0m', 'BillingInfo.tsx line:609 handleOnLoginSuccessful');
518
+ setStoredToken(accessToken);
519
+ onLoginSuccess({
520
+ accessToken: accessToken,
521
+ userData: userProfile,
522
+ });
523
+ handleOnFetchUserDataSuccess(userProfile);
524
+ };
525
+ const handleOnLoginFail = (error) => {
526
+ if (onLoginFail) {
527
+ onLoginFail(error);
528
+ }
529
+ };
530
+ const handleOnFetchUserDataFail = (error) => {
531
+ if (onFetchUserProfileFail) {
532
+ onFetchUserProfileFail(error);
533
+ }
534
+ };
535
+ const handleOnSubmit = async () => {
536
+ setIsSubmitLoading(true);
537
+ console.log('UserData', userData);
538
+ const checkoutBody = getCheckoutBody(formData, userData, isAgeRequired);
539
+ console.log('CheckoutBody', checkoutBody);
540
+ if (userData && storedToken) {
541
+ await performCheckout(checkoutBody);
542
+ }
543
+ else {
544
+ await performNewUserRegister(checkoutBody);
545
+ }
546
+ setIsSubmitLoading(false);
547
+ };
548
+ //#endregion
549
+ const isDataValid = () => {
550
+ if (validateEmpty(firstName) ||
551
+ validateEmpty(lastName) ||
552
+ validateEmail(email, confirmEmail) ||
553
+ validateEmail(confirmEmail, email) ||
554
+ validateEmpty(street) ||
555
+ validateEmpty(phone) ||
556
+ validateEmpty(city) ||
557
+ validateEmpty(zipCode)) {
558
+ return false;
559
+ }
560
+ if (isAgeRequired && !birthday) {
561
+ return false;
562
+ }
563
+ const thValid = _map(ticketHoldersFields, (th) => validateEmpty(th.firstName) || validateEmpty(th.lastName));
564
+ return _every(thValid, (itm) => itm === '');
565
+ };
566
+ const handleOnRegisterFail = (rawError) => {
567
+ if (onRegisterFail) {
568
+ onRegisterFail(rawError);
569
+ }
570
+ };
571
+ const performCheckout = async (checkoutBody, pToken) => {
572
+ console.log('performCheckout - with storedToken', storedToken);
573
+ console.log('performCheckout - with pToken', pToken);
574
+ const { error: checkoutError, data: checkoutData } = await checkoutOrder(checkoutBody, pToken || storedToken);
575
+ console.log('performCheckout Error', checkoutError);
576
+ console.log('performCheckout Data', checkoutData);
577
+ if (checkoutError) {
578
+ Alert.alert('', checkoutError);
579
+ if (onCheckoutFail) {
580
+ onCheckoutFail(checkoutError);
581
+ }
582
+ return;
583
+ }
584
+ const data = {
585
+ id: checkoutData.data.data.attributes.id,
586
+ hash: checkoutData.data.data.attributes.hash,
587
+ total: checkoutData.data.data.attributes.total,
588
+ status: checkoutData.data.data.attributes.status,
589
+ };
590
+ if (onCheckoutSuccess) {
591
+ onCheckoutSuccess(data);
592
+ }
593
+ };
594
+ const performNewUserRegister = async (checkoutBody) => {
595
+ console.log('performNewUserRegister', checkoutBody);
596
+ const registerForm = getRegisterFormData(checkoutBody);
597
+ console.log('registerForm', registerForm);
598
+ const { data: registerResponseData, error: registerResponseError } = await registerNewUser(registerForm);
599
+ if (registerResponseError) {
600
+ if (registerResponseError.isAlreadyRegistered) {
601
+ setLoginMessage(registerResponseError.message);
602
+ showLoginDialog();
603
+ return handleOnRegisterFail(registerResponseError.raw);
604
+ }
605
+ handleOnRegisterFail(registerResponseError.raw);
606
+ return Alert.alert('', registerResponseError.message);
607
+ }
608
+ if (!registerResponseData) {
609
+ handleOnRegisterFail('Register returned no data');
610
+ return Alert.alert('', 'Register returned no data');
611
+ }
612
+ const tokens = {
613
+ accessToken: registerResponseData.access_token,
614
+ refreshToken: registerResponseData.refresh_token,
615
+ };
616
+ setStoredToken(tokens.accessToken);
617
+ if (onRegisterSuccess) {
618
+ onRegisterSuccess(tokens);
619
+ }
620
+ console.log('Tokens', tokens);
621
+ performCheckout(checkoutBody, tokens.accessToken);
622
+ };
623
+ const formFields = getFormFields();
624
+ return (React.createElement(BillingInfoView, { formFields: formFields, isLoading: isLoading, onSubmit: handleOnSubmit, onLoginSuccessful: handleOnLoginSuccess, isDataValid: isDataValid(), isLoginDialogVisible: isLoginDialogVisible, showLoginDialog: showLoginDialog, hideLoginDialog: hideLoginDialog, loginMessage: loginMessage, onLoginFail: handleOnLoginFail, userProfile: userData, isSubmitLoading: isSubmitLoading, onLogoutSuccess: handleOnLogoutSuccess, styles: styles, texts: texts }));
625
+ };
626
+ export default BillingInfo;
627
+ //# sourceMappingURL=BillingInfo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BillingInfo.js","sourceRoot":"","sources":["../../../src/containers/billingInfo/BillingInfo.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { ICheckoutBody } from '../../api/types';
2
+ import { IUserProfile } from '../../types';
3
+ import { IBillingInfoFormData } from './types';
4
+ export declare const formDataInitialState: IBillingInfoFormData;
5
+ export declare const getCheckoutBody: (values: IBillingInfoFormData, loggedInData?: IUserProfile | undefined, isAgeRequired?: boolean) => ICheckoutBody;
6
+ export declare const getRegisterFormData: (checkoutBody: ICheckoutBody) => FormData;