ordering-ui-react-native 0.16.76 → 0.16.77-release

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 (215) hide show
  1. package/package.json +6 -5
  2. package/src/DeliveryApp.tsx +43 -1
  3. package/src/components/ActiveOrders/styles.tsx +8 -14
  4. package/src/components/BusinessInformation/index.tsx +19 -4
  5. package/src/components/BusinessInformation/styles.tsx +2 -2
  6. package/src/components/BusinessProductsList/index.tsx +10 -10
  7. package/src/components/BusinessesListing/index.tsx +1 -1
  8. package/src/components/LanguageSelector/index.tsx +21 -16
  9. package/src/components/Messages/index.tsx +2 -2
  10. package/src/components/OrderCreating/index.tsx +2 -2
  11. package/src/components/OrdersOption/index.tsx +54 -56
  12. package/src/components/PaymentOptionsWebView/index.tsx +119 -120
  13. package/src/components/SingleProductReview/index.tsx +7 -4
  14. package/src/components/VerifyPhone/styles.tsx +1 -2
  15. package/src/components/shared/OToast.tsx +4 -4
  16. package/src/types/@fatnlazycat/react-native-recaptcha-v3/index.d.ts +1 -0
  17. package/src/utils/index.tsx +2 -1
  18. package/themes/business/src/components/AcceptOrRejectOrder/index.tsx +260 -238
  19. package/themes/business/src/components/AcceptOrRejectOrder/styles.tsx +6 -4
  20. package/themes/business/src/components/BusinessController/index.tsx +2 -2
  21. package/themes/business/src/components/Chat/index.tsx +31 -31
  22. package/themes/business/src/components/DriverMap/index.tsx +7 -5
  23. package/themes/business/src/components/LoginForm/Otp/index.tsx +120 -0
  24. package/themes/business/src/components/LoginForm/Otp/styles.tsx +7 -0
  25. package/themes/business/src/components/LoginForm/index.tsx +332 -140
  26. package/themes/business/src/components/LoginForm/styles.tsx +10 -0
  27. package/themes/business/src/components/MapView/index.tsx +14 -3
  28. package/themes/business/src/components/MessagesOption/index.tsx +11 -1
  29. package/themes/business/src/components/NewOrderNotification/index.tsx +31 -41
  30. package/themes/business/src/components/OrderDetails/OrderContentComponent.tsx +70 -43
  31. package/themes/business/src/components/OrderDetails/OrderHeaderComponent.tsx +3 -3
  32. package/themes/business/src/components/OrdersOption/index.tsx +63 -73
  33. package/themes/business/src/components/OrdersOption/styles.tsx +5 -1
  34. package/themes/business/src/components/OrdersOptionBusiness/index.tsx +15 -1
  35. package/themes/business/src/components/OrdersOptionCity/index.tsx +15 -1
  36. package/themes/business/src/components/OrdersOptionDate/index.tsx +19 -6
  37. package/themes/business/src/components/OrdersOptionDelivery/index.tsx +15 -1
  38. package/themes/business/src/components/OrdersOptionDriver/index.tsx +15 -1
  39. package/themes/business/src/components/OrdersOptionPaymethod/index.tsx +15 -1
  40. package/themes/business/src/components/OrdersOptionStatus/index.tsx +10 -1
  41. package/themes/business/src/components/PreviousMessages/index.tsx +17 -18
  42. package/themes/business/src/components/PreviousOrders/OrderItem.tsx +250 -0
  43. package/themes/business/src/components/PreviousOrders/OrdersGroupedItem.tsx +115 -0
  44. package/themes/business/src/components/PreviousOrders/index.tsx +440 -245
  45. package/themes/business/src/components/PreviousOrders/styles.tsx +31 -3
  46. package/themes/business/src/components/ProductItemAccordion/index.tsx +24 -5
  47. package/themes/business/src/components/ReviewCustomer/index.tsx +39 -15
  48. package/themes/business/src/components/shared/ODropDown.tsx +42 -8
  49. package/themes/business/src/components/shared/ODropDownCalendar.tsx +36 -7
  50. package/themes/business/src/components/shared/OLink.tsx +33 -13
  51. package/themes/business/src/components/shared/OText.tsx +8 -2
  52. package/themes/business/src/types/index.tsx +29 -3
  53. package/themes/business/src/utils/index.tsx +26 -0
  54. package/themes/doordash/src/components/BusinessesListing/index.tsx +1 -1
  55. package/themes/doordash/src/components/LoginForm/index.tsx +1 -2
  56. package/themes/instacart/src/components/BusinessesListing/index.tsx +1 -1
  57. package/themes/kiosk/src/components/BusinessesListing/index.tsx +2 -1
  58. package/themes/kiosk/src/components/Checkout/index.tsx +6 -0
  59. package/themes/kiosk/src/components/LoginForm/Otp/index.tsx +92 -0
  60. package/themes/kiosk/src/components/LoginForm/Otp/styles.tsx +7 -0
  61. package/themes/kiosk/src/components/LoginForm/index.tsx +545 -112
  62. package/themes/kiosk/src/components/LoginForm/styles.tsx +18 -0
  63. package/themes/kiosk/src/components/NavBar/index.tsx +14 -14
  64. package/themes/kiosk/src/components/OptionCard/index.tsx +1 -1
  65. package/themes/kiosk/src/components/OrderTypeCardSelector/index.tsx +8 -10
  66. package/themes/kiosk/src/components/PhoneInputNumber/index.tsx +1 -0
  67. package/themes/kiosk/src/components/PhoneInputNumber/styles.tsx +1 -3
  68. package/themes/kiosk/src/components/ProductForm/index.tsx +1 -14
  69. package/themes/kiosk/src/components/shared/OButton.tsx +5 -18
  70. package/themes/kiosk/src/components/shared/OModal.tsx +14 -11
  71. package/themes/kiosk/src/layouts/Container.tsx +7 -1
  72. package/themes/kiosk/src/types/index.d.ts +15 -0
  73. package/themes/kiosk/src/utils/index.tsx +15 -0
  74. package/themes/original/index.tsx +8 -0
  75. package/themes/original/src/components/AddressDetails/index.tsx +10 -8
  76. package/themes/original/src/components/AddressForm/index.tsx +155 -139
  77. package/themes/original/src/components/AddressList/index.tsx +18 -18
  78. package/themes/original/src/components/AddressList/styles.tsx +4 -2
  79. package/themes/original/src/components/AppleLogin/index.tsx +4 -4
  80. package/themes/original/src/components/BusinessBasicInformation/index.tsx +47 -22
  81. package/themes/original/src/components/BusinessController/index.tsx +101 -70
  82. package/themes/original/src/components/BusinessController/styles.tsx +14 -9
  83. package/themes/original/src/components/BusinessInformation/index.tsx +10 -31
  84. package/themes/original/src/components/BusinessItemAccordion/index.tsx +12 -6
  85. package/themes/original/src/components/BusinessListingSearch/BusinessControllerSkeletons/index.tsx +57 -0
  86. package/themes/original/src/components/BusinessListingSearch/MaxSectionItem/index.tsx +59 -0
  87. package/themes/original/src/components/BusinessListingSearch/MaxSectionItem/styles.tsx +13 -0
  88. package/themes/original/src/components/BusinessListingSearch/index.tsx +104 -155
  89. package/themes/original/src/components/BusinessListingSearch/styles.tsx +10 -12
  90. package/themes/original/src/components/BusinessProductsList/SubcategoriesComponent/index.tsx +87 -0
  91. package/themes/original/src/components/BusinessProductsList/SubcategoriesComponent/styles.tsx +12 -0
  92. package/themes/original/src/components/BusinessProductsList/index.tsx +26 -52
  93. package/themes/original/src/components/BusinessProductsList/styles.tsx +0 -3
  94. package/themes/original/src/components/BusinessProductsListing/index.tsx +563 -493
  95. package/themes/original/src/components/BusinessProductsListing/styles.tsx +13 -12
  96. package/themes/original/src/components/BusinessTypeFilter/index.tsx +3 -2
  97. package/themes/original/src/components/BusinessesListing/Layout/Appointment/index.tsx +2 -1
  98. package/themes/original/src/components/BusinessesListing/Layout/Original/index.tsx +116 -81
  99. package/themes/original/src/components/BusinessesListing/Layout/Original/styles.tsx +1 -9
  100. package/themes/original/src/components/BusinessesListing/index.tsx +7 -6
  101. package/themes/original/src/components/Cart/index.tsx +75 -40
  102. package/themes/original/src/components/CartContent/index.tsx +80 -18
  103. package/themes/original/src/components/CartContent/styles.tsx +11 -1
  104. package/themes/original/src/components/Checkout/index.tsx +102 -108
  105. package/themes/original/src/components/Checkout/styles.tsx +4 -3
  106. package/themes/original/src/components/CitiesControl/index.tsx +89 -0
  107. package/themes/original/src/components/CitiesControl/styles.tsx +17 -0
  108. package/themes/original/src/components/DriverTips/index.tsx +47 -37
  109. package/themes/original/src/components/DriverTips/styles.tsx +2 -1
  110. package/themes/original/src/components/Favorite/index.tsx +7 -4
  111. package/themes/original/src/components/Favorite/styles.tsx +1 -1
  112. package/themes/original/src/components/FavoriteList/index.tsx +70 -80
  113. package/themes/original/src/components/FloatingButton/index.tsx +1 -2
  114. package/themes/original/src/components/FloatingButton/styles.tsx +1 -1
  115. package/themes/original/src/components/GPSButton/index.tsx +20 -19
  116. package/themes/original/src/components/GPSButton/styles.ts +3 -3
  117. package/themes/original/src/components/GoogleMap/index.tsx +10 -1
  118. package/themes/original/src/components/Help/index.tsx +8 -8
  119. package/themes/original/src/components/HelpAccountAndPayment/index.tsx +14 -20
  120. package/themes/original/src/components/HelpAccountAndPayment/styles.tsx +6 -0
  121. package/themes/original/src/components/HelpGuide/index.tsx +13 -12
  122. package/themes/original/src/components/HelpGuide/styles.tsx +6 -0
  123. package/themes/original/src/components/HelpOrder/index.tsx +12 -20
  124. package/themes/original/src/components/HelpOrder/styles.tsx +8 -1
  125. package/themes/original/src/components/LanguageSelector/index.tsx +19 -14
  126. package/themes/original/src/components/LastOrder/index.tsx +1 -34
  127. package/themes/original/src/components/LoginForm/Otp/index.tsx +89 -73
  128. package/themes/original/src/components/LoginForm/Otp/styles.tsx +0 -1
  129. package/themes/original/src/components/LoginForm/index.tsx +98 -41
  130. package/themes/original/src/components/LottieAnimation/index.tsx +78 -0
  131. package/themes/original/src/components/MessageListing/index.tsx +7 -40
  132. package/themes/original/src/components/Messages/index.tsx +42 -26
  133. package/themes/original/src/components/MomentOption/index.tsx +23 -14
  134. package/themes/original/src/components/MultiCart/index.tsx +50 -0
  135. package/themes/original/src/components/MultiCartsPaymethodsAndWallets/index.tsx +92 -93
  136. package/themes/original/src/components/MultiCheckout/index.tsx +158 -77
  137. package/themes/original/src/components/MultiOrdersDetails/SingleOrderCard.tsx +37 -224
  138. package/themes/original/src/components/MultiOrdersDetails/index.tsx +85 -34
  139. package/themes/original/src/components/MultiOrdersDetails/styles.tsx +1 -1
  140. package/themes/original/src/components/MyOrders/index.tsx +66 -17
  141. package/themes/original/src/components/NavBar/index.tsx +7 -6
  142. package/themes/original/src/components/NetworkError/index.tsx +5 -3
  143. package/themes/original/src/components/NotFoundSource/index.tsx +2 -1
  144. package/themes/original/src/components/Notifications/index.tsx +144 -0
  145. package/themes/original/src/components/Notifications/styles.tsx +20 -0
  146. package/themes/original/src/components/OrderDetails/index.tsx +108 -218
  147. package/themes/original/src/components/OrderDetails/styles.tsx +10 -1
  148. package/themes/original/src/components/OrderItAgain/index.tsx +46 -43
  149. package/themes/original/src/components/OrderProgress/index.tsx +81 -105
  150. package/themes/original/src/components/OrderProgress/styles.tsx +5 -0
  151. package/themes/original/src/components/OrderSummary/index.tsx +2 -2
  152. package/themes/original/src/components/OrderTypeSelector/index.tsx +13 -6
  153. package/themes/original/src/components/OrdersOption/PreviousBusinessOrdered/index.tsx +93 -97
  154. package/themes/original/src/components/OrdersOption/PreviousProductsOrdered/index.tsx +3 -0
  155. package/themes/original/src/components/OrdersOption/index.tsx +86 -92
  156. package/themes/original/src/components/PageBanner/index.tsx +146 -0
  157. package/themes/original/src/components/PageBanner/styles.tsx +11 -0
  158. package/themes/original/src/components/PaymentOptionStripe/styles.tsx +1 -1
  159. package/themes/original/src/components/PaymentOptionWallet/index.tsx +56 -56
  160. package/themes/original/src/components/PaymentOptions/index.tsx +1 -1
  161. package/themes/original/src/components/PhoneInputNumber/index.tsx +1 -1
  162. package/themes/original/src/components/PlaceSpot/index.tsx +16 -6
  163. package/themes/original/src/components/PreviousOrders/index.tsx +3 -2
  164. package/themes/original/src/components/ProductForm/index.tsx +240 -254
  165. package/themes/original/src/components/ProductForm/styles.tsx +5 -8
  166. package/themes/original/src/components/ProductItemAccordion/index.tsx +199 -128
  167. package/themes/original/src/components/ProductOptionSubOption/index.tsx +18 -10
  168. package/themes/original/src/components/ProductOptionSubOption/styles.tsx +1 -2
  169. package/themes/original/src/components/ProfessionalFilter/SingleProfessionalCard/index.tsx +108 -0
  170. package/themes/original/src/components/ProfessionalFilter/index.tsx +20 -49
  171. package/themes/original/src/components/ProfessionalProfile/index.tsx +20 -9
  172. package/themes/original/src/components/Promotions/index.tsx +234 -220
  173. package/themes/original/src/components/Promotions/styles.tsx +7 -2
  174. package/themes/original/src/components/ReviewDriver/index.tsx +3 -3
  175. package/themes/original/src/components/ReviewOrder/index.tsx +43 -11
  176. package/themes/original/src/components/ReviewOrder/styles.tsx +7 -0
  177. package/themes/original/src/components/ReviewProducts/index.tsx +8 -5
  178. package/themes/original/src/components/ReviewTrigger/index.tsx +27 -9
  179. package/themes/original/src/components/ReviewTrigger/styles.tsx +8 -1
  180. package/themes/original/src/components/ScheduleAccordion/index.tsx +68 -0
  181. package/themes/original/src/components/ScheduleAccordion/styles.tsx +14 -0
  182. package/themes/original/src/components/ServiceForm/index.tsx +360 -265
  183. package/themes/original/src/components/Sessions/index.tsx +11 -8
  184. package/themes/original/src/components/Sessions/styles.tsx +5 -0
  185. package/themes/original/src/components/SignupForm/index.tsx +150 -100
  186. package/themes/original/src/components/SingleOrderCard/index.tsx +125 -56
  187. package/themes/original/src/components/SingleOrderCard/styles.tsx +10 -8
  188. package/themes/original/src/components/SingleProductCard/index.tsx +116 -79
  189. package/themes/original/src/components/SingleProductCard/styles.tsx +14 -13
  190. package/themes/original/src/components/SingleProductReview/index.tsx +38 -5
  191. package/themes/original/src/components/SingleProductReview/styles.tsx +12 -0
  192. package/themes/original/src/components/StripeCardsList/index.tsx +1 -1
  193. package/themes/original/src/components/StripeElementsForm/index.tsx +4 -1
  194. package/themes/original/src/components/UpsellingProducts/index.tsx +244 -215
  195. package/themes/original/src/components/UpsellingProducts/styles.tsx +12 -1
  196. package/themes/original/src/components/UserDetails/index.tsx +5 -3
  197. package/themes/original/src/components/UserFormDetails/index.tsx +50 -54
  198. package/themes/original/src/components/UserProfile/index.tsx +58 -35
  199. package/themes/original/src/components/UserProfile/styles.ts +17 -0
  200. package/themes/original/src/components/UserProfileForm/index.tsx +21 -28
  201. package/themes/original/src/components/UserProfileForm/styles.tsx +7 -0
  202. package/themes/original/src/components/WalletTransactions/index.tsx +76 -0
  203. package/themes/original/src/components/WalletTransactions/styles.tsx +13 -0
  204. package/themes/original/src/components/Wallets/index.tsx +177 -164
  205. package/themes/original/src/components/Wallets/styles.tsx +12 -8
  206. package/themes/original/src/components/shared/CardAnimation.tsx +47 -0
  207. package/themes/original/src/components/shared/HeaderTitle.tsx +8 -3
  208. package/themes/original/src/components/shared/OBottomPopup.tsx +6 -4
  209. package/themes/original/src/components/shared/OButton.tsx +9 -4
  210. package/themes/original/src/components/shared/OIcon.tsx +8 -1
  211. package/themes/original/src/components/shared/OInput.tsx +10 -1
  212. package/themes/original/src/layouts/Container.tsx +13 -9
  213. package/themes/original/src/types/index.tsx +42 -7
  214. package/themes/original/src/utils/index.tsx +322 -58
  215. package/themes/uber-eats/src/components/BusinessesListing/index.tsx +1 -1
