ordering-components-external 13.2.13 → 13.2.14

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 (554) hide show
  1. package/.babelrc +22 -22
  2. package/.vscode/settings.json +3 -3
  3. package/_bundles/0.ordering-component.71fcc1b93f7c954870c3.js +1 -0
  4. package/_bundles/{1.ordering-component.aa21761da1477298dd80.js → 1.ordering-component.71fcc1b93f7c954870c3.js} +1 -1
  5. package/_bundles/{2.ordering-component.aa21761da1477298dd80.js → 2.ordering-component.71fcc1b93f7c954870c3.js} +1 -1
  6. package/_bundles/{4.ordering-component.aa21761da1477298dd80.js → 4.ordering-component.71fcc1b93f7c954870c3.js} +1 -1
  7. package/_bundles/{5.ordering-component.aa21761da1477298dd80.js → 5.ordering-component.71fcc1b93f7c954870c3.js} +1 -1
  8. package/_bundles/{6.ordering-component.aa21761da1477298dd80.js → 6.ordering-component.71fcc1b93f7c954870c3.js} +1 -1
  9. package/_bundles/7.ordering-component.71fcc1b93f7c954870c3.js +2 -0
  10. package/_bundles/7.ordering-component.71fcc1b93f7c954870c3.js.LICENSE.txt +1 -0
  11. package/_bundles/{8.ordering-component.aa21761da1477298dd80.js → 8.ordering-component.71fcc1b93f7c954870c3.js} +1 -1
  12. package/_bundles/ordering-component.71fcc1b93f7c954870c3.js +2 -0
  13. package/_bundles/{ordering-component.aa21761da1477298dd80.js.LICENSE.txt → ordering-component.71fcc1b93f7c954870c3.js.LICENSE.txt} +0 -9
  14. package/_modules/components/AddressDetails/index.js +35 -35
  15. package/_modules/components/AddressForm/index.js +63 -63
  16. package/_modules/components/AddressList/index.js +56 -56
  17. package/_modules/components/Analitycs/index.js +11 -11
  18. package/_modules/components/AnalyticsSegment/index.js +11 -11
  19. package/_modules/components/AppleLogin/index.js +37 -37
  20. package/_modules/components/BaseComponent/index.js +15 -15
  21. package/_modules/components/BusinessAndProductList/index.js +43 -43
  22. package/_modules/components/BusinessBasicInformation/index.js +30 -30
  23. package/_modules/components/BusinessController/index.js +65 -65
  24. package/_modules/components/BusinessInformation/BusinessOption/index.js +22 -22
  25. package/_modules/components/BusinessInformation/index.js +24 -24
  26. package/_modules/components/BusinessList/index.js +57 -57
  27. package/_modules/components/BusinessMenuListing/index.js +30 -30
  28. package/_modules/components/BusinessProductsCategories/index.js +18 -18
  29. package/_modules/components/BusinessProductsSearch/index.js +16 -16
  30. package/_modules/components/BusinessReviews/index.js +37 -37
  31. package/_modules/components/BusinessSearchList/index.js +34 -34
  32. package/_modules/components/BusinessSortControl/index.js +34 -34
  33. package/_modules/components/BusinessTypeFilter/index.js +36 -36
  34. package/_modules/components/BusinessesMap/index.js +33 -33
  35. package/_modules/components/Cart/index.js +48 -48
  36. package/_modules/components/CartStoresListing/index.js +15 -15
  37. package/_modules/components/Checkout/index.js +83 -83
  38. package/_modules/components/CmsContent/index.js +30 -30
  39. package/_modules/components/Contacts/index.js +45 -45
  40. package/_modules/components/CouponControl/index.js +29 -29
  41. package/_modules/components/DragAndDrop/index.js +4 -4
  42. package/_modules/components/DriverList/index.js +31 -31
  43. package/_modules/components/DriverTips/index.js +41 -41
  44. package/_modules/components/Emitter/index.js +3 -3
  45. package/_modules/components/FacebookLoginButton/index.js +50 -50
  46. package/_modules/components/FacebookPixel/index.js +8 -8
  47. package/_modules/components/FavoriteList/index.js +43 -43
  48. package/_modules/components/FirebaseGoogleLoginButton/index.js +21 -21
  49. package/_modules/components/FloatingButton/index.js +22 -22
  50. package/_modules/components/ForgotPasswordForm/index.js +53 -53
  51. package/_modules/components/GiftCard/GiftCardOrdersList/index.js +16 -16
  52. package/_modules/components/GiftCard/PurchaseGiftCard/index.js +17 -17
  53. package/_modules/components/GiftCard/RedeemGiftCard/index.js +14 -14
  54. package/_modules/components/GiftCard/SendGiftCard/index.js +14 -14
  55. package/_modules/components/GoogleAutocompleteInput/index.js +25 -25
  56. package/_modules/components/GoogleIdentity/index.js +38 -38
  57. package/_modules/components/GoogleLoginButton/index.js +61 -61
  58. package/_modules/components/GoogleMaps/index.js +44 -44
  59. package/_modules/components/GpsButton/index.js +27 -27
  60. package/_modules/components/LanguageSelector/index.js +38 -38
  61. package/_modules/components/LoginForm/index.js +72 -72
  62. package/_modules/components/LogoutAction/index.js +28 -28
  63. package/_modules/components/MainSearch/index.js +41 -41
  64. package/_modules/components/MapView/index.js +12 -12
  65. package/_modules/components/MenuControl/index.js +58 -58
  66. package/_modules/components/Messages/index.js +35 -35
  67. package/_modules/components/MomentOption/index.js +57 -57
  68. package/_modules/components/MultiCartCreate/index.js +10 -10
  69. package/_modules/components/MultiCartsPaymethodsAndWallets/index.js +22 -22
  70. package/_modules/components/MultiCheckout/index.js +34 -34
  71. package/_modules/components/MultiOrdersDetails/index.js +19 -19
  72. package/_modules/components/MyOrders/index.js +35 -35
  73. package/_modules/components/MyOrdersList/index.js +35 -35
  74. package/_modules/components/NewOrderNotification/index.js +8 -8
  75. package/_modules/components/OrderChange/index.js +30 -30
  76. package/_modules/components/OrderDetails/index.js +66 -66
  77. package/_modules/components/OrderList/index.js +67 -67
  78. package/_modules/components/OrderListGroups/index.js +28 -28
  79. package/_modules/components/OrderReview/index.js +35 -35
  80. package/_modules/components/OrderTypeControl/index.js +23 -23
  81. package/_modules/components/OrderVerticalList/index.js +15 -15
  82. package/_modules/components/OrdersControlFilters/index.js +15 -15
  83. package/_modules/components/OrdersDashboardComponents/Appointments/index.js +14 -14
  84. package/_modules/components/OrdersDashboardComponents/BusinessProductsListing/index.js +51 -51
  85. package/_modules/components/OrdersDashboardComponents/CheckPassword/index.js +35 -35
  86. package/_modules/components/OrdersDashboardComponents/CityList/index.js +33 -33
  87. package/_modules/components/OrdersDashboardComponents/CountryList/index.js +32 -32
  88. package/_modules/components/OrdersDashboardComponents/CustomOrderDetails/index.js +25 -25
  89. package/_modules/components/OrdersDashboardComponents/DashboardBusinessList/index.js +75 -75
  90. package/_modules/components/OrdersDashboardComponents/DashboardOrdersList/index.js +77 -77
  91. package/_modules/components/OrdersDashboardComponents/DriversList/index.js +73 -73
  92. package/_modules/components/OrdersDashboardComponents/ExportCSV/index.js +26 -26
  93. package/_modules/components/OrdersDashboardComponents/GiftCardsList/index.js +16 -16
  94. package/_modules/components/OrdersDashboardComponents/GoogleMapsApiKeySetting/index.js +14 -14
  95. package/_modules/components/OrdersDashboardComponents/LogisticInformation/index.js +29 -29
  96. package/_modules/components/OrdersDashboardComponents/Logistics/index.js +29 -29
  97. package/_modules/components/OrdersDashboardComponents/Messages/index.js +42 -42
  98. package/_modules/components/OrdersDashboardComponents/MetaFields/index.js +40 -40
  99. package/_modules/components/OrdersDashboardComponents/OrderDetails/index.js +54 -54
  100. package/_modules/components/OrdersDashboardComponents/OrderNotification/index.js +19 -19
  101. package/_modules/components/OrdersDashboardComponents/OrdersFilter/index.js +73 -73
  102. package/_modules/components/OrdersDashboardComponents/OrdersManage/index.js +74 -74
  103. package/_modules/components/OrdersDashboardComponents/PointsWalletLevels/index.js +38 -38
  104. package/_modules/components/OrdersDashboardComponents/ReviewCustomer/index.js +26 -26
  105. package/_modules/components/OrdersDashboardComponents/Schedule/index.js +56 -56
  106. package/_modules/components/OrdersDashboardComponents/SettingsList/index.js +51 -51
  107. package/_modules/components/OrdersDashboardComponents/UserFormDetails/index.js +82 -82
  108. package/_modules/components/OrdersDashboardComponents/UsersList/index.js +72 -72
  109. package/_modules/components/OrdersDashboardComponents/WebsocketStatus/index.js +10 -10
  110. package/_modules/components/PageBanner/index.js +17 -17
  111. package/_modules/components/PaymentOptionCash/index.js +26 -26
  112. package/_modules/components/PaymentOptionPaypal/index.js +35 -35
  113. package/_modules/components/PaymentOptionSquare/index.js +22 -22
  114. package/_modules/components/PaymentOptionStripe/index.js +45 -45
  115. package/_modules/components/PaymentOptionStripeDirect/index.js +34 -34
  116. package/_modules/components/PaymentOptionStripeRedirect/StripeRedirectForm/index.js +24 -24
  117. package/_modules/components/PaymentOptionStripeRedirect/index.js +39 -39
  118. package/_modules/components/PaymentOptionWallet/index.js +11 -11
  119. package/_modules/components/PaymentOptions/index.js +37 -37
  120. package/_modules/components/PaymethodList/index.js +30 -30
  121. package/_modules/components/PhoneAutocomplete/index.js +30 -30
  122. package/_modules/components/PlaceSpot/index.js +15 -15
  123. package/_modules/components/Popup/index.js +39 -39
  124. package/_modules/components/ProductComponent/index.js +36 -36
  125. package/_modules/components/ProductForm/index.js +145 -145
  126. package/_modules/components/ProductImages/index.js +20 -20
  127. package/_modules/components/ProductIngredient/index.js +19 -19
  128. package/_modules/components/ProductItemAccordion/index.js +18 -18
  129. package/_modules/components/ProductOption/index.js +9 -9
  130. package/_modules/components/ProductOptionSuboption/index.js +36 -36
  131. package/_modules/components/ProductShare/index.js +26 -26
  132. package/_modules/components/ProductsList/index.js +26 -26
  133. package/_modules/components/ProductsListing/index.js +50 -50
  134. package/_modules/components/ProfessionalInfo/index.js +34 -34
  135. package/_modules/components/PromotionsController/index.js +10 -10
  136. package/_modules/components/QueryLoginSpoonity/index.js +30 -30
  137. package/_modules/components/ReCaptcha/index.js +9 -9
  138. package/_modules/components/ResetPassword/index.js +30 -30
  139. package/_modules/components/ReviewCustomer/index.js +26 -26
  140. package/_modules/components/ReviewDriver/index.js +33 -33
  141. package/_modules/components/ReviewProduct/index.js +38 -38
  142. package/_modules/components/SearchOptions/index.js +23 -23
  143. package/_modules/components/Sessions/index.js +33 -33
  144. package/_modules/components/SignupForm/index.js +71 -71
  145. package/_modules/components/SingleBusinessCard/index.js +29 -29
  146. package/_modules/components/SingleOrderCard/index.js +32 -32
  147. package/_modules/components/SingleProductCard/index.js +28 -28
  148. package/_modules/components/SingleProfessionalCard/index.js +28 -28
  149. package/_modules/components/SmartAppBanner/index.js +13 -13
  150. package/_modules/components/StoreProductList/index.js +46 -46
  151. package/_modules/components/StripeElementsForm/CardForm/index.js +36 -36
  152. package/_modules/components/StripeElementsForm/index.js +25 -25
  153. package/_modules/components/UpsellingPage/index.js +27 -27
  154. package/_modules/components/UserFormDetails/index.js +85 -85
  155. package/_modules/components/UserVerification/index.js +28 -28
  156. package/_modules/components/WalletList/index.js +11 -11
  157. package/_modules/components/WebsocketStatus/index.js +10 -10
  158. package/_modules/components/WrapperGoogleMaps/index.js +9 -9
  159. package/_modules/contexts/ApiContext/index.js +13 -13
  160. package/_modules/contexts/BillingContext/index.js +7 -7
  161. package/_modules/contexts/BusinessContext/index.js +18 -18
  162. package/_modules/contexts/ConfigContext/index.js +19 -19
  163. package/_modules/contexts/CustomerContext/index.js +10 -10
  164. package/_modules/contexts/EventContext/index.js +9 -9
  165. package/_modules/contexts/LanguageContext/index.js +28 -28
  166. package/_modules/contexts/OptimizationLoadContext/index.js +16 -16
  167. package/_modules/contexts/OrderContext/index.js +97 -97
  168. package/_modules/contexts/OrderingContext/index.js +7 -7
  169. package/_modules/contexts/OrderingThemeContext/index.js +19 -19
  170. package/_modules/contexts/ProductContext/index.js +14 -14
  171. package/_modules/contexts/SessionContext/index.js +23 -23
  172. package/_modules/contexts/SiteContext/index.js +18 -18
  173. package/_modules/contexts/ToastContext/index.js +4 -4
  174. package/_modules/contexts/UtilsContext/index.js +14 -14
  175. package/_modules/contexts/ValidationsFieldsContext/index.js +9 -9
  176. package/_modules/contexts/WebsocketContext/index.js +17 -17
  177. package/_modules/contexts/WebsocketContext/socket.js +4 -4
  178. package/_modules/native/src/NativeStrategy/index.js +9 -9
  179. package/_modules/native/src/contexts/OrderingContext/index.js +7 -7
  180. package/_modules/utils/index.js +2 -2
  181. package/_modules/webStrategy/index.js +8 -8
  182. package/cypress/fixtures/example.json +4 -4
  183. package/cypress/integration/naked/BusinessProductsCategories.spec.js +9 -9
  184. package/cypress/integration/naked/PhoneAutocomplete.spec.js +22 -22
  185. package/cypress/integration/naked/activeOrders.spec.js +15 -15
  186. package/cypress/integration/naked/addressDetails.spec.js +10 -10
  187. package/cypress/integration/naked/appleLogin.spec.js +14 -14
  188. package/cypress/integration/naked/businessBasicInformation.spec.js +14 -14
  189. package/cypress/integration/naked/businessController.spec.js +9 -9
  190. package/cypress/integration/naked/businessInformation.spec.js +19 -19
  191. package/cypress/integration/naked/businessProductsSearch.spec.js +9 -9
  192. package/cypress/integration/naked/businessReviews.spec.js +16 -16
  193. package/cypress/integration/naked/businessSortControl.spec.js +9 -9
  194. package/cypress/integration/naked/businessTypeFilter.spec.js +10 -10
  195. package/cypress/integration/naked/businessesMap.spec.js +13 -13
  196. package/cypress/integration/naked/cms.spec.js +9 -9
  197. package/cypress/integration/naked/config.spec.js +34 -34
  198. package/cypress/integration/naked/driverTips.spec.js +10 -10
  199. package/cypress/integration/naked/events.spec.js +13 -13
  200. package/cypress/integration/naked/facebookLogin.spec.js +13 -13
  201. package/cypress/integration/naked/floatingButton.spec.js +13 -13
  202. package/cypress/integration/naked/forgotPassword.spec.js +20 -20
  203. package/cypress/integration/naked/googleLogin.spec.js +11 -11
  204. package/cypress/integration/naked/languageExamples.spec.js +25 -25
  205. package/cypress/integration/naked/languageSelector.spec.js +10 -10
  206. package/cypress/integration/naked/login.spec.js +38 -38
  207. package/cypress/integration/naked/logout.spec.js +15 -15
  208. package/cypress/integration/naked/mainSearch.spec.js +9 -9
  209. package/cypress/integration/naked/menuControl.spec.js +9 -9
  210. package/cypress/integration/naked/messages.spec.js +25 -25
  211. package/cypress/integration/naked/momentOption.spec.js +10 -10
  212. package/cypress/integration/naked/myOrders.spec.js +11 -11
  213. package/cypress/integration/naked/myOrdersList.spec.js +9 -9
  214. package/cypress/integration/naked/orderContextAdvanced.spec.js +23 -23
  215. package/cypress/integration/naked/orderDetails.spec.js +11 -11
  216. package/cypress/integration/naked/paymentOptionCash.spec.js +21 -21
  217. package/cypress/integration/naked/paymentOptionStripe.spec.js +11 -11
  218. package/cypress/integration/naked/paymentOptionStripeDirect.spec.js +11 -11
  219. package/cypress/integration/naked/paymentOptions.spec.js +9 -9
  220. package/cypress/integration/naked/popupExample.spec.js +17 -17
  221. package/cypress/integration/naked/productImages.spec.js +11 -11
  222. package/cypress/integration/naked/productOptionExample.spec.js +21 -21
  223. package/cypress/integration/naked/productShare.spec.js +9 -9
  224. package/cypress/integration/naked/productsList.spec.js +9 -9
  225. package/cypress/integration/naked/resetPassword.spec.js +11 -11
  226. package/cypress/integration/naked/reviewOrders.spec.js +13 -13
  227. package/cypress/integration/naked/searchOptions.spec.js +18 -18
  228. package/cypress/integration/naked/signup.spec.js +31 -31
  229. package/cypress/integration/naked/upselling.spec.js +13 -13
  230. package/cypress/integration/naked/userDetails.spec.js +12 -12
  231. package/cypress/plugins/index.js +21 -21
  232. package/cypress/support/commands.js +35 -35
  233. package/cypress/support/index.js +20 -20
  234. package/cypress.json +12 -12
  235. package/example/App.js +263 -263
  236. package/example/components/ActiveOrdersUI/index.js +72 -72
  237. package/example/components/AddressDetailsUI/index.js +101 -101
  238. package/example/components/AddressFormUI/index.js +161 -161
  239. package/example/components/AddressListUI/index.js +33 -33
  240. package/example/components/AlertPopup/index.js +10 -10
  241. package/example/components/AlertUI/index.js +49 -49
  242. package/example/components/AlertUI/style.css +5 -5
  243. package/example/components/AppleLoginUI/index.js +40 -40
  244. package/example/components/BaseComponentUI/index.js +34 -34
  245. package/example/components/BusinessBasicInformationUI/index.js +118 -118
  246. package/example/components/BusinessControllerUI/index.js +89 -89
  247. package/example/components/BusinessInformationUI/BusinessOptionUI/index.js +83 -83
  248. package/example/components/BusinessInformationUI/index.js +83 -83
  249. package/example/components/BusinessProductsCategoriesUI/index.js +42 -42
  250. package/example/components/BusinessProductsSearchUI/index.js +38 -38
  251. package/example/components/BusinessReviewsUI/index.js +77 -77
  252. package/example/components/BusinessSortControlUI/index.js +47 -47
  253. package/example/components/BusinessTypeFilterUI/index.js +53 -53
  254. package/example/components/BusinessesMapUI/index.js +57 -57
  255. package/example/components/CartUI/index.js +154 -154
  256. package/example/components/ChangeView/index.js +19 -19
  257. package/example/components/CheckoutUI/index.js +206 -206
  258. package/example/components/CmsContentUI/index.js +52 -52
  259. package/example/components/ConfigsExample/index.js +118 -118
  260. package/example/components/CouponControlUI/index.js +63 -63
  261. package/example/components/DriverTipsUI/index.js +58 -58
  262. package/example/components/FacebookLoginButtonUI/index.js +48 -48
  263. package/example/components/FloatingButtonUI/index.js +145 -145
  264. package/example/components/ForgotPasswordFormUI/index.js +93 -93
  265. package/example/components/GoogleLoginUI/index.js +30 -30
  266. package/example/components/GpsButtonUI/index.js +22 -22
  267. package/example/components/Header/index.js +18 -18
  268. package/example/components/LanguageSelectorUI/index.js +57 -57
  269. package/example/components/LanguagesExample/index.js +51 -51
  270. package/example/components/LoginFormUI/index.js +159 -159
  271. package/example/components/LogoutButtonUI/index.js +21 -21
  272. package/example/components/MainSearchUI/index.js +131 -131
  273. package/example/components/MenuControlUI/index.js +103 -103
  274. package/example/components/MessagesUI/index.js +162 -162
  275. package/example/components/ModalUI/index.js +36 -36
  276. package/example/components/ModalUI/style.css +5 -5
  277. package/example/components/MomentOptionUI/index.js +68 -68
  278. package/example/components/MyOrdersListUI/index.js +51 -51
  279. package/example/components/MyOrdersUI/index.js +52 -52
  280. package/example/components/OrderChangeUI/index.js +54 -54
  281. package/example/components/OrderDetailsUI/index.js +174 -174
  282. package/example/components/OrderReviewUI/index.js +125 -125
  283. package/example/components/OrderTypeControlUI/index.js +32 -32
  284. package/example/components/PaymentOptionCashUI/index.js +60 -60
  285. package/example/components/PaymentOptionPaypalUI/index.js +50 -50
  286. package/example/components/PaymentOptionStripeDirectUI/index.js +89 -89
  287. package/example/components/PaymentOptionStripeRedirectUI/index.js +97 -97
  288. package/example/components/PaymentOptionStripeUI/index.js +129 -129
  289. package/example/components/PaymentOptionsUI/index.js +169 -169
  290. package/example/components/PhoneAutocompleteUI/index.js +67 -67
  291. package/example/components/PhoneAutocompleteUI/styles.css +49 -49
  292. package/example/components/ProductComponentUI/index.js +113 -113
  293. package/example/components/ProductFormUI/index.js +131 -131
  294. package/example/components/ProductImagesUI/index.js +82 -82
  295. package/example/components/ProductIngredientUI/index.js +21 -21
  296. package/example/components/ProductOptionSuboptionUI/index.js +65 -65
  297. package/example/components/ProductOptionUI/index.js +31 -31
  298. package/example/components/ProductShareUI/index.js +48 -48
  299. package/example/components/ProductsListUI/index.js +108 -108
  300. package/example/components/ProductsListingUI/index.js +42 -42
  301. package/example/components/ResetPasswordUI/index.js +121 -121
  302. package/example/components/SearchOptionsUI/index.js +82 -82
  303. package/example/components/SignupFormUI/index.js +117 -117
  304. package/example/components/SingleBusinessCardUI/index.js +82 -82
  305. package/example/components/SingleOrderCardUI/index.js +52 -52
  306. package/example/components/SingleProductCardUI/index.js +47 -47
  307. package/example/components/StripeElementsFormUI/CardFormUI/index.js +51 -51
  308. package/example/components/StripeElementsFormUI/CardFormUI/style.css +118 -118
  309. package/example/components/StripeElementsFormUI/index.js +38 -38
  310. package/example/components/StripeRedirectFormUI/index.js +99 -99
  311. package/example/components/TestComponent/index.js +5 -5
  312. package/example/components/UpsellingPageUI/index.js +26 -26
  313. package/example/components/UserDetailsUI/index.js +94 -94
  314. package/example/components/UserProfileUI/index.js +156 -156
  315. package/example/views/ActiveOrders/index.js +86 -86
  316. package/example/views/AddressDetailsExample/index.js +57 -57
  317. package/example/views/AppleLoginExample/index.js +51 -51
  318. package/example/views/BaseComponentExample/index.js +35 -35
  319. package/example/views/BusinessBasicInformationExample/index.js +43 -43
  320. package/example/views/BusinessControllerExample/index.js +55 -55
  321. package/example/views/BusinessInformationExample/index.js +68 -68
  322. package/example/views/BusinessProductsCategoriesExample/index.js +50 -50
  323. package/example/views/BusinessProductsSearchExample/index.js +39 -39
  324. package/example/views/BusinessReviewsExample/index.js +43 -43
  325. package/example/views/BusinessSortControlExample/index.js +53 -53
  326. package/example/views/BusinessTypeFilterExample/index.js +53 -53
  327. package/example/views/BusinessesMapExample/index.js +57 -57
  328. package/example/views/CheckoutExample/index.js +143 -143
  329. package/example/views/CmsContentExample/index.js +44 -44
  330. package/example/views/DriverTipsExample/index.js +47 -47
  331. package/example/views/EventsExample/index.js +26 -26
  332. package/example/views/FacebookLogin/index.js +63 -63
  333. package/example/views/FloatingButtonExample/index.js +47 -47
  334. package/example/views/ForgotPassword/index.js +77 -77
  335. package/example/views/GoogleLoginExample/index.js +85 -85
  336. package/example/views/Home/index.js +200 -200
  337. package/example/views/LanguageSelectorExample/index.js +55 -55
  338. package/example/views/Login/index.js +84 -84
  339. package/example/views/MainSearchExample/index.js +43 -43
  340. package/example/views/MenuControlExample/index.js +68 -68
  341. package/example/views/MessagesExample/index.js +58 -58
  342. package/example/views/MomentOptionExample/index.js +52 -52
  343. package/example/views/MyOrdersExample/index.js +35 -35
  344. package/example/views/MyOrdersListExample/index.js +50 -50
  345. package/example/views/OrderChangeExample/index.js +46 -46
  346. package/example/views/OrderContextExample/index.js +139 -139
  347. package/example/views/OrderDetailsExample/index.js +50 -50
  348. package/example/views/OrderReviewExample/index.js +64 -64
  349. package/example/views/PaymentOptionCashExample/index.js +51 -51
  350. package/example/views/PaymentOptionPaypalExample/index.js +71 -71
  351. package/example/views/PaymentOptionStripeDirectExample/index.js +43 -43
  352. package/example/views/PaymentOptionStripeExample/index.js +47 -47
  353. package/example/views/PaymentOptionStripeRedirectExample/index.js +56 -56
  354. package/example/views/PaymentOptionsExample/index.js +47 -47
  355. package/example/views/PhoneAutocompleteExample/index.js +34 -34
  356. package/example/views/PlacesExample/index.js +94 -94
  357. package/example/views/PopupExample/index.js +78 -78
  358. package/example/views/PopupExample/style.css +18 -18
  359. package/example/views/ProductDetail/index.js +323 -323
  360. package/example/views/ProductImagesExample/index.js +43 -43
  361. package/example/views/ProductOptionExample/index.js +88 -88
  362. package/example/views/ProductShareExample/index.js +51 -51
  363. package/example/views/ProductsListExample/index.js +77 -77
  364. package/example/views/ProductsListingExample/index.js +47 -47
  365. package/example/views/ResetPasswordExample/index.js +60 -60
  366. package/example/views/SearchOptionsExample/index.js +42 -42
  367. package/example/views/SessionManager/index.js +122 -122
  368. package/example/views/Signup/index.js +64 -64
  369. package/example/views/UpsellingPageExample/index.js +35 -35
  370. package/example/views/UserDetailsExample/index.js +69 -69
  371. package/example/views/UserProfile/index.js +73 -73
  372. package/index-example.js +23 -23
  373. package/index.html +13 -13
  374. package/native/index.js +257 -257
  375. package/native/src/NativeStrategy/index.js +20 -20
  376. package/native/src/contexts/OrderingContext/index.js +85 -85
  377. package/package.json +92 -92
  378. package/src/components/AddressDetails/index.js +149 -149
  379. package/src/components/AddressForm/index.js +372 -372
  380. package/src/components/AddressList/index.js +254 -254
  381. package/src/components/Analitycs/index.js +119 -119
  382. package/src/components/AnalyticsSegment/index.js +145 -145
  383. package/src/components/AppleLogin/index.js +164 -164
  384. package/src/components/BaseComponent/index.js +52 -52
  385. package/src/components/BusinessAndProductList/index.js +986 -986
  386. package/src/components/BusinessBasicInformation/index.js +119 -119
  387. package/src/components/BusinessController/index.js +351 -351
  388. package/src/components/BusinessInformation/BusinessOption/index.js +86 -86
  389. package/src/components/BusinessInformation/index.js +93 -93
  390. package/src/components/BusinessList/index.js +670 -670
  391. package/src/components/BusinessMenuListing/index.js +99 -99
  392. package/src/components/BusinessProductsCategories/index.js +60 -60
  393. package/src/components/BusinessProductsSearch/index.js +54 -54
  394. package/src/components/BusinessReviews/index.js +187 -187
  395. package/src/components/BusinessSearchList/index.js +364 -364
  396. package/src/components/BusinessSortControl/index.js +100 -100
  397. package/src/components/BusinessTypeFilter/index.js +142 -142
  398. package/src/components/BusinessesMap/index.js +110 -110
  399. package/src/components/Cart/index.js +211 -211
  400. package/src/components/CartStoresListing/index.js +157 -157
  401. package/src/components/Checkout/index.js +636 -636
  402. package/src/components/CmsContent/index.js +97 -97
  403. package/src/components/Contacts/index.js +512 -512
  404. package/src/components/CouponControl/index.js +171 -171
  405. package/src/components/DragAndDrop/index.js +41 -41
  406. package/src/components/DriverList/index.js +112 -112
  407. package/src/components/DriverTips/index.js +141 -141
  408. package/src/components/Emitter/index.js +36 -36
  409. package/src/components/ExamineClick/index.js +40 -40
  410. package/src/components/FacebookLoginButton/index.js +214 -214
  411. package/src/components/FacebookPixel/index.js +148 -148
  412. package/src/components/FavoriteList/index.js +278 -278
  413. package/src/components/FirebaseGoogleLoginButton/index.js +93 -93
  414. package/src/components/FloatingButton/index.js +70 -70
  415. package/src/components/ForgotPasswordForm/index.js +180 -180
  416. package/src/components/GiftCard/GiftCardOrdersList/index.js +155 -155
  417. package/src/components/GiftCard/PurchaseGiftCard/index.js +127 -127
  418. package/src/components/GiftCard/RedeemGiftCard/index.js +77 -77
  419. package/src/components/GiftCard/SendGiftCard/index.js +83 -83
  420. package/src/components/GoogleAutocompleteInput/index.js +154 -154
  421. package/src/components/GoogleIdentity/index.js +144 -144
  422. package/src/components/GoogleLoginButton/index.js +276 -276
  423. package/src/components/GoogleMaps/index.js +499 -499
  424. package/src/components/GpsButton/index.js +127 -127
  425. package/src/components/LanguageSelector/index.js +163 -163
  426. package/src/components/LoginForm/index.js +527 -527
  427. package/src/components/LogoutAction/index.js +211 -211
  428. package/src/components/MainSearch/index.js +149 -149
  429. package/src/components/MapView/index.js +116 -116
  430. package/src/components/MenuControl/index.js +238 -238
  431. package/src/components/Messages/index.js +166 -166
  432. package/src/components/MomentOption/index.js +322 -322
  433. package/src/components/MultiCartCreate/index.js +70 -70
  434. package/src/components/MultiCartsPaymethodsAndWallets/index.js +201 -201
  435. package/src/components/MultiCheckout/index.js +378 -378
  436. package/src/components/MultiOrdersDetails/index.js +109 -109
  437. package/src/components/MyOrders/index.js +150 -150
  438. package/src/components/MyOrdersList/index.js +104 -104
  439. package/src/components/NewOrderNotification/index.js +30 -30
  440. package/src/components/OrderChange/index.js +128 -128
  441. package/src/components/OrderDetails/index.js +684 -684
  442. package/src/components/OrderList/index.js +814 -814
  443. package/src/components/OrderListGroups/index.js +1245 -1245
  444. package/src/components/OrderReview/index.js +180 -180
  445. package/src/components/OrderTypeControl/index.js +75 -75
  446. package/src/components/OrderVerticalList/index.js +422 -422
  447. package/src/components/OrdersControlFilters/index.js +75 -75
  448. package/src/components/OrdersDashboardComponents/Appointments/index.js +72 -72
  449. package/src/components/OrdersDashboardComponents/BusinessProductsListing/index.js +629 -629
  450. package/src/components/OrdersDashboardComponents/CheckPassword/index.js +177 -177
  451. package/src/components/OrdersDashboardComponents/CityList/index.js +98 -98
  452. package/src/components/OrdersDashboardComponents/CountryList/index.js +162 -162
  453. package/src/components/OrdersDashboardComponents/CustomOrderDetails/index.js +238 -238
  454. package/src/components/OrdersDashboardComponents/DashboardBusinessList/index.js +617 -617
  455. package/src/components/OrdersDashboardComponents/DashboardOrdersList/index.js +943 -943
  456. package/src/components/OrdersDashboardComponents/DriversList/index.js +448 -448
  457. package/src/components/OrdersDashboardComponents/ExportCSV/index.js +192 -192
  458. package/src/components/OrdersDashboardComponents/GiftCardsList/index.js +189 -189
  459. package/src/components/OrdersDashboardComponents/GoogleMapsApiKeySetting/index.js +77 -77
  460. package/src/components/OrdersDashboardComponents/LogisticInformation/index.js +97 -97
  461. package/src/components/OrdersDashboardComponents/Logistics/index.js +174 -174
  462. package/src/components/OrdersDashboardComponents/Messages/index.js +384 -384
  463. package/src/components/OrdersDashboardComponents/MetaFields/index.js +186 -186
  464. package/src/components/OrdersDashboardComponents/OrderDetails/index.js +404 -404
  465. package/src/components/OrdersDashboardComponents/OrderNotification/index.js +70 -70
  466. package/src/components/OrdersDashboardComponents/OrdersFilter/index.js +362 -362
  467. package/src/components/OrdersDashboardComponents/OrdersManage/index.js +873 -873
  468. package/src/components/OrdersDashboardComponents/PointsWalletLevels/index.js +123 -123
  469. package/src/components/OrdersDashboardComponents/ReviewCustomer/index.js +113 -113
  470. package/src/components/OrdersDashboardComponents/Schedule/index.js +315 -315
  471. package/src/components/OrdersDashboardComponents/SettingsList/index.js +298 -298
  472. package/src/components/OrdersDashboardComponents/UserFormDetails/index.js +463 -463
  473. package/src/components/OrdersDashboardComponents/UsersList/index.js +944 -944
  474. package/src/components/OrdersDashboardComponents/WebsocketStatus/index.js +77 -77
  475. package/src/components/OrdersDashboardComponents/index.js +57 -57
  476. package/src/components/PageBanner/index.js +107 -107
  477. package/src/components/PaymentOptionCash/index.js +74 -74
  478. package/src/components/PaymentOptionPaypal/index.js +146 -146
  479. package/src/components/PaymentOptionSquare/index.js +336 -336
  480. package/src/components/PaymentOptionStripe/index.js +289 -289
  481. package/src/components/PaymentOptionStripeDirect/index.js +116 -116
  482. package/src/components/PaymentOptionStripeRedirect/StripeRedirectForm/index.js +71 -71
  483. package/src/components/PaymentOptionStripeRedirect/index.js +122 -122
  484. package/src/components/PaymentOptionWallet/index.js +185 -185
  485. package/src/components/PaymentOptions/index.js +262 -262
  486. package/src/components/PaymethodList/index.js +119 -119
  487. package/src/components/PhoneAutocomplete/index.js +318 -318
  488. package/src/components/PlaceSpot/index.js +183 -183
  489. package/src/components/Popup/index.js +169 -169
  490. package/src/components/ProductComponent/index.js +269 -269
  491. package/src/components/ProductForm/index.js +1105 -1105
  492. package/src/components/ProductImages/index.js +64 -64
  493. package/src/components/ProductIngredient/index.js +72 -72
  494. package/src/components/ProductItemAccordion/index.js +72 -72
  495. package/src/components/ProductOption/index.js +42 -42
  496. package/src/components/ProductOptionSuboption/index.js +181 -181
  497. package/src/components/ProductShare/index.js +97 -97
  498. package/src/components/ProductsList/index.js +74 -74
  499. package/src/components/ProductsListing/index.js +166 -166
  500. package/src/components/ProfessionalInfo/index.js +156 -156
  501. package/src/components/PromotionsController/index.js +123 -123
  502. package/src/components/QueryLoginSpoonity/index.js +159 -159
  503. package/src/components/ReCaptcha/index.js +53 -53
  504. package/src/components/ResetPassword/index.js +111 -111
  505. package/src/components/ReviewCustomer/index.js +117 -117
  506. package/src/components/ReviewDriver/index.js +157 -157
  507. package/src/components/ReviewProduct/index.js +162 -162
  508. package/src/components/SearchOptions/index.js +69 -69
  509. package/src/components/Sessions/index.js +217 -217
  510. package/src/components/SignupForm/index.js +555 -555
  511. package/src/components/SingleBusinessCard/index.js +80 -80
  512. package/src/components/SingleOrderCard/index.js +160 -160
  513. package/src/components/SingleProductCard/index.js +130 -130
  514. package/src/components/SingleProfessionalCard/index.js +121 -121
  515. package/src/components/SmartAppBanner/index.js +71 -71
  516. package/src/components/StoreProductList/index.js +303 -303
  517. package/src/components/StripeElementsForm/CardForm/index.js +248 -248
  518. package/src/components/StripeElementsForm/index.js +78 -78
  519. package/src/components/UpsellingPage/index.js +120 -120
  520. package/src/components/UserFormDetails/index.js +742 -742
  521. package/src/components/UserVerification/index.js +242 -242
  522. package/src/components/WalletList/index.js +160 -160
  523. package/src/components/WebsocketStatus/index.js +80 -80
  524. package/src/components/WrapperGoogleMaps/index.js +67 -67
  525. package/src/constants/code-numbers.js +219 -219
  526. package/src/constants/timezones.js +427 -427
  527. package/src/contexts/ApiContext/index.js +59 -59
  528. package/src/contexts/BillingContext/index.js +28 -28
  529. package/src/contexts/BusinessContext/index.js +71 -71
  530. package/src/contexts/ConfigContext/index.js +217 -217
  531. package/src/contexts/CustomerContext/index.js +69 -69
  532. package/src/contexts/EventContext/index.js +31 -31
  533. package/src/contexts/LanguageContext/index.js +144 -144
  534. package/src/contexts/OptimizationLoadContext/index.js +95 -95
  535. package/src/contexts/OrderContext/index.js +1450 -1450
  536. package/src/contexts/OrderingContext/index.js +86 -86
  537. package/src/contexts/OrderingThemeContext/index.js +107 -107
  538. package/src/contexts/ProductContext/index.js +62 -62
  539. package/src/contexts/SessionContext/index.js +172 -172
  540. package/src/contexts/SiteContext/index.js +79 -79
  541. package/src/contexts/ToastContext/index.js +42 -42
  542. package/src/contexts/UtilsContext/index.js +352 -352
  543. package/src/contexts/ValidationsFieldsContext/index.js +65 -65
  544. package/src/contexts/WebsocketContext/index.js +91 -91
  545. package/src/contexts/WebsocketContext/socket.js +92 -92
  546. package/src/index.js +371 -371
  547. package/src/utils/index.js +32 -32
  548. package/src/webStrategy/index.js +18 -18
  549. package/webpack.dev.js +41 -41
  550. package/webpack.prod.js +64 -64
  551. package/_bundles/0.ordering-component.aa21761da1477298dd80.js +0 -1
  552. package/_bundles/7.ordering-component.aa21761da1477298dd80.js +0 -2
  553. package/_bundles/7.ordering-component.aa21761da1477298dd80.js.LICENSE.txt +0 -53
  554. package/_bundles/ordering-component.aa21761da1477298dd80.js +0 -2
