ordering-ui-react-native 0.24.18 → 0.25.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1355) hide show
  1. package/README.md +3 -3
  2. package/package.json +162 -162
  3. package/src/AppContainer.tsx +96 -96
  4. package/src/DeliveryApp.tsx +152 -152
  5. package/src/assets/json/order.json +204 -204
  6. package/src/assets/json/orders.json +3591 -3591
  7. package/src/components/Account/index.tsx +200 -200
  8. package/src/components/Account/styles.tsx +21 -21
  9. package/src/components/ActiveOrders/index.tsx +169 -169
  10. package/src/components/ActiveOrders/styles.tsx +45 -45
  11. package/src/components/AddressDetails/index.tsx +74 -74
  12. package/src/components/AddressDetails/styles.tsx +26 -26
  13. package/src/components/AddressForm/index.tsx +750 -750
  14. package/src/components/AddressForm/styles.tsx +29 -29
  15. package/src/components/AddressList/index.tsx +336 -336
  16. package/src/components/AddressList/styles.tsx +20 -20
  17. package/src/components/Analytics/index.tsx +83 -83
  18. package/src/components/AppleLogin/index.tsx +148 -148
  19. package/src/components/AppleLogin/styles.tsx +22 -22
  20. package/src/components/BusinessBasicInformation/index.tsx +251 -251
  21. package/src/components/BusinessBasicInformation/styles.tsx +38 -38
  22. package/src/components/BusinessController/index.tsx +227 -227
  23. package/src/components/BusinessController/styles.tsx +52 -52
  24. package/src/components/BusinessInformation/index.tsx +143 -143
  25. package/src/components/BusinessInformation/styles.tsx +37 -37
  26. package/src/components/BusinessItemAccordion/index.tsx +148 -148
  27. package/src/components/BusinessItemAccordion/styles.tsx +61 -61
  28. package/src/components/BusinessProductsCategories/index.tsx +73 -73
  29. package/src/components/BusinessProductsCategories/styles.tsx +7 -7
  30. package/src/components/BusinessProductsList/index.tsx +149 -149
  31. package/src/components/BusinessProductsList/styles.tsx +13 -13
  32. package/src/components/BusinessProductsListing/index.tsx +318 -318
  33. package/src/components/BusinessProductsListing/styles.tsx +33 -33
  34. package/src/components/BusinessReviews/index.tsx +121 -121
  35. package/src/components/BusinessReviews/styles.tsx +33 -33
  36. package/src/components/BusinessTypeFilter/index.tsx +210 -210
  37. package/src/components/BusinessTypeFilter/styles.tsx +32 -32
  38. package/src/components/BusinessesListing/index.tsx +254 -254
  39. package/src/components/BusinessesListing/styles.tsx +60 -60
  40. package/src/components/Cart/index.tsx +420 -420
  41. package/src/components/Cart/styles.tsx +35 -35
  42. package/src/components/CartContent/index.tsx +50 -50
  43. package/src/components/CartContent/styles.tsx +19 -19
  44. package/src/components/Checkout/index.tsx +852 -852
  45. package/src/components/Checkout/styles.tsx +111 -111
  46. package/src/components/CouponControl/index.tsx +133 -133
  47. package/src/components/CouponControl/styles.tsx +22 -22
  48. package/src/components/DriverTips/index.tsx +158 -158
  49. package/src/components/DriverTips/styles.tsx +62 -62
  50. package/src/components/FacebookLogin/index.tsx +123 -123
  51. package/src/components/FacebookLogin/styles.tsx +23 -23
  52. package/src/components/FacebookPixel/index.tsx +81 -81
  53. package/src/components/FloatingButton/index.tsx +74 -74
  54. package/src/components/FloatingButton/styles.tsx +32 -32
  55. package/src/components/ForgotPasswordForm/index.tsx +150 -150
  56. package/src/components/ForgotPasswordForm/styles.tsx +11 -11
  57. package/src/components/GoogleLogin/index.tsx +133 -133
  58. package/src/components/GoogleLogin/styles.tsx +23 -23
  59. package/src/components/GoogleMap/index.tsx +247 -247
  60. package/src/components/Help/index.tsx +54 -54
  61. package/src/components/Help/styles.tsx +11 -11
  62. package/src/components/HelpAccountAndPayment/index.tsx +67 -67
  63. package/src/components/HelpAccountAndPayment/styles.tsx +6 -6
  64. package/src/components/HelpGuide/index.tsx +66 -66
  65. package/src/components/HelpGuide/styles.tsx +6 -6
  66. package/src/components/HelpOrder/index.tsx +78 -78
  67. package/src/components/HelpOrder/styles.tsx +5 -5
  68. package/src/components/Home/index.tsx +114 -114
  69. package/src/components/Home/styles.tsx +18 -18
  70. package/src/components/LanguageSelector/index.tsx +127 -127
  71. package/src/components/LanguageSelector/styles.tsx +10 -10
  72. package/src/components/LastOrders/index.tsx +104 -104
  73. package/src/components/LastOrders/styles.tsx +17 -17
  74. package/src/components/LoginForm/index.tsx +535 -535
  75. package/src/components/LoginForm/styles.tsx +74 -74
  76. package/src/components/LogoutButton/index.tsx +74 -74
  77. package/src/components/Messages/index.tsx +443 -443
  78. package/src/components/Messages/styles.tsx +24 -24
  79. package/src/components/MomentOption/index.tsx +238 -238
  80. package/src/components/MomentOption/styles.tsx +61 -61
  81. package/src/components/NavBar/index.tsx +122 -122
  82. package/src/components/NotFoundSource/index.tsx +56 -56
  83. package/src/components/NotFoundSource/styles.tsx +16 -16
  84. package/src/components/NotificationSetting/index.tsx +85 -85
  85. package/src/components/OrderCreating/index.tsx +158 -158
  86. package/src/components/OrderCreating/styles.tsx +22 -22
  87. package/src/components/OrderDetails/index.tsx +714 -714
  88. package/src/components/OrderDetails/styles.tsx +128 -128
  89. package/src/components/OrderSuccess/index.tsx +89 -89
  90. package/src/components/OrderSuccess/styles.tsx +22 -22
  91. package/src/components/OrderSummary/index.tsx +351 -351
  92. package/src/components/OrderSummary/styles.tsx +45 -45
  93. package/src/components/OrderTypeSelector/index.tsx +159 -159
  94. package/src/components/OrderTypeSelector/styles.tsx +22 -22
  95. package/src/components/OrdersOption/index.tsx +228 -228
  96. package/src/components/OrdersOption/styles.tsx +5 -5
  97. package/src/components/PaymentOptionCash/index.tsx +102 -102
  98. package/src/components/PaymentOptionCash/styles.tsx +18 -18
  99. package/src/components/PaymentOptionStripe/index.tsx +244 -244
  100. package/src/components/PaymentOptionStripe/styles.tsx +62 -62
  101. package/src/components/PaymentOptions/index.tsx +415 -415
  102. package/src/components/PaymentOptions/styles.tsx +52 -52
  103. package/src/components/PaymentOptionsWebView/index.tsx +173 -173
  104. package/src/components/PhoneInputNumber/index.tsx +115 -115
  105. package/src/components/PhoneInputNumber/styles.tsx +3 -3
  106. package/src/components/PreviousOrders/index.tsx +167 -167
  107. package/src/components/PreviousOrders/styles.tsx +34 -34
  108. package/src/components/ProductForm/index.tsx +442 -442
  109. package/src/components/ProductForm/styles.tsx +85 -85
  110. package/src/components/ProductIngredient/index.tsx +44 -44
  111. package/src/components/ProductIngredient/styles.tsx +7 -7
  112. package/src/components/ProductItemAccordion/index.tsx +315 -315
  113. package/src/components/ProductItemAccordion/styles.tsx +81 -81
  114. package/src/components/ProductOption/index.tsx +49 -49
  115. package/src/components/ProductOption/styles.tsx +14 -14
  116. package/src/components/ProductOptionSubOption/index.tsx +146 -146
  117. package/src/components/ProductOptionSubOption/styles.tsx +33 -33
  118. package/src/components/ReviewDriver/index.tsx +313 -313
  119. package/src/components/ReviewDriver/styles.tsx +38 -38
  120. package/src/components/ReviewOrder/index.tsx +339 -339
  121. package/src/components/ReviewOrder/styles.tsx +44 -44
  122. package/src/components/ReviewProducts/index.tsx +124 -124
  123. package/src/components/ReviewProducts/styles.tsx +16 -16
  124. package/src/components/SearchBar/index.tsx +99 -99
  125. package/src/components/ShareComponent/index.tsx +32 -32
  126. package/src/components/SignupForm/index.tsx +676 -676
  127. package/src/components/SignupForm/styles.tsx +27 -27
  128. package/src/components/SingleProductCard/index.tsx +114 -114
  129. package/src/components/SingleProductCard/styles.tsx +27 -27
  130. package/src/components/SingleProductReview/index.tsx +169 -169
  131. package/src/components/SingleProductReview/styles.tsx +26 -26
  132. package/src/components/StripeCardForm/index.tsx +97 -97
  133. package/src/components/StripeCardForm/naked.tsx +128 -128
  134. package/src/components/StripeCardForm/styles.tsx +27 -27
  135. package/src/components/StripeCardsList/index.tsx +158 -158
  136. package/src/components/StripeElementsForm/index.tsx +233 -233
  137. package/src/components/StripeElementsForm/naked.tsx +90 -90
  138. package/src/components/StripeElementsForm/styles.tsx +9 -9
  139. package/src/components/StripeMethodForm/index.tsx +209 -209
  140. package/src/components/StripeRedirectForm/index.tsx +159 -159
  141. package/src/components/StripeRedirectForm/styles.tsx +23 -23
  142. package/src/components/TaxInformation/index.tsx +83 -83
  143. package/src/components/TaxInformation/styles.tsx +9 -9
  144. package/src/components/UpsellingProducts/index.tsx +167 -167
  145. package/src/components/UpsellingProducts/styles.tsx +31 -31
  146. package/src/components/UserDetails/index.tsx +139 -139
  147. package/src/components/UserDetails/styles.tsx +21 -21
  148. package/src/components/UserFormDetails/index.tsx +302 -302
  149. package/src/components/UserFormDetails/styles.tsx +38 -38
  150. package/src/components/UserProfileForm/index.tsx +197 -197
  151. package/src/components/UserProfileForm/styles.tsx +45 -45
  152. package/src/components/VerifyPhone/index.tsx +255 -255
  153. package/src/components/VerifyPhone/styles.tsx +44 -44
  154. package/src/components/shared/OAlert.tsx +48 -48
  155. package/src/components/shared/OBottomPopup.tsx +74 -74
  156. package/src/components/shared/OButton.tsx +134 -134
  157. package/src/components/shared/ODropDown.tsx +167 -167
  158. package/src/components/shared/OIcon.tsx +55 -55
  159. package/src/components/shared/OIconButton.tsx +134 -134
  160. package/src/components/shared/OInput.tsx +122 -122
  161. package/src/components/shared/OModal.tsx +168 -168
  162. package/src/components/shared/OText.tsx +52 -52
  163. package/src/components/shared/OToast.tsx +95 -95
  164. package/src/components/shared/index.tsx +23 -23
  165. package/src/config/constants.tsx +73 -73
  166. package/src/config.json +16 -16
  167. package/src/context/OfflineActions/index.tsx +236 -236
  168. package/src/context/Theme/index.tsx +25 -25
  169. package/src/hooks/DeviceOrientation.tsx +40 -40
  170. package/src/hooks/useCountdownTimer.tsx +26 -26
  171. package/src/index.tsx +200 -200
  172. package/src/layouts/Container.tsx +27 -27
  173. package/src/layouts/FloatingBottomContainer.tsx +26 -26
  174. package/src/layouts/SafeAreaContainer.tsx +6 -6
  175. package/src/providers/AlertProvider.tsx +48 -48
  176. package/src/providers/StoreUtil.tsx +54 -54
  177. package/src/theme.json +135 -135
  178. package/src/types/@fatnlazycat/react-native-recaptcha-v3/index.d.ts +1 -1
  179. package/src/types/@stripe/stripe-react-native/index.d.ts +1 -1
  180. package/src/types/index.tsx +500 -500
  181. package/src/types/ordering-api-sdk/index.d.ts +1 -1
  182. package/src/types/ordering-components/index.d.ts +1 -1
  183. package/src/types/react-hook-form/index.d.ts +1 -1
  184. package/src/types/react-native-background-timer/index.d.ts +1 -1
  185. package/src/types/react-native-color-matrix-image-filters/index.d.ts +1 -1
  186. package/src/types/react-native-country-picker-modal/index.d.ts +1 -1
  187. package/src/types/react-native-credit-card-input/index.d.ts +1 -1
  188. package/src/types/react-native-fbsdk-next/index.d.ts +1 -1
  189. package/src/types/react-native-gesture-handler/index.d.ts +1 -1
  190. package/src/types/react-native-gifted-chat/index.d.ts +1 -1
  191. package/src/types/react-native-image-picker/index.d.ts +1 -1
  192. package/src/types/react-native-restart/index.d.ts +1 -1
  193. package/src/types/styled-components/index.d.ts +1 -1
  194. package/src/utils/index.tsx +462 -462
  195. package/themes/business/.prettierrc.js +9 -9
  196. package/themes/business/index.tsx +139 -139
  197. package/themes/business/src/components/AcceptOrRejectOrder/index.tsx +563 -563
  198. package/themes/business/src/components/AcceptOrRejectOrder/styles.tsx +46 -46
  199. package/themes/business/src/components/BusinessController/index.tsx +163 -163
  200. package/themes/business/src/components/BusinessController/styles.tsx +19 -19
  201. package/themes/business/src/components/BusinessProductList/AccordionDropdown.tsx +62 -62
  202. package/themes/business/src/components/BusinessProductList/IterateCategories.tsx +107 -107
  203. package/themes/business/src/components/BusinessProductList/ProductList.tsx +196 -196
  204. package/themes/business/src/components/BusinessProductList/index.tsx +197 -197
  205. package/themes/business/src/components/BusinessProductList/styles.tsx +10 -10
  206. package/themes/business/src/components/Chat/index.tsx +1228 -1228
  207. package/themes/business/src/components/Chat/styles.tsx +15 -15
  208. package/themes/business/src/components/Contacts/index.tsx +299 -299
  209. package/themes/business/src/components/Contacts/styles.tsx +42 -42
  210. package/themes/business/src/components/DriverMap/index.tsx +581 -581
  211. package/themes/business/src/components/DriverSchedule/index.tsx +108 -108
  212. package/themes/business/src/components/DriverSchedule/styles.tsx +6 -6
  213. package/themes/business/src/components/FloatingButton/index.tsx +145 -145
  214. package/themes/business/src/components/FloatingButton/styles.tsx +35 -35
  215. package/themes/business/src/components/ForgotPasswordForm/index.tsx +204 -204
  216. package/themes/business/src/components/ForgotPasswordForm/styles.tsx +11 -11
  217. package/themes/business/src/components/GoogleMap/index.tsx +429 -429
  218. package/themes/business/src/components/Home/index.tsx +188 -188
  219. package/themes/business/src/components/Home/styles.tsx +34 -34
  220. package/themes/business/src/components/LanguageSelector/index.tsx +123 -123
  221. package/themes/business/src/components/LanguageSelector/lang_country.json +597 -597
  222. package/themes/business/src/components/LanguageSelector/styles.tsx +17 -17
  223. package/themes/business/src/components/LoginForm/Otp/index.tsx +120 -120
  224. package/themes/business/src/components/LoginForm/Otp/styles.tsx +7 -7
  225. package/themes/business/src/components/LoginForm/index.tsx +971 -971
  226. package/themes/business/src/components/LoginForm/styles.tsx +64 -64
  227. package/themes/business/src/components/LogoutButton/index.tsx +73 -73
  228. package/themes/business/src/components/MapView/RenderMarker.tsx +146 -146
  229. package/themes/business/src/components/MapView/index.tsx +271 -271
  230. package/themes/business/src/components/MessagesOption/index.tsx +274 -274
  231. package/themes/business/src/components/MessagesOption/styles.tsx +27 -27
  232. package/themes/business/src/components/NetworkError/index.tsx +61 -61
  233. package/themes/business/src/components/NetworkError/styles.tsx +10 -10
  234. package/themes/business/src/components/NewOrderNotification/index.tsx +230 -230
  235. package/themes/business/src/components/NewOrderNotification/styles.tsx +8 -8
  236. package/themes/business/src/components/NotFoundSource/index.tsx +52 -52
  237. package/themes/business/src/components/NotFoundSource/styles.tsx +17 -17
  238. package/themes/business/src/components/OrderDetails/OrderContentComponent.tsx +787 -787
  239. package/themes/business/src/components/OrderDetails/OrderHeaderComponent.tsx +358 -358
  240. package/themes/business/src/components/OrderDetails/usePrinterCommands.tsx +221 -221
  241. package/themes/business/src/components/OrderDetailsLogistic/index.tsx +201 -201
  242. package/themes/business/src/components/OrderDetailsLogistic/styles.tsx +5 -5
  243. package/themes/business/src/components/OrderMessage/index.tsx +345 -345
  244. package/themes/business/src/components/OrderMessage/styles.tsx +5 -5
  245. package/themes/business/src/components/OrderSummary/index.tsx +950 -950
  246. package/themes/business/src/components/OrderSummary/styles.tsx +61 -61
  247. package/themes/business/src/components/OrdersListManager/index.tsx +898 -898
  248. package/themes/business/src/components/OrdersListManager/styles.tsx +123 -123
  249. package/themes/business/src/components/OrdersListManager/utils.tsx +216 -216
  250. package/themes/business/src/components/OrdersOption/index.tsx +1277 -1277
  251. package/themes/business/src/components/OrdersOption/styles.tsx +170 -170
  252. package/themes/business/src/components/OrdersOptionBusiness/index.tsx +65 -65
  253. package/themes/business/src/components/OrdersOptionBusiness/styles.tsx +8 -8
  254. package/themes/business/src/components/OrdersOptionCity/index.tsx +66 -66
  255. package/themes/business/src/components/OrdersOptionCity/styles.tsx +8 -8
  256. package/themes/business/src/components/OrdersOptionDate/index.tsx +66 -66
  257. package/themes/business/src/components/OrdersOptionDate/styles.tsx +8 -8
  258. package/themes/business/src/components/OrdersOptionDelivery/index.tsx +49 -49
  259. package/themes/business/src/components/OrdersOptionDelivery/styles.tsx +8 -8
  260. package/themes/business/src/components/OrdersOptionDriver/index.tsx +64 -64
  261. package/themes/business/src/components/OrdersOptionDriver/styles.tsx +8 -8
  262. package/themes/business/src/components/OrdersOptionPaymethod/index.tsx +63 -63
  263. package/themes/business/src/components/OrdersOptionPaymethod/styles.tsx +8 -8
  264. package/themes/business/src/components/OrdersOptionStatus/index.tsx +55 -55
  265. package/themes/business/src/components/OrdersOptionStatus/styles.tsx +8 -8
  266. package/themes/business/src/components/PhoneInputNumber/index.tsx +163 -163
  267. package/themes/business/src/components/PhoneInputNumber/styles.tsx +3 -3
  268. package/themes/business/src/components/PreviousMessages/FooterMessageComponent.tsx +103 -103
  269. package/themes/business/src/components/PreviousMessages/index.tsx +380 -380
  270. package/themes/business/src/components/PreviousMessages/styles.tsx +32 -32
  271. package/themes/business/src/components/PreviousOrders/OrderItem.tsx +296 -296
  272. package/themes/business/src/components/PreviousOrders/OrderList.tsx +93 -93
  273. package/themes/business/src/components/PreviousOrders/OrdersGroupedItem.tsx +115 -115
  274. package/themes/business/src/components/PreviousOrders/index.tsx +490 -490
  275. package/themes/business/src/components/PreviousOrders/styles.tsx +84 -84
  276. package/themes/business/src/components/PrinterEdition/MessageAlert.tsx +33 -33
  277. package/themes/business/src/components/PrinterEdition/index.tsx +431 -431
  278. package/themes/business/src/components/PrinterEdition/printerList.tsx +23 -23
  279. package/themes/business/src/components/PrinterEdition/styles.tsx +61 -61
  280. package/themes/business/src/components/PrinterSettings/index.tsx +267 -267
  281. package/themes/business/src/components/PrinterSettings/styles.tsx +30 -30
  282. package/themes/business/src/components/ProductItemAccordion/index.tsx +324 -324
  283. package/themes/business/src/components/ProductItemAccordion/styles.tsx +61 -61
  284. package/themes/business/src/components/ReviewCustomer/index.tsx +342 -342
  285. package/themes/business/src/components/ReviewCustomer/styles.tsx +28 -28
  286. package/themes/business/src/components/ScheduleBlocked/index.tsx +53 -53
  287. package/themes/business/src/components/SearchBar/index.tsx +113 -113
  288. package/themes/business/src/components/Sessions/index.tsx +187 -187
  289. package/themes/business/src/components/Sessions/styles.tsx +20 -20
  290. package/themes/business/src/components/SignupForm/index.tsx +530 -530
  291. package/themes/business/src/components/SignupForm/styles.tsx +16 -16
  292. package/themes/business/src/components/StoresList/index.tsx +225 -225
  293. package/themes/business/src/components/StoresList/styles.tsx +26 -26
  294. package/themes/business/src/components/UserFormDetails/index.tsx +520 -520
  295. package/themes/business/src/components/UserFormDetails/styles.tsx +40 -40
  296. package/themes/business/src/components/UserProfileForm/index.tsx +607 -607
  297. package/themes/business/src/components/UserProfileForm/styles.tsx +43 -43
  298. package/themes/business/src/components/VerifyPhone/index.tsx +201 -201
  299. package/themes/business/src/components/VerifyPhone/styles.tsx +43 -43
  300. package/themes/business/src/components/WebsocketStatus/index.tsx +171 -171
  301. package/themes/business/src/components/WebsocketStatus/styles.tsx +28 -28
  302. package/themes/business/src/components/shared/OAlert.tsx +52 -52
  303. package/themes/business/src/components/shared/OButton.tsx +148 -148
  304. package/themes/business/src/components/shared/OChatBubble.tsx +100 -100
  305. package/themes/business/src/components/shared/ODropDown.tsx +229 -229
  306. package/themes/business/src/components/shared/ODropDownCalendar.tsx +359 -359
  307. package/themes/business/src/components/shared/OFab.tsx +54 -54
  308. package/themes/business/src/components/shared/OIcon.tsx +67 -67
  309. package/themes/business/src/components/shared/OIconButton.tsx +127 -127
  310. package/themes/business/src/components/shared/OInput.tsx +146 -146
  311. package/themes/business/src/components/shared/OLink.tsx +96 -96
  312. package/themes/business/src/components/shared/OSegment.tsx +86 -86
  313. package/themes/business/src/components/shared/OText.tsx +61 -61
  314. package/themes/business/src/components/shared/OTextarea.tsx +46 -46
  315. package/themes/business/src/components/shared/OToast.tsx +92 -92
  316. package/themes/business/src/components/shared/index.tsx +27 -27
  317. package/themes/business/src/config/constants.tsx +10 -10
  318. package/themes/business/src/config/currency.tsx +1010 -1010
  319. package/themes/business/src/hooks/useLocation.tsx +114 -114
  320. package/themes/business/src/layouts/Container.tsx +56 -56
  321. package/themes/business/src/layouts/SafeAreaContainer.tsx +65 -65
  322. package/themes/business/src/providers/AlertProvider.tsx +38 -38
  323. package/themes/business/src/providers/Responsive.tsx +15 -15
  324. package/themes/business/src/providers/StoreUtil.tsx +54 -54
  325. package/themes/business/src/types/@react-navigation/material-bottom-tabs/index.d.ts +1 -1
  326. package/themes/business/src/types/index.tsx +669 -669
  327. package/themes/business/src/types/ordering-api-sdk/index.d.ts +1 -1
  328. package/themes/business/src/types/ordering-components/index.d.ts +1 -1
  329. package/themes/business/src/types/react-hook-form/index.d.ts +1 -1
  330. package/themes/business/src/types/react-native-credit-card-input/index.d.ts +1 -1
  331. package/themes/business/src/types/react-native-fbsdk/index.d.ts +1 -1
  332. package/themes/business/src/types/react-native-gesture-handler/index.d.ts +1 -1
  333. package/themes/business/src/types/react-native-html-to-pdf/index.d.ts +1 -1
  334. package/themes/business/src/types/react-native-loading-spinner-overlay/index.d.ts +1 -1
  335. package/themes/business/src/types/react-native-vector-icons/index.d.ts +5 -5
  336. package/themes/business/src/types/styled-components/index.d.ts +1 -1
  337. package/themes/business/src/types/toggle-switch-react-native/index.d.ts +1 -1
  338. package/themes/business/src/utils/index.tsx +428 -428
  339. package/themes/doordash/index.tsx +103 -103
  340. package/themes/doordash/src/components/ActiveOrders/index.tsx +120 -120
  341. package/themes/doordash/src/components/ActiveOrders/styles.tsx +43 -43
  342. package/themes/doordash/src/components/AddressDetails/index.tsx +72 -72
  343. package/themes/doordash/src/components/AddressDetails/styles.tsx +26 -26
  344. package/themes/doordash/src/components/AddressForm/index.tsx +669 -669
  345. package/themes/doordash/src/components/AddressForm/styles.tsx +38 -38
  346. package/themes/doordash/src/components/AddressList/index.tsx +332 -332
  347. package/themes/doordash/src/components/AddressList/styles.tsx +22 -22
  348. package/themes/doordash/src/components/AppleLogin/index.tsx +130 -130
  349. package/themes/doordash/src/components/AppleLogin/styles.tsx +5 -5
  350. package/themes/doordash/src/components/BusinessBasicInformation/index.tsx +221 -221
  351. package/themes/doordash/src/components/BusinessBasicInformation/styles.tsx +35 -35
  352. package/themes/doordash/src/components/BusinessController/index.tsx +183 -183
  353. package/themes/doordash/src/components/BusinessController/styles.tsx +49 -49
  354. package/themes/doordash/src/components/BusinessInformation/index.tsx +113 -113
  355. package/themes/doordash/src/components/BusinessInformation/styles.tsx +36 -36
  356. package/themes/doordash/src/components/BusinessItemAccordion/index.tsx +126 -126
  357. package/themes/doordash/src/components/BusinessItemAccordion/styles.tsx +62 -62
  358. package/themes/doordash/src/components/BusinessProductsCategories/index.tsx +139 -139
  359. package/themes/doordash/src/components/BusinessProductsCategories/styles.tsx +7 -7
  360. package/themes/doordash/src/components/BusinessProductsList/index.tsx +221 -221
  361. package/themes/doordash/src/components/BusinessProductsList/styles.tsx +13 -13
  362. package/themes/doordash/src/components/BusinessProductsListing/index.tsx +425 -425
  363. package/themes/doordash/src/components/BusinessProductsListing/styles.tsx +61 -61
  364. package/themes/doordash/src/components/BusinessReviews/index.tsx +122 -122
  365. package/themes/doordash/src/components/BusinessReviews/styles.tsx +34 -34
  366. package/themes/doordash/src/components/BusinessTypeFilter/index.tsx +130 -130
  367. package/themes/doordash/src/components/BusinessTypeFilter/styles.tsx +42 -42
  368. package/themes/doordash/src/components/BusinessesListing/index.tsx +304 -304
  369. package/themes/doordash/src/components/BusinessesListing/styles.tsx +68 -68
  370. package/themes/doordash/src/components/BusinessesSortBy/index.tsx +25 -25
  371. package/themes/doordash/src/components/BusinessesSortBy/styles.ts +19 -19
  372. package/themes/doordash/src/components/Cart/index.tsx +333 -333
  373. package/themes/doordash/src/components/Cart/styles.tsx +28 -28
  374. package/themes/doordash/src/components/CartContent/index.tsx +56 -56
  375. package/themes/doordash/src/components/CartContent/styles.tsx +19 -19
  376. package/themes/doordash/src/components/Checkout/index.tsx +643 -643
  377. package/themes/doordash/src/components/Checkout/styles.tsx +95 -95
  378. package/themes/doordash/src/components/CouponControl/index.tsx +122 -122
  379. package/themes/doordash/src/components/CouponControl/styles.tsx +23 -23
  380. package/themes/doordash/src/components/DriverTips/index.tsx +171 -171
  381. package/themes/doordash/src/components/DriverTips/styles.tsx +62 -62
  382. package/themes/doordash/src/components/FacebookLogin/index.tsx +124 -124
  383. package/themes/doordash/src/components/FacebookLogin/styles.tsx +21 -21
  384. package/themes/doordash/src/components/FloatingButton/index.tsx +72 -72
  385. package/themes/doordash/src/components/FloatingButton/styles.tsx +28 -28
  386. package/themes/doordash/src/components/ForgotPasswordForm/index.tsx +151 -151
  387. package/themes/doordash/src/components/ForgotPasswordForm/styles.tsx +17 -17
  388. package/themes/doordash/src/components/GoogleLogin/index.tsx +117 -117
  389. package/themes/doordash/src/components/GoogleLogin/styles.tsx +21 -21
  390. package/themes/doordash/src/components/GoogleMap/index.tsx +233 -233
  391. package/themes/doordash/src/components/Help/index.tsx +54 -54
  392. package/themes/doordash/src/components/Help/styles.tsx +11 -11
  393. package/themes/doordash/src/components/HelpAccountAndPayment/index.tsx +67 -67
  394. package/themes/doordash/src/components/HelpAccountAndPayment/styles.tsx +6 -6
  395. package/themes/doordash/src/components/HelpGuide/index.tsx +66 -66
  396. package/themes/doordash/src/components/HelpGuide/styles.tsx +6 -6
  397. package/themes/doordash/src/components/HelpOrder/index.tsx +78 -78
  398. package/themes/doordash/src/components/HelpOrder/styles.tsx +5 -5
  399. package/themes/doordash/src/components/Home/index.tsx +211 -211
  400. package/themes/doordash/src/components/Home/styles.tsx +21 -21
  401. package/themes/doordash/src/components/LanguageSelector/index.tsx +109 -109
  402. package/themes/doordash/src/components/LanguageSelector/styles.tsx +7 -7
  403. package/themes/doordash/src/components/LastOrders/index.tsx +102 -102
  404. package/themes/doordash/src/components/LastOrders/styles.tsx +17 -17
  405. package/themes/doordash/src/components/LoginForm/index.tsx +515 -515
  406. package/themes/doordash/src/components/LoginForm/styles.tsx +78 -78
  407. package/themes/doordash/src/components/LogoutButton/index.tsx +57 -57
  408. package/themes/doordash/src/components/Messages/index.tsx +461 -461
  409. package/themes/doordash/src/components/Messages/styles.tsx +24 -24
  410. package/themes/doordash/src/components/MomentOption/index.tsx +237 -237
  411. package/themes/doordash/src/components/MomentOption/styles.tsx +62 -62
  412. package/themes/doordash/src/components/NavBar/index.tsx +125 -125
  413. package/themes/doordash/src/components/NotFoundSource/index.tsx +51 -51
  414. package/themes/doordash/src/components/NotFoundSource/styles.tsx +16 -16
  415. package/themes/doordash/src/components/OrderDetails/index.tsx +491 -491
  416. package/themes/doordash/src/components/OrderDetails/styles.tsx +128 -128
  417. package/themes/doordash/src/components/OrderSummary/index.tsx +318 -318
  418. package/themes/doordash/src/components/OrderSummary/styles.tsx +37 -37
  419. package/themes/doordash/src/components/OrderTypeSelector/index.tsx +122 -122
  420. package/themes/doordash/src/components/OrderTypeSelector/styles.tsx +6 -6
  421. package/themes/doordash/src/components/OrdersOption/index.tsx +225 -225
  422. package/themes/doordash/src/components/OrdersOption/styles.tsx +4 -4
  423. package/themes/doordash/src/components/PaymentOptionCash/index.tsx +102 -102
  424. package/themes/doordash/src/components/PaymentOptionCash/styles.tsx +18 -18
  425. package/themes/doordash/src/components/PaymentOptionStripe/index.tsx +232 -232
  426. package/themes/doordash/src/components/PaymentOptionStripe/styles.tsx +73 -73
  427. package/themes/doordash/src/components/PaymentOptions/index.tsx +511 -511
  428. package/themes/doordash/src/components/PaymentOptions/styles.tsx +51 -51
  429. package/themes/doordash/src/components/PaypalPaymethod/index.tsx +38 -38
  430. package/themes/doordash/src/components/PhoneInputNumber/index.tsx +113 -113
  431. package/themes/doordash/src/components/PhoneInputNumber/styles.tsx +5 -5
  432. package/themes/doordash/src/components/PreviousOrders/index.tsx +135 -135
  433. package/themes/doordash/src/components/PreviousOrders/styles.tsx +36 -36
  434. package/themes/doordash/src/components/ProductForm/index.tsx +439 -439
  435. package/themes/doordash/src/components/ProductForm/styles.tsx +76 -76
  436. package/themes/doordash/src/components/ProductIngredient/index.tsx +44 -44
  437. package/themes/doordash/src/components/ProductIngredient/styles.tsx +7 -7
  438. package/themes/doordash/src/components/ProductItemAccordion/index.tsx +294 -294
  439. package/themes/doordash/src/components/ProductItemAccordion/styles.tsx +56 -56
  440. package/themes/doordash/src/components/ProductOption/index.tsx +55 -55
  441. package/themes/doordash/src/components/ProductOption/styles.tsx +13 -13
  442. package/themes/doordash/src/components/ProductOptionSubOption/index.tsx +137 -137
  443. package/themes/doordash/src/components/ProductOptionSubOption/styles.tsx +34 -34
  444. package/themes/doordash/src/components/ReviewOrder/index.tsx +202 -202
  445. package/themes/doordash/src/components/ReviewOrder/styles.tsx +36 -36
  446. package/themes/doordash/src/components/SearchBar/index.tsx +105 -105
  447. package/themes/doordash/src/components/SignupForm/index.tsx +580 -580
  448. package/themes/doordash/src/components/SignupForm/styles.tsx +32 -32
  449. package/themes/doordash/src/components/SingleProductCard/index.tsx +96 -96
  450. package/themes/doordash/src/components/SingleProductCard/styles.tsx +22 -22
  451. package/themes/doordash/src/components/SocialShare/index.tsx +160 -160
  452. package/themes/doordash/src/components/SocialShare/styles.ts +20 -20
  453. package/themes/doordash/src/components/StripeCardForm/index.tsx +97 -97
  454. package/themes/doordash/src/components/StripeCardForm/naked.tsx +128 -128
  455. package/themes/doordash/src/components/StripeCardForm/styles.tsx +32 -32
  456. package/themes/doordash/src/components/StripeCardsList/index.tsx +130 -130
  457. package/themes/doordash/src/components/StripeElementsForm/index.tsx +195 -195
  458. package/themes/doordash/src/components/StripeElementsForm/naked.tsx +90 -90
  459. package/themes/doordash/src/components/StripeElementsForm/styles.tsx +13 -13
  460. package/themes/doordash/src/components/StripeRedirectForm/index.tsx +157 -157
  461. package/themes/doordash/src/components/StripeRedirectForm/styles.tsx +23 -23
  462. package/themes/doordash/src/components/TaxInformation/index.tsx +51 -51
  463. package/themes/doordash/src/components/TaxInformation/styles.tsx +9 -9
  464. package/themes/doordash/src/components/UpsellingProducts/index.tsx +184 -184
  465. package/themes/doordash/src/components/UpsellingProducts/styles.tsx +39 -39
  466. package/themes/doordash/src/components/UserDetails/index.tsx +124 -124
  467. package/themes/doordash/src/components/UserDetails/styles.tsx +24 -24
  468. package/themes/doordash/src/components/UserFormDetails/index.tsx +268 -268
  469. package/themes/doordash/src/components/UserFormDetails/styles.tsx +37 -37
  470. package/themes/doordash/src/components/UserProfileForm/index.tsx +354 -354
  471. package/themes/doordash/src/components/UserProfileForm/styles.tsx +40 -40
  472. package/themes/doordash/src/components/VerifyPhone/index.tsx +185 -185
  473. package/themes/doordash/src/components/VerifyPhone/styles.tsx +43 -43
  474. package/themes/doordash/src/components/shared/OAlert.tsx +55 -55
  475. package/themes/doordash/src/components/shared/OBottomPopup.tsx +75 -75
  476. package/themes/doordash/src/components/shared/OButton.tsx +139 -139
  477. package/themes/doordash/src/components/shared/OButtonGroup.tsx +53 -53
  478. package/themes/doordash/src/components/shared/OChatBubble.tsx +53 -53
  479. package/themes/doordash/src/components/shared/OCheckbox.tsx +79 -79
  480. package/themes/doordash/src/components/shared/ODropDown.tsx +167 -167
  481. package/themes/doordash/src/components/shared/OIcon.tsx +54 -54
  482. package/themes/doordash/src/components/shared/OIconButton.tsx +135 -135
  483. package/themes/doordash/src/components/shared/OIconText.tsx +53 -53
  484. package/themes/doordash/src/components/shared/OInput.tsx +126 -126
  485. package/themes/doordash/src/components/shared/OKeyButton.tsx +34 -34
  486. package/themes/doordash/src/components/shared/OModal.tsx +173 -173
  487. package/themes/doordash/src/components/shared/OText.tsx +52 -52
  488. package/themes/doordash/src/components/shared/OTextarea.tsx +35 -35
  489. package/themes/doordash/src/components/shared/OToast.tsx +93 -93
  490. package/themes/doordash/src/components/shared/OToggle.tsx +157 -157
  491. package/themes/doordash/src/components/shared/index.tsx +37 -37
  492. package/themes/doordash/src/config/constants.tsx +14 -14
  493. package/themes/doordash/src/layouts/Container.tsx +26 -26
  494. package/themes/doordash/src/layouts/SafeAreaContainer.tsx +6 -6
  495. package/themes/doordash/src/providers/AlertProvider.tsx +49 -49
  496. package/themes/doordash/src/providers/StoreUtil.tsx +50 -50
  497. package/themes/doordash/src/types/index.tsx +435 -435
  498. package/themes/doordash/src/utils/index.tsx +192 -192
  499. package/themes/instacart/index.tsx +88 -88
  500. package/themes/instacart/src/components/ActiveOrders/index.tsx +135 -135
  501. package/themes/instacart/src/components/ActiveOrders/styles.tsx +51 -51
  502. package/themes/instacart/src/components/AddressDetails/index.tsx +69 -69
  503. package/themes/instacart/src/components/AddressDetails/styles.tsx +22 -22
  504. package/themes/instacart/src/components/AddressForm/index.tsx +664 -664
  505. package/themes/instacart/src/components/AddressForm/styles.tsx +33 -33
  506. package/themes/instacart/src/components/AddressList/index.tsx +326 -326
  507. package/themes/instacart/src/components/AddressList/styles.tsx +20 -20
  508. package/themes/instacart/src/components/BusinessBasicInformation/index.tsx +261 -261
  509. package/themes/instacart/src/components/BusinessBasicInformation/styles.tsx +43 -43
  510. package/themes/instacart/src/components/BusinessController/index.tsx +205 -205
  511. package/themes/instacart/src/components/BusinessController/styles.tsx +53 -53
  512. package/themes/instacart/src/components/BusinessInformation/index.tsx +101 -101
  513. package/themes/instacart/src/components/BusinessInformation/styles.tsx +35 -35
  514. package/themes/instacart/src/components/BusinessItemAccordion/index.tsx +112 -112
  515. package/themes/instacart/src/components/BusinessItemAccordion/styles.tsx +59 -59
  516. package/themes/instacart/src/components/BusinessProductsCategories/index.tsx +71 -71
  517. package/themes/instacart/src/components/BusinessProductsCategories/styles.tsx +7 -7
  518. package/themes/instacart/src/components/BusinessProductsList/index.tsx +181 -181
  519. package/themes/instacart/src/components/BusinessProductsList/styles.tsx +19 -19
  520. package/themes/instacart/src/components/BusinessProductsListing/index.tsx +372 -372
  521. package/themes/instacart/src/components/BusinessProductsListing/styles.tsx +35 -35
  522. package/themes/instacart/src/components/BusinessReviews/index.tsx +121 -121
  523. package/themes/instacart/src/components/BusinessReviews/styles.tsx +33 -33
  524. package/themes/instacart/src/components/BusinessTypeFilter/index.tsx +135 -135
  525. package/themes/instacart/src/components/BusinessTypeFilter/styles.tsx +30 -30
  526. package/themes/instacart/src/components/BusinessesListing/index.tsx +254 -254
  527. package/themes/instacart/src/components/BusinessesListing/styles.tsx +62 -62
  528. package/themes/instacart/src/components/Cart/index.tsx +357 -357
  529. package/themes/instacart/src/components/Cart/styles.tsx +39 -39
  530. package/themes/instacart/src/components/CartContent/index.tsx +51 -51
  531. package/themes/instacart/src/components/CartContent/styles.tsx +19 -19
  532. package/themes/instacart/src/components/CartSingle/index.tsx +194 -194
  533. package/themes/instacart/src/components/CartSingle/styles.tsx +55 -55
  534. package/themes/instacart/src/components/Checkout/index.tsx +632 -632
  535. package/themes/instacart/src/components/Checkout/styles.tsx +105 -105
  536. package/themes/instacart/src/components/CouponControl/index.tsx +121 -121
  537. package/themes/instacart/src/components/CouponControl/styles.tsx +23 -23
  538. package/themes/instacart/src/components/DriverTips/index.tsx +153 -153
  539. package/themes/instacart/src/components/DriverTips/styles.tsx +58 -58
  540. package/themes/instacart/src/components/FacebookLogin/index.tsx +117 -117
  541. package/themes/instacart/src/components/FacebookLogin/styles.tsx +16 -16
  542. package/themes/instacart/src/components/FloatingButton/index.tsx +81 -81
  543. package/themes/instacart/src/components/FloatingButton/styles.tsx +30 -30
  544. package/themes/instacart/src/components/ForgotPasswordForm/index.tsx +155 -155
  545. package/themes/instacart/src/components/ForgotPasswordForm/styles.tsx +11 -11
  546. package/themes/instacart/src/components/GoogleMap/index.tsx +236 -236
  547. package/themes/instacart/src/components/Home/index.tsx +337 -337
  548. package/themes/instacart/src/components/Home/styles.tsx +24 -24
  549. package/themes/instacart/src/components/LanguageSelector/index.tsx +109 -109
  550. package/themes/instacart/src/components/LanguageSelector/styles.tsx +7 -7
  551. package/themes/instacart/src/components/LoginForm/index.tsx +445 -445
  552. package/themes/instacart/src/components/LoginForm/styles.tsx +69 -69
  553. package/themes/instacart/src/components/LogoutButton/index.tsx +61 -61
  554. package/themes/instacart/src/components/Messages/index.tsx +430 -430
  555. package/themes/instacart/src/components/Messages/styles.tsx +23 -23
  556. package/themes/instacart/src/components/MomentOption/index.tsx +320 -320
  557. package/themes/instacart/src/components/MomentOption/styles.tsx +71 -71
  558. package/themes/instacart/src/components/NavBar/index.tsx +131 -131
  559. package/themes/instacart/src/components/NotFoundSource/index.tsx +55 -55
  560. package/themes/instacart/src/components/NotFoundSource/styles.tsx +16 -16
  561. package/themes/instacart/src/components/OrderDetails/index.tsx +531 -531
  562. package/themes/instacart/src/components/OrderDetails/styles.tsx +146 -146
  563. package/themes/instacart/src/components/OrderSummary/index.tsx +297 -297
  564. package/themes/instacart/src/components/OrderSummary/styles.tsx +41 -41
  565. package/themes/instacart/src/components/OrderTypeSelector/index.tsx +130 -130
  566. package/themes/instacart/src/components/OrderTypeSelector/styles.tsx +6 -6
  567. package/themes/instacart/src/components/OrdersOption/index.tsx +222 -222
  568. package/themes/instacart/src/components/OrdersOption/styles.tsx +3 -3
  569. package/themes/instacart/src/components/PaymentOptionCash/index.tsx +102 -102
  570. package/themes/instacart/src/components/PaymentOptionCash/styles.tsx +15 -15
  571. package/themes/instacart/src/components/PaymentOptionStripe/index.tsx +232 -232
  572. package/themes/instacart/src/components/PaymentOptionStripe/styles.tsx +62 -62
  573. package/themes/instacart/src/components/PaymentOptions/index.tsx +496 -496
  574. package/themes/instacart/src/components/PaymentOptions/styles.tsx +43 -43
  575. package/themes/instacart/src/components/PaypalPaymethod/index.tsx +38 -38
  576. package/themes/instacart/src/components/PhoneInputNumber/index.tsx +112 -112
  577. package/themes/instacart/src/components/PhoneInputNumber/styles.tsx +5 -5
  578. package/themes/instacart/src/components/PreviousOrders/index.tsx +134 -134
  579. package/themes/instacart/src/components/PreviousOrders/styles.tsx +38 -38
  580. package/themes/instacart/src/components/ProductForm/index.tsx +444 -444
  581. package/themes/instacart/src/components/ProductForm/styles.tsx +73 -73
  582. package/themes/instacart/src/components/ProductIngredient/index.tsx +44 -44
  583. package/themes/instacart/src/components/ProductIngredient/styles.tsx +7 -7
  584. package/themes/instacart/src/components/ProductItemAccordion/index.tsx +285 -285
  585. package/themes/instacart/src/components/ProductItemAccordion/styles.tsx +52 -52
  586. package/themes/instacart/src/components/ProductOption/index.tsx +49 -49
  587. package/themes/instacart/src/components/ProductOption/styles.tsx +12 -12
  588. package/themes/instacart/src/components/ProductOptionSubOption/index.tsx +146 -146
  589. package/themes/instacart/src/components/ProductOptionSubOption/styles.tsx +33 -33
  590. package/themes/instacart/src/components/ReviewDriver/index.tsx +221 -221
  591. package/themes/instacart/src/components/ReviewDriver/styles.tsx +45 -45
  592. package/themes/instacart/src/components/ReviewOrder/index.tsx +325 -325
  593. package/themes/instacart/src/components/ReviewOrder/styles.tsx +45 -45
  594. package/themes/instacart/src/components/ReviewProduct/index.tsx +275 -275
  595. package/themes/instacart/src/components/ReviewProduct/styles.tsx +52 -52
  596. package/themes/instacart/src/components/SearchBar/index.tsx +104 -104
  597. package/themes/instacart/src/components/SearchList/index.tsx +357 -357
  598. package/themes/instacart/src/components/SearchList/styles.tsx +61 -61
  599. package/themes/instacart/src/components/SignupForm/index.tsx +587 -587
  600. package/themes/instacart/src/components/SignupForm/styles.tsx +39 -39
  601. package/themes/instacart/src/components/SingleProductCard/index.tsx +104 -104
  602. package/themes/instacart/src/components/SingleProductCard/styles.tsx +19 -19
  603. package/themes/instacart/src/components/SocialShare/index.tsx +160 -160
  604. package/themes/instacart/src/components/SocialShare/styles.ts +20 -20
  605. package/themes/instacart/src/components/StripeCardForm/index.tsx +97 -97
  606. package/themes/instacart/src/components/StripeCardForm/naked.tsx +128 -128
  607. package/themes/instacart/src/components/StripeCardForm/styles.tsx +27 -27
  608. package/themes/instacart/src/components/StripeCardsList/index.tsx +144 -144
  609. package/themes/instacart/src/components/StripeElementsForm/index.tsx +192 -192
  610. package/themes/instacart/src/components/StripeElementsForm/naked.tsx +90 -90
  611. package/themes/instacart/src/components/StripeElementsForm/styles.tsx +9 -9
  612. package/themes/instacart/src/components/StripeRedirectForm/index.tsx +159 -159
  613. package/themes/instacart/src/components/StripeRedirectForm/styles.tsx +23 -23
  614. package/themes/instacart/src/components/TagSelector/index.tsx +94 -94
  615. package/themes/instacart/src/components/TaxInformation/index.tsx +51 -51
  616. package/themes/instacart/src/components/TaxInformation/styles.tsx +9 -9
  617. package/themes/instacart/src/components/UpsellingProducts/index.tsx +230 -230
  618. package/themes/instacart/src/components/UpsellingProducts/styles.tsx +31 -31
  619. package/themes/instacart/src/components/UserDetails/index.tsx +135 -135
  620. package/themes/instacart/src/components/UserDetails/styles.tsx +21 -21
  621. package/themes/instacart/src/components/UserFormDetails/index.tsx +307 -307
  622. package/themes/instacart/src/components/UserFormDetails/styles.tsx +38 -38
  623. package/themes/instacart/src/components/UserProfileForm/index.tsx +106 -106
  624. package/themes/instacart/src/components/UserProfileForm/styles.tsx +37 -37
  625. package/themes/instacart/src/components/VerifyPhone/index.tsx +187 -187
  626. package/themes/instacart/src/components/VerifyPhone/styles.tsx +43 -43
  627. package/themes/instacart/src/components/shared/OAlert.tsx +53 -53
  628. package/themes/instacart/src/components/shared/OBottomPopup.tsx +118 -118
  629. package/themes/instacart/src/components/shared/OBottomStickBar.tsx +62 -62
  630. package/themes/instacart/src/components/shared/OButton.tsx +133 -133
  631. package/themes/instacart/src/components/shared/ODropDown.tsx +170 -170
  632. package/themes/instacart/src/components/shared/OIcon.tsx +53 -53
  633. package/themes/instacart/src/components/shared/OIconButton.tsx +134 -134
  634. package/themes/instacart/src/components/shared/OInput.tsx +122 -122
  635. package/themes/instacart/src/components/shared/OModal.tsx +156 -156
  636. package/themes/instacart/src/components/shared/OText.tsx +58 -58
  637. package/themes/instacart/src/components/shared/OToast.tsx +92 -92
  638. package/themes/instacart/src/components/shared/index.tsx +23 -23
  639. package/themes/instacart/src/config/constants.tsx +28 -28
  640. package/themes/instacart/src/layouts/Container.tsx +29 -29
  641. package/themes/instacart/src/layouts/SafeAreaContainer.tsx +6 -6
  642. package/themes/instacart/src/providers/AlertProvider.tsx +43 -43
  643. package/themes/instacart/src/providers/CartBottomSheetProvider.tsx +37 -37
  644. package/themes/instacart/src/providers/StoreUtil.tsx +50 -50
  645. package/themes/instacart/src/types/index.tsx +458 -458
  646. package/themes/instacart/src/utils/index.tsx +192 -192
  647. package/themes/kiosk/index.tsx +130 -130
  648. package/themes/kiosk/src/components/BusinessController/index.tsx +88 -88
  649. package/themes/kiosk/src/components/BusinessController/styles.tsx +23 -23
  650. package/themes/kiosk/src/components/BusinessItemAccordion/index.tsx +137 -137
  651. package/themes/kiosk/src/components/BusinessItemAccordion/styles.tsx +60 -60
  652. package/themes/kiosk/src/components/BusinessMenu/index.tsx +174 -174
  653. package/themes/kiosk/src/components/BusinessProductsListing/index.tsx +254 -254
  654. package/themes/kiosk/src/components/BusinessProductsListing/styles.tsx +35 -35
  655. package/themes/kiosk/src/components/BusinessesListing/index.tsx +119 -119
  656. package/themes/kiosk/src/components/BusinessesListing/styles.tsx +24 -24
  657. package/themes/kiosk/src/components/Cart/index.tsx +489 -489
  658. package/themes/kiosk/src/components/Cart/styles.tsx +76 -76
  659. package/themes/kiosk/src/components/CartBottomSheet/index.tsx +281 -281
  660. package/themes/kiosk/src/components/CartBottomSheet/styles.tsx +53 -53
  661. package/themes/kiosk/src/components/CartContent/index.tsx +75 -75
  662. package/themes/kiosk/src/components/CartContent/styles.tsx +15 -15
  663. package/themes/kiosk/src/components/CartItem/index.tsx +222 -222
  664. package/themes/kiosk/src/components/CartItem/styles.tsx +33 -33
  665. package/themes/kiosk/src/components/CategoriesMenu/index.tsx +281 -281
  666. package/themes/kiosk/src/components/Checkout/index.tsx +171 -171
  667. package/themes/kiosk/src/components/Checkout/styles.tsx +94 -94
  668. package/themes/kiosk/src/components/CouponControl/index.tsx +138 -138
  669. package/themes/kiosk/src/components/CouponControl/styles.tsx +22 -22
  670. package/themes/kiosk/src/components/CustomerName/index.tsx +175 -175
  671. package/themes/kiosk/src/components/CustomerName/styles.tsx +10 -10
  672. package/themes/kiosk/src/components/DrawerView/index.tsx +58 -58
  673. package/themes/kiosk/src/components/DrawerView/styles.tsx +30 -30
  674. package/themes/kiosk/src/components/Intro/index.tsx +165 -165
  675. package/themes/kiosk/src/components/LanguageSelector/index.tsx +131 -131
  676. package/themes/kiosk/src/components/LanguageSelector/lang_country.json +140 -140
  677. package/themes/kiosk/src/components/LanguageSelector/styles.tsx +12 -12
  678. package/themes/kiosk/src/components/LoginForm/Otp/index.tsx +92 -92
  679. package/themes/kiosk/src/components/LoginForm/Otp/styles.tsx +7 -7
  680. package/themes/kiosk/src/components/LoginForm/index.tsx +795 -795
  681. package/themes/kiosk/src/components/LoginForm/styles.tsx +27 -27
  682. package/themes/kiosk/src/components/LogoutButton/index.tsx +74 -74
  683. package/themes/kiosk/src/components/LogoutPopup/index.tsx +185 -185
  684. package/themes/kiosk/src/components/LogoutPopup/styles.tsx +26 -26
  685. package/themes/kiosk/src/components/NavBar/index.tsx +147 -147
  686. package/themes/kiosk/src/components/NetworkError/index.tsx +60 -60
  687. package/themes/kiosk/src/components/NetworkError/styles.tsx +10 -10
  688. package/themes/kiosk/src/components/NotFoundSource/index.tsx +51 -51
  689. package/themes/kiosk/src/components/NotFoundSource/styles.tsx +16 -16
  690. package/themes/kiosk/src/components/OptionCard/index.tsx +107 -107
  691. package/themes/kiosk/src/components/OptionCard/styles.tsx +22 -22
  692. package/themes/kiosk/src/components/OrderDetails/index.tsx +693 -693
  693. package/themes/kiosk/src/components/OrderDetails/styles.tsx +58 -58
  694. package/themes/kiosk/src/components/OrderSummary/index.tsx +195 -195
  695. package/themes/kiosk/src/components/OrderSummary/styles.tsx +33 -33
  696. package/themes/kiosk/src/components/OrderTypeCardSelector/index.tsx +153 -153
  697. package/themes/kiosk/src/components/OrderTypeCardSelector/styles.tsx +6 -6
  698. package/themes/kiosk/src/components/OrderTypeSelector/index.tsx +98 -98
  699. package/themes/kiosk/src/components/OrderTypeSelector/styles.tsx +6 -6
  700. package/themes/kiosk/src/components/PaymentOptionCash/index.tsx +100 -100
  701. package/themes/kiosk/src/components/PaymentOptionCash/styles.tsx +18 -18
  702. package/themes/kiosk/src/components/PaymentOptionStripe/index.tsx +70 -70
  703. package/themes/kiosk/src/components/PaymentOptionStripe/styles.tsx +7 -7
  704. package/themes/kiosk/src/components/PaymentOptions/index.tsx +217 -217
  705. package/themes/kiosk/src/components/PaymentOptions/styles.tsx +55 -55
  706. package/themes/kiosk/src/components/PhoneInputNumber/index.tsx +113 -113
  707. package/themes/kiosk/src/components/PhoneInputNumber/styles.tsx +3 -3
  708. package/themes/kiosk/src/components/ProductForm/index.tsx +588 -588
  709. package/themes/kiosk/src/components/ProductForm/styles.tsx +83 -83
  710. package/themes/kiosk/src/components/ProductIngredient/index.tsx +44 -44
  711. package/themes/kiosk/src/components/ProductIngredient/styles.tsx +7 -7
  712. package/themes/kiosk/src/components/ProductItemAccordion/index.tsx +244 -244
  713. package/themes/kiosk/src/components/ProductItemAccordion/styles.tsx +71 -71
  714. package/themes/kiosk/src/components/ProductOption/index.tsx +55 -55
  715. package/themes/kiosk/src/components/ProductOption/styles.tsx +16 -16
  716. package/themes/kiosk/src/components/ProductOptionSubOption/index.tsx +176 -176
  717. package/themes/kiosk/src/components/ProductOptionSubOption/styles.tsx +42 -42
  718. package/themes/kiosk/src/components/PromoCard/index.tsx +117 -117
  719. package/themes/kiosk/src/components/QuantityControl/index.tsx +92 -92
  720. package/themes/kiosk/src/components/QuantityControl/styles.tsx +9 -9
  721. package/themes/kiosk/src/components/UpsellingProducts/index.tsx +364 -364
  722. package/themes/kiosk/src/components/UpsellingProducts/styles.tsx +26 -26
  723. package/themes/kiosk/src/components/shared/OAlert.tsx +55 -55
  724. package/themes/kiosk/src/components/shared/OBottomPopup.tsx +77 -77
  725. package/themes/kiosk/src/components/shared/OButton.tsx +145 -145
  726. package/themes/kiosk/src/components/shared/OCard.tsx +144 -144
  727. package/themes/kiosk/src/components/shared/OChatBubble.tsx +52 -52
  728. package/themes/kiosk/src/components/shared/OCheckbox.tsx +77 -77
  729. package/themes/kiosk/src/components/shared/ODropDown.tsx +161 -161
  730. package/themes/kiosk/src/components/shared/OIcon.tsx +51 -51
  731. package/themes/kiosk/src/components/shared/OIconButton.tsx +134 -134
  732. package/themes/kiosk/src/components/shared/OIconText.tsx +53 -53
  733. package/themes/kiosk/src/components/shared/OImage.tsx +31 -31
  734. package/themes/kiosk/src/components/shared/OInput.tsx +121 -121
  735. package/themes/kiosk/src/components/shared/OKeyButton.tsx +34 -34
  736. package/themes/kiosk/src/components/shared/OModal.tsx +162 -162
  737. package/themes/kiosk/src/components/shared/OOptionToggle.tsx +130 -130
  738. package/themes/kiosk/src/components/shared/OSegment.tsx +66 -66
  739. package/themes/kiosk/src/components/shared/OText.tsx +51 -51
  740. package/themes/kiosk/src/components/shared/OTextarea.tsx +36 -36
  741. package/themes/kiosk/src/components/shared/OToast.tsx +94 -94
  742. package/themes/kiosk/src/components/shared/OToggle.tsx +157 -157
  743. package/themes/kiosk/src/components/shared/index.tsx +37 -37
  744. package/themes/kiosk/src/layouts/Container.tsx +45 -45
  745. package/themes/kiosk/src/layouts/GridContainer.tsx +25 -25
  746. package/themes/kiosk/src/layouts/SafeAreaContainer.tsx +6 -6
  747. package/themes/kiosk/src/providers/CartBottomSheetProvider.tsx +35 -35
  748. package/themes/kiosk/src/types/index.d.ts +497 -497
  749. package/themes/kiosk/src/utils/index.tsx +15 -15
  750. package/themes/original/index.tsx +356 -356
  751. package/themes/original/src/components/ActiveOrders/index.tsx +52 -52
  752. package/themes/original/src/components/ActiveOrders/styles.tsx +5 -5
  753. package/themes/original/src/components/AddressDetails/index.tsx +105 -105
  754. package/themes/original/src/components/AddressDetails/styles.tsx +21 -21
  755. package/themes/original/src/components/AddressForm/index.tsx +958 -959
  756. package/themes/original/src/components/AddressForm/styles.tsx +28 -28
  757. package/themes/original/src/components/AddressList/index.tsx +361 -361
  758. package/themes/original/src/components/AddressList/styles.tsx +21 -21
  759. package/themes/original/src/components/AnalyticsSegment/index.tsx +310 -310
  760. package/themes/original/src/components/AppleLogin/index.tsx +188 -188
  761. package/themes/original/src/components/AppleLogin/styles.tsx +23 -23
  762. package/themes/original/src/components/BottomWrapper/index.tsx +29 -29
  763. package/themes/original/src/components/BusinessBasicInformation/index.tsx +536 -536
  764. package/themes/original/src/components/BusinessBasicInformation/styles.tsx +72 -72
  765. package/themes/original/src/components/BusinessCart/index.tsx +182 -182
  766. package/themes/original/src/components/BusinessCart/styles.tsx +46 -46
  767. package/themes/original/src/components/BusinessController/index.tsx +397 -397
  768. package/themes/original/src/components/BusinessController/styles.tsx +95 -95
  769. package/themes/original/src/components/BusinessFeaturedController/index.tsx +175 -175
  770. package/themes/original/src/components/BusinessFeaturedController/styles.tsx +81 -81
  771. package/themes/original/src/components/BusinessInformation/index.tsx +241 -241
  772. package/themes/original/src/components/BusinessInformation/styles.tsx +39 -39
  773. package/themes/original/src/components/BusinessItemAccordion/index.tsx +180 -180
  774. package/themes/original/src/components/BusinessItemAccordion/styles.tsx +64 -64
  775. package/themes/original/src/components/BusinessListingSearch/BusinessControllerSkeletons/index.tsx +57 -57
  776. package/themes/original/src/components/BusinessListingSearch/BusinessSearchFooter.tsx +328 -328
  777. package/themes/original/src/components/BusinessListingSearch/BusinessSearchHeader.tsx +98 -98
  778. package/themes/original/src/components/BusinessListingSearch/MaxSectionItem/index.tsx +59 -59
  779. package/themes/original/src/components/BusinessListingSearch/MaxSectionItem/styles.tsx +13 -13
  780. package/themes/original/src/components/BusinessListingSearch/index.tsx +280 -280
  781. package/themes/original/src/components/BusinessListingSearch/styles.tsx +76 -76
  782. package/themes/original/src/components/BusinessMenuList/index.tsx +135 -135
  783. package/themes/original/src/components/BusinessPreorder/index.tsx +601 -601
  784. package/themes/original/src/components/BusinessPreorder/styles.tsx +58 -58
  785. package/themes/original/src/components/BusinessProductsCategories/index.tsx +151 -151
  786. package/themes/original/src/components/BusinessProductsCategories/styles.tsx +7 -7
  787. package/themes/original/src/components/BusinessProductsList/CategoryDescription/index.tsx +44 -44
  788. package/themes/original/src/components/BusinessProductsList/SubcategoriesComponent/index.tsx +90 -90
  789. package/themes/original/src/components/BusinessProductsList/SubcategoriesComponent/styles.tsx +12 -12
  790. package/themes/original/src/components/BusinessProductsList/index.tsx +367 -367
  791. package/themes/original/src/components/BusinessProductsList/styles.tsx +52 -52
  792. package/themes/original/src/components/BusinessProductsListing/UpsellingRedirect.tsx +35 -35
  793. package/themes/original/src/components/BusinessProductsListing/index.tsx +754 -754
  794. package/themes/original/src/components/BusinessProductsListing/styles.tsx +68 -68
  795. package/themes/original/src/components/BusinessReviews/index.tsx +241 -241
  796. package/themes/original/src/components/BusinessReviews/styles.tsx +59 -59
  797. package/themes/original/src/components/BusinessTypeFilter/index.tsx +281 -281
  798. package/themes/original/src/components/BusinessTypeFilter/styles.tsx +43 -43
  799. package/themes/original/src/components/BusinessesListing/Layout/Appointment/index.tsx +562 -562
  800. package/themes/original/src/components/BusinessesListing/Layout/Appointment/styles.tsx +108 -108
  801. package/themes/original/src/components/BusinessesListing/Layout/Original/FlatListBusinessListFooter.tsx +69 -69
  802. package/themes/original/src/components/BusinessesListing/Layout/Original/FlatListBusinessListHeader.tsx +406 -406
  803. package/themes/original/src/components/BusinessesListing/Layout/Original/FlatListBusinessListing.tsx +76 -76
  804. package/themes/original/src/components/BusinessesListing/Layout/Original/index.tsx +329 -329
  805. package/themes/original/src/components/BusinessesListing/Layout/Original/styles.tsx +130 -130
  806. package/themes/original/src/components/BusinessesListing/index.tsx +106 -106
  807. package/themes/original/src/components/Cart/index.tsx +661 -661
  808. package/themes/original/src/components/Cart/styles.tsx +39 -39
  809. package/themes/original/src/components/CartContent/index.tsx +203 -203
  810. package/themes/original/src/components/CartContent/styles.tsx +29 -29
  811. package/themes/original/src/components/CartStoresListing/index.tsx +98 -98
  812. package/themes/original/src/components/CartStoresListing/styles.tsx +30 -30
  813. package/themes/original/src/components/Checkout/index.tsx +1381 -1381
  814. package/themes/original/src/components/Checkout/styles.tsx +132 -132
  815. package/themes/original/src/components/CitiesControl/index.tsx +86 -86
  816. package/themes/original/src/components/CitiesControl/styles.tsx +17 -17
  817. package/themes/original/src/components/CouponControl/index.tsx +125 -125
  818. package/themes/original/src/components/CouponControl/styles.tsx +22 -22
  819. package/themes/original/src/components/DatePicker/index.tsx +33 -33
  820. package/themes/original/src/components/DatePicker/styles.tsx +20 -20
  821. package/themes/original/src/components/DriverTips/index.tsx +162 -162
  822. package/themes/original/src/components/DriverTips/styles.tsx +67 -67
  823. package/themes/original/src/components/FacebookLogin/index.tsx +122 -122
  824. package/themes/original/src/components/FacebookLogin/styles.tsx +23 -23
  825. package/themes/original/src/components/Favorite/index.tsx +98 -98
  826. package/themes/original/src/components/Favorite/styles.tsx +20 -20
  827. package/themes/original/src/components/FavoriteList/index.tsx +287 -287
  828. package/themes/original/src/components/FavoriteList/styles.tsx +5 -5
  829. package/themes/original/src/components/FloatingButton/index.tsx +100 -100
  830. package/themes/original/src/components/FloatingButton/styles.tsx +26 -26
  831. package/themes/original/src/components/ForgotPasswordForm/index.tsx +230 -230
  832. package/themes/original/src/components/ForgotPasswordForm/styles.tsx +11 -11
  833. package/themes/original/src/components/GPSButton/index.tsx +95 -95
  834. package/themes/original/src/components/GPSButton/styles.ts +6 -6
  835. package/themes/original/src/components/GiftCard/GiftCardOrdersList/index.tsx +63 -63
  836. package/themes/original/src/components/GiftCard/GiftCardOrdersList/styles.tsx +7 -7
  837. package/themes/original/src/components/GiftCard/GiftCardUI/index.tsx +99 -99
  838. package/themes/original/src/components/GiftCard/GiftCardUI/styles.tsx +5 -5
  839. package/themes/original/src/components/GiftCard/PurchaseGiftCard/index.tsx +129 -129
  840. package/themes/original/src/components/GiftCard/PurchaseGiftCard/styles.tsx +8 -8
  841. package/themes/original/src/components/GiftCard/RedeemGiftCard/index.tsx +246 -246
  842. package/themes/original/src/components/GiftCard/RedeemGiftCard/styles.tsx +8 -8
  843. package/themes/original/src/components/GiftCard/SendGiftCard/index.tsx +163 -163
  844. package/themes/original/src/components/GiftCard/SendGiftCard/styles.tsx +9 -9
  845. package/themes/original/src/components/GiftCard/SingleGiftCard/index.tsx +101 -101
  846. package/themes/original/src/components/GiftCard/SingleGiftCard/styles.tsx +4 -4
  847. package/themes/original/src/components/GiftCard/VerticalGiftCardOrdersLayout/index.tsx +82 -82
  848. package/themes/original/src/components/GiftCard/VerticalGiftCardOrdersLayout/styles.tsx +9 -9
  849. package/themes/original/src/components/GoogleLogin/index.tsx +119 -119
  850. package/themes/original/src/components/GoogleLogin/styles.tsx +23 -23
  851. package/themes/original/src/components/GoogleMap/index.tsx +316 -316
  852. package/themes/original/src/components/Help/functions.tsx +76 -76
  853. package/themes/original/src/components/Help/index.tsx +119 -119
  854. package/themes/original/src/components/Help/styles.tsx +14 -14
  855. package/themes/original/src/components/HelpOptions/index.tsx +53 -53
  856. package/themes/original/src/components/HighestRatedBusinesses/index.tsx +165 -165
  857. package/themes/original/src/components/HighestRatedBusinesses/styles.tsx +7 -7
  858. package/themes/original/src/components/Home/index.tsx +130 -130
  859. package/themes/original/src/components/Home/styles.tsx +18 -18
  860. package/themes/original/src/components/LanguageSelector/index.tsx +97 -97
  861. package/themes/original/src/components/LanguageSelector/styles.tsx +10 -10
  862. package/themes/original/src/components/LastOrder/index.tsx +138 -138
  863. package/themes/original/src/components/LastOrder/styles.tsx +16 -16
  864. package/themes/original/src/components/LastOrders/index.tsx +124 -124
  865. package/themes/original/src/components/LastOrders/styles.tsx +17 -17
  866. package/themes/original/src/components/LoginForm/Otp/index.tsx +158 -158
  867. package/themes/original/src/components/LoginForm/Otp/styles.tsx +6 -6
  868. package/themes/original/src/components/LoginForm/index.tsx +893 -893
  869. package/themes/original/src/components/LoginForm/styles.tsx +85 -85
  870. package/themes/original/src/components/LogoutButton/index.tsx +42 -42
  871. package/themes/original/src/components/LottieAnimation/index.tsx +103 -103
  872. package/themes/original/src/components/MessageListing/index.tsx +295 -295
  873. package/themes/original/src/components/MessageListing/styles.tsx +16 -16
  874. package/themes/original/src/components/Messages/index.tsx +593 -593
  875. package/themes/original/src/components/Messages/styles.tsx +40 -40
  876. package/themes/original/src/components/MomentOption/TimeListItem.tsx +56 -56
  877. package/themes/original/src/components/MomentOption/index.tsx +575 -575
  878. package/themes/original/src/components/MomentOption/styles.tsx +57 -57
  879. package/themes/original/src/components/MomentSelector/index.tsx +200 -200
  880. package/themes/original/src/components/MomentSelector/styles.tsx +6 -6
  881. package/themes/original/src/components/MultiCart/index.tsx +50 -50
  882. package/themes/original/src/components/MultiCartsPaymethodsAndWallets/index.tsx +358 -358
  883. package/themes/original/src/components/MultiCartsPaymethodsAndWallets/styles.tsx +46 -46
  884. package/themes/original/src/components/MultiCheckout/index.tsx +763 -763
  885. package/themes/original/src/components/MultiCheckout/styles.tsx +78 -78
  886. package/themes/original/src/components/MultiOrdersDetails/SingleOrderCard.tsx +185 -185
  887. package/themes/original/src/components/MultiOrdersDetails/index.tsx +315 -315
  888. package/themes/original/src/components/MultiOrdersDetails/styles.tsx +50 -50
  889. package/themes/original/src/components/MyOrders/index.tsx +216 -216
  890. package/themes/original/src/components/MyOrders/styles.tsx +13 -13
  891. package/themes/original/src/components/NavBar/index.tsx +139 -139
  892. package/themes/original/src/components/NetworkError/index.tsx +57 -57
  893. package/themes/original/src/components/NetworkError/styles.tsx +11 -11
  894. package/themes/original/src/components/NotFoundSource/index.tsx +53 -53
  895. package/themes/original/src/components/NotFoundSource/styles.tsx +25 -25
  896. package/themes/original/src/components/Notifications/index.tsx +140 -140
  897. package/themes/original/src/components/Notifications/styles.tsx +19 -19
  898. package/themes/original/src/components/OrderDetails/OrderEta.tsx +77 -77
  899. package/themes/original/src/components/OrderDetails/OrderHistory.tsx +188 -188
  900. package/themes/original/src/components/OrderDetails/index.tsx +1162 -1162
  901. package/themes/original/src/components/OrderDetails/styles.tsx +161 -161
  902. package/themes/original/src/components/OrderItAgain/index.tsx +77 -77
  903. package/themes/original/src/components/OrderItAgain/styles.tsx +10 -10
  904. package/themes/original/src/components/OrderProgress/index.tsx +237 -237
  905. package/themes/original/src/components/OrderProgress/styles.tsx +36 -36
  906. package/themes/original/src/components/OrderSummary/index.tsx +427 -427
  907. package/themes/original/src/components/OrderSummary/styles.tsx +48 -48
  908. package/themes/original/src/components/OrderTypeSelector/index.tsx +145 -145
  909. package/themes/original/src/components/OrderTypeSelector/styles.tsx +45 -45
  910. package/themes/original/src/components/OrdersOption/PreviousBusinessOrdered/index.tsx +149 -149
  911. package/themes/original/src/components/OrdersOption/PreviousBusinessOrdered/styles.tsx +6 -6
  912. package/themes/original/src/components/OrdersOption/PreviousProductsOrdered/index.tsx +56 -56
  913. package/themes/original/src/components/OrdersOption/PreviousProductsOrdered/styles.tsx +6 -6
  914. package/themes/original/src/components/OrdersOption/index.tsx +372 -372
  915. package/themes/original/src/components/OrdersOption/styles.tsx +14 -14
  916. package/themes/original/src/components/PageBanner/index.tsx +182 -182
  917. package/themes/original/src/components/PageBanner/styles.tsx +8 -8
  918. package/themes/original/src/components/PaymentOptionCard/index.tsx +182 -182
  919. package/themes/original/src/components/PaymentOptionCash/index.tsx +102 -102
  920. package/themes/original/src/components/PaymentOptionCash/styles.tsx +18 -18
  921. package/themes/original/src/components/PaymentOptionStripe/index.tsx +229 -229
  922. package/themes/original/src/components/PaymentOptionStripe/styles.tsx +72 -72
  923. package/themes/original/src/components/PaymentOptionWallet/index.tsx +174 -174
  924. package/themes/original/src/components/PaymentOptionWallet/styles.tsx +39 -39
  925. package/themes/original/src/components/PaymentOptions/index.tsx +587 -587
  926. package/themes/original/src/components/PaymentOptions/styles.tsx +55 -55
  927. package/themes/original/src/components/PhoneInputNumber/index.tsx +241 -241
  928. package/themes/original/src/components/PhoneInputNumber/styles.tsx +3 -3
  929. package/themes/original/src/components/PlaceSpot/index.tsx +314 -314
  930. package/themes/original/src/components/PlaceSpot/styles.tsx +9 -9
  931. package/themes/original/src/components/PreviousOrders/index.tsx +58 -58
  932. package/themes/original/src/components/PreviousOrders/styles.tsx +34 -34
  933. package/themes/original/src/components/ProductForm/ActionButton.tsx +117 -117
  934. package/themes/original/src/components/ProductForm/ExtraOptions.tsx +56 -56
  935. package/themes/original/src/components/ProductForm/index.tsx +1034 -1034
  936. package/themes/original/src/components/ProductForm/styles.tsx +101 -101
  937. package/themes/original/src/components/ProductIngredient/index.tsx +44 -44
  938. package/themes/original/src/components/ProductIngredient/styles.tsx +7 -7
  939. package/themes/original/src/components/ProductItemAccordion/index.tsx +353 -353
  940. package/themes/original/src/components/ProductItemAccordion/styles.tsx +56 -56
  941. package/themes/original/src/components/ProductOption/index.tsx +50 -50
  942. package/themes/original/src/components/ProductOption/styles.tsx +11 -11
  943. package/themes/original/src/components/ProductOptionSubOption/index.tsx +223 -223
  944. package/themes/original/src/components/ProductOptionSubOption/styles.tsx +39 -39
  945. package/themes/original/src/components/ProfessionalFilter/SingleProfessionalCard/index.tsx +108 -108
  946. package/themes/original/src/components/ProfessionalFilter/index.tsx +99 -99
  947. package/themes/original/src/components/ProfessionalProfile/index.tsx +337 -337
  948. package/themes/original/src/components/ProfessionalProfile/styles.tsx +46 -46
  949. package/themes/original/src/components/Promotions/index.tsx +261 -261
  950. package/themes/original/src/components/Promotions/styles.tsx +65 -65
  951. package/themes/original/src/components/ReviewDriver/index.tsx +315 -315
  952. package/themes/original/src/components/ReviewDriver/styles.tsx +38 -38
  953. package/themes/original/src/components/ReviewOrder/index.tsx +356 -356
  954. package/themes/original/src/components/ReviewOrder/styles.tsx +51 -51
  955. package/themes/original/src/components/ReviewProducts/index.tsx +128 -128
  956. package/themes/original/src/components/ReviewProducts/styles.tsx +16 -16
  957. package/themes/original/src/components/ReviewTrigger/index.tsx +136 -136
  958. package/themes/original/src/components/ReviewTrigger/styles.tsx +41 -41
  959. package/themes/original/src/components/ScheduleAccordion/index.tsx +68 -68
  960. package/themes/original/src/components/ScheduleAccordion/styles.tsx +14 -14
  961. package/themes/original/src/components/SearchBar/index.tsx +124 -124
  962. package/themes/original/src/components/ServiceForm/index.tsx +684 -684
  963. package/themes/original/src/components/ServiceForm/styles.tsx +50 -50
  964. package/themes/original/src/components/Sessions/index.tsx +163 -163
  965. package/themes/original/src/components/Sessions/styles.tsx +20 -20
  966. package/themes/original/src/components/SignupForm/index.tsx +1024 -1024
  967. package/themes/original/src/components/SignupForm/styles.tsx +27 -27
  968. package/themes/original/src/components/SingleOrderCard/index.tsx +411 -411
  969. package/themes/original/src/components/SingleOrderCard/styles.tsx +56 -56
  970. package/themes/original/src/components/SingleProductCard/index.tsx +353 -353
  971. package/themes/original/src/components/SingleProductCard/styles.tsx +72 -72
  972. package/themes/original/src/components/SingleProductReview/index.tsx +199 -199
  973. package/themes/original/src/components/SingleProductReview/styles.tsx +39 -39
  974. package/themes/original/src/components/StripeCardForm/index.tsx +94 -94
  975. package/themes/original/src/components/StripeCardForm/naked.tsx +128 -128
  976. package/themes/original/src/components/StripeCardForm/styles.tsx +32 -32
  977. package/themes/original/src/components/StripeCardsList/index.tsx +181 -181
  978. package/themes/original/src/components/StripeElementsForm/index.tsx +312 -312
  979. package/themes/original/src/components/StripeElementsForm/naked.tsx +148 -148
  980. package/themes/original/src/components/StripeElementsForm/styles.tsx +13 -13
  981. package/themes/original/src/components/StripeRedirectForm/index.tsx +156 -156
  982. package/themes/original/src/components/StripeRedirectForm/styles.tsx +23 -23
  983. package/themes/original/src/components/TaxInformation/index.tsx +94 -94
  984. package/themes/original/src/components/TaxInformation/styles.tsx +9 -9
  985. package/themes/original/src/components/UpsellingProducts/UpsellingContent.tsx +173 -173
  986. package/themes/original/src/components/UpsellingProducts/UpsellingLayout.tsx +91 -91
  987. package/themes/original/src/components/UpsellingProducts/index.tsx +82 -82
  988. package/themes/original/src/components/UpsellingProducts/styles.tsx +80 -80
  989. package/themes/original/src/components/UserDetails/index.tsx +245 -245
  990. package/themes/original/src/components/UserDetails/styles.tsx +25 -25
  991. package/themes/original/src/components/UserFormDetails/index.tsx +600 -600
  992. package/themes/original/src/components/UserFormDetails/styles.tsx +41 -41
  993. package/themes/original/src/components/UserProfile/index.tsx +300 -300
  994. package/themes/original/src/components/UserProfile/styles.ts +58 -58
  995. package/themes/original/src/components/UserProfileForm/index.tsx +348 -348
  996. package/themes/original/src/components/UserProfileForm/styles.tsx +36 -36
  997. package/themes/original/src/components/UserVerification/index.tsx +518 -518
  998. package/themes/original/src/components/UserVerification/styles.tsx +83 -83
  999. package/themes/original/src/components/VerifyPhone/index.tsx +195 -195
  1000. package/themes/original/src/components/VerifyPhone/styles.tsx +42 -42
  1001. package/themes/original/src/components/WalletTransactionItem/index.tsx +69 -69
  1002. package/themes/original/src/components/WalletTransactionItem/styles.tsx +37 -37
  1003. package/themes/original/src/components/WalletTransactions/index.tsx +76 -76
  1004. package/themes/original/src/components/WalletTransactions/styles.tsx +14 -14
  1005. package/themes/original/src/components/Wallets/index.tsx +350 -350
  1006. package/themes/original/src/components/Wallets/styles.tsx +67 -67
  1007. package/themes/original/src/components/WebsocketStatus/index.tsx +169 -169
  1008. package/themes/original/src/components/WebsocketStatus/styles.tsx +28 -28
  1009. package/themes/original/src/components/shared/CardAnimation.tsx +47 -47
  1010. package/themes/original/src/components/shared/HeaderTitle.tsx +26 -26
  1011. package/themes/original/src/components/shared/OAlert.tsx +56 -56
  1012. package/themes/original/src/components/shared/OBottomPopup.tsx +109 -109
  1013. package/themes/original/src/components/shared/OButton.tsx +150 -150
  1014. package/themes/original/src/components/shared/ODropDown.tsx +168 -168
  1015. package/themes/original/src/components/shared/OIcon.tsx +66 -66
  1016. package/themes/original/src/components/shared/OIconButton.tsx +127 -127
  1017. package/themes/original/src/components/shared/OIconText.tsx +53 -53
  1018. package/themes/original/src/components/shared/OInput.tsx +137 -137
  1019. package/themes/original/src/components/shared/OKeyButton.tsx +34 -34
  1020. package/themes/original/src/components/shared/OModal.tsx +194 -194
  1021. package/themes/original/src/components/shared/OText.tsx +52 -52
  1022. package/themes/original/src/components/shared/OTextarea.tsx +36 -36
  1023. package/themes/original/src/components/shared/OToast.tsx +93 -93
  1024. package/themes/original/src/components/shared/OToggle.tsx +157 -157
  1025. package/themes/original/src/components/shared/index.tsx +31 -31
  1026. package/themes/original/src/config/constants.tsx +43 -43
  1027. package/themes/original/src/layouts/Container.tsx +32 -32
  1028. package/themes/original/src/layouts/FloatingBottomContainer.tsx +30 -30
  1029. package/themes/original/src/layouts/SafeAreaContainer.tsx +6 -6
  1030. package/themes/original/src/providers/AlertProvider.tsx +43 -43
  1031. package/themes/original/src/providers/StoreUtil.tsx +50 -50
  1032. package/themes/original/src/types/index.tsx +840 -840
  1033. package/themes/original/src/utils/index.tsx +744 -744
  1034. package/themes/single-business/index.tsx +207 -207
  1035. package/themes/single-business/src/components/ActiveOrders/index.tsx +135 -135
  1036. package/themes/single-business/src/components/ActiveOrders/styles.tsx +44 -44
  1037. package/themes/single-business/src/components/AddressDetails/index.tsx +77 -77
  1038. package/themes/single-business/src/components/AddressDetails/styles.tsx +21 -21
  1039. package/themes/single-business/src/components/AddressForm/index.tsx +856 -856
  1040. package/themes/single-business/src/components/AddressForm/styles.tsx +27 -27
  1041. package/themes/single-business/src/components/AddressList/index.tsx +338 -338
  1042. package/themes/single-business/src/components/AddressList/styles.tsx +20 -20
  1043. package/themes/single-business/src/components/AppleLogin/index.tsx +108 -108
  1044. package/themes/single-business/src/components/AppleLogin/styles.tsx +21 -21
  1045. package/themes/single-business/src/components/BottomWrapper/index.tsx +29 -29
  1046. package/themes/single-business/src/components/BusinessBasicInformation/index.tsx +315 -315
  1047. package/themes/single-business/src/components/BusinessBasicInformation/styles.tsx +65 -65
  1048. package/themes/single-business/src/components/BusinessController/index.tsx +186 -186
  1049. package/themes/single-business/src/components/BusinessController/styles.tsx +56 -56
  1050. package/themes/single-business/src/components/BusinessFeaturedController/index.tsx +189 -189
  1051. package/themes/single-business/src/components/BusinessFeaturedController/styles.tsx +50 -50
  1052. package/themes/single-business/src/components/BusinessInformation/index.tsx +244 -244
  1053. package/themes/single-business/src/components/BusinessInformation/styles.tsx +39 -39
  1054. package/themes/single-business/src/components/BusinessItemAccordion/index.tsx +125 -125
  1055. package/themes/single-business/src/components/BusinessItemAccordion/styles.tsx +54 -54
  1056. package/themes/single-business/src/components/BusinessProductsCategories/index.tsx +160 -160
  1057. package/themes/single-business/src/components/BusinessProductsCategories/styles.tsx +7 -7
  1058. package/themes/single-business/src/components/BusinessProductsList/index.tsx +213 -213
  1059. package/themes/single-business/src/components/BusinessProductsList/styles.tsx +14 -14
  1060. package/themes/single-business/src/components/BusinessProductsListing/index.tsx +338 -338
  1061. package/themes/single-business/src/components/BusinessProductsListing/styles.tsx +30 -30
  1062. package/themes/single-business/src/components/BusinessReviews/index.tsx +255 -255
  1063. package/themes/single-business/src/components/BusinessReviews/styles.tsx +59 -59
  1064. package/themes/single-business/src/components/BusinessTypeFilter/index.tsx +127 -127
  1065. package/themes/single-business/src/components/BusinessTypeFilter/styles.tsx +40 -40
  1066. package/themes/single-business/src/components/BusinessesListing/index.tsx +384 -384
  1067. package/themes/single-business/src/components/BusinessesListing/styles.tsx +108 -108
  1068. package/themes/single-business/src/components/Cart/index.tsx +490 -490
  1069. package/themes/single-business/src/components/Cart/styles.tsx +111 -111
  1070. package/themes/single-business/src/components/CartContent/index.tsx +64 -64
  1071. package/themes/single-business/src/components/CartContent/styles.tsx +5 -5
  1072. package/themes/single-business/src/components/Checkout/index.tsx +662 -662
  1073. package/themes/single-business/src/components/Checkout/styles.tsx +89 -89
  1074. package/themes/single-business/src/components/CouponControl/index.tsx +119 -119
  1075. package/themes/single-business/src/components/CouponControl/styles.tsx +22 -22
  1076. package/themes/single-business/src/components/DriverTips/index.tsx +163 -163
  1077. package/themes/single-business/src/components/DriverTips/styles.tsx +63 -63
  1078. package/themes/single-business/src/components/FacebookLogin/index.tsx +107 -107
  1079. package/themes/single-business/src/components/FacebookLogin/styles.tsx +21 -21
  1080. package/themes/single-business/src/components/FloatingButton/index.tsx +100 -100
  1081. package/themes/single-business/src/components/FloatingButton/styles.tsx +26 -26
  1082. package/themes/single-business/src/components/ForgotPasswordForm/index.tsx +156 -156
  1083. package/themes/single-business/src/components/ForgotPasswordForm/styles.tsx +11 -11
  1084. package/themes/single-business/src/components/GPSButton/index.tsx +84 -84
  1085. package/themes/single-business/src/components/GPSButton/styles.ts +5 -5
  1086. package/themes/single-business/src/components/GoogleLogin/index.tsx +114 -114
  1087. package/themes/single-business/src/components/GoogleLogin/styles.tsx +23 -23
  1088. package/themes/single-business/src/components/GoogleMap/index.tsx +229 -229
  1089. package/themes/single-business/src/components/Help/index.tsx +55 -55
  1090. package/themes/single-business/src/components/Help/styles.tsx +11 -11
  1091. package/themes/single-business/src/components/HelpAccountAndPayment/index.tsx +69 -69
  1092. package/themes/single-business/src/components/HelpAccountAndPayment/styles.tsx +6 -6
  1093. package/themes/single-business/src/components/HelpGuide/index.tsx +68 -68
  1094. package/themes/single-business/src/components/HelpGuide/styles.tsx +6 -6
  1095. package/themes/single-business/src/components/HelpOrder/index.tsx +80 -80
  1096. package/themes/single-business/src/components/HelpOrder/styles.tsx +5 -5
  1097. package/themes/single-business/src/components/Home/index.tsx +102 -102
  1098. package/themes/single-business/src/components/Home/styles.tsx +18 -18
  1099. package/themes/single-business/src/components/LanguageSelector/index.tsx +109 -109
  1100. package/themes/single-business/src/components/LanguageSelector/styles.tsx +7 -7
  1101. package/themes/single-business/src/components/LastOrder/index.tsx +170 -170
  1102. package/themes/single-business/src/components/LastOrder/styles.tsx +16 -16
  1103. package/themes/single-business/src/components/LastOrders/index.tsx +104 -104
  1104. package/themes/single-business/src/components/LastOrders/styles.tsx +17 -17
  1105. package/themes/single-business/src/components/LoginForm/index.tsx +587 -587
  1106. package/themes/single-business/src/components/LoginForm/styles.tsx +82 -82
  1107. package/themes/single-business/src/components/LogoutButton/index.tsx +36 -36
  1108. package/themes/single-business/src/components/Messages/index.tsx +350 -350
  1109. package/themes/single-business/src/components/Messages/styles.tsx +20 -20
  1110. package/themes/single-business/src/components/MomentOption/index.tsx +290 -290
  1111. package/themes/single-business/src/components/MomentOption/styles.tsx +65 -65
  1112. package/themes/single-business/src/components/NavBar/index.tsx +129 -129
  1113. package/themes/single-business/src/components/NotFoundSource/index.tsx +50 -50
  1114. package/themes/single-business/src/components/NotFoundSource/styles.tsx +16 -16
  1115. package/themes/single-business/src/components/Notifications/index.tsx +120 -120
  1116. package/themes/single-business/src/components/Notifications/styles.ts +20 -20
  1117. package/themes/single-business/src/components/OrderDetails/index.tsx +871 -871
  1118. package/themes/single-business/src/components/OrderDetails/styles.tsx +120 -120
  1119. package/themes/single-business/src/components/OrderListOption/index.tsx +231 -231
  1120. package/themes/single-business/src/components/OrderListOption/styles.tsx +62 -62
  1121. package/themes/single-business/src/components/OrderSummary/index.tsx +267 -267
  1122. package/themes/single-business/src/components/OrderSummary/styles.tsx +40 -40
  1123. package/themes/single-business/src/components/OrderTypeSelector/index.tsx +126 -126
  1124. package/themes/single-business/src/components/OrderTypeSelector/styles.tsx +26 -26
  1125. package/themes/single-business/src/components/OrdersListing/index.tsx +112 -112
  1126. package/themes/single-business/src/components/OrdersOption/index.tsx +245 -245
  1127. package/themes/single-business/src/components/OrdersOption/styles.tsx +5 -5
  1128. package/themes/single-business/src/components/PaymentOptionCash/index.tsx +102 -102
  1129. package/themes/single-business/src/components/PaymentOptionCash/styles.tsx +18 -18
  1130. package/themes/single-business/src/components/PaymentOptionStripe/index.tsx +234 -234
  1131. package/themes/single-business/src/components/PaymentOptionStripe/styles.tsx +69 -69
  1132. package/themes/single-business/src/components/PaymentOptions/index.tsx +431 -431
  1133. package/themes/single-business/src/components/PaymentOptions/styles.tsx +74 -74
  1134. package/themes/single-business/src/components/PhoneInputNumber/index.tsx +118 -118
  1135. package/themes/single-business/src/components/PhoneInputNumber/styles.tsx +3 -3
  1136. package/themes/single-business/src/components/PreviousOrders/index.tsx +195 -195
  1137. package/themes/single-business/src/components/PreviousOrders/styles.tsx +33 -33
  1138. package/themes/single-business/src/components/ProductForm/index.tsx +694 -694
  1139. package/themes/single-business/src/components/ProductForm/styles.tsx +82 -82
  1140. package/themes/single-business/src/components/ProductIngredient/index.tsx +43 -43
  1141. package/themes/single-business/src/components/ProductIngredient/styles.tsx +7 -7
  1142. package/themes/single-business/src/components/ProductItemAccordion/index.tsx +276 -276
  1143. package/themes/single-business/src/components/ProductItemAccordion/styles.tsx +57 -57
  1144. package/themes/single-business/src/components/ProductOption/index.tsx +50 -50
  1145. package/themes/single-business/src/components/ProductOption/styles.tsx +11 -11
  1146. package/themes/single-business/src/components/ProductOptionSubOption/index.tsx +146 -146
  1147. package/themes/single-business/src/components/ProductOptionSubOption/styles.tsx +32 -32
  1148. package/themes/single-business/src/components/PromotionCard/index.tsx +103 -103
  1149. package/themes/single-business/src/components/PromotionCard/styles.tsx +28 -28
  1150. package/themes/single-business/src/components/Promotions/index.tsx +78 -78
  1151. package/themes/single-business/src/components/Promotions/styles.tsx +3 -3
  1152. package/themes/single-business/src/components/ReviewOrder/index.tsx +346 -346
  1153. package/themes/single-business/src/components/ReviewOrder/styles.tsx +44 -44
  1154. package/themes/single-business/src/components/SearchBar/index.tsx +108 -108
  1155. package/themes/single-business/src/components/SignupForm/index.tsx +642 -642
  1156. package/themes/single-business/src/components/SignupForm/styles.tsx +27 -27
  1157. package/themes/single-business/src/components/SingleProductCard/index.tsx +124 -124
  1158. package/themes/single-business/src/components/SingleProductCard/styles.tsx +23 -23
  1159. package/themes/single-business/src/components/StripeCardForm/index.tsx +97 -97
  1160. package/themes/single-business/src/components/StripeCardForm/naked.tsx +128 -128
  1161. package/themes/single-business/src/components/StripeCardForm/styles.tsx +32 -32
  1162. package/themes/single-business/src/components/StripeCardsList/index.tsx +143 -143
  1163. package/themes/single-business/src/components/StripeElementsForm/index.tsx +204 -204
  1164. package/themes/single-business/src/components/StripeElementsForm/naked.tsx +90 -90
  1165. package/themes/single-business/src/components/StripeElementsForm/styles.tsx +13 -13
  1166. package/themes/single-business/src/components/StripeRedirectForm/index.tsx +159 -159
  1167. package/themes/single-business/src/components/StripeRedirectForm/styles.tsx +23 -23
  1168. package/themes/single-business/src/components/TagSelector/index.tsx +94 -94
  1169. package/themes/single-business/src/components/TaxInformation/index.tsx +56 -56
  1170. package/themes/single-business/src/components/TaxInformation/styles.tsx +10 -10
  1171. package/themes/single-business/src/components/UpsellingProducts/index.tsx +259 -259
  1172. package/themes/single-business/src/components/UpsellingProducts/styles.tsx +57 -57
  1173. package/themes/single-business/src/components/UserDetails/index.tsx +130 -130
  1174. package/themes/single-business/src/components/UserDetails/styles.tsx +21 -21
  1175. package/themes/single-business/src/components/UserFormDetails/index.tsx +304 -304
  1176. package/themes/single-business/src/components/UserFormDetails/styles.tsx +37 -37
  1177. package/themes/single-business/src/components/UserProfile/index.tsx +185 -185
  1178. package/themes/single-business/src/components/UserProfile/styles.ts +42 -42
  1179. package/themes/single-business/src/components/UserProfileForm/index.tsx +254 -254
  1180. package/themes/single-business/src/components/UserProfileForm/styles.tsx +29 -29
  1181. package/themes/single-business/src/components/VerifyPhone/index.tsx +188 -188
  1182. package/themes/single-business/src/components/VerifyPhone/styles.tsx +43 -43
  1183. package/themes/single-business/src/components/shared/OAlert.tsx +55 -55
  1184. package/themes/single-business/src/components/shared/OBottomPopup.tsx +73 -73
  1185. package/themes/single-business/src/components/shared/OButton.tsx +132 -132
  1186. package/themes/single-business/src/components/shared/ODropDown.tsx +169 -169
  1187. package/themes/single-business/src/components/shared/OIcon.tsx +53 -53
  1188. package/themes/single-business/src/components/shared/OIconButton.tsx +127 -127
  1189. package/themes/single-business/src/components/shared/OIconText.tsx +53 -53
  1190. package/themes/single-business/src/components/shared/OInput.tsx +114 -114
  1191. package/themes/single-business/src/components/shared/OKeyButton.tsx +34 -34
  1192. package/themes/single-business/src/components/shared/OLink.tsx +80 -80
  1193. package/themes/single-business/src/components/shared/OModal.tsx +172 -172
  1194. package/themes/single-business/src/components/shared/OText.tsx +52 -52
  1195. package/themes/single-business/src/components/shared/OTextarea.tsx +36 -36
  1196. package/themes/single-business/src/components/shared/OToast.tsx +93 -93
  1197. package/themes/single-business/src/components/shared/OToggle.tsx +157 -157
  1198. package/themes/single-business/src/components/shared/index.tsx +33 -33
  1199. package/themes/single-business/src/config/constants.tsx +41 -41
  1200. package/themes/single-business/src/layouts/Container.tsx +23 -23
  1201. package/themes/single-business/src/layouts/SafeAreaContainer.tsx +6 -6
  1202. package/themes/single-business/src/providers/AlertProvider.tsx +43 -43
  1203. package/themes/single-business/src/providers/StoreUtil.tsx +50 -50
  1204. package/themes/single-business/src/types/index.tsx +445 -445
  1205. package/themes/single-business/src/utils/index.tsx +286 -286
  1206. package/themes/uber-eats/index.tsx +127 -127
  1207. package/themes/uber-eats/src/components/Account/index.tsx +201 -201
  1208. package/themes/uber-eats/src/components/Account/styles.tsx +21 -21
  1209. package/themes/uber-eats/src/components/ActiveOrders/index.tsx +135 -135
  1210. package/themes/uber-eats/src/components/ActiveOrders/styles.tsx +50 -50
  1211. package/themes/uber-eats/src/components/AddressDetails/index.tsx +71 -71
  1212. package/themes/uber-eats/src/components/AddressDetails/styles.tsx +13 -13
  1213. package/themes/uber-eats/src/components/AddressForm/index.tsx +715 -715
  1214. package/themes/uber-eats/src/components/AddressForm/styles.tsx +31 -31
  1215. package/themes/uber-eats/src/components/AddressList/index.tsx +315 -315
  1216. package/themes/uber-eats/src/components/AddressList/styles.tsx +23 -23
  1217. package/themes/uber-eats/src/components/BusinessBasicInformation/index.tsx +226 -226
  1218. package/themes/uber-eats/src/components/BusinessBasicInformation/styles.tsx +41 -41
  1219. package/themes/uber-eats/src/components/BusinessController/index.tsx +201 -201
  1220. package/themes/uber-eats/src/components/BusinessController/styles.tsx +58 -58
  1221. package/themes/uber-eats/src/components/BusinessInformation/index.tsx +101 -101
  1222. package/themes/uber-eats/src/components/BusinessInformation/styles.tsx +36 -36
  1223. package/themes/uber-eats/src/components/BusinessItemAccordion/index.tsx +145 -145
  1224. package/themes/uber-eats/src/components/BusinessItemAccordion/styles.tsx +61 -61
  1225. package/themes/uber-eats/src/components/BusinessProductsCategories/index.tsx +141 -141
  1226. package/themes/uber-eats/src/components/BusinessProductsCategories/styles.tsx +7 -7
  1227. package/themes/uber-eats/src/components/BusinessProductsList/index.tsx +195 -195
  1228. package/themes/uber-eats/src/components/BusinessProductsList/styles.tsx +13 -13
  1229. package/themes/uber-eats/src/components/BusinessProductsListing/index.tsx +411 -411
  1230. package/themes/uber-eats/src/components/BusinessProductsListing/styles.tsx +52 -52
  1231. package/themes/uber-eats/src/components/BusinessReviews/index.tsx +121 -121
  1232. package/themes/uber-eats/src/components/BusinessReviews/styles.tsx +33 -33
  1233. package/themes/uber-eats/src/components/BusinessTypeFilter/index.tsx +194 -194
  1234. package/themes/uber-eats/src/components/BusinessTypeFilter/styles.tsx +28 -28
  1235. package/themes/uber-eats/src/components/BusinessesListing/index.tsx +247 -247
  1236. package/themes/uber-eats/src/components/BusinessesListing/styles.tsx +62 -62
  1237. package/themes/uber-eats/src/components/Cart/index.tsx +346 -346
  1238. package/themes/uber-eats/src/components/Cart/styles.tsx +26 -26
  1239. package/themes/uber-eats/src/components/CartContent/index.tsx +50 -50
  1240. package/themes/uber-eats/src/components/CartContent/styles.tsx +19 -19
  1241. package/themes/uber-eats/src/components/Checkout/index.tsx +709 -709
  1242. package/themes/uber-eats/src/components/Checkout/styles.tsx +72 -72
  1243. package/themes/uber-eats/src/components/CouponControl/index.tsx +120 -120
  1244. package/themes/uber-eats/src/components/CouponControl/styles.tsx +22 -22
  1245. package/themes/uber-eats/src/components/DriverTips/index.tsx +167 -167
  1246. package/themes/uber-eats/src/components/DriverTips/styles.tsx +47 -47
  1247. package/themes/uber-eats/src/components/FacebookLogin/index.tsx +124 -124
  1248. package/themes/uber-eats/src/components/FacebookLogin/styles.tsx +21 -21
  1249. package/themes/uber-eats/src/components/FloatingButton/index.tsx +74 -74
  1250. package/themes/uber-eats/src/components/FloatingButton/styles.tsx +31 -31
  1251. package/themes/uber-eats/src/components/GoogleMap/index.tsx +236 -236
  1252. package/themes/uber-eats/src/components/Help/index.tsx +54 -54
  1253. package/themes/uber-eats/src/components/Help/styles.tsx +11 -11
  1254. package/themes/uber-eats/src/components/HelpAccountAndPayment/index.tsx +67 -67
  1255. package/themes/uber-eats/src/components/HelpAccountAndPayment/styles.tsx +6 -6
  1256. package/themes/uber-eats/src/components/HelpGuide/index.tsx +66 -66
  1257. package/themes/uber-eats/src/components/HelpGuide/styles.tsx +6 -6
  1258. package/themes/uber-eats/src/components/HelpOrder/index.tsx +78 -78
  1259. package/themes/uber-eats/src/components/HelpOrder/styles.tsx +5 -5
  1260. package/themes/uber-eats/src/components/HighestRatedBusinesses/index.tsx +132 -132
  1261. package/themes/uber-eats/src/components/HighestRatedBusinesses/styles.tsx +6 -6
  1262. package/themes/uber-eats/src/components/Home/index.tsx +117 -117
  1263. package/themes/uber-eats/src/components/Home/styles.tsx +13 -13
  1264. package/themes/uber-eats/src/components/LanguageSelector/index.tsx +154 -154
  1265. package/themes/uber-eats/src/components/LanguageSelector/styles.tsx +18 -18
  1266. package/themes/uber-eats/src/components/LastOrders/index.tsx +104 -104
  1267. package/themes/uber-eats/src/components/LastOrders/styles.tsx +17 -17
  1268. package/themes/uber-eats/src/components/LoginForm/index.tsx +440 -440
  1269. package/themes/uber-eats/src/components/LoginForm/styles.tsx +65 -65
  1270. package/themes/uber-eats/src/components/LogoutButton/index.tsx +67 -67
  1271. package/themes/uber-eats/src/components/Messages/index.tsx +422 -422
  1272. package/themes/uber-eats/src/components/Messages/styles.tsx +23 -23
  1273. package/themes/uber-eats/src/components/MomentOption/index.tsx +211 -211
  1274. package/themes/uber-eats/src/components/MomentOption/styles.tsx +66 -66
  1275. package/themes/uber-eats/src/components/NavBar/index.tsx +122 -122
  1276. package/themes/uber-eats/src/components/NotFoundSource/index.tsx +55 -55
  1277. package/themes/uber-eats/src/components/NotFoundSource/styles.tsx +16 -16
  1278. package/themes/uber-eats/src/components/OrderDetails/index.tsx +513 -513
  1279. package/themes/uber-eats/src/components/OrderDetails/styles.tsx +140 -140
  1280. package/themes/uber-eats/src/components/OrderSummary/index.tsx +266 -266
  1281. package/themes/uber-eats/src/components/OrderSummary/styles.tsx +36 -36
  1282. package/themes/uber-eats/src/components/OrderTypeSelector/index.tsx +130 -130
  1283. package/themes/uber-eats/src/components/OrderTypeSelector/styles.tsx +6 -6
  1284. package/themes/uber-eats/src/components/OrdersOption/index.tsx +225 -225
  1285. package/themes/uber-eats/src/components/OrdersOption/styles.tsx +3 -3
  1286. package/themes/uber-eats/src/components/PaymentOptionCash/index.tsx +102 -102
  1287. package/themes/uber-eats/src/components/PaymentOptionCash/styles.tsx +18 -18
  1288. package/themes/uber-eats/src/components/PaymentOptionStripe/index.tsx +232 -232
  1289. package/themes/uber-eats/src/components/PaymentOptionStripe/styles.tsx +62 -62
  1290. package/themes/uber-eats/src/components/PaymentOptions/index.tsx +547 -547
  1291. package/themes/uber-eats/src/components/PaymentOptions/styles.tsx +41 -41
  1292. package/themes/uber-eats/src/components/PhoneInputNumber/index.tsx +108 -108
  1293. package/themes/uber-eats/src/components/PhoneInputNumber/styles.tsx +4 -4
  1294. package/themes/uber-eats/src/components/PreviousOrders/index.tsx +149 -149
  1295. package/themes/uber-eats/src/components/PreviousOrders/styles.tsx +34 -34
  1296. package/themes/uber-eats/src/components/ProductForm/index.tsx +480 -480
  1297. package/themes/uber-eats/src/components/ProductForm/styles.tsx +91 -91
  1298. package/themes/uber-eats/src/components/ProductIngredient/index.tsx +44 -44
  1299. package/themes/uber-eats/src/components/ProductIngredient/styles.tsx +7 -7
  1300. package/themes/uber-eats/src/components/ProductItemAccordion/index.tsx +252 -252
  1301. package/themes/uber-eats/src/components/ProductItemAccordion/styles.tsx +61 -61
  1302. package/themes/uber-eats/src/components/ProductOption/index.tsx +109 -109
  1303. package/themes/uber-eats/src/components/ProductOption/styles.tsx +27 -27
  1304. package/themes/uber-eats/src/components/ProductOptionSubOption/index.tsx +159 -159
  1305. package/themes/uber-eats/src/components/ProductOptionSubOption/styles.tsx +32 -32
  1306. package/themes/uber-eats/src/components/SearchBar/index.tsx +106 -106
  1307. package/themes/uber-eats/src/components/SignupForm/index.tsx +574 -574
  1308. package/themes/uber-eats/src/components/SignupForm/styles.tsx +29 -29
  1309. package/themes/uber-eats/src/components/SingleProductCard/index.tsx +88 -88
  1310. package/themes/uber-eats/src/components/SingleProductCard/styles.tsx +26 -26
  1311. package/themes/uber-eats/src/components/StripeCardsList/index.tsx +144 -144
  1312. package/themes/uber-eats/src/components/StripeElementsForm/index.tsx +188 -188
  1313. package/themes/uber-eats/src/components/StripeElementsForm/naked.tsx +90 -90
  1314. package/themes/uber-eats/src/components/StripeElementsForm/styles.tsx +9 -9
  1315. package/themes/uber-eats/src/components/TaxInformation/index.tsx +51 -51
  1316. package/themes/uber-eats/src/components/TaxInformation/styles.tsx +9 -9
  1317. package/themes/uber-eats/src/components/UpsellingProducts/index.tsx +189 -189
  1318. package/themes/uber-eats/src/components/UpsellingProducts/styles.tsx +37 -37
  1319. package/themes/uber-eats/src/components/UserDetails/index.tsx +125 -125
  1320. package/themes/uber-eats/src/components/UserDetails/styles.tsx +21 -21
  1321. package/themes/uber-eats/src/components/UserFormDetails/index.tsx +304 -304
  1322. package/themes/uber-eats/src/components/UserFormDetails/styles.tsx +38 -38
  1323. package/themes/uber-eats/src/components/UserProfileForm/index.tsx +106 -106
  1324. package/themes/uber-eats/src/components/UserProfileForm/styles.tsx +37 -37
  1325. package/themes/uber-eats/src/components/VerifyPhone/index.tsx +187 -187
  1326. package/themes/uber-eats/src/components/VerifyPhone/styles.tsx +43 -43
  1327. package/themes/uber-eats/src/components/shared/OAlert.tsx +53 -53
  1328. package/themes/uber-eats/src/components/shared/OBottomPopup.tsx +118 -118
  1329. package/themes/uber-eats/src/components/shared/OButton.tsx +133 -133
  1330. package/themes/uber-eats/src/components/shared/ODropDown.tsx +168 -168
  1331. package/themes/uber-eats/src/components/shared/OIcon.tsx +53 -53
  1332. package/themes/uber-eats/src/components/shared/OIconButton.tsx +134 -134
  1333. package/themes/uber-eats/src/components/shared/OInput.tsx +122 -122
  1334. package/themes/uber-eats/src/components/shared/OModal.tsx +151 -151
  1335. package/themes/uber-eats/src/components/shared/OText.tsx +52 -52
  1336. package/themes/uber-eats/src/components/shared/OToast.tsx +94 -94
  1337. package/themes/uber-eats/src/components/shared/index.tsx +22 -22
  1338. package/themes/uber-eats/src/config/constants.tsx +10 -10
  1339. package/themes/uber-eats/src/layouts/Container.tsx +26 -26
  1340. package/themes/uber-eats/src/layouts/SafeAreaContainer.tsx +6 -6
  1341. package/themes/uber-eats/src/providers/AlertProvider.tsx +43 -43
  1342. package/themes/uber-eats/src/providers/StoreUtil.tsx +58 -58
  1343. package/themes/uber-eats/src/types/@stripe/stripe-react-native/index.d.ts +1 -1
  1344. package/themes/uber-eats/src/types/index.tsx +451 -451
  1345. package/themes/uber-eats/src/types/ordering-api-sdk/index.d.ts +1 -1
  1346. package/themes/uber-eats/src/types/ordering-components/index.d.ts +1 -1
  1347. package/themes/uber-eats/src/types/react-hook-form/index.d.ts +1 -1
  1348. package/themes/uber-eats/src/types/react-native-credit-card-input/index.d.ts +1 -1
  1349. package/themes/uber-eats/src/types/react-native-fbsdk/index.d.ts +1 -1
  1350. package/themes/uber-eats/src/types/react-native-gesture-handler/index.d.ts +1 -1
  1351. package/themes/uber-eats/src/types/react-native-gifted-chat/index.d.ts +1 -1
  1352. package/themes/uber-eats/src/types/react-native-image-picker/index.d.ts +1 -1
  1353. package/themes/uber-eats/src/types/react-native-restart/index.d.ts +1 -1
  1354. package/themes/uber-eats/src/types/styled-components/index.d.ts +1 -1
  1355. package/themes/uber-eats/src/utils/index.tsx +191 -191