@@ -4,3 +4,9 @@ export const Content = styled.View`
4
4
  padding-vertical: 20px;
5
5
  margin-bottom: 20px;
6
6
  `
7
+
8
+ export const Container = styled.ScrollView`
9
+ position: relative;
10
+ flex: 1;
11
+ margin: 10px 0;
12
+ `
@@ -1,11 +1,13 @@
1
1
  import React from 'react'
2
2
  import { useLanguage } from 'ordering-components/native'
3
3
  import { HelpGuideParams } from '../../types'
4
- import { OText, OButton, OIcon } from '../shared'
4
+ import { OText, OIcon } from '../shared'
5
5
  import { useTheme } from 'styled-components/native'
6
- import { StyleSheet } from 'react-native'
6
+ import { Platform, StyleSheet } from 'react-native'
7
+ import NavBar from '../NavBar'
7
8
  import {
8
- Content
9
+ Content,
10
+ Container
9
11
  } from './styles'
10
12
 
11
13
  export const HelpGuide = (props: HelpGuideParams) => {
@@ -35,14 +37,13 @@ export const HelpGuide = (props: HelpGuideParams) => {
35
37
  const goToBack = () => navigation?.canGoBack() && navigation.goBack()
36
38
 
37
39
  return (
38
- <>
39
- <OButton
40
- imgLeftSrc={theme.images.general.arrow_left}
41
- imgRightSrc={null}
42
- style={styles.btnBackArrow}
43
- onClick={() => goToBack()}
40
+ <Container pdng={Platform.OS === 'ios' ? '10px' : '0px'}>
41
+ <NavBar
42
+ title={t('GUIDE_TO_ORDERING', 'Guide to Ordering')}
43
+ onActionLeft={goToBack}
44
+ btnStyle={{ paddingLeft: 0 }}
45
+ showCall={false}
44
46
  />
45
- <OText size={22} weight={600}>{t('GUIDE_TO_ORDERING', 'Guide to Ordering')}</OText>
46
47
  <Content>
47
48
  <OText mBottom={15}>
48
49
  Lorem ipsum dolor sit amet, consectetur adipiscing elit. Blandit mauris varius faucibus varius condimentum morbi pretium mus. Aliquam bibendum erat venenatis feugiat sed.
@@ -62,6 +63,6 @@ export const HelpGuide = (props: HelpGuideParams) => {
62
63
  cover
63
64
  />
64
65
  </Content>
65
- </>
66
+ </Container>
66
67
  )
67
- }
68
+ }
@@ -4,3 +4,9 @@ export const Content = styled.View`
4
4
  padding-vertical: 20px;
5
5
  margin-bottom: 20px;
6
6
  `
7
+ export const Container = styled.ScrollView`
8
+ position: relative;
9
+ flex: 1;
10
+ margin: 10px 0;
11
+ padding-top: ${(props: any) => props.pdng}
12
+ `
@@ -1,13 +1,15 @@
1
1
  import React from 'react'
2
2
  import { useLanguage } from 'ordering-components/native'
3
3
  import { HelpOrderParams } from '../../types'
4
- import { OText, OButton, OIcon } from '../shared'
4
+ import { OText, OIcon } from '../shared'
5
5
  import { useTheme } from 'styled-components/native'
6
6
  import { StyleSheet } from 'react-native'
7
7
  import { WebView } from 'react-native-webview'
8
+ import NavBar from '../NavBar'
8
9
 
9
10
  import {
10
- Content
11
+ Content,
12
+ Container
11
13
  } from './styles'
12
14
 
13
15
  export const HelpOrder = (props: HelpOrderParams) => {
@@ -18,15 +20,6 @@ export const HelpOrder = (props: HelpOrderParams) => {
18
20
  const theme = useTheme()
19
21
 
20
22
  const styles = StyleSheet.create({
21
- btnBackArrow: {
22
- borderWidth: 0,
23
- backgroundColor: theme.colors.white,
24
- borderColor: theme.colors.white,
25
- shadowColor: theme.colors.white,
26
- display: 'flex',
27
- justifyContent: 'flex-start',
28
- paddingLeft: 0,
29
- },
30
23
  imageStyle: {
31
24
  width: '100%',
32
25
  height: 120
@@ -40,14 +33,13 @@ export const HelpOrder = (props: HelpOrderParams) => {
40
33
  const goToBack = () => navigation?.canGoBack() && navigation.goBack()
41
34
 
42
35
  return (
43
- <>
44
- <OButton
45
- imgLeftSrc={theme.images.general.arrow_left}
46
- imgRightSrc={null}
47
- style={styles.btnBackArrow}
48
- onClick={() => goToBack()}
36
+ <Container>
37
+ <NavBar
38
+ title={t('HELP_WITH_ORDER', 'Help with an order')}
39
+ onActionLeft={goToBack}
40
+ btnStyle={{ paddingLeft: 0 }}
41
+ showCall={false}
49
42
  />
50
- <OText size={22} weight={600}>{t('HELP_WITH_ORDER', 'Help with an order')}</OText>
51
43
  <Content>
52
44
  <OText mBottom={20}>
53
45
  Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vel in congue nisl, nisi. Mauris, condimentum auctor sed cras cursus arcu pellentesque. Sed tempus et, cursus ultricies nisl nisl, in eros.
@@ -74,6 +66,6 @@ export const HelpOrder = (props: HelpOrderParams) => {
74
66
  style={styles.videoStyle}
75
67
  />
76
68
  </Content>
77
- </>
69
+ </Container>
78
70
  )
79
- }
71
+ }
@@ -3,4 +3,11 @@ import styled from 'styled-components/native'
3
3
  export const Content = styled.View`
4
4
  padding-vertical: 20px;
5
5
  margin-bottom: 20px;
6
- `
6
+ `
7
+
8
+ export const Container = styled.ScrollView`
9
+ position: relative;
10
+ flex: 1;
11
+ margin: 10px 0;
12
+ `
13
+
@@ -1,7 +1,7 @@
1
- import React from 'react'
2
- import { LanguageSelector as LanguageSelectorController, useOrder } from 'ordering-components/native'
1
+ import React, { useState } from 'react'
2
+ import { LanguageSelector as LanguageSelectorController, useOrder, useLanguage } from 'ordering-components/native'
3
3
  import { useTheme } from 'styled-components/native';
4
- import { Platform, StyleSheet, View } from 'react-native'
4
+ import { StyleSheet, View } from 'react-native'
5
5
 
6
6
  import RNPickerSelect from 'react-native-picker-select'
7
7
  import { Container, DummyContainer } from './styles'
@@ -9,9 +9,17 @@ import { LanguageSelectorParams } from '../../types'
9
9
  import { OIcon } from '../shared'
10
10
 
11
11
  const LanguageSelectorUI = (props: LanguageSelectorParams) => {
12
+ const {
13
+ languagesState,
14
+ currentLanguage,
15
+ handleChangeLanguage,
16
+ iconColor,
17
+ pickerStyle
18
+ } = props
12
19
 
13
20
  const [orderState] = useOrder()
14
-
21
+ const [state] = useLanguage()
22
+ const [languagePressed, setLanguagePressed] = useState(currentLanguage)
15
23
  const theme = useTheme();
16
24
 
17
25
  const _pickerStyle = StyleSheet.create({
@@ -41,14 +49,11 @@ const LanguageSelectorUI = (props: LanguageSelectorParams) => {
41
49
  color: theme.colors.secundaryContrast
42
50
  }
43
51
  })
44
-
45
- const {
46
- languagesState,
47
- currentLanguage,
48
- handleChangeLanguage,
49
- iconColor,
50
- pickerStyle
51
- } = props
52
+
53
+ const changeLanguage = (lang : string) => {
54
+ setLanguagePressed(lang)
55
+ handleChangeLanguage(lang)
56
+ }
52
57
 
53
58
  const _languages = languagesState?.languages?.map((language: any) => {
54
59
  return {
@@ -67,14 +72,14 @@ const LanguageSelectorUI = (props: LanguageSelectorParams) => {
67
72
  <>
68
73
  {iconColor && <OIcon src={theme.images.general.language} color={iconColor} style={{ marginEnd: 14 }} width={16} />}
69
74
  <RNPickerSelect
70
- onValueChange={handleChangeLanguage}
75
+ onValueChange={changeLanguage}
71
76
  items={_languages || []}
72
77
  value={currentLanguage}
73
78
  style={pickerStyle ? pickerStyle : _pickerStyle}
74
79
  useNativeAndroidPickerStyle={false}
75
80
  placeholder={{}}
76
81
  Icon={() => <View style={pickerStyle ? pickerStyle.icon : _pickerStyle.icon}><OIcon src={theme.images.general.arrow_down} color={theme.colors.white} style={{ width: '100%' }} /></View>}
77
- disabled={orderState.loading}
82
+ disabled={orderState.loading || state.loading || state?.language?.code !== languagePressed}
78
83
  />
79
84
  </>
80
85
  ) : <DummyContainer />}
@@ -6,6 +6,7 @@ import { NotFoundSource } from '../NotFoundSource'
6
6
 
7
7
  import { ItemWrap } from './styles'
8
8
  import { OrdersOptionParams } from '../../types'
9
+ import { getOrderStatus } from '../../utils'
9
10
 
10
11
  import {
11
12
  Placeholder,
@@ -67,40 +68,6 @@ const OrdersOptionUI = (props: OrdersOptionParams) => {
67
68
  return moment(dateStr).format('MMMM DD,YYYY - hh:mm a');
68
69
  }
69
70
 
70
- const getOrderStatus = (s: string) => {
71
- const status = parseInt(s)
72
- const orderStatus = [
73
- { key: 0, value: t('PENDING', 'Pending') },
74
- { key: 1, value: t('COMPLETED', 'Completed') },
75
- { key: 2, value: t('REJECTED', 'Rejected') },
76
- { key: 3, value: t('DRIVER_IN_BUSINESS', 'Driver in business') },
77
- { key: 4, value: t('PREPARATION_COMPLETED', 'Preparation Completed') },
78
- { key: 5, value: t('REJECTED_BY_BUSINESS', 'Rejected by business') },
79
- { key: 6, value: t('REJECTED_BY_DRIVER', 'Rejected by Driver') },
80
- { key: 7, value: t('ACCEPTED_BY_BUSINESS', 'Accepted by business') },
81
- { key: 8, value: t('ACCEPTED_BY_DRIVER', 'Accepted by driver') },
82
- { key: 9, value: t('PICK_UP_COMPLETED_BY_DRIVER', 'Pick up completed by driver') },
83
- { key: 10, value: t('PICK_UP_FAILED_BY_DRIVER', 'Pick up Failed by driver') },
84
- { key: 11, value: t('DELIVERY_COMPLETED_BY_DRIVER', 'Delivery completed by driver') },
85
- { key: 12, value: t('DELIVERY_FAILED_BY_DRIVER', 'Delivery Failed by driver') },
86
- { key: 13, value: t('PREORDER', 'PreOrder') },
87
- { key: 14, value: t('ORDER_NOT_READY', 'Order not ready') },
88
- { key: 15, value: t('ORDER_PICKEDUP_COMPLETED_BY_CUSTOMER', 'Order picked up completed by customer') },
89
- { key: 16, value: t('CANCELLED_BY_CUSTOMER', 'Cancelled by customer') },
90
- { key: 17, value: t('ORDER_NOT_PICKEDUP_BY_CUSTOMER', 'Order not picked up by customer') },
91
- { key: 18, value: t('DRIVER_ALMOST_ARRIVED_TO_BUSINESS', 'Driver almost arrived to business') },
92
- { key: 19, value: t('DRIVER_ALMOST_ARRIVED_TO_CUSTOMER', 'Driver almost arrived to customer') },
93
- { key: 20, value: t('ORDER_CUSTOMER_ALMOST_ARRIVED_BUSINESS', 'Customer almost arrived to business') },
94
- { key: 21, value: t('ORDER_CUSTOMER_ARRIVED_BUSINESS', 'Customer arrived to business') },
95
- { key: 22, value: t('ORDER_LOOKING_FOR_DRIVER', 'Looking for driver') },
96
- { key: 23, value: t('ORDER_DRIVER_ON_WAY', 'Driver on way') }
97
- ]
98
-
99
- const objectStatus = orderStatus.find((o) => o.key === status)
100
-
101
- return objectStatus && objectStatus
102
- }
103
-
104
71
  return (
105
72
  <>
106
73
  {/* {(orders.length > 0) && (
@@ -1,91 +1,107 @@
1
- import React, { useEffect } from 'react'
1
+ import React, { useEffect, useState } from 'react'
2
2
  import { formatSeconds } from '../../../utils'
3
3
  import { StyleSheet, TouchableOpacity } from 'react-native';
4
4
  import { useCountdownTimer } from '../../../../../../src/hooks/useCountdownTimer';
5
5
  import { useLanguage } from 'ordering-components/native';
6
6
  import { OTPContainer } from './styles';
7
7
  import { OText, OButton } from '../../shared';
8
- import OTPInputView from '@twotalltotems/react-native-otp-input'
8
+ import OtpInputs from 'react-native-otp-inputs';
9
9
  import { useTheme } from 'styled-components/native';
10
10
  import { otpParams } from '../../../types'
11
11
 
12
12
  export const Otp = (props: otpParams) => {
13
- const {
14
- willVerifyOtpState,
15
- setWillVerifyOtpState,
16
- onSubmit,
17
- handleLoginOtp,
18
- setAlertState,
19
- pinCount
20
- } = props
13
+ const {
14
+ willVerifyOtpState,
15
+ setWillVerifyOtpState,
16
+ onSubmit,
17
+ handleLoginOtp,
18
+ setAlertState,
19
+ pinCount
20
+ } = props
21
21
 
22
- const theme = useTheme();
23
- const [, t] = useLanguage();
24
- const [otpLeftTime, _, resetOtpLeftTime]: any = useCountdownTimer(
25
- 600, willVerifyOtpState)
22
+ const theme = useTheme();
23
+ const [, t] = useLanguage();
24
+ const [otpLeftTime, _, resetOtpLeftTime]: any = useCountdownTimer(
25
+ 600, willVerifyOtpState)
26
26
 
27
+ const [code, setCode] = useState('')
27
28
 
28
- const handleOnSubmit = () => {
29
- setAlertState({
30
- open: true,
31
- title: t('CODE_SENT', 'The code has been sent'),
32
- })
33
- resetOtpLeftTime()
34
- onSubmit()
29
+
30
+ const handleOnSubmit = () => {
31
+ setAlertState({
32
+ open: true,
33
+ title: t('CODE_SENT', 'The code has been sent'),
34
+ })
35
+ resetOtpLeftTime()
36
+ onSubmit()
37
+ }
38
+
39
+ useEffect(() => {
40
+ if (otpLeftTime === 0) {
41
+ setAlertState({
42
+ open: true,
43
+ title: t('TIME_IS_UP', 'Time is up'),
44
+ content: t('PLEASE_RESEND_CODE', 'Please resend code again')
45
+ })
35
46
  }
47
+ }, [otpLeftTime])
36
48
 
37
- useEffect(() => {
38
- if (otpLeftTime === 0) {
39
- setAlertState({
40
- open: true,
41
- title: t('TIME_IS_UP', 'Time is up'),
42
- content: t('PLEASE_RESEND_CODE', 'Please resend code again')
43
- })
44
- }
45
- }, [otpLeftTime])
49
+ useEffect(() => {
50
+ if (code?.length === (pinCount || 6)) {
51
+ handleLoginOtp(code)
52
+ }
53
+ }, [code])
46
54
 
47
- const loginStyle = StyleSheet.create({
48
- underlineStyleBase: {
49
- width: 45,
50
- height: 60,
51
- borderWidth: 1,
52
- fontSize: 16
53
- },
54
- underlineStyleHighLighted: {
55
- borderColor: theme.colors.primary,
56
- color: theme.colors.primary,
57
- fontSize: 16
58
- },
59
- });
55
+ const loginStyle = StyleSheet.create({
56
+ container: {
57
+ width: '100%',
58
+ flexDirection: 'row',
59
+ justifyContent: 'space-between',
60
+ marginVertical: 30
61
+ },
62
+ underlineStyleBase: {
63
+ width: 45,
64
+ height: 50,
65
+ borderWidth: 1,
66
+ fontSize: 16,
67
+ borderRadius: 8,
68
+ borderColor: theme.colors.lightGray,
69
+ textAlign: 'center'
70
+ },
71
+ underlineStyleHighLighted: {
72
+ borderColor: theme.colors.primary,
73
+ color: theme.colors.primary,
74
+ fontSize: 16
75
+ },
76
+ });
60
77
 
61
- return (
62
- <>
63
- <OTPContainer>
64
- <OText size={24}>
65
- {formatSeconds(otpLeftTime)}
66
- </OText>
67
- <OTPInputView
68
- style={{ width: '100%', height: 150 }}
69
- pinCount={pinCount || 6}
70
- codeInputFieldStyle={loginStyle.underlineStyleBase}
71
- codeInputHighlightStyle={loginStyle.underlineStyleHighLighted}
72
- onCodeFilled={(code: string) => handleLoginOtp(code)}
73
- selectionColor={theme.colors.primary}
74
- />
75
- <TouchableOpacity onPress={() => handleOnSubmit()} disabled={otpLeftTime > 520}>
76
- <OText size={16} mBottom={30} color={otpLeftTime > 520 ? theme.colors.disabled : theme.colors.primary}>
77
- {t('RESEND_CODE', 'Resend code')}
78
- </OText>
79
- </TouchableOpacity>
80
- <OButton
81
- onClick={() => setWillVerifyOtpState(false)}
82
- bgColor={theme.colors.white}
83
- borderColor={theme.colors.primary}
84
- textStyle={{ color: theme.colors.primary }}
85
- style={{ borderRadius: 8, width: '100%' }}
86
- text={t('CANCEL', 'Cancel')}
87
- />
88
- </OTPContainer>
89
- </>
90
- )
78
+ return (
79
+ <>
80
+ <OTPContainer>
81
+ <OText size={24}>
82
+ {formatSeconds(otpLeftTime)}
83
+ </OText>
84
+ <OtpInputs
85
+ autofillFromClipboard
86
+ numberOfInputs={pinCount || 6}
87
+ style={loginStyle.container}
88
+ inputStyles={loginStyle.underlineStyleBase}
89
+ handleChange={setCode}
90
+ />
91
+ <TouchableOpacity onPress={() => handleOnSubmit()} disabled={otpLeftTime > 520}>
92
+ <OText size={16} mBottom={30} color={otpLeftTime > 520 ? theme.colors.disabled : theme.colors.primary}>
93
+ {t('RESEND_CODE', 'Resend code')}
94
+ </OText>
95
+ </TouchableOpacity>
96
+ <OButton
97
+ onClick={() => setWillVerifyOtpState(false)}
98
+ bgColor={theme.colors.white}
99
+ borderColor={theme.colors.primary}
100
+ textStyle={{ color: theme.colors.primary }}
101
+ style={{ borderRadius: 8, width: '100%' }}
102
+ text={t('CANCEL', 'Cancel')}
103
+ />
104
+ </OTPContainer>
105
+ </>
106
+ )
91
107
  }
@@ -3,5 +3,4 @@ import styled from 'styled-components/native';
3
3
  export const OTPContainer = styled.View`
4
4
  padding: 20px;
5
5
  align-items: center;
6
- flex: 1
7
6
  `