@@ -1,422 +1,422 @@
1
- import React, { useEffect, useState } from 'react'
2
- import { useSession } from '../../contexts/SessionContext'
3
- import { useApi } from '../../contexts/ApiContext'
4
- import { useWebsocket } from '../../contexts/WebsocketContext'
5
- import { ToastType, useToast } from '../../contexts/ToastContext'
6
- import { useLanguage } from '../../contexts/LanguageContext'
7
- import { useEvent } from '../../contexts/EventContext'
8
- import { useOrder } from '../../contexts/OrderContext'
9
-
10
- export const OrderVerticalList = (props) => {
11
- const {
12
- UIComponent,
13
- orderBy,
14
- businessId,
15
- useDefualtSessionManager,
16
- paginationSettings,
17
- asDashboard,
18
- orderGroupStatusCustom,
19
- onNavigationRedirect
20
- } = props
21
-
22
- const [ordering] = useApi()
23
- const [session] = useSession()
24
- const [events] = useEvent()
25
- const socket = useWebsocket()
26
- const [, t] = useLanguage()
27
- const [, { reorder }] = useOrder()
28
- const [, { showToast }] = useToast()
29
-
30
- const ordersStatusArray = ['upcoming', 'active', 'past', 'all']
31
-
32
- const ordersGroupStatus = {
33
- upcoming: orderGroupStatusCustom?.upcoming ?? [13],
34
- active: orderGroupStatusCustom?.active ?? [0, 3, 4, 7, 8, 9, 14, 15, 18, 19, 20, 21, 22, 23, 24, 25, 26],
35
- past: orderGroupStatusCustom?.past ?? [1, 2, 5, 6, 10, 11, 12, 16, 17],
36
- all: orderGroupStatusCustom?.all ?? [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26]
37
- }
38
-
39
- const orderObjDefault = {
40
- loading: true,
41
- error: null,
42
- pagination: {
43
- currentPage: (paginationSettings.controlType === 'pages' && paginationSettings.initialPage && paginationSettings.initialPage >= 1)
44
- ? paginationSettings.initialPage - 1
45
- : 0,
46
- pageSize: paginationSettings.pageSize ?? 10,
47
- total: null
48
- }
49
- }
50
-
51
- const [reorderLoading, setReorderLoading] = useState(false)
52
- let [ordersGroup, setOrdersGroup] = useState({
53
- ...orderObjDefault,
54
- all: { orders: [] },
55
- upcoming: { orders: [] },
56
- active: { orders: [] },
57
- past: { orders: [] },
58
- })
59
-
60
- const accessToken = useDefualtSessionManager ? session.token : props.accessToken
61
- const requestsState = {}
62
-
63
- const getOrders = async ({ page, pageSize = paginationSettings.pageSize, orderStatus }) => {
64
- const options = {
65
- query: {
66
- orderBy,
67
- page: page,
68
- page_size: pageSize
69
- }
70
- }
71
-
72
- options.query.where = []
73
- if (orderStatus) {
74
- options.query.where.push({ attribute: 'status', value: orderStatus })
75
-
76
- options.query.where.push({
77
- attribute: 'id',
78
- value: {
79
- condition: '!=',
80
- value: ordersGroup?.all?.orders?.map((o) => o.id)
81
- }
82
- })
83
- }
84
-
85
- if (businessId) {
86
- options.query.where.push({ attribute: 'business_id', value: businessId })
87
- }
88
-
89
- const source = {}
90
- requestsState.orders = source
91
- options.cancelToken = source
92
-
93
- const functionFetch = asDashboard
94
- ? ordering.setAccessToken(accessToken).orders().asDashboard()
95
- : ordering.setAccessToken(accessToken).orders()
96
- return await functionFetch.get(options)
97
- }
98
-
99
- const loadOrders = async ({ newFetch } = {}) => {
100
- if (
101
- !newFetch &&
102
- ordersGroup.pagination.currentPage === ordersGroup.pagination?.totalPages &&
103
- ordersGroup.pagination.total !== null
104
- ) {
105
- return
106
- }
107
-
108
- if (newFetch) {
109
- const options = {}
110
- ordersStatusArray.map(tab => {
111
- options[tab] = { orders: [] }
112
- })
113
- ordersGroup = { ...orderObjDefault, ...options }
114
- }
115
-
116
- const pageSize = paginationSettings.pageSize
117
-
118
- try {
119
- setOrdersGroup({ ...ordersGroup, loading: true })
120
- const { content: { error, result, pagination } } = await getOrders({
121
- page: 1,
122
- pageSize,
123
- orderStatus: ordersGroupStatus.all,
124
- newFetch
125
- })
126
-
127
- const tabOptions = {}
128
- ordersStatusArray.map(tab => {
129
- tabOptions[tab] = {
130
- orders: error
131
- ? newFetch
132
- ? []
133
- : sortOrders(ordersGroup[tab].orders)
134
- : newFetch
135
- ? sortOrders(result.filter((order) => ordersGroupStatus[tab].includes(order.status)))
136
- : sortOrders(ordersGroup[tab].orders.concat(result.filter(order => ordersGroupStatus[tab].includes(order.status))))
137
- }
138
- })
139
-
140
- setOrdersGroup({
141
- ...ordersGroup,
142
- loading: false,
143
- error: error ? result : null,
144
- ...tabOptions,
145
- pagination: {
146
- ...ordersGroup.pagination,
147
- currentPage: pagination.current_page,
148
- pageSize: pagination.page_size,
149
- totalPages: pagination.total_pages,
150
- total: pagination.total,
151
- from: pagination.from,
152
- to: pagination.to
153
- }
154
- })
155
- } catch (err) {
156
- if (err.constructor.name !== 'Cancel') {
157
- setOrdersGroup({
158
- ...ordersGroup,
159
- loading: false,
160
- error: [err?.message ?? 'ERROR']
161
- })
162
- }
163
- }
164
- }
165
-
166
- const loadMoreOrders = async () => {
167
- try {
168
- setOrdersGroup({ ...ordersGroup, loading: true })
169
- const { content: { error, result, pagination } } = await getOrders({
170
- page: ordersGroup.pagination.currentPage + 1,
171
- orderStatus: ordersGroupStatus.all,
172
- })
173
-
174
- const tabOptions = {}
175
- ordersStatusArray.map(tab => {
176
- tabOptions[tab] = {
177
- orders: error
178
- ? sortOrders(ordersGroup[tab].orders)
179
- : sortOrders(ordersGroup[tab].orders.concat(result.filter(order => ordersGroupStatus[tab].includes(order.status)))),
180
- }
181
- })
182
-
183
- setOrdersGroup({
184
- ...ordersGroup,
185
- loading: false,
186
- error: error ? result : null,
187
- ...tabOptions,
188
- pagination: !error
189
- ? {
190
- ...ordersGroup.pagination,
191
- currentPage: pagination.current_page,
192
- pageSize: pagination.page_size,
193
- totalPages: pagination.total_pages,
194
- total: pagination.total,
195
- from: pagination.from,
196
- to: pagination.to
197
- }
198
- : ordersGroup.pagination
199
- })
200
- } catch (err) {
201
- if (err.constructor.name !== 'Cancel') {
202
- setOrdersGroup({
203
- ...ordersGroup,
204
- loading: false,
205
- error: [err?.message ?? 'ERROR']
206
- })
207
- }
208
- }
209
- }
210
-
211
- const sortOrders = (orders, sortBy = 'desc') => {
212
- const ordersSorted = orders.sort((a, b) => {
213
- if (sortBy === 'desc') {
214
- return b.id - a.id
215
- }
216
- return a.id - b.id
217
- })
218
-
219
- return ordersSorted
220
- }
221
-
222
- const getStatusById = (id) => {
223
- if (!id && id !== 0) return
224
- const upcoming = orderGroupStatusCustom?.upcoming ?? [13]
225
- const active = orderGroupStatusCustom?.active ?? [0, 3, 4, 7, 8, 9, 14, 15, 18, 19, 20, 21, 23, 26]
226
-
227
- const status = upcoming.includes(id)
228
- ? 'upcoming'
229
- : active.includes(id)
230
- ? 'active'
231
- : 'past'
232
-
233
- return status
234
- }
235
-
236
- const actionOrderToTab = (orderAux, status, type) => {
237
- const orderList = ordersGroup[status].orders
238
- let orders
239
- const order = {
240
- ...orderAux,
241
- showNotification: true
242
- }
243
- if (type === 'update') {
244
- const indexToUpdate = orderList.findIndex((o) => o.id === order.id)
245
- orderList[indexToUpdate] = order
246
- orders = orderList
247
- } else {
248
- orders = type === 'add'
249
- ? [order, ...orderList]
250
- : orderList.filter((_order) => _order.id !== order.id)
251
- }
252
-
253
- ordersGroup[status].orders = sortOrders(orders)
254
-
255
- if (type !== 'update') {
256
- ordersGroup.pagination = {
257
- ...ordersGroup.pagination,
258
- total: ordersGroup.pagination.total + (type === 'add' ? 1 : -1)
259
- }
260
- }
261
- }
262
-
263
- const handleReorder = async (orderId) => {
264
- setReorderLoading(true)
265
- try {
266
- const { error, result } = await reorder(orderId)
267
- if (!error) {
268
- onNavigationRedirect && onNavigationRedirect('CheckoutNavigator', { cartUuid: result.uuid })
269
- setReorderLoading(false)
270
- return
271
- }
272
- setReorderLoading(false)
273
-
274
- } catch (err) {
275
- showToast(ToastType.Error, t('ERROR', err.message))
276
- setReorderLoading(false)
277
- }
278
- }
279
-
280
- useEffect(() => {
281
- loadOrders({newFetch: ordersGroup.pagination.total === null })
282
- }, [])
283
-
284
- useEffect(() => {
285
- if (ordersGroup.loading) return
286
-
287
- const handleUpdateOrder = (order) => {
288
- events.emit('order_updated', order)
289
- let orderFound = null
290
-
291
- for (let i = 0; i < ordersStatusArray.length; i++) {
292
- const status = ordersStatusArray[i]
293
- orderFound = ordersGroup[status].orders.find((_order) => _order.id === order.id)
294
- if (orderFound) break
295
- }
296
-
297
- showToast(
298
- ToastType.Info,
299
- t('SPECIFIC_ORDER_UPDATED', 'Your order number _NUMBER_ has updated').replace('_NUMBER_', order.id),
300
- 1000
301
- )
302
-
303
- if (!orderFound) {
304
- if (
305
- !order?.products ||
306
- !order?.summary ||
307
- typeof order?.status !== 'number' ||
308
- !order?.customer ||
309
- !order?.business ||
310
- !order?.paymethod
311
- ) {
312
- return
313
- }
314
- delete order.total
315
- delete order.subtotal
316
-
317
- actionOrderToTab(order, getStatusById(order?.status), 'add')
318
-
319
- return
320
- }
321
-
322
- if (
323
- orderFound.id === order.id &&
324
- orderFound?.driver?.id !== order?.driver?.id &&
325
- session?.user?.level === 4
326
- ) {
327
- actionOrderToTab(orderFound, getStatusById(orderFound.status), 'remove')
328
- }
329
-
330
- if (orderFound.id === order.id) {
331
- delete order.total
332
- delete order.subtotal
333
- }
334
-
335
- if (!order?.status && order?.status !== 0) {
336
- Object.assign(orderFound, order)
337
- } else {
338
- const newOrderStatus = getStatusById(order?.status) ?? ''
339
- const currentOrderStatus = getStatusById(orderFound?.status) ?? ''
340
-
341
- Object.assign(orderFound, order)
342
-
343
- if (newOrderStatus !== currentOrderStatus) {
344
- actionOrderToTab(orderFound, currentOrderStatus, 'remove')
345
-
346
- const total = ordersGroup.pagination.total ?? null
347
-
348
- if (total !== null) {
349
- actionOrderToTab(orderFound, newOrderStatus, 'add')
350
- }
351
- } else {
352
- actionOrderToTab(orderFound, newOrderStatus, 'update')
353
- }
354
- }
355
- }
356
-
357
- const handleAddNewOrder = (order) => {
358
- events.emit('order_added', order)
359
- showToast(
360
- ToastType.Info,
361
- t('SPECIFIC_ORDER_ORDERED', 'Order _NUMBER_ has been ordered').replace('_NUMBER_', order.id),
362
- 1000
363
- )
364
- const status = getStatusById(order?.status) ?? ''
365
- actionOrderToTab(order, status, 'add')
366
- actionOrderToTab(order, 'all', 'add')
367
- }
368
-
369
- socket.on('orders_register', handleAddNewOrder)
370
- socket.on('update_order', handleUpdateOrder)
371
- return () => {
372
- socket.off('orders_register', handleAddNewOrder)
373
- socket.off('update_order', handleUpdateOrder)
374
- }
375
- }, [ordersGroup, socket, session])
376
-
377
- useEffect(() => {
378
- if (!session.user) return
379
- socket.on('disconnect', () => {
380
- const ordersRoom = session?.user?.level === 0 ? 'orders' : `orders_${session?.user?.id}`
381
- socket.join(ordersRoom)
382
- })
383
- const ordersRoom = session?.user?.level === 0 ? 'orders' : `orders_${session?.user?.id}`
384
- socket.join(ordersRoom)
385
- return () => {
386
- socket.leave(ordersRoom)
387
- }
388
- }, [socket, session])
389
-
390
- useEffect(() => {
391
- const request = requestsState.orders
392
- return () => {
393
- request && request.cancel && request.cancel()
394
- }
395
- }, [requestsState.orders])
396
-
397
- return (
398
- <>
399
- {UIComponent && (
400
- <UIComponent
401
- {...props}
402
- ordersGroup={ordersGroup}
403
- reorderLoading={reorderLoading}
404
- setOrdersGroup={setOrdersGroup}
405
- loadOrders={loadOrders}
406
- loadMoreOrders={loadMoreOrders}
407
- handleReorder={handleReorder}
408
- />
409
- )}
410
- </>
411
- )
412
- }
413
-
414
- OrderVerticalList.defaultProps = {
415
- orderBy: '-id',
416
- orderDirection: 'desc',
417
- paginationSettings: { initialPage: 1, pageSize: 10, controlType: 'infinity' },
418
- beforeComponents: [],
419
- afterComponents: [],
420
- beforeElements: [],
421
- afterElements: []
422
- }
1
+ import React, { useEffect, useState } from 'react'
2
+ import { useSession } from '../../contexts/SessionContext'
3
+ import { useApi } from '../../contexts/ApiContext'
4
+ import { useWebsocket } from '../../contexts/WebsocketContext'
5
+ import { ToastType, useToast } from '../../contexts/ToastContext'
6
+ import { useLanguage } from '../../contexts/LanguageContext'
7
+ import { useEvent } from '../../contexts/EventContext'
8
+ import { useOrder } from '../../contexts/OrderContext'
9
+
10
+ export const OrderVerticalList = (props) => {
11
+ const {
12
+ UIComponent,
13
+ orderBy,
14
+ businessId,
15
+ useDefualtSessionManager,
16
+ paginationSettings,
17
+ asDashboard,
18
+ orderGroupStatusCustom,
19
+ onNavigationRedirect
20
+ } = props
21
+
22
+ const [ordering] = useApi()
23
+ const [session] = useSession()
24
+ const [events] = useEvent()
25
+ const socket = useWebsocket()
26
+ const [, t] = useLanguage()
27
+ const [, { reorder }] = useOrder()
28
+ const [, { showToast }] = useToast()
29
+
30
+ const ordersStatusArray = ['upcoming', 'active', 'past', 'all']
31
+
32
+ const ordersGroupStatus = {
33
+ upcoming: orderGroupStatusCustom?.upcoming ?? [13],
34
+ active: orderGroupStatusCustom?.active ?? [0, 3, 4, 7, 8, 9, 14, 15, 18, 19, 20, 21, 22, 23, 24, 25, 26],
35
+ past: orderGroupStatusCustom?.past ?? [1, 2, 5, 6, 10, 11, 12, 16, 17],
36
+ all: orderGroupStatusCustom?.all ?? [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26]
37
+ }
38
+
39
+ const orderObjDefault = {
40
+ loading: true,
41
+ error: null,
42
+ pagination: {
43
+ currentPage: (paginationSettings.controlType === 'pages' && paginationSettings.initialPage && paginationSettings.initialPage >= 1)
44
+ ? paginationSettings.initialPage - 1
45
+ : 0,
46
+ pageSize: paginationSettings.pageSize ?? 10,
47
+ total: null
48
+ }
49
+ }
50
+
51
+ const [reorderLoading, setReorderLoading] = useState(false)
52
+ let [ordersGroup, setOrdersGroup] = useState({
53
+ ...orderObjDefault,
54
+ all: { orders: [] },
55
+ upcoming: { orders: [] },
56
+ active: { orders: [] },
57
+ past: { orders: [] },
58
+ })
59
+
60
+ const accessToken = useDefualtSessionManager ? session.token : props.accessToken
61
+ const requestsState = {}
62
+
63
+ const getOrders = async ({ page, pageSize = paginationSettings.pageSize, orderStatus }) => {
64
+ const options = {
65
+ query: {
66
+ orderBy,
67
+ page: page,
68
+ page_size: pageSize
69
+ }
70
+ }
71
+
72
+ options.query.where = []
73
+ if (orderStatus) {
74
+ options.query.where.push({ attribute: 'status', value: orderStatus })
75
+
76
+ options.query.where.push({
77
+ attribute: 'id',
78
+ value: {
79
+ condition: '!=',
80
+ value: ordersGroup?.all?.orders?.map((o) => o.id)
81
+ }
82
+ })
83
+ }
84
+
85
+ if (businessId) {
86
+ options.query.where.push({ attribute: 'business_id', value: businessId })
87
+ }
88
+
89
+ const source = {}
90
+ requestsState.orders = source
91
+ options.cancelToken = source
92
+
93
+ const functionFetch = asDashboard
94
+ ? ordering.setAccessToken(accessToken).orders().asDashboard()
95
+ : ordering.setAccessToken(accessToken).orders()
96
+ return await functionFetch.get(options)
97
+ }
98
+
99
+ const loadOrders = async ({ newFetch } = {}) => {
100
+ if (
101
+ !newFetch &&
102
+ ordersGroup.pagination.currentPage === ordersGroup.pagination?.totalPages &&
103
+ ordersGroup.pagination.total !== null
104
+ ) {
105
+ return
106
+ }
107
+
108
+ if (newFetch) {
109
+ const options = {}
110
+ ordersStatusArray.map(tab => {
111
+ options[tab] = { orders: [] }
112
+ })
113
+ ordersGroup = { ...orderObjDefault, ...options }
114
+ }
115
+
116
+ const pageSize = paginationSettings.pageSize
117
+
118
+ try {
119
+ setOrdersGroup({ ...ordersGroup, loading: true })
120
+ const { content: { error, result, pagination } } = await getOrders({
121
+ page: 1,
122
+ pageSize,
123
+ orderStatus: ordersGroupStatus.all,
124
+ newFetch
125
+ })
126
+
127
+ const tabOptions = {}
128
+ ordersStatusArray.map(tab => {
129
+ tabOptions[tab] = {
130
+ orders: error
131
+ ? newFetch
132
+ ? []
133
+ : sortOrders(ordersGroup[tab].orders)
134
+ : newFetch
135
+ ? sortOrders(result.filter((order) => ordersGroupStatus[tab].includes(order.status)))
136
+ : sortOrders(ordersGroup[tab].orders.concat(result.filter(order => ordersGroupStatus[tab].includes(order.status))))
137
+ }
138
+ })
139
+
140
+ setOrdersGroup({
141
+ ...ordersGroup,
142
+ loading: false,
143
+ error: error ? result : null,
144
+ ...tabOptions,
145
+ pagination: {
146
+ ...ordersGroup.pagination,
147
+ currentPage: pagination.current_page,
148
+ pageSize: pagination.page_size,
149
+ totalPages: pagination.total_pages,
150
+ total: pagination.total,
151
+ from: pagination.from,
152
+ to: pagination.to
153
+ }
154
+ })
155
+ } catch (err) {
156
+ if (err.constructor.name !== 'Cancel') {
157
+ setOrdersGroup({
158
+ ...ordersGroup,
159
+ loading: false,
160
+ error: [err?.message ?? 'ERROR']
161
+ })
162
+ }
163
+ }
164
+ }
165
+
166
+ const loadMoreOrders = async () => {
167
+ try {
168
+ setOrdersGroup({ ...ordersGroup, loading: true })
169
+ const { content: { error, result, pagination } } = await getOrders({
170
+ page: ordersGroup.pagination.currentPage + 1,
171
+ orderStatus: ordersGroupStatus.all,
172
+ })
173
+
174
+ const tabOptions = {}
175
+ ordersStatusArray.map(tab => {
176
+ tabOptions[tab] = {
177
+ orders: error
178
+ ? sortOrders(ordersGroup[tab].orders)
179
+ : sortOrders(ordersGroup[tab].orders.concat(result.filter(order => ordersGroupStatus[tab].includes(order.status)))),
180
+ }
181
+ })
182
+
183
+ setOrdersGroup({
184
+ ...ordersGroup,
185
+ loading: false,
186
+ error: error ? result : null,
187
+ ...tabOptions,
188
+ pagination: !error
189
+ ? {
190
+ ...ordersGroup.pagination,
191
+ currentPage: pagination.current_page,
192
+ pageSize: pagination.page_size,
193
+ totalPages: pagination.total_pages,
194
+ total: pagination.total,
195
+ from: pagination.from,
196
+ to: pagination.to
197
+ }
198
+ : ordersGroup.pagination
199
+ })
200
+ } catch (err) {
201
+ if (err.constructor.name !== 'Cancel') {
202
+ setOrdersGroup({
203
+ ...ordersGroup,
204
+ loading: false,
205
+ error: [err?.message ?? 'ERROR']
206
+ })
207
+ }
208
+ }
209
+ }
210
+
211
+ const sortOrders = (orders, sortBy = 'desc') => {
212
+ const ordersSorted = orders.sort((a, b) => {
213
+ if (sortBy === 'desc') {
214
+ return b.id - a.id
215
+ }
216
+ return a.id - b.id
217
+ })
218
+
219
+ return ordersSorted
220
+ }
221
+
222
+ const getStatusById = (id) => {
223
+ if (!id && id !== 0) return
224
+ const upcoming = orderGroupStatusCustom?.upcoming ?? [13]
225
+ const active = orderGroupStatusCustom?.active ?? [0, 3, 4, 7, 8, 9, 14, 15, 18, 19, 20, 21, 23, 26]
226
+
227
+ const status = upcoming.includes(id)
228
+ ? 'upcoming'
229
+ : active.includes(id)
230
+ ? 'active'
231
+ : 'past'
232
+
233
+ return status
234
+ }
235
+
236
+ const actionOrderToTab = (orderAux, status, type) => {
237
+ const orderList = ordersGroup[status].orders
238
+ let orders
239
+ const order = {
240
+ ...orderAux,
241
+ showNotification: true
242
+ }
243
+ if (type === 'update') {
244
+ const indexToUpdate = orderList.findIndex((o) => o.id === order.id)
245
+ orderList[indexToUpdate] = order
246
+ orders = orderList
247
+ } else {
248
+ orders = type === 'add'
249
+ ? [order, ...orderList]
250
+ : orderList.filter((_order) => _order.id !== order.id)
251
+ }
252
+
253
+ ordersGroup[status].orders = sortOrders(orders)
254
+
255
+ if (type !== 'update') {
256
+ ordersGroup.pagination = {
257
+ ...ordersGroup.pagination,
258
+ total: ordersGroup.pagination.total + (type === 'add' ? 1 : -1)
259
+ }
260
+ }
261
+ }
262
+
263
+ const handleReorder = async (orderId) => {
264
+ setReorderLoading(true)
265
+ try {
266
+ const { error, result } = await reorder(orderId)
267
+ if (!error) {
268
+ onNavigationRedirect && onNavigationRedirect('CheckoutNavigator', { cartUuid: result.uuid })
269
+ setReorderLoading(false)
270
+ return
271
+ }
272
+ setReorderLoading(false)
273
+
274
+ } catch (err) {
275
+ showToast(ToastType.Error, t('ERROR', err.message))
276
+ setReorderLoading(false)
277
+ }
278
+ }
279
+
280
+ useEffect(() => {
281
+ loadOrders({newFetch: ordersGroup.pagination.total === null })
282
+ }, [])
283
+
284
+ useEffect(() => {
285
+ if (ordersGroup.loading) return
286
+
287
+ const handleUpdateOrder = (order) => {
288
+ events.emit('order_updated', order)
289
+ let orderFound = null
290
+
291
+ for (let i = 0; i < ordersStatusArray.length; i++) {
292
+ const status = ordersStatusArray[i]
293
+ orderFound = ordersGroup[status].orders.find((_order) => _order.id === order.id)
294
+ if (orderFound) break
295
+ }
296
+
297
+ showToast(
298
+ ToastType.Info,
299
+ t('SPECIFIC_ORDER_UPDATED', 'Your order number _NUMBER_ has updated').replace('_NUMBER_', order.id),
300
+ 1000
301
+ )
302
+
303
+ if (!orderFound) {
304
+ if (
305
+ !order?.products ||
306
+ !order?.summary ||
307
+ typeof order?.status !== 'number' ||
308
+ !order?.customer ||
309
+ !order?.business ||
310
+ !order?.paymethod
311
+ ) {
312
+ return
313
+ }
314
+ delete order.total
315
+ delete order.subtotal
316
+
317
+ actionOrderToTab(order, getStatusById(order?.status), 'add')
318
+
319
+ return
320
+ }
321
+
322
+ if (
323
+ orderFound.id === order.id &&
324
+ orderFound?.driver?.id !== order?.driver?.id &&
325
+ session?.user?.level === 4
326
+ ) {
327
+ actionOrderToTab(orderFound, getStatusById(orderFound.status), 'remove')
328
+ }
329
+
330
+ if (orderFound.id === order.id) {
331
+ delete order.total
332
+ delete order.subtotal
333
+ }
334
+
335
+ if (!order?.status && order?.status !== 0) {
336
+ Object.assign(orderFound, order)
337
+ } else {
338
+ const newOrderStatus = getStatusById(order?.status) ?? ''
339
+ const currentOrderStatus = getStatusById(orderFound?.status) ?? ''
340
+
341
+ Object.assign(orderFound, order)
342
+
343
+ if (newOrderStatus !== currentOrderStatus) {
344
+ actionOrderToTab(orderFound, currentOrderStatus, 'remove')
345
+
346
+ const total = ordersGroup.pagination.total ?? null
347
+
348
+ if (total !== null) {
349
+ actionOrderToTab(orderFound, newOrderStatus, 'add')
350
+ }
351
+ } else {
352
+ actionOrderToTab(orderFound, newOrderStatus, 'update')
353
+ }
354
+ }
355
+ }
356
+
357
+ const handleAddNewOrder = (order) => {
358
+ events.emit('order_added', order)
359
+ showToast(
360
+ ToastType.Info,
361
+ t('SPECIFIC_ORDER_ORDERED', 'Order _NUMBER_ has been ordered').replace('_NUMBER_', order.id),
362
+ 1000
363
+ )
364
+ const status = getStatusById(order?.status) ?? ''
365
+ actionOrderToTab(order, status, 'add')
366
+ actionOrderToTab(order, 'all', 'add')
367
+ }
368
+
369
+ socket.on('orders_register', handleAddNewOrder)
370
+ socket.on('update_order', handleUpdateOrder)
371
+ return () => {
372
+ socket.off('orders_register', handleAddNewOrder)
373
+ socket.off('update_order', handleUpdateOrder)
374
+ }
375
+ }, [ordersGroup, socket, session])
376
+
377
+ useEffect(() => {
378
+ if (!session.user) return
379
+ socket.on('disconnect', () => {
380
+ const ordersRoom = session?.user?.level === 0 ? 'orders' : `orders_${session?.user?.id}`
381
+ socket.join(ordersRoom)
382
+ })
383
+ const ordersRoom = session?.user?.level === 0 ? 'orders' : `orders_${session?.user?.id}`
384
+ socket.join(ordersRoom)
385
+ return () => {
386
+ socket.leave(ordersRoom)
387
+ }
388
+ }, [socket, session])
389
+
390
+ useEffect(() => {
391
+ const request = requestsState.orders
392
+ return () => {
393
+ request && request.cancel && request.cancel()
394
+ }
395
+ }, [requestsState.orders])
396
+
397
+ return (
398
+ <>
399
+ {UIComponent && (
400
+ <UIComponent
401
+ {...props}
402
+ ordersGroup={ordersGroup}
403
+ reorderLoading={reorderLoading}
404
+ setOrdersGroup={setOrdersGroup}
405
+ loadOrders={loadOrders}
406
+ loadMoreOrders={loadMoreOrders}
407
+ handleReorder={handleReorder}
408
+ />
409
+ )}
410
+ </>
411
+ )
412
+ }
413
+
414
+ OrderVerticalList.defaultProps = {
415
+ orderBy: '-id',
416
+ orderDirection: 'desc',
417
+ paginationSettings: { initialPage: 1, pageSize: 10, controlType: 'infinity' },
418
+ beforeComponents: [],
419
+ afterComponents: [],
420
+ beforeElements: [],
421
+ afterElements: []
422
+ }