@@ -1,1277 +1,1277 @@
1
- import React, { useEffect, useState, useRef } from 'react';
2
- import { View, Pressable, StyleSheet, ScrollView, RefreshControl, Platform, TouchableOpacity } from 'react-native';
3
- import { useLanguage, useUtils, OrderListGroups, useConfig } from 'ordering-components/native';
4
- import SelectDropdown from 'react-native-select-dropdown'
5
- import { Placeholder, PlaceholderLine, Fade } from 'rn-placeholder';
6
- import FeatherIcon from 'react-native-vector-icons/Feather';
7
- import FontistoIcon from 'react-native-vector-icons/Fontisto'
8
- import AntDesignIcon from 'react-native-vector-icons/AntDesign'
9
- import RNRestart from 'react-native-restart'
10
-
11
- import { useTheme } from 'styled-components/native';
12
- import { DeviceOrientationMethods } from '../../../../../src/hooks/DeviceOrientation'
13
- import { NotificationSetting } from '../../../../../src/components/NotificationSetting'
14
- import { NewOrderNotification } from '../NewOrderNotification';
15
- import { WebsocketStatus } from '../WebsocketStatus'
16
- import { _retrieveStoreData, _setStoreData, _removeStoreData } from '../../providers/StoreUtil'
17
- import { useOfflineActions } from '../../../../../src/context/OfflineActions'
18
-
19
- import { OText, OButton, OModal, OInput, OIcon } from '../shared';
20
- import { NotFoundSource } from '../NotFoundSource';
21
- import {
22
- FiltersTab,
23
- TabsContainer,
24
- Tag,
25
- IconWrapper,
26
- ModalContainer,
27
- ModalTitle,
28
- TabPressable,
29
- OrderStatus,
30
- SlaOption,
31
- SearchModalContent,
32
- SlaSettingModalContent,
33
- DeliveryStatusWrapper,
34
- VerticalLine,
35
- StatusItems,
36
- ItemHeader,
37
- ItemStatus,
38
- ItemContent,
39
- TimerInputWrapper,
40
- OverLine,
41
- InputContainer,
42
- FilterAlert
43
- } from './styles';
44
- import { PreviousOrders } from '../PreviousOrders';
45
- import { OrdersOptionParams } from '../../types';
46
-
47
- import { OrdersOptionCity } from '../OrdersOptionCity';
48
- import { OrdersOptionBusiness } from '../OrdersOptionBusiness';
49
- import { OrdersOptionDelivery } from '../OrdersOptionDelivery';
50
- import { OrdersOptionPaymethod } from '../OrdersOptionPaymethod';
51
- import { OrdersOptionDriver } from '../OrdersOptionDriver';
52
- import { OrdersOptionDate } from '../OrdersOptionDate';
53
- const { useDeviceOrientation, PORTRAIT } = DeviceOrientationMethods
54
-
55
- const OrdersOptionUI = (props: OrdersOptionParams) => {
56
- const {
57
- navigation,
58
- setCurrentFilters,
59
- tabs,
60
- combineTabs,
61
- setCombineTabsState,
62
- isNetConnected,
63
- currentTabSelected,
64
- setCurrentTabSelected,
65
- ordersGroup,
66
- setOrdersGroup,
67
- orderStatus,
68
- ordersFormatted,
69
- loadOrders,
70
- loadMoreOrders,
71
- onNavigationRedirect,
72
- onFiltered,
73
- handleClickOrder,
74
- isBusinessApp,
75
- handleClickLogisticOrder,
76
- logisticOrders,
77
- loadLogisticOrders,
78
- isLogisticActivated,
79
- handleChangeOrderStatus,
80
- handleSendCustomerReview,
81
- ordersFiltered
82
- } = props;
83
-
84
- const defaultSearchList = {
85
- id: '',
86
- external_id: '',
87
- state: '',
88
- city: '',
89
- business: '',
90
- delivery_type: '',
91
- paymethod: '',
92
- driver: '',
93
- timeStatus: '',
94
- date: {
95
- from: '',
96
- to: '',
97
- type: ''
98
- }
99
- }
100
-
101
- const theme = useTheme();
102
- const [, t] = useLanguage();
103
- const [{ parseDate }] = useUtils()
104
- const [configState] = useConfig()
105
- const [offlineActionsState] = useOfflineActions()
106
-
107
- const [orientationState] = useDeviceOrientation();
108
- const [openSearchModal, setOpenSearchModal] = useState(false)
109
- const [openSLASettingModal, setOpenSLASettingModal] = useState(false)
110
- const [slaSettingTime, setSlaSettingTime] = useState(6000)
111
- const [currentDeliveryType, setCurrentDeliveryType] = useState('Delivery')
112
- const [search, setSearch] = useState(defaultSearchList)
113
- const hasSearchFilters = JSON.stringify(defaultSearchList) !== JSON.stringify(search)
114
-
115
- const deliveryStatus = [
116
- {
117
- key: t('OK', 'Ok'),
118
- des: t('DELIVERY_OK_STATUS_DESC', 'Get delivery time from the businesses.'),
119
- timmer: false,
120
- icon: theme.images.general?.clock1,
121
- backColor: '#00D27A'
122
- },
123
- {
124
- key: t('AT_RISK', 'At risk'),
125
- des: t('DELIVERY_ATRISK_STATUS_DESC', 'Is the time between delivery time of busines and the delayed time.'),
126
- timmer: false,
127
- icon: theme.images.general?.clockRisk,
128
- backColor: '#FFC700'
129
- },
130
- {
131
- key: t('DELAYED', 'Delayed'),
132
- des: t('DELIVERY_DELAYED_STATUS_DESC', 'If this time is exceeded, the order will be delayed.'),
133
- timmer: true,
134
- icon: theme.images.general?.clockDelayed,
135
- backColor: '#E63757'
136
- }
137
- ]
138
- const [selectedTabStatus, setSelectedTabStatus] = useState<any>(deliveryStatus)
139
- const [openedSelect, setOpenedSelect] = useState('')
140
- const [lastDateConnection, setLastDateConnection] = useState(null)
141
- const [internetLoading, setInternetLoading] = useState(!isNetConnected && isNetConnected !== null)
142
-
143
- const HEIGHT_SCREEN = orientationState?.dimensions?.height
144
- const IS_PORTRAIT = orientationState.orientation === PORTRAIT
145
- const showTagsList = !props.isAlsea && !props.isDriverApp && currentTabSelected !== 'logisticOrders'
146
-
147
- const preorderTypeList = [
148
- { key: null, name: t('SLA', 'SLA\'s') },
149
- { key: 'in_time', name: t('OK', 'Ok') },
150
- { key: 'at_risk', name: t('AT_RISK', 'At Risk') },
151
- { key: 'delayed', name: t('DELAYED', 'Delayed') }
152
- ]
153
-
154
- const defaultOrderTypes = [
155
- { key: 1, name: t('DELIVERY', 'Delivery') },
156
- { key: 2, name: t('PICKUP', 'Pickup') },
157
- { key: 3, name: t('EAT_IN', 'Eat in') },
158
- { key: 4, name: t('CURBSIDE', 'Curbside') },
159
- { key: 5, name: t('DRIVE_THRU', 'Drive thru') }
160
- ]
161
-
162
- const styles = StyleSheet.create({
163
- header: {
164
- marginBottom: isBusinessApp ? 10 : 20,
165
- flexDirection: 'row',
166
- justifyContent: 'space-between',
167
- alignItems: 'center'
168
- },
169
- title: {
170
- fontFamily: 'Poppins',
171
- fontStyle: 'normal',
172
- fontWeight: '600',
173
- fontSize: 26,
174
- color: theme.colors.textGray,
175
- },
176
- icons: {
177
- flexDirection: 'row',
178
- },
179
- tab: {
180
- fontFamily: 'Poppins',
181
- fontStyle: 'normal',
182
- fontSize: 14,
183
- paddingBottom: 10,
184
- marginBottom: -1,
185
- zIndex: 100,
186
- borderColor: theme.colors.textGray,
187
- textTransform: 'capitalize'
188
- },
189
- icon: {
190
- paddingBottom: 10,
191
- zIndex: 100,
192
- marginBottom: 5,
193
- },
194
- tagsContainer: {
195
- marginBottom: 20,
196
- },
197
- tag: {
198
- fontFamily: 'Poppins',
199
- fontStyle: 'normal',
200
- fontWeight: 'normal',
201
- fontSize: 14,
202
- },
203
- pressable: {
204
- alignItems: 'center',
205
- },
206
- loadButton: {
207
- borderRadius: 7.6,
208
- height: 44,
209
- marginRight: 10,
210
- marginBottom: 10,
211
- marginTop: 5,
212
- },
213
- loadButtonText: {
214
- color: theme.colors.inputTextColor,
215
- fontFamily: 'Poppins',
216
- fontStyle: 'normal',
217
- fontWeight: 'normal',
218
- fontSize: 18,
219
- },
220
- inputStyle: {
221
- width: '100%',
222
- borderWidth: 1,
223
- borderColor: '#DEE2E6',
224
- borderRadius: 7.6,
225
- marginBottom: 24
226
- },
227
- SLAwrapper: {
228
- flexDirection: 'row',
229
- marginBottom: 15
230
- },
231
- selectOption: {
232
- alignItems: 'center',
233
- justifyContent: 'space-between',
234
- minHeight: 40,
235
- width: '100%',
236
- paddingHorizontal: 15,
237
- backgroundColor: theme.colors.inputChat,
238
- borderRadius: 7.6,
239
- },
240
- buttonTextStyle: {
241
- textAlign: 'left',
242
- marginHorizontal: 0,
243
- fontSize: 16,
244
- lineHeight: 24,
245
- color: '#748194'
246
- },
247
- dropdownStyle: {
248
- borderWidth: 1,
249
- borderRadius: 8,
250
- paddingTop: 5,
251
- backgroundColor: '#fff',
252
- borderColor: theme.colors.lightGray,
253
- overflow: 'hidden',
254
- minHeight: 155
255
- },
256
- btnBackArrow: {
257
- borderWidth: 0,
258
- width: 32,
259
- height: 32,
260
- tintColor: theme.colors.textGray,
261
- backgroundColor: theme.colors.clear,
262
- borderColor: theme.colors.clear,
263
- shadowColor: theme.colors.clear,
264
- paddingLeft: 0,
265
- paddingRight: 0,
266
- marginBottom: 30,
267
- marginTop: Platform.OS === 'ios' ? 60 : 30
268
- },
269
- rowStyle: {
270
- display: 'flex',
271
- borderBottomWidth: 0,
272
- height: 36,
273
- alignItems: 'center',
274
- paddingHorizontal: 10
275
- },
276
- acceptButtonStyle: {
277
- borderRadius: 7.6,
278
- width: 130,
279
- height: 42,
280
- },
281
- errorMessage: {
282
- marginBottom: 10,
283
- color: theme.colors.error,
284
- }
285
- });
286
-
287
- const scrollRef = useRef() as React.MutableRefObject<ScrollView>;
288
- const scrollListRef = useRef() as React.MutableRefObject<ScrollView>;
289
- const scrollRefTab = useRef() as React.MutableRefObject<ScrollView>;
290
-
291
- const [refreshing] = useState(false);
292
-
293
- const [tagsState, setTags] = useState<any>({ values: [] })
294
-
295
- const tagsList = ordersGroup[currentTabSelected]?.defaultFilter ?? []
296
- const currentOrdersGroup = ordersGroup[currentTabSelected]
297
- const ordersValidation = hasSearchFilters ? ordersFiltered : currentOrdersGroup
298
-
299
- const paginationValidation =
300
- !ordersValidation?.error?.length &&
301
- !ordersValidation?.loading &&
302
- ordersValidation?.pagination?.totalPages &&
303
- ordersValidation?.pagination?.currentPage < ordersValidation?.pagination?.totalPages &&
304
- ordersValidation?.orders?.length > 0
305
-
306
- const loadingValidation = (
307
- ordersValidation?.loading ||
308
- (ordersValidation?.pagination?.total === null && isNetConnected) ||
309
- logisticOrders?.loading
310
- ) && !ordersValidation?.error?.length
311
-
312
- const isEqual = (array1: any, array2: any) => {
313
- return array1?.every((item: any) => array2.includes(item)) && array2?.every((item: any) => array1.includes(item))
314
- }
315
-
316
- const handleLoadMore = () => {
317
- loadMoreOrders && loadMoreOrders({ allStatusses: hasSearchFilters });
318
- };
319
-
320
- const getOrderStatus = (key: number) => {
321
- return orderStatus.find((status: any) => status?.key === key)?.text;
322
- };
323
-
324
- const applyFilters = () => {
325
- const dateRange = calculateDate(search.date.type, search.date.from, search.date.to)
326
- onFiltered && onFiltered({ ...search, date: { ...dateRange } })
327
- setOpenSearchModal(false)
328
- }
329
-
330
- const handleTagSelected = (tag: any) => {
331
- const tags = tagsState?.values.includes(tag)
332
- ? tagsState?.values.filter((t: any) => t !== tag)
333
- : [...tagsState?.values, tag]
334
-
335
- setCurrentFilters(!tags.length ? tagsList : tags)
336
- setTags({ values: isEqual(tags, tagsList) ? [] : tags })
337
-
338
- setOrdersGroup({
339
- ...ordersGroup,
340
- [currentTabSelected]: {
341
- ...ordersGroup[currentTabSelected],
342
- currentFilter: !tags.length ? tagsList : tags
343
- }
344
- })
345
- }
346
-
347
- const handleAllSelect = () => {
348
- setCurrentFilters(tagsList)
349
- setTags({ values: [] })
350
- setOrdersGroup({
351
- ...ordersGroup,
352
- [currentTabSelected]: {
353
- ...ordersGroup[currentTabSelected],
354
- currentFilter: tagsList
355
- }
356
- })
357
- }
358
-
359
- const calculateDate = (type: any, from: any, to: any) => {
360
- switch (type) {
361
- case 'today':
362
- const date = parseDate(new Date(), { outputFormat: 'MM/DD/YYYY' })
363
- return { from: `${date} 00:00:00`, to: `${date} 23:59:59` }
364
- case 'yesterday':
365
- const yesterday = new Date()
366
- yesterday.setDate(yesterday.getDate() - 1)
367
- const start1 = parseDate(yesterday, { outputFormat: 'MM/DD/YYYY' })
368
- const end1 = parseDate(new Date(), { outputFormat: 'MM/DD/YYYY' })
369
- return { from: `${start1} 00:00:00`, to: `${end1} 23:59:59` }
370
- case 'last_7days':
371
- const last_7days = new Date()
372
- last_7days.setDate(last_7days.getDate() - 6)
373
- const start7 = parseDate(last_7days, { outputFormat: 'MM/DD/YYYY' })
374
- const end7 = parseDate(new Date(), { outputFormat: 'MM/DD/YYYY' })
375
- return { from: `${start7} 00:00:00`, to: `${end7} 23:59:59` }
376
- case 'last_30days':
377
- const last_30days = new Date()
378
- last_30days.setDate(last_30days.getDate() - 29)
379
- const start30 = parseDate(last_30days, { outputFormat: 'MM/DD/YYYY' })
380
- const end30 = parseDate(new Date(), { outputFormat: 'MM/DD/YYYY' })
381
- return { from: `${start30} 00:00:00`, to: `${end30} 23:59:59` }
382
- default:
383
- const start = from ? `${parseDate(from, { outputFormat: 'MM/DD/YYYY' })} 00:00:00` : ''
384
- const end = to ? `${parseDate(to, { outputFormat: 'MM/DD/YYYY' })} 23:59:59` : ''
385
- return { from: start, to: end }
386
- }
387
- }
388
-
389
- const onClickSetting = () => {
390
- setOpenSLASettingModal(true)
391
- }
392
-
393
- const handleClose = () => {
394
- setSearch(defaultSearchList)
395
- setOpenSearchModal(false)
396
- setOpenSLASettingModal(false)
397
- }
398
-
399
- const handleClearFilters = () => {
400
- setSearch(defaultSearchList)
401
- }
402
-
403
- useEffect(() => {
404
- scrollRefTab.current?.scrollTo();
405
- scrollListRef.current?.scrollTo();
406
- scrollRef.current?.scrollTo();
407
- setTags({ values: [] })
408
- }, [currentTabSelected])
409
-
410
- useEffect(() => {
411
- const unsubcribe = navigation.addListener('focus', () => {
412
- currentTabSelected === 'logisticOrders' && loadLogisticOrders && loadLogisticOrders()
413
- })
414
- return unsubcribe
415
- }, [navigation, loadLogisticOrders])
416
-
417
- useEffect(() => {
418
- const orderStatuses = ['active', 'pending', 'inProgress', 'completed', 'cancelled']
419
-
420
- const manageStoragedOrders = async () => {
421
- setInternetLoading(true)
422
- let lastConnection = await _retrieveStoreData('last_date_connection');
423
- let allowSaveChangesOffline = await _retrieveStoreData('allow_save_changes_offline');
424
- let _combineTabs = await _retrieveStoreData('combine_pending_and_progress_orders')
425
-
426
- if (allowSaveChangesOffline === false) {
427
- setInternetLoading(false)
428
- return
429
- }
430
-
431
- let ordersStoraged: any = {}
432
- for (const status of orderStatuses) {
433
- ordersStoraged[status] = offlineActionsState.orders?.[status] ?? await _retrieveStoreData(`${status}_orders`) ?? []
434
- }
435
-
436
- if (_combineTabs || !_combineTabs && combineTabs) {
437
- _combineTabs && setCombineTabsState(_combineTabs)
438
- _setStoreData('combine_pending_and_progress_orders', _combineTabs || combineTabs);
439
- }
440
-
441
- if (!lastConnection) {
442
- const formattedDate = parseDate(new Date())
443
- lastConnection = formattedDate
444
- _setStoreData('last_date_connection', formattedDate);
445
- }
446
-
447
- lastConnection && setLastDateConnection(lastConnection)
448
-
449
- if (Object.values(ordersStoraged).every((key: any) => Array.isArray(key) && !key?.length)) {
450
- for (const status of orderStatuses) {
451
- const currentOrders = offlineActionsState.orders?.[status] ?? ordersGroup[status]?.orders
452
- ordersStoraged[status] = currentOrders
453
- _setStoreData(`${status}_orders`, currentOrders);
454
- }
455
- }
456
-
457
- if (Object.values(ordersStoraged).some((key: any) => Array.isArray(key) && key?.length)) {
458
- let newOrderGroup = {
459
- ...ordersGroup
460
- }
461
- for (const status of orderStatuses) {
462
- newOrderGroup[status] = {
463
- ...ordersGroup[status],
464
- error: null,
465
- orders: ordersStoraged[status]
466
- }
467
- }
468
- setOrdersGroup(newOrderGroup)
469
- }
470
- setInternetLoading(false)
471
- };
472
-
473
- if (isNetConnected) {
474
- _removeStoreData('last_date_connection');
475
- _removeStoreData('combine_pending_and_progress_orders');
476
- _removeStoreData('allow_save_changes_offline');
477
- orderStatuses.forEach((key: any) => _setStoreData(`${key}_orders`, null))
478
- } else if (isNetConnected === false) {
479
- manageStoragedOrders()
480
- }
481
- }, [isNetConnected, JSON.stringify(offlineActionsState.orders)]);
482
-
483
- return (
484
- <>
485
- {hasSearchFilters && (
486
- <FilterAlert>
487
- <AntDesignIcon
488
- name='warning'
489
- color='#FFC700'
490
- size={12}
491
- onPress={() => setOpenSearchModal(true)}
492
- />
493
- <OText size={10} mLeft={5} mRight={5}>
494
- {t('WARNING_FILTER_APPLIED', 'Filters applied. You may miss new orders.')}
495
- </OText>
496
- <Pressable onPress={() => handleClearFilters()}>
497
- <OText textDecorationLine='underline' size={10} color='rgb(44, 123, 229)'>{t('CLEAR_FILTERS', 'Clear filters')}</OText>
498
- </Pressable>
499
- </FilterAlert>
500
- )}
501
- <View style={styles.header}>
502
- <OText style={styles.title}>{t('MY_ORDERS', 'My orders')}</OText>
503
- <IconWrapper>
504
- <View style={{ marginRight: 10 }}>
505
- <WebsocketStatus />
506
- </View>
507
- {isNetConnected && (
508
- <FeatherIcon
509
- name='refresh-cw'
510
- color={theme.colors.backgroundDark}
511
- size={24}
512
- onPress={() => currentTabSelected === 'logisticOrders' ? loadLogisticOrders && loadLogisticOrders() : loadOrders && loadOrders({ newFetch: true, }, { allStatusses: hasSearchFilters })}
513
- style={{
514
- marginRight: 20
515
- }}
516
- />
517
- )}
518
- {currentTabSelected !== 'logisticOrders' && (
519
- <View>
520
- {hasSearchFilters && (
521
- <AntDesignIcon
522
- name='exclamationcircle'
523
- color={theme.colors.primary}
524
- size={16}
525
- style={{
526
- position: 'absolute',
527
- zIndex: 1000,
528
- right: -8,
529
- top: -5
530
- }}
531
- onPress={() => setOpenSearchModal(true)}
532
- />
533
- )}
534
- <FontistoIcon
535
- name='filter'
536
- color={theme.colors.backgroundDark}
537
- size={24}
538
- onPress={() => setOpenSearchModal(true)}
539
- />
540
- </View>
541
- )}
542
- </IconWrapper>
543
- </View>
544
- {!hasSearchFilters && (
545
- <FiltersTab>
546
- <ScrollView
547
- ref={scrollRefTab}
548
- showsVerticalScrollIndicator={false}
549
- showsHorizontalScrollIndicator={false}
550
- horizontal
551
- nestedScrollEnabled={true}
552
- >
553
- <TabsContainer>
554
- {(isLogisticActivated && !isBusinessApp && !combineTabs) && (
555
- <Pressable
556
- style={styles.pressable}
557
- onPress={() => setCurrentTabSelected('logisticOrders')}>
558
- <OIcon
559
- src={theme.images?.general?.chronometer}
560
- borderBottomWidth={currentTabSelected === 'logisticOrders' ? 1 : 0}
561
- width={currentTabSelected === 'logisticOrders' ? 26 : 24}
562
- height={currentTabSelected === 'logisticOrders' ? 26 : 24}
563
- color={
564
- currentTabSelected === 'logisticOrders'
565
- ? theme.colors.textGray
566
- : theme.colors.unselectText
567
- }
568
- style={styles.icon}
569
- />
570
- </Pressable>
571
- )}
572
- {!hasSearchFilters && tabs.map((tab: any) => (
573
- <TabPressable
574
- key={tab.key}
575
- onPress={() => setCurrentTabSelected(tab?.title)}
576
- isSelected={tab.title === currentTabSelected ? 1 : 0}
577
- >
578
- <OText
579
- style={{
580
- ...styles.tab,
581
- fontSize: tab.title === currentTabSelected ? 16 : 14,
582
- borderBottomWidth: Platform.OS === 'ios' && tab.title === currentTabSelected ? 1 : 0,
583
- }}
584
- color={
585
- tab.title === currentTabSelected
586
- ? theme.colors.textGray
587
- : theme.colors.unselectText
588
- }
589
- weight={tab.title === currentTabSelected ? '600' : 'normal'}
590
- >
591
- {tab.text}
592
- </OText>
593
- </TabPressable>
594
- ))}
595
- </TabsContainer>
596
- </ScrollView>
597
- </FiltersTab>
598
- )}
599
- <View style={{ flex: 1, minHeight: HEIGHT_SCREEN - 450 }}>
600
- {showTagsList && !hasSearchFilters && (
601
- <View
602
- style={{
603
- display: 'flex',
604
- flexDirection: 'row',
605
- alignContent: 'center',
606
- alignItems: 'center',
607
- }}
608
- >
609
- {tagsList && tagsList?.length > 1 && (
610
- <View style={{ marginBottom: 20 }}>
611
- <Tag
612
- onPress={() => handleAllSelect()}
613
- isSelected={
614
- isEqual(currentOrdersGroup.currentFilter, tagsList)
615
- ? theme.colors.primary
616
- : theme.colors.tabBar
617
- }>
618
- <OText
619
- style={styles.tag}
620
- color={
621
- isEqual(currentOrdersGroup.currentFilter, tagsList)
622
- ? theme.colors.white
623
- : theme.colors.black
624
- }>
625
- {t('All', 'All')}
626
- </OText>
627
- </Tag>
628
- </View>
629
- )}
630
- <ScrollView
631
- ref={scrollRef}
632
- showsVerticalScrollIndicator={false}
633
- showsHorizontalScrollIndicator={false}
634
- contentContainerStyle={styles.tagsContainer}
635
- horizontal
636
- >
637
- {tagsList && tagsList.map((key: number) => (
638
- <Tag
639
- key={key}
640
- onPress={() => !currentOrdersGroup.loading && handleTagSelected(key)}
641
- isSelected={
642
- currentOrdersGroup.currentFilter.includes(key) &&
643
- !isEqual(currentOrdersGroup.currentFilter, tagsList)
644
- ? theme.colors.primary
645
- : theme.colors.tabBar
646
- }>
647
- <OText
648
- style={styles.tag}
649
- color={
650
- currentOrdersGroup.currentFilter.includes(key) &&
651
- !isEqual(currentOrdersGroup.currentFilter, tagsList)
652
- ? theme.colors.white
653
- : theme.colors.black
654
- }>
655
- {getOrderStatus(key)}
656
- {
657
- currentOrdersGroup.currentFilter.includes(key) &&
658
- !isEqual(currentOrdersGroup.currentFilter, tagsList) &&
659
- ' X'
660
- }
661
- </OText>
662
- </Tag>
663
- ))}
664
- </ScrollView>
665
- </View>
666
- )}
667
- {isNetConnected === false && lastDateConnection && (
668
- <View
669
- style={{
670
- borderRadius: 8,
671
- paddingVertical: 3,
672
- backgroundColor: theme.colors.danger500,
673
- marginBottom: 10,
674
- flexDirection: 'column'
675
- }}
676
- >
677
- <OText
678
- style={{ color: 'white', textAlign: 'center' }}
679
- >
680
- {`${t('LAST_UPDATE', 'Last Update')}: ${lastDateConnection}`}
681
- </OText>
682
- {Object.keys(offlineActionsState?.actions)?.length > 0 && (
683
- <OText
684
- style={{ color: 'white', textAlign: 'center' }}
685
- >
686
- {t('NUMBER_CHANGES_PENDING_SYNC', '_value_ changes pending sync').replace('_value_', Object.keys(offlineActionsState?.actions)?.length)}
687
- </OText>
688
- )}
689
- </View>
690
- )}
691
- <ScrollView
692
- ref={scrollListRef}
693
- showsVerticalScrollIndicator={false}
694
- style={{ flex: 1 }}
695
- nestedScrollEnabled={true}
696
- refreshControl={
697
- <RefreshControl
698
- refreshing={refreshing}
699
- onRefresh={() => { isNetConnected && (currentTabSelected === 'logisticOrders' ? loadLogisticOrders && loadLogisticOrders() : loadOrders && loadOrders({ newFetch: true }, { allStatusses: hasSearchFilters })) }}
700
- />
701
- }
702
- >
703
- {!ordersValidation?.error?.length &&
704
- (ordersValidation?.orders?.length > 0 || ordersFiltered?.orders?.length > 0) &&
705
- currentTabSelected !== 'logisticOrders' &&
706
- !ordersValidation?.loading &&
707
- (
708
- <PreviousOrders
709
- orders={hasSearchFilters ? ordersFiltered?.orders : ordersFormatted}
710
- navigation={props.navigation}
711
- onNavigationRedirect={onNavigationRedirect}
712
- getOrderStatus={getOrderStatus}
713
- handleClickOrder={handleClickOrder}
714
- slaSettingTime={slaSettingTime}
715
- currentTabSelected={currentTabSelected}
716
- appTitle={props.orderDetailsProps?.appTitle}
717
- actions={props.orderDetailsProps?.actions}
718
- orderTitle={props.orderDetailsProps?.orderTitle}
719
- handleChangeOrderStatus={handleChangeOrderStatus}
720
- handleSendCustomerReview={handleSendCustomerReview}
721
- isBusinessApp={isBusinessApp}
722
- />
723
- )}
724
- {!logisticOrders?.error?.length &&
725
- logisticOrders && logisticOrders?.orders?.length > 0 &&
726
- !logisticOrders?.loading &&
727
- currentTabSelected === 'logisticOrders' && (
728
- <PreviousOrders
729
- orders={logisticOrders?.orders?.filter((order: any) => !order?.expired).map((order: any) => ({ ...order, isLogistic: true }))}
730
- onNavigationRedirect={onNavigationRedirect}
731
- getOrderStatus={getOrderStatus}
732
- handleClickLogisticOrder={handleClickLogisticOrder}
733
- isBusinessApp={isBusinessApp}
734
- isLogisticOrder
735
- />
736
- )
737
- }
738
- {(
739
- loadingValidation || internetLoading
740
- ) && (
741
- <View style={{ marginTop: 10 }}>
742
- {[...Array(5)].map((_, i) => (
743
- <Placeholder key={i} Animation={Fade}>
744
- <View
745
- style={{
746
- width: '100%',
747
- flexDirection: 'row',
748
- marginBottom: 10,
749
- }}>
750
- <PlaceholderLine
751
- width={IS_PORTRAIT ? 22 : 11}
752
- height={74}
753
- style={{
754
- marginRight: 20,
755
- marginBottom: 20,
756
- borderRadius: 7.6,
757
- }}
758
- />
759
- <Placeholder>
760
- <PlaceholderLine width={30} style={{ marginTop: 5 }} />
761
- <PlaceholderLine width={50} />
762
- <PlaceholderLine width={20} />
763
- </Placeholder>
764
- </View>
765
- </Placeholder>
766
- ))}
767
- </View>
768
- )}
769
-
770
- {isNetConnected &&
771
- paginationValidation &&
772
- (
773
- <OButton
774
- onClick={handleLoadMore}
775
- text={t('LOAD_MORE_ORDERS', 'Load more orders')}
776
- imgRightSrc={null}
777
- textStyle={styles.loadButtonText}
778
- style={styles.loadButton}
779
- bgColor={theme.colors.primary}
780
- borderColor={theme.colors.primary}
781
- />
782
- )}
783
-
784
- {!internetLoading &&
785
- ((!ordersValidation?.loading &&
786
- (ordersValidation?.error?.length ||
787
- ordersValidation?.orders?.length === 0)) ||
788
- (currentTabSelected === 'logisticOrders' &&
789
- (logisticOrders && !logisticOrders?.loading && (logisticOrders?.error?.length > 0 || logisticOrders?.orders?.length === 0 || !logisticOrders?.orders?.some(order => !order?.expired))))
790
- ) &&
791
- (
792
- <NotFoundSource
793
- content={
794
- !isNetConnected ? t('NETWORK_ERROR', 'Network Error') :
795
- ((currentTabSelected !== 'logisticOrders' && !ordersValidation?.error?.length) ||
796
- (currentTabSelected === 'logisticOrders' && (!logisticOrders?.error?.length || (logisticOrders?.orders?.length > 0 && !logisticOrders?.orders?.some(order => !order?.expired)))))
797
- ? t('NO_RESULTS_FOUND', 'Sorry, no results found')
798
- : ordersValidation?.error?.[0]?.message ||
799
- ordersValidation?.error?.[0] ||
800
- (currentTabSelected === 'logisticOrders' && logisticOrders?.error) ||
801
- t('NETWORK_ERROR', 'Network Error')
802
- }
803
- image={theme.images.general.notFound}
804
- conditioned={false}
805
- btnTitle={!isNetConnected && t('REFRESH', 'Refresh')}
806
- onClickButton={!isNetConnected && (() => RNRestart.Restart())}
807
- />
808
- )}
809
- </ScrollView>
810
- </View>
811
-
812
- <NewOrderNotification isBusinessApp={isBusinessApp} />
813
-
814
- {(openSearchModal || openSLASettingModal) && (
815
- <OModal open={openSearchModal || openSLASettingModal} entireModal customClose>
816
- <ModalContainer
817
- nestedScrollEnabled={true}
818
- >
819
- <TouchableOpacity onPress={() => handleClose()} style={styles.btnBackArrow}>
820
- <OIcon src={theme.images.general.arrow_left} color={theme.colors.textGray} />
821
- </TouchableOpacity>
822
- {openSearchModal && (
823
- <SearchModalContent>
824
- <ModalTitle>{t('SEARCH_ORDERS', 'Search orders')}</ModalTitle>
825
- {configState?.configs?.order_deadlines_enabled?.value === '1' && (
826
- <InputContainer style={{ marginBottom: 24 }}>
827
- <SelectDropdown
828
- defaultButtonText={search?.timeStatus
829
- ? preorderTypeList.find(type => type.key === search?.timeStatus)?.name
830
- : t('SLA', 'SLA\'s')}
831
- data={preorderTypeList}
832
- onSelect={(selectedItem, index) => {
833
- setSearch({ ...search, timeStatus: selectedItem?.key })
834
- }}
835
- buttonTextAfterSelection={(selectedItem, index) => {
836
- return selectedItem.name
837
- }}
838
- rowTextForSelection={(item, index) => {
839
- return item.key
840
- }}
841
- buttonStyle={styles.selectOption}
842
- buttonTextStyle={styles.buttonTextStyle}
843
- renderDropdownIcon={isOpened => {
844
- return <FeatherIcon name={isOpened ? 'chevron-up' : 'chevron-down'} color={'#444'} size={18} />;
845
- }}
846
- dropdownStyle={styles.dropdownStyle}
847
- dropdownOverlayColor='transparent'
848
- rowStyle={styles.rowStyle}
849
- renderCustomizedRowChild={(item, index) => {
850
- return (
851
- <SlaOption>
852
- {index !== 0 && <OrderStatus timeState={item?.key} />}
853
- <View><OText size={14} color={'#748194'} >{item?.name}</OText></View>
854
- </SlaOption>
855
- );
856
- }}
857
- />
858
- </InputContainer>
859
- )}
860
- <InputContainer>
861
- <OInput
862
- value={search.id}
863
- onChange={(value: any) => setSearch({ ...search, id: value })}
864
- style={styles.inputStyle}
865
- placeholder={t('ORDER_NUMBER', 'Order number')}
866
- autoCorrect={false}
867
- />
868
- <AntDesignIcon
869
- name='close'
870
- size={20}
871
- style={{ position: 'absolute', right: 12, top: 13 }}
872
- onPress={() => setSearch({ ...search, id: '' })}
873
- />
874
- </InputContainer>
875
- <InputContainer>
876
- <OInput
877
- value={search.external_id}
878
- onChange={(value: any) => setSearch({ ...search, external_id: value })}
879
- style={styles.inputStyle}
880
- placeholder={t('EXTERNAL_ID', 'External id')}
881
- autoCorrect={false}
882
- />
883
- <AntDesignIcon
884
- name='close'
885
- size={20}
886
- style={{ position: 'absolute', right: 12, top: 13 }}
887
- onPress={() => setSearch({ ...search, external_id: '' })}
888
- />
889
- </InputContainer>
890
- <OrdersOptionDate
891
- {...props}
892
- search={search}
893
- onSearch={setSearch}
894
- setOpenedSelect={setOpenedSelect}
895
- openedSelect={openedSelect}
896
- />
897
- <OrdersOptionCity
898
- {...props}
899
- search={search}
900
- onSearch={setSearch}
901
- setOpenedSelect={setOpenedSelect}
902
- openedSelect={openedSelect}
903
- />
904
- {isBusinessApp && (
905
- <>
906
- <OrdersOptionBusiness
907
- {...props}
908
- search={search}
909
- onSearch={setSearch}
910
- setOpenedSelect={setOpenedSelect}
911
- openedSelect={openedSelect}
912
- />
913
- <OrdersOptionDelivery
914
- {...props}
915
- search={search}
916
- onSearch={setSearch}
917
- setOpenedSelect={setOpenedSelect}
918
- openedSelect={openedSelect}
919
- />
920
- <OrdersOptionDriver
921
- {...props}
922
- search={search}
923
- onSearch={setSearch}
924
- setOpenedSelect={setOpenedSelect}
925
- openedSelect={openedSelect}
926
- />
927
- <OrdersOptionPaymethod
928
- {...props}
929
- search={search}
930
- onSearch={setSearch}
931
- setOpenedSelect={setOpenedSelect}
932
- openedSelect={openedSelect}
933
- />
934
- </>
935
- )}
936
- <OButton
937
- text={t('SEARCH', 'Search')}
938
- textStyle={{ color: theme.colors.white }}
939
- imgRightSrc={null}
940
- style={{
941
- borderRadius: 7.6,
942
- marginBottom: 10,
943
- marginTop: 60,
944
- zIndex: 12
945
- }}
946
- onClick={applyFilters}
947
- />
948
- <OButton
949
- text={t('CLEAR_SEARCh', 'Clear search')}
950
- imgRightSrc={null}
951
- bgColor='#fff'
952
- style={{
953
- borderRadius: 7.6,
954
- marginBottom: 0,
955
- marginTop: 0,
956
- zIndex: 12
957
- }}
958
- onClick={handleClearFilters}
959
- />
960
- </SearchModalContent>
961
- )}
962
- {openSLASettingModal && (
963
- <SlaSettingModalContent>
964
- <ModalTitle>{t('SLA_SETTINGS', 'SLA’s Settings')}</ModalTitle>
965
- <FiltersTab>
966
- <ScrollView
967
- ref={scrollRefTab}
968
- showsVerticalScrollIndicator={false}
969
- showsHorizontalScrollIndicator={false}
970
- horizontal
971
- nestedScrollEnabled={true}
972
- >
973
- <TabsContainer>
974
- {defaultOrderTypes && defaultOrderTypes.map(tab => (
975
- <TabPressable
976
- key={tab.key}
977
- onPress={() => setCurrentDeliveryType(tab?.name)}
978
- isSelected={tab.name.toUpperCase() === currentDeliveryType.toUpperCase() ? 1 : 0}
979
- >
980
- <OText
981
- style={{
982
- ...styles.tab,
983
- fontSize: tab.name.toUpperCase() === currentDeliveryType.toUpperCase() ? 14 : 12,
984
- borderBottomWidth: Platform.OS === 'ios' && tab.name.toUpperCase() === currentDeliveryType.toUpperCase() ? 1 : 0,
985
- }}
986
- color={
987
- tab.name.toUpperCase() === currentDeliveryType.toUpperCase()
988
- ? theme.colors.textGray
989
- : theme.colors.unselectText
990
- }
991
- weight={tab.name.toUpperCase() === currentDeliveryType ? '600' : 'normal'}
992
- >
993
- {tab.name}
994
- </OText>
995
- </TabPressable>
996
- ))}
997
- </TabsContainer>
998
- </ScrollView>
999
- </FiltersTab>
1000
- <DeliveryStatusWrapper>
1001
- {selectedTabStatus && selectedTabStatus.length > 0 && selectedTabStatus.map((item: any, i: number) => (
1002
- <StatusBlock
1003
- key={i}
1004
- item={item}
1005
- last={i + 1 === selectedTabStatus.length}
1006
- />
1007
- ))}
1008
- <VerticalLine />
1009
- </DeliveryStatusWrapper>
1010
- </SlaSettingModalContent>
1011
- )}
1012
- </ModalContainer>
1013
- </OModal>
1014
- )}
1015
- </>
1016
- );
1017
- };
1018
-
1019
- export const StatusBlock = (props: any) => {
1020
- const { item, last } = props
1021
- const [showTime, setShowTime] = useState(false)
1022
-
1023
- useEffect(() => {
1024
- if (last) {
1025
- setShowTime(true)
1026
- }
1027
- }, [last])
1028
-
1029
- return (
1030
- <StatusItems>
1031
- <Pressable style={{ marginBottom: 10 }}>
1032
- <ItemHeader>
1033
- <IconWrapper>
1034
- <OIcon
1035
- src={item?.icon}
1036
- width={16}
1037
- height={16}
1038
- color={item?.backColor}
1039
- />
1040
- </IconWrapper>
1041
- <ItemStatus backColor={item?.backColor} />
1042
- <OText>{item?.key}</OText>
1043
- </ItemHeader>
1044
- </Pressable>
1045
- <ItemContent>
1046
- <OText>{item?.des}</OText>
1047
- </ItemContent>
1048
- {showTime && (
1049
- <Timer />
1050
- )}
1051
- {last && (
1052
- <OverLine />
1053
- )}
1054
- </StatusItems>
1055
- )
1056
- }
1057
-
1058
- export const Timer = () => {
1059
- const [, t] = useLanguage()
1060
- const theme = useTheme()
1061
- const [{ configs }] = useConfig();
1062
-
1063
- const styles = StyleSheet.create({
1064
- settingTime: {
1065
- fontSize: 14,
1066
- borderWidth: 1,
1067
- borderRadius: 7.6,
1068
- margin: 0,
1069
- marginRight: 10,
1070
- paddingHorizontal: 10,
1071
- paddingTop: 5,
1072
- borderColor: theme.colors.disabled
1073
- }
1074
- })
1075
-
1076
- return (
1077
- <TimerInputWrapper>
1078
- <OText style={styles.settingTime} color={theme.colors.disabled}>{configs?.order_deadlines_delayed_time?.value}</OText>
1079
- <OText>{t('TIME_MIN', 'min')}</OText>
1080
- </TimerInputWrapper>
1081
- )
1082
- }
1083
-
1084
- export const OrdersOption = (props: OrdersOptionParams) => {
1085
- const [, t] = useLanguage();
1086
- const [configState] = useConfig()
1087
- const [, offlineMethods] = useOfflineActions()
1088
-
1089
- const [checkNotificationStatus, setCheckNotificationStatus] = useState({ open: false, checked: false })
1090
- const [combineTabs, setCombineTabs] = useState(null)
1091
-
1092
- useEffect(() => {
1093
- const getCombineTabsStoraged = async () => {
1094
- try {
1095
- const storagedValue = await _retrieveStoreData('combine_pending_and_progress_orders');
1096
- const saveChangesOffline = await _retrieveStoreData('allow_save_changes_offline');
1097
-
1098
- const _combineTabs = typeof configState?.configs?.combine_pending_and_progress_orders === 'object'
1099
- ? configState?.configs?.combine_pending_and_progress_orders?.value === '1'
1100
- : storagedValue
1101
-
1102
- const canSaveChangesOffline = typeof configState?.configs?.allow_save_changes_offline === 'object'
1103
- ? (configState?.configs?.allow_save_changes_offline?.value ?? '')?.toString() === '1'
1104
- : saveChangesOffline
1105
-
1106
- offlineMethods.setState((state: any) => ({
1107
- ...state,
1108
- isCombinedTabs: _combineTabs,
1109
- canSaveChangesOffline
1110
- }))
1111
- setCombineTabs(_combineTabs)
1112
- return _combineTabs;
1113
- } catch {
1114
- return null
1115
- }
1116
- }
1117
- getCombineTabsStoraged()
1118
- }, [])
1119
-
1120
- const ordersProps = {
1121
- ...props,
1122
- UIComponent: OrdersOptionUI,
1123
- asDashboard: true,
1124
- combineTabs,
1125
- isIos: Platform.OS === 'ios',
1126
- orderStatus: [
1127
- { key: 0, text: t('PENDING', 'Pending') },
1128
- { key: 1, text: t('COMPLETED', 'Completed') },
1129
- { key: 2, text: t('REJECTED', 'Rejected') },
1130
- { key: 3, text: t('DRIVER_IN_BUSINESS', 'Driver in business') },
1131
- { key: 4, text: t('READY_FOR_PICKUP', 'Ready for pickup') },
1132
- { key: 5, text: t('REJECTED_BY_BUSINESS', 'Rejected by business') },
1133
- { key: 6, text: t('REJECTED_BY_DRIVER', 'Rejected by Driver') },
1134
- { key: 7, text: t('ACCEPTED_BY_BUSINESS', 'Accepted by business') },
1135
- { key: 8, text: t('ACCEPTED_BY_DRIVER', 'Accepted by driver') },
1136
- {
1137
- key: 9,
1138
- text: t('PICK_UP_COMPLETED_BY_DRIVER', 'Pick up completed by driver'),
1139
- },
1140
- {
1141
- key: 10,
1142
- text: t('PICK_UP_FAILED_BY_DRIVER', 'Pick up Failed by driver'),
1143
- },
1144
- {
1145
- key: 11,
1146
- text: t('DELIVERY_COMPLETED_BY_DRIVER', 'Delivery completed by driver'),
1147
- },
1148
- {
1149
- key: 12,
1150
- text: t('DELIVERY_FAILED_BY_DRIVER', 'Delivery Failed by driver'),
1151
- },
1152
- { key: 13, text: t('PREORDER', 'Preorder') },
1153
- { key: 14, text: t('ORDER_NOT_READY', 'Order not ready') },
1154
- {
1155
- key: 15,
1156
- text: t(
1157
- 'ORDER_PICKEDUP_COMPLETED_BY_CUSTOMER',
1158
- 'Order picked up completed by customer',
1159
- ),
1160
- },
1161
- { key: 16, text: t('CANCELLED_BY_CUSTOMER', 'Cancelled by customer') },
1162
- {
1163
- key: 17,
1164
- text: t(
1165
- 'ORDER_NOT_PICKEDUP_BY_CUSTOMER',
1166
- 'Order not picked up by customer',
1167
- ),
1168
- },
1169
- {
1170
- key: 18,
1171
- text: t(
1172
- 'ORDER_DRIVER_ALMOST_ARRIVED_BUSINESS',
1173
- 'Driver almost arrived to business',
1174
- ),
1175
- },
1176
- {
1177
- key: 19,
1178
- text: t(
1179
- 'ORDER_DRIVER_ALMOST_ARRIVED_CUSTOMER',
1180
- 'Driver almost arrived to customer',
1181
- ),
1182
- },
1183
- {
1184
- key: 20,
1185
- text: t(
1186
- 'ORDER_CUSTOMER_ALMOST_ARRIVED_BUSINESS',
1187
- 'Customer almost arrived to business',
1188
- ),
1189
- },
1190
- {
1191
- key: 21,
1192
- text: t(
1193
- 'ORDER_CUSTOMER_ARRIVED_BUSINESS',
1194
- 'Customer arrived to business',
1195
- ),
1196
- },
1197
- {
1198
- key: 22,
1199
- text: t('ORDER_LOOKING_FOR_DRIVER', 'Looking for driver')
1200
- },
1201
- {
1202
- key: 23,
1203
- text: t('ORDER_DRIVER_ON_WAY', 'Driver on way')
1204
- },
1205
- {
1206
- key: 24,
1207
- text: t('ORDER_DRIVER_WAITING_FOR_ORDER', 'Driver waiting for order')
1208
- },
1209
- {
1210
- key: 25,
1211
- text: t('ORDER_ACCEPTED_BY_DRIVER_COMPANY', 'Accepted by driver company')
1212
- },
1213
- {
1214
- key: 26,
1215
- text: t('ORDER_DRIVER_ARRIVED_CUSTOMER', 'Driver arrived to customer')
1216
- }
1217
- ],
1218
- tabs: combineTabs ? [
1219
- {
1220
- key: 0,
1221
- text: t('ACTIVE', 'Active'),
1222
- tags: props?.orderGroupStatusCustom?.active ?? [0, 3, 4, 7, 8, 9, 13, 14, 18, 19, 20, 21, 22, 23, 24, 25, 26],
1223
- title: 'active',
1224
- },
1225
- {
1226
- key: 1,
1227
- text: t('COMPLETED', 'Completed'),
1228
- tags: props?.orderGroupStatusCustom?.completed ?? [1, 11, 15],
1229
- title: 'completed',
1230
- },
1231
- {
1232
- key: 2,
1233
- text: t('CANCELLED', 'Cancelled'),
1234
- tags: props?.orderGroupStatusCustom?.cancelled ?? [2, 5, 6, 10, 12, 16, 17],
1235
- title: 'cancelled',
1236
- },
1237
- ] :
1238
- [
1239
- {
1240
- key: 0,
1241
- text: t('PENDING', 'Pending'),
1242
- tags: props?.orderGroupStatusCustom?.pending ?? [0, 13],
1243
- title: 'pending'
1244
- },
1245
- {
1246
- key: 1,
1247
- text: t('IN_PROGRESS', 'In Progress'),
1248
- tags: props?.orderGroupStatusCustom?.inProgress ?? [3, 4, 7, 8, 9, 14, 18, 19, 20, 21, 22, 23, 24, 25, 26],
1249
- title: 'inProgress',
1250
- },
1251
- {
1252
- key: 2,
1253
- text: t('COMPLETED', 'Completed'),
1254
- tags: props?.orderGroupStatusCustom?.completed ?? [1, 11, 15],
1255
- title: 'completed',
1256
- },
1257
- {
1258
- key: 3,
1259
- text: t('CANCELLED', 'Cancelled'),
1260
- tags: props?.orderGroupStatusCustom?.cancelled ?? [2, 5, 6, 10, 12, 16, 17],
1261
- title: 'cancelled',
1262
- },
1263
- ]
1264
- };
1265
-
1266
- return (<>
1267
- <OrderListGroups {...ordersProps} />
1268
- {props?.checkNotification && (
1269
- <NotificationSetting checkNotificationStatus={checkNotificationStatus}
1270
- setCheckNotificationStatus={setCheckNotificationStatus} />
1271
- )}
1272
- </>);
1273
- };
1274
-
1275
- OrdersOption.defaultProps = {
1276
- isNetConnected: true
1277
- }
1
+ import React, { useEffect, useState, useRef } from 'react';
2
+ import { View, Pressable, StyleSheet, ScrollView, RefreshControl, Platform, TouchableOpacity } from 'react-native';
3
+ import { useLanguage, useUtils, OrderListGroups, useConfig } from 'ordering-components/native';
4
+ import SelectDropdown from 'react-native-select-dropdown'
5
+ import { Placeholder, PlaceholderLine, Fade } from 'rn-placeholder';
6
+ import FeatherIcon from 'react-native-vector-icons/Feather';
7
+ import FontistoIcon from 'react-native-vector-icons/Fontisto'
8
+ import AntDesignIcon from 'react-native-vector-icons/AntDesign'
9
+ import RNRestart from 'react-native-restart'
10
+
11
+ import { useTheme } from 'styled-components/native';
12
+ import { DeviceOrientationMethods } from '../../../../../src/hooks/DeviceOrientation'
13
+ import { NotificationSetting } from '../../../../../src/components/NotificationSetting'
14
+ import { NewOrderNotification } from '../NewOrderNotification';
15
+ import { WebsocketStatus } from '../WebsocketStatus'
16
+ import { _retrieveStoreData, _setStoreData, _removeStoreData } from '../../providers/StoreUtil'
17
+ import { useOfflineActions } from '../../../../../src/context/OfflineActions'
18
+
19
+ import { OText, OButton, OModal, OInput, OIcon } from '../shared';
20
+ import { NotFoundSource } from '../NotFoundSource';
21
+ import {
22
+ FiltersTab,
23
+ TabsContainer,
24
+ Tag,
25
+ IconWrapper,
26
+ ModalContainer,
27
+ ModalTitle,
28
+ TabPressable,
29
+ OrderStatus,
30
+ SlaOption,
31
+ SearchModalContent,
32
+ SlaSettingModalContent,
33
+ DeliveryStatusWrapper,
34
+ VerticalLine,
35
+ StatusItems,
36
+ ItemHeader,
37
+ ItemStatus,
38
+ ItemContent,
39
+ TimerInputWrapper,
40
+ OverLine,
41
+ InputContainer,
42
+ FilterAlert
43
+ } from './styles';
44
+ import { PreviousOrders } from '../PreviousOrders';
45
+ import { OrdersOptionParams } from '../../types';
46
+
47
+ import { OrdersOptionCity } from '../OrdersOptionCity';
48
+ import { OrdersOptionBusiness } from '../OrdersOptionBusiness';
49
+ import { OrdersOptionDelivery } from '../OrdersOptionDelivery';
50
+ import { OrdersOptionPaymethod } from '../OrdersOptionPaymethod';
51
+ import { OrdersOptionDriver } from '../OrdersOptionDriver';
52
+ import { OrdersOptionDate } from '../OrdersOptionDate';
53
+ const { useDeviceOrientation, PORTRAIT } = DeviceOrientationMethods
54
+
55
+ const OrdersOptionUI = (props: OrdersOptionParams) => {
56
+ const {
57
+ navigation,
58
+ setCurrentFilters,
59
+ tabs,
60
+ combineTabs,
61
+ setCombineTabsState,
62
+ isNetConnected,
63
+ currentTabSelected,
64
+ setCurrentTabSelected,
65
+ ordersGroup,
66
+ setOrdersGroup,
67
+ orderStatus,
68
+ ordersFormatted,
69
+ loadOrders,
70
+ loadMoreOrders,
71
+ onNavigationRedirect,
72
+ onFiltered,
73
+ handleClickOrder,
74
+ isBusinessApp,
75
+ handleClickLogisticOrder,
76
+ logisticOrders,
77
+ loadLogisticOrders,
78
+ isLogisticActivated,
79
+ handleChangeOrderStatus,
80
+ handleSendCustomerReview,
81
+ ordersFiltered
82
+ } = props;
83
+
84
+ const defaultSearchList = {
85
+ id: '',
86
+ external_id: '',
87
+ state: '',
88
+ city: '',
89
+ business: '',
90
+ delivery_type: '',
91
+ paymethod: '',
92
+ driver: '',
93
+ timeStatus: '',
94
+ date: {
95
+ from: '',
96
+ to: '',
97
+ type: ''
98
+ }
99
+ }
100
+
101
+ const theme = useTheme();
102
+ const [, t] = useLanguage();
103
+ const [{ parseDate }] = useUtils()
104
+ const [configState] = useConfig()
105
+ const [offlineActionsState] = useOfflineActions()
106
+
107
+ const [orientationState] = useDeviceOrientation();
108
+ const [openSearchModal, setOpenSearchModal] = useState(false)
109
+ const [openSLASettingModal, setOpenSLASettingModal] = useState(false)
110
+ const [slaSettingTime, setSlaSettingTime] = useState(6000)
111
+ const [currentDeliveryType, setCurrentDeliveryType] = useState('Delivery')
112
+ const [search, setSearch] = useState(defaultSearchList)
113
+ const hasSearchFilters = JSON.stringify(defaultSearchList) !== JSON.stringify(search)
114
+
115
+ const deliveryStatus = [
116
+ {
117
+ key: t('OK', 'Ok'),
118
+ des: t('DELIVERY_OK_STATUS_DESC', 'Get delivery time from the businesses.'),
119
+ timmer: false,
120
+ icon: theme.images.general?.clock1,
121
+ backColor: '#00D27A'
122
+ },
123
+ {
124
+ key: t('AT_RISK', 'At risk'),
125
+ des: t('DELIVERY_ATRISK_STATUS_DESC', 'Is the time between delivery time of busines and the delayed time.'),
126
+ timmer: false,
127
+ icon: theme.images.general?.clockRisk,
128
+ backColor: '#FFC700'
129
+ },
130
+ {
131
+ key: t('DELAYED', 'Delayed'),
132
+ des: t('DELIVERY_DELAYED_STATUS_DESC', 'If this time is exceeded, the order will be delayed.'),
133
+ timmer: true,
134
+ icon: theme.images.general?.clockDelayed,
135
+ backColor: '#E63757'
136
+ }
137
+ ]
138
+ const [selectedTabStatus, setSelectedTabStatus] = useState<any>(deliveryStatus)
139
+ const [openedSelect, setOpenedSelect] = useState('')
140
+ const [lastDateConnection, setLastDateConnection] = useState(null)
141
+ const [internetLoading, setInternetLoading] = useState(!isNetConnected && isNetConnected !== null)
142
+
143
+ const HEIGHT_SCREEN = orientationState?.dimensions?.height
144
+ const IS_PORTRAIT = orientationState.orientation === PORTRAIT
145
+ const showTagsList = !props.isAlsea && !props.isDriverApp && currentTabSelected !== 'logisticOrders'
146
+
147
+ const preorderTypeList = [
148
+ { key: null, name: t('SLA', 'SLA\'s') },
149
+ { key: 'in_time', name: t('OK', 'Ok') },
150
+ { key: 'at_risk', name: t('AT_RISK', 'At Risk') },
151
+ { key: 'delayed', name: t('DELAYED', 'Delayed') }
152
+ ]
153
+
154
+ const defaultOrderTypes = [
155
+ { key: 1, name: t('DELIVERY', 'Delivery') },
156
+ { key: 2, name: t('PICKUP', 'Pickup') },
157
+ { key: 3, name: t('EAT_IN', 'Eat in') },
158
+ { key: 4, name: t('CURBSIDE', 'Curbside') },
159
+ { key: 5, name: t('DRIVE_THRU', 'Drive thru') }
160
+ ]
161
+
162
+ const styles = StyleSheet.create({
163
+ header: {
164
+ marginBottom: isBusinessApp ? 10 : 20,
165
+ flexDirection: 'row',
166
+ justifyContent: 'space-between',
167
+ alignItems: 'center'
168
+ },
169
+ title: {
170
+ fontFamily: 'Poppins',
171
+ fontStyle: 'normal',
172
+ fontWeight: '600',
173
+ fontSize: 26,
174
+ color: theme.colors.textGray,
175
+ },
176
+ icons: {
177
+ flexDirection: 'row',
178
+ },
179
+ tab: {
180
+ fontFamily: 'Poppins',
181
+ fontStyle: 'normal',
182
+ fontSize: 14,
183
+ paddingBottom: 10,
184
+ marginBottom: -1,
185
+ zIndex: 100,
186
+ borderColor: theme.colors.textGray,
187
+ textTransform: 'capitalize'
188
+ },
189
+ icon: {
190
+ paddingBottom: 10,
191
+ zIndex: 100,
192
+ marginBottom: 5,
193
+ },
194
+ tagsContainer: {
195
+ marginBottom: 20,
196
+ },
197
+ tag: {
198
+ fontFamily: 'Poppins',
199
+ fontStyle: 'normal',
200
+ fontWeight: 'normal',
201
+ fontSize: 14,
202
+ },
203
+ pressable: {
204
+ alignItems: 'center',
205
+ },
206
+ loadButton: {
207
+ borderRadius: 7.6,
208
+ height: 44,
209
+ marginRight: 10,
210
+ marginBottom: 10,
211
+ marginTop: 5,
212
+ },
213
+ loadButtonText: {
214
+ color: theme.colors.inputTextColor,
215
+ fontFamily: 'Poppins',
216
+ fontStyle: 'normal',
217
+ fontWeight: 'normal',
218
+ fontSize: 18,
219
+ },
220
+ inputStyle: {
221
+ width: '100%',
222
+ borderWidth: 1,
223
+ borderColor: '#DEE2E6',
224
+ borderRadius: 7.6,
225
+ marginBottom: 24
226
+ },
227
+ SLAwrapper: {
228
+ flexDirection: 'row',
229
+ marginBottom: 15
230
+ },
231
+ selectOption: {
232
+ alignItems: 'center',
233
+ justifyContent: 'space-between',
234
+ minHeight: 40,
235
+ width: '100%',
236
+ paddingHorizontal: 15,
237
+ backgroundColor: theme.colors.inputChat,
238
+ borderRadius: 7.6,
239
+ },
240
+ buttonTextStyle: {
241
+ textAlign: 'left',
242
+ marginHorizontal: 0,
243
+ fontSize: 16,
244
+ lineHeight: 24,
245
+ color: '#748194'
246
+ },
247
+ dropdownStyle: {
248
+ borderWidth: 1,
249
+ borderRadius: 8,
250
+ paddingTop: 5,
251
+ backgroundColor: '#fff',
252
+ borderColor: theme.colors.lightGray,
253
+ overflow: 'hidden',
254
+ minHeight: 155
255
+ },
256
+ btnBackArrow: {
257
+ borderWidth: 0,
258
+ width: 32,
259
+ height: 32,
260
+ tintColor: theme.colors.textGray,
261
+ backgroundColor: theme.colors.clear,
262
+ borderColor: theme.colors.clear,
263
+ shadowColor: theme.colors.clear,
264
+ paddingLeft: 0,
265
+ paddingRight: 0,
266
+ marginBottom: 30,
267
+ marginTop: Platform.OS === 'ios' ? 60 : 30
268
+ },
269
+ rowStyle: {
270
+ display: 'flex',
271
+ borderBottomWidth: 0,
272
+ height: 36,
273
+ alignItems: 'center',
274
+ paddingHorizontal: 10
275
+ },
276
+ acceptButtonStyle: {
277
+ borderRadius: 7.6,
278
+ width: 130,
279
+ height: 42,
280
+ },
281
+ errorMessage: {
282
+ marginBottom: 10,
283
+ color: theme.colors.error,
284
+ }
285
+ });
286
+
287
+ const scrollRef = useRef() as React.MutableRefObject<ScrollView>;
288
+ const scrollListRef = useRef() as React.MutableRefObject<ScrollView>;
289
+ const scrollRefTab = useRef() as React.MutableRefObject<ScrollView>;
290
+
291
+ const [refreshing] = useState(false);
292
+
293
+ const [tagsState, setTags] = useState<any>({ values: [] })
294
+
295
+ const tagsList = ordersGroup[currentTabSelected]?.defaultFilter ?? []
296
+ const currentOrdersGroup = ordersGroup[currentTabSelected]
297
+ const ordersValidation = hasSearchFilters ? ordersFiltered : currentOrdersGroup
298
+
299
+ const paginationValidation =
300
+ !ordersValidation?.error?.length &&
301
+ !ordersValidation?.loading &&
302
+ ordersValidation?.pagination?.totalPages &&
303
+ ordersValidation?.pagination?.currentPage < ordersValidation?.pagination?.totalPages &&
304
+ ordersValidation?.orders?.length > 0
305
+
306
+ const loadingValidation = (
307
+ ordersValidation?.loading ||
308
+ (ordersValidation?.pagination?.total === null && isNetConnected) ||
309
+ logisticOrders?.loading
310
+ ) && !ordersValidation?.error?.length
311
+
312
+ const isEqual = (array1: any, array2: any) => {
313
+ return array1?.every((item: any) => array2.includes(item)) && array2?.every((item: any) => array1.includes(item))
314
+ }
315
+
316
+ const handleLoadMore = () => {
317
+ loadMoreOrders && loadMoreOrders({ allStatusses: hasSearchFilters });
318
+ };
319
+
320
+ const getOrderStatus = (key: number) => {
321
+ return orderStatus.find((status: any) => status?.key === key)?.text;
322
+ };
323
+
324
+ const applyFilters = () => {
325
+ const dateRange = calculateDate(search.date.type, search.date.from, search.date.to)
326
+ onFiltered && onFiltered({ ...search, date: { ...dateRange } })
327
+ setOpenSearchModal(false)
328
+ }
329
+
330
+ const handleTagSelected = (tag: any) => {
331
+ const tags = tagsState?.values.includes(tag)
332
+ ? tagsState?.values.filter((t: any) => t !== tag)
333
+ : [...tagsState?.values, tag]
334
+
335
+ setCurrentFilters(!tags.length ? tagsList : tags)
336
+ setTags({ values: isEqual(tags, tagsList) ? [] : tags })
337
+
338
+ setOrdersGroup({
339
+ ...ordersGroup,
340
+ [currentTabSelected]: {
341
+ ...ordersGroup[currentTabSelected],
342
+ currentFilter: !tags.length ? tagsList : tags
343
+ }
344
+ })
345
+ }
346
+
347
+ const handleAllSelect = () => {
348
+ setCurrentFilters(tagsList)
349
+ setTags({ values: [] })
350
+ setOrdersGroup({
351
+ ...ordersGroup,
352
+ [currentTabSelected]: {
353
+ ...ordersGroup[currentTabSelected],
354
+ currentFilter: tagsList
355
+ }
356
+ })
357
+ }
358
+
359
+ const calculateDate = (type: any, from: any, to: any) => {
360
+ switch (type) {
361
+ case 'today':
362
+ const date = parseDate(new Date(), { outputFormat: 'MM/DD/YYYY' })
363
+ return { from: `${date} 00:00:00`, to: `${date} 23:59:59` }
364
+ case 'yesterday':
365
+ const yesterday = new Date()
366
+ yesterday.setDate(yesterday.getDate() - 1)
367
+ const start1 = parseDate(yesterday, { outputFormat: 'MM/DD/YYYY' })
368
+ const end1 = parseDate(new Date(), { outputFormat: 'MM/DD/YYYY' })
369
+ return { from: `${start1} 00:00:00`, to: `${end1} 23:59:59` }
370
+ case 'last_7days':
371
+ const last_7days = new Date()
372
+ last_7days.setDate(last_7days.getDate() - 6)
373
+ const start7 = parseDate(last_7days, { outputFormat: 'MM/DD/YYYY' })
374
+ const end7 = parseDate(new Date(), { outputFormat: 'MM/DD/YYYY' })
375
+ return { from: `${start7} 00:00:00`, to: `${end7} 23:59:59` }
376
+ case 'last_30days':
377
+ const last_30days = new Date()
378
+ last_30days.setDate(last_30days.getDate() - 29)
379
+ const start30 = parseDate(last_30days, { outputFormat: 'MM/DD/YYYY' })
380
+ const end30 = parseDate(new Date(), { outputFormat: 'MM/DD/YYYY' })
381
+ return { from: `${start30} 00:00:00`, to: `${end30} 23:59:59` }
382
+ default:
383
+ const start = from ? `${parseDate(from, { outputFormat: 'MM/DD/YYYY' })} 00:00:00` : ''
384
+ const end = to ? `${parseDate(to, { outputFormat: 'MM/DD/YYYY' })} 23:59:59` : ''
385
+ return { from: start, to: end }
386
+ }
387
+ }
388
+
389
+ const onClickSetting = () => {
390
+ setOpenSLASettingModal(true)
391
+ }
392
+
393
+ const handleClose = () => {
394
+ setSearch(defaultSearchList)
395
+ setOpenSearchModal(false)
396
+ setOpenSLASettingModal(false)
397
+ }
398
+
399
+ const handleClearFilters = () => {
400
+ setSearch(defaultSearchList)
401
+ }
402
+
403
+ useEffect(() => {
404
+ scrollRefTab.current?.scrollTo();
405
+ scrollListRef.current?.scrollTo();
406
+ scrollRef.current?.scrollTo();
407
+ setTags({ values: [] })
408
+ }, [currentTabSelected])
409
+
410
+ useEffect(() => {
411
+ const unsubcribe = navigation.addListener('focus', () => {
412
+ currentTabSelected === 'logisticOrders' && loadLogisticOrders && loadLogisticOrders()
413
+ })
414
+ return unsubcribe
415
+ }, [navigation, loadLogisticOrders])
416
+
417
+ useEffect(() => {
418
+ const orderStatuses = ['active', 'pending', 'inProgress', 'completed', 'cancelled']
419
+
420
+ const manageStoragedOrders = async () => {
421
+ setInternetLoading(true)
422
+ let lastConnection = await _retrieveStoreData('last_date_connection');
423
+ let allowSaveChangesOffline = await _retrieveStoreData('allow_save_changes_offline');
424
+ let _combineTabs = await _retrieveStoreData('combine_pending_and_progress_orders')
425
+
426
+ if (allowSaveChangesOffline === false) {
427
+ setInternetLoading(false)
428
+ return
429
+ }
430
+
431
+ let ordersStoraged: any = {}
432
+ for (const status of orderStatuses) {
433
+ ordersStoraged[status] = offlineActionsState.orders?.[status] ?? await _retrieveStoreData(`${status}_orders`) ?? []
434
+ }
435
+
436
+ if (_combineTabs || !_combineTabs && combineTabs) {
437
+ _combineTabs && setCombineTabsState(_combineTabs)
438
+ _setStoreData('combine_pending_and_progress_orders', _combineTabs || combineTabs);
439
+ }
440
+
441
+ if (!lastConnection) {
442
+ const formattedDate = parseDate(new Date())
443
+ lastConnection = formattedDate
444
+ _setStoreData('last_date_connection', formattedDate);
445
+ }
446
+
447
+ lastConnection && setLastDateConnection(lastConnection)
448
+
449
+ if (Object.values(ordersStoraged).every((key: any) => Array.isArray(key) && !key?.length)) {
450
+ for (const status of orderStatuses) {
451
+ const currentOrders = offlineActionsState.orders?.[status] ?? ordersGroup[status]?.orders
452
+ ordersStoraged[status] = currentOrders
453
+ _setStoreData(`${status}_orders`, currentOrders);
454
+ }
455
+ }
456
+
457
+ if (Object.values(ordersStoraged).some((key: any) => Array.isArray(key) && key?.length)) {
458
+ let newOrderGroup = {
459
+ ...ordersGroup
460
+ }
461
+ for (const status of orderStatuses) {
462
+ newOrderGroup[status] = {
463
+ ...ordersGroup[status],
464
+ error: null,
465
+ orders: ordersStoraged[status]
466
+ }
467
+ }
468
+ setOrdersGroup(newOrderGroup)
469
+ }
470
+ setInternetLoading(false)
471
+ };
472
+
473
+ if (isNetConnected) {
474
+ _removeStoreData('last_date_connection');
475
+ _removeStoreData('combine_pending_and_progress_orders');
476
+ _removeStoreData('allow_save_changes_offline');
477
+ orderStatuses.forEach((key: any) => _setStoreData(`${key}_orders`, null))
478
+ } else if (isNetConnected === false) {
479
+ manageStoragedOrders()
480
+ }
481
+ }, [isNetConnected, JSON.stringify(offlineActionsState.orders)]);
482
+
483
+ return (
484
+ <>
485
+ {hasSearchFilters && (
486
+ <FilterAlert>
487
+ <AntDesignIcon
488
+ name='warning'
489
+ color='#FFC700'
490
+ size={12}
491
+ onPress={() => setOpenSearchModal(true)}
492
+ />
493
+ <OText size={10} mLeft={5} mRight={5}>
494
+ {t('WARNING_FILTER_APPLIED', 'Filters applied. You may miss new orders.')}
495
+ </OText>
496
+ <Pressable onPress={() => handleClearFilters()}>
497
+ <OText textDecorationLine='underline' size={10} color='rgb(44, 123, 229)'>{t('CLEAR_FILTERS', 'Clear filters')}</OText>
498
+ </Pressable>
499
+ </FilterAlert>
500
+ )}
501
+ <View style={styles.header}>
502
+ <OText style={styles.title}>{t('MY_ORDERS', 'My orders')}</OText>
503
+ <IconWrapper>
504
+ <View style={{ marginRight: 10 }}>
505
+ <WebsocketStatus />
506
+ </View>
507
+ {isNetConnected && (
508
+ <FeatherIcon
509
+ name='refresh-cw'
510
+ color={theme.colors.backgroundDark}
511
+ size={24}
512
+ onPress={() => currentTabSelected === 'logisticOrders' ? loadLogisticOrders && loadLogisticOrders() : loadOrders && loadOrders({ newFetch: true, }, { allStatusses: hasSearchFilters })}
513
+ style={{
514
+ marginRight: 20
515
+ }}
516
+ />
517
+ )}
518
+ {currentTabSelected !== 'logisticOrders' && (
519
+ <View>
520
+ {hasSearchFilters && (
521
+ <AntDesignIcon
522
+ name='exclamationcircle'
523
+ color={theme.colors.primary}
524
+ size={16}
525
+ style={{
526
+ position: 'absolute',
527
+ zIndex: 1000,
528
+ right: -8,
529
+ top: -5
530
+ }}
531
+ onPress={() => setOpenSearchModal(true)}
532
+ />
533
+ )}
534
+ <FontistoIcon
535
+ name='filter'
536
+ color={theme.colors.backgroundDark}
537
+ size={24}
538
+ onPress={() => setOpenSearchModal(true)}
539
+ />
540
+ </View>
541
+ )}
542
+ </IconWrapper>
543
+ </View>
544
+ {!hasSearchFilters && (
545
+ <FiltersTab>
546
+ <ScrollView
547
+ ref={scrollRefTab}
548
+ showsVerticalScrollIndicator={false}
549
+ showsHorizontalScrollIndicator={false}
550
+ horizontal
551
+ nestedScrollEnabled={true}
552
+ >
553
+ <TabsContainer>
554
+ {(isLogisticActivated && !isBusinessApp && !combineTabs) && (
555
+ <Pressable
556
+ style={styles.pressable}
557
+ onPress={() => setCurrentTabSelected('logisticOrders')}>
558
+ <OIcon
559
+ src={theme.images?.general?.chronometer}
560
+ borderBottomWidth={currentTabSelected === 'logisticOrders' ? 1 : 0}
561
+ width={currentTabSelected === 'logisticOrders' ? 26 : 24}
562
+ height={currentTabSelected === 'logisticOrders' ? 26 : 24}
563
+ color={
564
+ currentTabSelected === 'logisticOrders'
565
+ ? theme.colors.textGray
566
+ : theme.colors.unselectText
567
+ }
568
+ style={styles.icon}
569
+ />
570
+ </Pressable>
571
+ )}
572
+ {!hasSearchFilters && tabs.map((tab: any) => (
573
+ <TabPressable
574
+ key={tab.key}
575
+ onPress={() => setCurrentTabSelected(tab?.title)}
576
+ isSelected={tab.title === currentTabSelected ? 1 : 0}
577
+ >
578
+ <OText
579
+ style={{
580
+ ...styles.tab,
581
+ fontSize: tab.title === currentTabSelected ? 16 : 14,
582
+ borderBottomWidth: Platform.OS === 'ios' && tab.title === currentTabSelected ? 1 : 0,
583
+ }}
584
+ color={
585
+ tab.title === currentTabSelected
586
+ ? theme.colors.textGray
587
+ : theme.colors.unselectText
588
+ }
589
+ weight={tab.title === currentTabSelected ? '600' : 'normal'}
590
+ >
591
+ {tab.text}
592
+ </OText>
593
+ </TabPressable>
594
+ ))}
595
+ </TabsContainer>
596
+ </ScrollView>
597
+ </FiltersTab>
598
+ )}
599
+ <View style={{ flex: 1, minHeight: HEIGHT_SCREEN - 450 }}>
600
+ {showTagsList && !hasSearchFilters && (
601
+ <View
602
+ style={{
603
+ display: 'flex',
604
+ flexDirection: 'row',
605
+ alignContent: 'center',
606
+ alignItems: 'center',
607
+ }}
608
+ >
609
+ {tagsList && tagsList?.length > 1 && (
610
+ <View style={{ marginBottom: 20 }}>
611
+ <Tag
612
+ onPress={() => handleAllSelect()}
613
+ isSelected={
614
+ isEqual(currentOrdersGroup.currentFilter, tagsList)
615
+ ? theme.colors.primary
616
+ : theme.colors.tabBar
617
+ }>
618
+ <OText
619
+ style={styles.tag}
620
+ color={
621
+ isEqual(currentOrdersGroup.currentFilter, tagsList)
622
+ ? theme.colors.white
623
+ : theme.colors.black
624
+ }>
625
+ {t('All', 'All')}
626
+ </OText>
627
+ </Tag>
628
+ </View>
629
+ )}
630
+ <ScrollView
631
+ ref={scrollRef}
632
+ showsVerticalScrollIndicator={false}
633
+ showsHorizontalScrollIndicator={false}
634
+ contentContainerStyle={styles.tagsContainer}
635
+ horizontal
636
+ >
637
+ {tagsList && tagsList.map((key: number) => (
638
+ <Tag
639
+ key={key}
640
+ onPress={() => !currentOrdersGroup.loading && handleTagSelected(key)}
641
+ isSelected={
642
+ currentOrdersGroup.currentFilter.includes(key) &&
643
+ !isEqual(currentOrdersGroup.currentFilter, tagsList)
644
+ ? theme.colors.primary
645
+ : theme.colors.tabBar
646
+ }>
647
+ <OText
648
+ style={styles.tag}
649
+ color={
650
+ currentOrdersGroup.currentFilter.includes(key) &&
651
+ !isEqual(currentOrdersGroup.currentFilter, tagsList)
652
+ ? theme.colors.white
653
+ : theme.colors.black
654
+ }>
655
+ {getOrderStatus(key)}
656
+ {
657
+ currentOrdersGroup.currentFilter.includes(key) &&
658
+ !isEqual(currentOrdersGroup.currentFilter, tagsList) &&
659
+ ' X'
660
+ }
661
+ </OText>
662
+ </Tag>
663
+ ))}
664
+ </ScrollView>
665
+ </View>
666
+ )}
667
+ {isNetConnected === false && lastDateConnection && (
668
+ <View
669
+ style={{
670
+ borderRadius: 8,
671
+ paddingVertical: 3,
672
+ backgroundColor: theme.colors.danger500,
673
+ marginBottom: 10,
674
+ flexDirection: 'column'
675
+ }}
676
+ >
677
+ <OText
678
+ style={{ color: 'white', textAlign: 'center' }}
679
+ >
680
+ {`${t('LAST_UPDATE', 'Last Update')}: ${lastDateConnection}`}
681
+ </OText>
682
+ {Object.keys(offlineActionsState?.actions)?.length > 0 && (
683
+ <OText
684
+ style={{ color: 'white', textAlign: 'center' }}
685
+ >
686
+ {t('NUMBER_CHANGES_PENDING_SYNC', '_value_ changes pending sync').replace('_value_', Object.keys(offlineActionsState?.actions)?.length)}
687
+ </OText>
688
+ )}
689
+ </View>
690
+ )}
691
+ <ScrollView
692
+ ref={scrollListRef}
693
+ showsVerticalScrollIndicator={false}
694
+ style={{ flex: 1 }}
695
+ nestedScrollEnabled={true}
696
+ refreshControl={
697
+ <RefreshControl
698
+ refreshing={refreshing}
699
+ onRefresh={() => { isNetConnected && (currentTabSelected === 'logisticOrders' ? loadLogisticOrders && loadLogisticOrders() : loadOrders && loadOrders({ newFetch: true }, { allStatusses: hasSearchFilters })) }}
700
+ />
701
+ }
702
+ >
703
+ {!ordersValidation?.error?.length &&
704
+ (ordersValidation?.orders?.length > 0 || ordersFiltered?.orders?.length > 0) &&
705
+ currentTabSelected !== 'logisticOrders' &&
706
+ !ordersValidation?.loading &&
707
+ (
708
+ <PreviousOrders
709
+ orders={hasSearchFilters ? ordersFiltered?.orders : ordersFormatted}
710
+ navigation={props.navigation}
711
+ onNavigationRedirect={onNavigationRedirect}
712
+ getOrderStatus={getOrderStatus}
713
+ handleClickOrder={handleClickOrder}
714
+ slaSettingTime={slaSettingTime}
715
+ currentTabSelected={currentTabSelected}
716
+ appTitle={props.orderDetailsProps?.appTitle}
717
+ actions={props.orderDetailsProps?.actions}
718
+ orderTitle={props.orderDetailsProps?.orderTitle}
719
+ handleChangeOrderStatus={handleChangeOrderStatus}
720
+ handleSendCustomerReview={handleSendCustomerReview}
721
+ isBusinessApp={isBusinessApp}
722
+ />
723
+ )}
724
+ {!logisticOrders?.error?.length &&
725
+ logisticOrders && logisticOrders?.orders?.length > 0 &&
726
+ !logisticOrders?.loading &&
727
+ currentTabSelected === 'logisticOrders' && (
728
+ <PreviousOrders
729
+ orders={logisticOrders?.orders?.filter((order: any) => !order?.expired).map((order: any) => ({ ...order, isLogistic: true }))}
730
+ onNavigationRedirect={onNavigationRedirect}
731
+ getOrderStatus={getOrderStatus}
732
+ handleClickLogisticOrder={handleClickLogisticOrder}
733
+ isBusinessApp={isBusinessApp}
734
+ isLogisticOrder
735
+ />
736
+ )
737
+ }
738
+ {(
739
+ loadingValidation || internetLoading
740
+ ) && (
741
+ <View style={{ marginTop: 10 }}>
742
+ {[...Array(5)].map((_, i) => (
743
+ <Placeholder key={i} Animation={Fade}>
744
+ <View
745
+ style={{
746
+ width: '100%',
747
+ flexDirection: 'row',
748
+ marginBottom: 10,
749
+ }}>
750
+ <PlaceholderLine
751
+ width={IS_PORTRAIT ? 22 : 11}
752
+ height={74}
753
+ style={{
754
+ marginRight: 20,
755
+ marginBottom: 20,
756
+ borderRadius: 7.6,
757
+ }}
758
+ />
759
+ <Placeholder>
760
+ <PlaceholderLine width={30} style={{ marginTop: 5 }} />
761
+ <PlaceholderLine width={50} />
762
+ <PlaceholderLine width={20} />
763
+ </Placeholder>
764
+ </View>
765
+ </Placeholder>
766
+ ))}
767
+ </View>
768
+ )}
769
+
770
+ {isNetConnected &&
771
+ paginationValidation &&
772
+ (
773
+ <OButton
774
+ onClick={handleLoadMore}
775
+ text={t('LOAD_MORE_ORDERS', 'Load more orders')}
776
+ imgRightSrc={null}
777
+ textStyle={styles.loadButtonText}
778
+ style={styles.loadButton}
779
+ bgColor={theme.colors.primary}
780
+ borderColor={theme.colors.primary}
781
+ />
782
+ )}
783
+
784
+ {!internetLoading &&
785
+ ((!ordersValidation?.loading &&
786
+ (ordersValidation?.error?.length ||
787
+ ordersValidation?.orders?.length === 0)) ||
788
+ (currentTabSelected === 'logisticOrders' &&
789
+ (logisticOrders && !logisticOrders?.loading && (logisticOrders?.error?.length > 0 || logisticOrders?.orders?.length === 0 || !logisticOrders?.orders?.some(order => !order?.expired))))
790
+ ) &&
791
+ (
792
+ <NotFoundSource
793
+ content={
794
+ !isNetConnected ? t('NETWORK_ERROR', 'Network Error') :
795
+ ((currentTabSelected !== 'logisticOrders' && !ordersValidation?.error?.length) ||
796
+ (currentTabSelected === 'logisticOrders' && (!logisticOrders?.error?.length || (logisticOrders?.orders?.length > 0 && !logisticOrders?.orders?.some(order => !order?.expired)))))
797
+ ? t('NO_RESULTS_FOUND', 'Sorry, no results found')
798
+ : ordersValidation?.error?.[0]?.message ||
799
+ ordersValidation?.error?.[0] ||
800
+ (currentTabSelected === 'logisticOrders' && logisticOrders?.error) ||
801
+ t('NETWORK_ERROR', 'Network Error')
802
+ }
803
+ image={theme.images.general.notFound}
804
+ conditioned={false}
805
+ btnTitle={!isNetConnected && t('REFRESH', 'Refresh')}
806
+ onClickButton={!isNetConnected && (() => RNRestart.Restart())}
807
+ />
808
+ )}
809
+ </ScrollView>
810
+ </View>
811
+
812
+ <NewOrderNotification isBusinessApp={isBusinessApp} />
813
+
814
+ {(openSearchModal || openSLASettingModal) && (
815
+ <OModal open={openSearchModal || openSLASettingModal} entireModal customClose>
816
+ <ModalContainer
817
+ nestedScrollEnabled={true}
818
+ >
819
+ <TouchableOpacity onPress={() => handleClose()} style={styles.btnBackArrow}>
820
+ <OIcon src={theme.images.general.arrow_left} color={theme.colors.textGray} />
821
+ </TouchableOpacity>
822
+ {openSearchModal && (
823
+ <SearchModalContent>
824
+ <ModalTitle>{t('SEARCH_ORDERS', 'Search orders')}</ModalTitle>
825
+ {configState?.configs?.order_deadlines_enabled?.value === '1' && (
826
+ <InputContainer style={{ marginBottom: 24 }}>
827
+ <SelectDropdown
828
+ defaultButtonText={search?.timeStatus
829
+ ? preorderTypeList.find(type => type.key === search?.timeStatus)?.name
830
+ : t('SLA', 'SLA\'s')}
831
+ data={preorderTypeList}
832
+ onSelect={(selectedItem, index) => {
833
+ setSearch({ ...search, timeStatus: selectedItem?.key })
834
+ }}
835
+ buttonTextAfterSelection={(selectedItem, index) => {
836
+ return selectedItem.name
837
+ }}
838
+ rowTextForSelection={(item, index) => {
839
+ return item.key
840
+ }}
841
+ buttonStyle={styles.selectOption}
842
+ buttonTextStyle={styles.buttonTextStyle}
843
+ renderDropdownIcon={isOpened => {
844
+ return <FeatherIcon name={isOpened ? 'chevron-up' : 'chevron-down'} color={'#444'} size={18} />;
845
+ }}
846
+ dropdownStyle={styles.dropdownStyle}
847
+ dropdownOverlayColor='transparent'
848
+ rowStyle={styles.rowStyle}
849
+ renderCustomizedRowChild={(item, index) => {
850
+ return (
851
+ <SlaOption>
852
+ {index !== 0 && <OrderStatus timeState={item?.key} />}
853
+ <View><OText size={14} color={'#748194'} >{item?.name}</OText></View>
854
+ </SlaOption>
855
+ );
856
+ }}
857
+ />
858
+ </InputContainer>
859
+ )}
860
+ <InputContainer>
861
+ <OInput
862
+ value={search.id}
863
+ onChange={(value: any) => setSearch({ ...search, id: value })}
864
+ style={styles.inputStyle}
865
+ placeholder={t('ORDER_NUMBER', 'Order number')}
866
+ autoCorrect={false}
867
+ />
868
+ <AntDesignIcon
869
+ name='close'
870
+ size={20}
871
+ style={{ position: 'absolute', right: 12, top: 13 }}
872
+ onPress={() => setSearch({ ...search, id: '' })}
873
+ />
874
+ </InputContainer>
875
+ <InputContainer>
876
+ <OInput
877
+ value={search.external_id}
878
+ onChange={(value: any) => setSearch({ ...search, external_id: value })}
879
+ style={styles.inputStyle}
880
+ placeholder={t('EXTERNAL_ID', 'External id')}
881
+ autoCorrect={false}
882
+ />
883
+ <AntDesignIcon
884
+ name='close'
885
+ size={20}
886
+ style={{ position: 'absolute', right: 12, top: 13 }}
887
+ onPress={() => setSearch({ ...search, external_id: '' })}
888
+ />
889
+ </InputContainer>
890
+ <OrdersOptionDate
891
+ {...props}
892
+ search={search}
893
+ onSearch={setSearch}
894
+ setOpenedSelect={setOpenedSelect}
895
+ openedSelect={openedSelect}
896
+ />
897
+ <OrdersOptionCity
898
+ {...props}
899
+ search={search}
900
+ onSearch={setSearch}
901
+ setOpenedSelect={setOpenedSelect}
902
+ openedSelect={openedSelect}
903
+ />
904
+ {isBusinessApp && (
905
+ <>
906
+ <OrdersOptionBusiness
907
+ {...props}
908
+ search={search}
909
+ onSearch={setSearch}
910
+ setOpenedSelect={setOpenedSelect}
911
+ openedSelect={openedSelect}
912
+ />
913
+ <OrdersOptionDelivery
914
+ {...props}
915
+ search={search}
916
+ onSearch={setSearch}
917
+ setOpenedSelect={setOpenedSelect}
918
+ openedSelect={openedSelect}
919
+ />
920
+ <OrdersOptionDriver
921
+ {...props}
922
+ search={search}
923
+ onSearch={setSearch}
924
+ setOpenedSelect={setOpenedSelect}
925
+ openedSelect={openedSelect}
926
+ />
927
+ <OrdersOptionPaymethod
928
+ {...props}
929
+ search={search}
930
+ onSearch={setSearch}
931
+ setOpenedSelect={setOpenedSelect}
932
+ openedSelect={openedSelect}
933
+ />
934
+ </>
935
+ )}
936
+ <OButton
937
+ text={t('SEARCH', 'Search')}
938
+ textStyle={{ color: theme.colors.white }}
939
+ imgRightSrc={null}
940
+ style={{
941
+ borderRadius: 7.6,
942
+ marginBottom: 10,
943
+ marginTop: 60,
944
+ zIndex: 12
945
+ }}
946
+ onClick={applyFilters}
947
+ />
948
+ <OButton
949
+ text={t('CLEAR_SEARCh', 'Clear search')}
950
+ imgRightSrc={null}
951
+ bgColor='#fff'
952
+ style={{
953
+ borderRadius: 7.6,
954
+ marginBottom: 0,
955
+ marginTop: 0,
956
+ zIndex: 12
957
+ }}
958
+ onClick={handleClearFilters}
959
+ />
960
+ </SearchModalContent>
961
+ )}
962
+ {openSLASettingModal && (
963
+ <SlaSettingModalContent>
964
+ <ModalTitle>{t('SLA_SETTINGS', 'SLA’s Settings')}</ModalTitle>
965
+ <FiltersTab>
966
+ <ScrollView
967
+ ref={scrollRefTab}
968
+ showsVerticalScrollIndicator={false}
969
+ showsHorizontalScrollIndicator={false}
970
+ horizontal
971
+ nestedScrollEnabled={true}
972
+ >
973
+ <TabsContainer>
974
+ {defaultOrderTypes && defaultOrderTypes.map(tab => (
975
+ <TabPressable
976
+ key={tab.key}
977
+ onPress={() => setCurrentDeliveryType(tab?.name)}
978
+ isSelected={tab.name.toUpperCase() === currentDeliveryType.toUpperCase() ? 1 : 0}
979
+ >
980
+ <OText
981
+ style={{
982
+ ...styles.tab,
983
+ fontSize: tab.name.toUpperCase() === currentDeliveryType.toUpperCase() ? 14 : 12,
984
+ borderBottomWidth: Platform.OS === 'ios' && tab.name.toUpperCase() === currentDeliveryType.toUpperCase() ? 1 : 0,
985
+ }}
986
+ color={
987
+ tab.name.toUpperCase() === currentDeliveryType.toUpperCase()
988
+ ? theme.colors.textGray
989
+ : theme.colors.unselectText
990
+ }
991
+ weight={tab.name.toUpperCase() === currentDeliveryType ? '600' : 'normal'}
992
+ >
993
+ {tab.name}
994
+ </OText>
995
+ </TabPressable>
996
+ ))}
997
+ </TabsContainer>
998
+ </ScrollView>
999
+ </FiltersTab>
1000
+ <DeliveryStatusWrapper>
1001
+ {selectedTabStatus && selectedTabStatus.length > 0 && selectedTabStatus.map((item: any, i: number) => (
1002
+ <StatusBlock
1003
+ key={i}
1004
+ item={item}
1005
+ last={i + 1 === selectedTabStatus.length}
1006
+ />
1007
+ ))}
1008
+ <VerticalLine />
1009
+ </DeliveryStatusWrapper>
1010
+ </SlaSettingModalContent>
1011
+ )}
1012
+ </ModalContainer>
1013
+ </OModal>
1014
+ )}
1015
+ </>
1016
+ );
1017
+ };
1018
+
1019
+ export const StatusBlock = (props: any) => {
1020
+ const { item, last } = props
1021
+ const [showTime, setShowTime] = useState(false)
1022
+
1023
+ useEffect(() => {
1024
+ if (last) {
1025
+ setShowTime(true)
1026
+ }
1027
+ }, [last])
1028
+
1029
+ return (
1030
+ <StatusItems>
1031
+ <Pressable style={{ marginBottom: 10 }}>
1032
+ <ItemHeader>
1033
+ <IconWrapper>
1034
+ <OIcon
1035
+ src={item?.icon}
1036
+ width={16}
1037
+ height={16}
1038
+ color={item?.backColor}
1039
+ />
1040
+ </IconWrapper>
1041
+ <ItemStatus backColor={item?.backColor} />
1042
+ <OText>{item?.key}</OText>
1043
+ </ItemHeader>
1044
+ </Pressable>
1045
+ <ItemContent>
1046
+ <OText>{item?.des}</OText>
1047
+ </ItemContent>
1048
+ {showTime && (
1049
+ <Timer />
1050
+ )}
1051
+ {last && (
1052
+ <OverLine />
1053
+ )}
1054
+ </StatusItems>
1055
+ )
1056
+ }
1057
+
1058
+ export const Timer = () => {
1059
+ const [, t] = useLanguage()
1060
+ const theme = useTheme()
1061
+ const [{ configs }] = useConfig();
1062
+
1063
+ const styles = StyleSheet.create({
1064
+ settingTime: {
1065
+ fontSize: 14,
1066
+ borderWidth: 1,
1067
+ borderRadius: 7.6,
1068
+ margin: 0,
1069
+ marginRight: 10,
1070
+ paddingHorizontal: 10,
1071
+ paddingTop: 5,
1072
+ borderColor: theme.colors.disabled
1073
+ }
1074
+ })
1075
+
1076
+ return (
1077
+ <TimerInputWrapper>
1078
+ <OText style={styles.settingTime} color={theme.colors.disabled}>{configs?.order_deadlines_delayed_time?.value}</OText>
1079
+ <OText>{t('TIME_MIN', 'min')}</OText>
1080
+ </TimerInputWrapper>
1081
+ )
1082
+ }
1083
+
1084
+ export const OrdersOption = (props: OrdersOptionParams) => {
1085
+ const [, t] = useLanguage();
1086
+ const [configState] = useConfig()
1087
+ const [, offlineMethods] = useOfflineActions()
1088
+
1089
+ const [checkNotificationStatus, setCheckNotificationStatus] = useState({ open: false, checked: false })
1090
+ const [combineTabs, setCombineTabs] = useState(null)
1091
+
1092
+ useEffect(() => {
1093
+ const getCombineTabsStoraged = async () => {
1094
+ try {
1095
+ const storagedValue = await _retrieveStoreData('combine_pending_and_progress_orders');
1096
+ const saveChangesOffline = await _retrieveStoreData('allow_save_changes_offline');
1097
+
1098
+ const _combineTabs = typeof configState?.configs?.combine_pending_and_progress_orders === 'object'
1099
+ ? configState?.configs?.combine_pending_and_progress_orders?.value === '1'
1100
+ : storagedValue
1101
+
1102
+ const canSaveChangesOffline = typeof configState?.configs?.allow_save_changes_offline === 'object'
1103
+ ? (configState?.configs?.allow_save_changes_offline?.value ?? '')?.toString() === '1'
1104
+ : saveChangesOffline
1105
+
1106
+ offlineMethods.setState((state: any) => ({
1107
+ ...state,
1108
+ isCombinedTabs: _combineTabs,
1109
+ canSaveChangesOffline
1110
+ }))
1111
+ setCombineTabs(_combineTabs)
1112
+ return _combineTabs;
1113
+ } catch {
1114
+ return null
1115
+ }
1116
+ }
1117
+ getCombineTabsStoraged()
1118
+ }, [])
1119
+
1120
+ const ordersProps = {
1121
+ ...props,
1122
+ UIComponent: OrdersOptionUI,
1123
+ asDashboard: true,
1124
+ combineTabs,
1125
+ isIos: Platform.OS === 'ios',
1126
+ orderStatus: [
1127
+ { key: 0, text: t('PENDING', 'Pending') },
1128
+ { key: 1, text: t('COMPLETED', 'Completed') },
1129
+ { key: 2, text: t('REJECTED', 'Rejected') },
1130
+ { key: 3, text: t('DRIVER_IN_BUSINESS', 'Driver in business') },
1131
+ { key: 4, text: t('READY_FOR_PICKUP', 'Ready for pickup') },
1132
+ { key: 5, text: t('REJECTED_BY_BUSINESS', 'Rejected by business') },
1133
+ { key: 6, text: t('REJECTED_BY_DRIVER', 'Rejected by Driver') },
1134
+ { key: 7, text: t('ACCEPTED_BY_BUSINESS', 'Accepted by business') },
1135
+ { key: 8, text: t('ACCEPTED_BY_DRIVER', 'Accepted by driver') },
1136
+ {
1137
+ key: 9,
1138
+ text: t('PICK_UP_COMPLETED_BY_DRIVER', 'Pick up completed by driver'),
1139
+ },
1140
+ {
1141
+ key: 10,
1142
+ text: t('PICK_UP_FAILED_BY_DRIVER', 'Pick up Failed by driver'),
1143
+ },
1144
+ {
1145
+ key: 11,
1146
+ text: t('DELIVERY_COMPLETED_BY_DRIVER', 'Delivery completed by driver'),
1147
+ },
1148
+ {
1149
+ key: 12,
1150
+ text: t('DELIVERY_FAILED_BY_DRIVER', 'Delivery Failed by driver'),
1151
+ },
1152
+ { key: 13, text: t('PREORDER', 'Preorder') },
1153
+ { key: 14, text: t('ORDER_NOT_READY', 'Order not ready') },
1154
+ {
1155
+ key: 15,
1156
+ text: t(
1157
+ 'ORDER_PICKEDUP_COMPLETED_BY_CUSTOMER',
1158
+ 'Order picked up completed by customer',
1159
+ ),
1160
+ },
1161
+ { key: 16, text: t('CANCELLED_BY_CUSTOMER', 'Cancelled by customer') },
1162
+ {
1163
+ key: 17,
1164
+ text: t(
1165
+ 'ORDER_NOT_PICKEDUP_BY_CUSTOMER',
1166
+ 'Order not picked up by customer',
1167
+ ),
1168
+ },
1169
+ {
1170
+ key: 18,
1171
+ text: t(
1172
+ 'ORDER_DRIVER_ALMOST_ARRIVED_BUSINESS',
1173
+ 'Driver almost arrived to business',
1174
+ ),
1175
+ },
1176
+ {
1177
+ key: 19,
1178
+ text: t(
1179
+ 'ORDER_DRIVER_ALMOST_ARRIVED_CUSTOMER',
1180
+ 'Driver almost arrived to customer',
1181
+ ),
1182
+ },
1183
+ {
1184
+ key: 20,
1185
+ text: t(
1186
+ 'ORDER_CUSTOMER_ALMOST_ARRIVED_BUSINESS',
1187
+ 'Customer almost arrived to business',
1188
+ ),
1189
+ },
1190
+ {
1191
+ key: 21,
1192
+ text: t(
1193
+ 'ORDER_CUSTOMER_ARRIVED_BUSINESS',
1194
+ 'Customer arrived to business',
1195
+ ),
1196
+ },
1197
+ {
1198
+ key: 22,
1199
+ text: t('ORDER_LOOKING_FOR_DRIVER', 'Looking for driver')
1200
+ },
1201
+ {
1202
+ key: 23,
1203
+ text: t('ORDER_DRIVER_ON_WAY', 'Driver on way')
1204
+ },
1205
+ {
1206
+ key: 24,
1207
+ text: t('ORDER_DRIVER_WAITING_FOR_ORDER', 'Driver waiting for order')
1208
+ },
1209
+ {
1210
+ key: 25,
1211
+ text: t('ORDER_ACCEPTED_BY_DRIVER_COMPANY', 'Accepted by driver company')
1212
+ },
1213
+ {
1214
+ key: 26,
1215
+ text: t('ORDER_DRIVER_ARRIVED_CUSTOMER', 'Driver arrived to customer')
1216
+ }
1217
+ ],
1218
+ tabs: combineTabs ? [
1219
+ {
1220
+ key: 0,
1221
+ text: t('ACTIVE', 'Active'),
1222
+ tags: props?.orderGroupStatusCustom?.active ?? [0, 3, 4, 7, 8, 9, 13, 14, 18, 19, 20, 21, 22, 23, 24, 25, 26],
1223
+ title: 'active',
1224
+ },
1225
+ {
1226
+ key: 1,
1227
+ text: t('COMPLETED', 'Completed'),
1228
+ tags: props?.orderGroupStatusCustom?.completed ?? [1, 11, 15],
1229
+ title: 'completed',
1230
+ },
1231
+ {
1232
+ key: 2,
1233
+ text: t('CANCELLED', 'Cancelled'),
1234
+ tags: props?.orderGroupStatusCustom?.cancelled ?? [2, 5, 6, 10, 12, 16, 17],
1235
+ title: 'cancelled',
1236
+ },
1237
+ ] :
1238
+ [
1239
+ {
1240
+ key: 0,
1241
+ text: t('PENDING', 'Pending'),
1242
+ tags: props?.orderGroupStatusCustom?.pending ?? [0, 13],
1243
+ title: 'pending'
1244
+ },
1245
+ {
1246
+ key: 1,
1247
+ text: t('IN_PROGRESS', 'In Progress'),
1248
+ tags: props?.orderGroupStatusCustom?.inProgress ?? [3, 4, 7, 8, 9, 14, 18, 19, 20, 21, 22, 23, 24, 25, 26],
1249
+ title: 'inProgress',
1250
+ },
1251
+ {
1252
+ key: 2,
1253
+ text: t('COMPLETED', 'Completed'),
1254
+ tags: props?.orderGroupStatusCustom?.completed ?? [1, 11, 15],
1255
+ title: 'completed',
1256
+ },
1257
+ {
1258
+ key: 3,
1259
+ text: t('CANCELLED', 'Cancelled'),
1260
+ tags: props?.orderGroupStatusCustom?.cancelled ?? [2, 5, 6, 10, 12, 16, 17],
1261
+ title: 'cancelled',
1262
+ },
1263
+ ]
1264
+ };
1265
+
1266
+ return (<>
1267
+ <OrderListGroups {...ordersProps} />
1268
+ {props?.checkNotification && (
1269
+ <NotificationSetting checkNotificationStatus={checkNotificationStatus}
1270
+ setCheckNotificationStatus={setCheckNotificationStatus} />
1271
+ )}
1272
+ </>);
1273
+ };
1274
+
1275
+ OrdersOption.defaultProps = {
1276
+ isNetConnected: true
1277
+ }