ordering-ui-react-native 0.17.44 → 0.17.45-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 (216) hide show
  1. package/package.json +8 -7
  2. package/src/DeliveryApp.tsx +43 -1
  3. package/src/components/BusinessesListing/index.tsx +1 -1
  4. package/src/components/OrderCreating/index.tsx +1 -21
  5. package/src/components/PaymentOptionsWebView/index.tsx +29 -8
  6. package/src/components/PhoneInputNumber/index.tsx +6 -2
  7. package/src/components/StripeMethodForm/index.tsx +136 -102
  8. package/src/components/VerifyPhone/styles.tsx +1 -2
  9. package/src/components/shared/OToast.tsx +4 -4
  10. package/src/types/index.tsx +5 -0
  11. package/src/utils/index.tsx +7 -1
  12. package/themes/business/index.tsx +2 -0
  13. package/themes/business/src/components/AcceptOrRejectOrder/index.tsx +265 -240
  14. package/themes/business/src/components/AcceptOrRejectOrder/styles.tsx +6 -4
  15. package/themes/business/src/components/BusinessController/index.tsx +0 -1
  16. package/themes/business/src/components/Chat/index.tsx +125 -113
  17. package/themes/business/src/components/DriverMap/index.tsx +17 -6
  18. package/themes/business/src/components/GoogleMap/index.tsx +58 -57
  19. package/themes/business/src/components/LoginForm/Otp/index.tsx +120 -0
  20. package/themes/business/src/components/LoginForm/Otp/styles.tsx +7 -0
  21. package/themes/business/src/components/LoginForm/index.tsx +238 -80
  22. package/themes/business/src/components/LoginForm/styles.tsx +10 -0
  23. package/themes/business/src/components/MapView/index.tsx +10 -10
  24. package/themes/business/src/components/NewOrderNotification/index.tsx +49 -50
  25. package/themes/business/src/components/OrderDetails/Delivery.tsx +4 -3
  26. package/themes/business/src/components/OrderDetails/OrderContentComponent.tsx +92 -49
  27. package/themes/business/src/components/OrderDetails/OrderHeaderComponent.tsx +59 -62
  28. package/themes/business/src/components/OrderDetailsLogistic/index.tsx +195 -0
  29. package/themes/business/src/components/OrderDetailsLogistic/styles.tsx +5 -0
  30. package/themes/business/src/components/OrderMessage/index.tsx +18 -17
  31. package/themes/business/src/components/OrderSummary/index.tsx +113 -121
  32. package/themes/business/src/components/OrdersOption/index.tsx +32 -75
  33. package/themes/business/src/components/PreviousOrders/OrderItem.tsx +250 -0
  34. package/themes/business/src/components/PreviousOrders/OrdersGroupedItem.tsx +115 -0
  35. package/themes/business/src/components/PreviousOrders/index.tsx +445 -243
  36. package/themes/business/src/components/PreviousOrders/styles.tsx +31 -3
  37. package/themes/business/src/components/ProductItemAccordion/index.tsx +27 -3
  38. package/themes/business/src/components/ReviewCustomer/index.tsx +29 -14
  39. package/themes/business/src/components/StoresList/index.tsx +2 -2
  40. package/themes/business/src/components/shared/OLink.tsx +33 -13
  41. package/themes/business/src/components/shared/OModal.tsx +16 -9
  42. package/themes/business/src/components/shared/OText.tsx +8 -2
  43. package/themes/business/src/types/index.tsx +32 -2
  44. package/themes/business/src/utils/index.tsx +44 -1
  45. package/themes/doordash/src/components/BusinessesListing/index.tsx +1 -1
  46. package/themes/doordash/src/components/LoginForm/index.tsx +1 -2
  47. package/themes/instacart/src/components/BusinessesListing/index.tsx +1 -1
  48. package/themes/kiosk/src/components/BusinessesListing/index.tsx +2 -1
  49. package/themes/kiosk/src/components/Checkout/index.tsx +6 -0
  50. package/themes/kiosk/src/components/LoginForm/Otp/index.tsx +92 -0
  51. package/themes/kiosk/src/components/LoginForm/Otp/styles.tsx +7 -0
  52. package/themes/kiosk/src/components/LoginForm/index.tsx +480 -156
  53. package/themes/kiosk/src/components/LoginForm/styles.tsx +14 -1
  54. package/themes/kiosk/src/components/NavBar/index.tsx +14 -14
  55. package/themes/kiosk/src/components/OptionCard/index.tsx +1 -1
  56. package/themes/kiosk/src/components/OrderTypeCardSelector/index.tsx +8 -10
  57. package/themes/kiosk/src/components/PhoneInputNumber/index.tsx +3 -2
  58. package/themes/kiosk/src/components/PhoneInputNumber/styles.tsx +1 -3
  59. package/themes/kiosk/src/components/ProductForm/index.tsx +1 -14
  60. package/themes/kiosk/src/components/shared/OButton.tsx +5 -18
  61. package/themes/kiosk/src/components/shared/OModal.tsx +14 -11
  62. package/themes/kiosk/src/layouts/Container.tsx +7 -1
  63. package/themes/kiosk/src/types/index.d.ts +13 -0
  64. package/themes/kiosk/src/utils/index.tsx +15 -0
  65. package/themes/original/index.tsx +6 -0
  66. package/themes/original/src/components/AddressDetails/index.tsx +29 -11
  67. package/themes/original/src/components/AddressForm/index.tsx +79 -44
  68. package/themes/original/src/components/AddressList/index.tsx +26 -21
  69. package/themes/original/src/components/AddressList/styles.tsx +4 -2
  70. package/themes/original/src/components/AnalyticsSegment/index.tsx +193 -10
  71. package/themes/original/src/components/AppleLogin/index.tsx +4 -4
  72. package/themes/original/src/components/AppleLogin/styles.tsx +3 -1
  73. package/themes/original/src/components/BusinessBasicInformation/index.tsx +160 -91
  74. package/themes/original/src/components/BusinessBasicInformation/styles.tsx +9 -7
  75. package/themes/original/src/components/BusinessController/index.tsx +141 -67
  76. package/themes/original/src/components/BusinessController/styles.tsx +22 -2
  77. package/themes/original/src/components/BusinessFeaturedController/index.tsx +21 -54
  78. package/themes/original/src/components/BusinessFeaturedController/styles.tsx +8 -0
  79. package/themes/original/src/components/BusinessInformation/index.tsx +10 -31
  80. package/themes/original/src/components/BusinessItemAccordion/index.tsx +23 -22
  81. package/themes/original/src/components/BusinessListingSearch/index.tsx +351 -326
  82. package/themes/original/src/components/BusinessPreorder/index.tsx +97 -16
  83. package/themes/original/src/components/BusinessProductsList/index.tsx +20 -11
  84. package/themes/original/src/components/BusinessProductsList/styles.tsx +8 -3
  85. package/themes/original/src/components/BusinessProductsListing/UpsellingRedirect.tsx +1 -1
  86. package/themes/original/src/components/BusinessProductsListing/index.tsx +684 -524
  87. package/themes/original/src/components/BusinessProductsListing/styles.tsx +2 -4
  88. package/themes/original/src/components/BusinessReviews/index.tsx +3 -1
  89. package/themes/original/src/components/BusinessesListing/Layout/Appointment/index.tsx +1 -1
  90. package/themes/original/src/components/BusinessesListing/Layout/Original/index.tsx +106 -79
  91. package/themes/original/src/components/BusinessesListing/Layout/Original/styles.tsx +1 -9
  92. package/themes/original/src/components/BusinessesListing/index.tsx +0 -1
  93. package/themes/original/src/components/Cart/index.tsx +100 -67
  94. package/themes/original/src/components/CartContent/index.tsx +115 -19
  95. package/themes/original/src/components/CartContent/styles.tsx +17 -7
  96. package/themes/original/src/components/Checkout/index.tsx +375 -178
  97. package/themes/original/src/components/Checkout/styles.tsx +4 -2
  98. package/themes/original/src/components/CitiesControl/index.tsx +89 -0
  99. package/themes/original/src/components/CitiesControl/styles.tsx +17 -0
  100. package/themes/original/src/components/CouponControl/index.tsx +10 -3
  101. package/themes/original/src/components/DriverTips/index.tsx +52 -34
  102. package/themes/original/src/components/FacebookLogin/styles.tsx +3 -1
  103. package/themes/original/src/components/Favorite/index.tsx +8 -9
  104. package/themes/original/src/components/Favorite/styles.tsx +1 -1
  105. package/themes/original/src/components/FavoriteList/index.tsx +51 -80
  106. package/themes/original/src/components/FloatingButton/index.tsx +1 -2
  107. package/themes/original/src/components/FloatingButton/styles.tsx +1 -1
  108. package/themes/original/src/components/GPSButton/index.tsx +6 -4
  109. package/themes/original/src/components/GPSButton/styles.ts +3 -3
  110. package/themes/original/src/components/GiftCard/GiftCardUI/index.tsx +96 -0
  111. package/themes/original/src/components/GiftCard/GiftCardUI/styles.tsx +5 -0
  112. package/themes/original/src/components/GiftCard/PurchaseGiftCard/index.tsx +100 -0
  113. package/themes/original/src/components/GiftCard/PurchaseGiftCard/styles.tsx +8 -0
  114. package/themes/original/src/components/GiftCard/RedeemGiftCard/index.tsx +191 -0
  115. package/themes/original/src/components/GiftCard/RedeemGiftCard/styles.tsx +8 -0
  116. package/themes/original/src/components/GiftCard/SendGiftCard/index.tsx +165 -0
  117. package/themes/original/src/components/GiftCard/SendGiftCard/styles.tsx +9 -0
  118. package/themes/original/src/components/GoogleLogin/styles.tsx +1 -1
  119. package/themes/original/src/components/GoogleMap/index.tsx +15 -4
  120. package/themes/original/src/components/Help/index.tsx +8 -8
  121. package/themes/original/src/components/HelpAccountAndPayment/index.tsx +10 -31
  122. package/themes/original/src/components/HelpAccountAndPayment/styles.tsx +5 -3
  123. package/themes/original/src/components/HelpGuide/index.tsx +6 -6
  124. package/themes/original/src/components/HelpGuide/styles.tsx +6 -0
  125. package/themes/original/src/components/HelpOrder/index.tsx +6 -15
  126. package/themes/original/src/components/HelpOrder/styles.tsx +8 -1
  127. package/themes/original/src/components/Home/index.tsx +13 -4
  128. package/themes/original/src/components/LastOrder/index.tsx +1 -34
  129. package/themes/original/src/components/LoginForm/Otp/index.tsx +139 -75
  130. package/themes/original/src/components/LoginForm/Otp/styles.tsx +0 -1
  131. package/themes/original/src/components/LoginForm/index.tsx +70 -27
  132. package/themes/original/src/components/LottieAnimation/index.tsx +89 -55
  133. package/themes/original/src/components/MessageListing/index.tsx +16 -42
  134. package/themes/original/src/components/Messages/index.tsx +32 -10
  135. package/themes/original/src/components/MomentOption/index.tsx +195 -88
  136. package/themes/original/src/components/MultiCart/index.tsx +50 -0
  137. package/themes/original/src/components/MultiCartsPaymethodsAndWallets/index.tsx +151 -49
  138. package/themes/original/src/components/MultiCheckout/index.tsx +308 -88
  139. package/themes/original/src/components/MultiCheckout/styles.tsx +3 -1
  140. package/themes/original/src/components/MultiOrdersDetails/SingleOrderCard.tsx +37 -224
  141. package/themes/original/src/components/MultiOrdersDetails/index.tsx +68 -21
  142. package/themes/original/src/components/MultiOrdersDetails/styles.tsx +1 -1
  143. package/themes/original/src/components/MyOrders/index.tsx +53 -51
  144. package/themes/original/src/components/NavBar/index.tsx +18 -18
  145. package/themes/original/src/components/NotFoundSource/index.tsx +14 -10
  146. package/themes/original/src/components/Notifications/index.tsx +46 -50
  147. package/themes/original/src/components/Notifications/styles.tsx +6 -3
  148. package/themes/original/src/components/OrderDetails/OrderEta.tsx +76 -0
  149. package/themes/original/src/components/OrderDetails/OrderHistory.tsx +15 -3
  150. package/themes/original/src/components/OrderDetails/index.tsx +199 -359
  151. package/themes/original/src/components/OrderDetails/styles.tsx +0 -1
  152. package/themes/original/src/components/OrderItAgain/index.tsx +3 -1
  153. package/themes/original/src/components/OrderProgress/index.tsx +93 -114
  154. package/themes/original/src/components/OrderProgress/styles.tsx +5 -0
  155. package/themes/original/src/components/OrderSummary/index.tsx +85 -57
  156. package/themes/original/src/components/OrderTypeSelector/index.tsx +1 -1
  157. package/themes/original/src/components/OrdersOption/PreviousBusinessOrdered/index.tsx +24 -19
  158. package/themes/original/src/components/OrdersOption/PreviousProductsOrdered/index.tsx +14 -14
  159. package/themes/original/src/components/OrdersOption/index.tsx +70 -65
  160. package/themes/original/src/components/OrdersOption/styles.tsx +1 -1
  161. package/themes/original/src/components/PageBanner/index.tsx +171 -0
  162. package/themes/original/src/components/PageBanner/styles.tsx +11 -0
  163. package/themes/original/src/components/PaymentOptionCard/index.tsx +180 -0
  164. package/themes/original/src/components/PaymentOptionStripe/styles.tsx +1 -1
  165. package/themes/original/src/components/PaymentOptionWallet/index.tsx +56 -56
  166. package/themes/original/src/components/PaymentOptions/index.tsx +64 -7
  167. package/themes/original/src/components/PhoneInputNumber/index.tsx +4 -4
  168. package/themes/original/src/components/PlaceSpot/index.tsx +12 -6
  169. package/themes/original/src/components/ProductForm/index.tsx +116 -37
  170. package/themes/original/src/components/ProductForm/styles.tsx +5 -7
  171. package/themes/original/src/components/ProductItemAccordion/index.tsx +14 -13
  172. package/themes/original/src/components/ProductOptionSubOption/index.tsx +19 -11
  173. package/themes/original/src/components/ProductOptionSubOption/styles.tsx +1 -2
  174. package/themes/original/src/components/ProfessionalFilter/SingleProfessionalCard/index.tsx +108 -0
  175. package/themes/original/src/components/ProfessionalFilter/index.tsx +20 -50
  176. package/themes/original/src/components/ProfessionalProfile/index.tsx +36 -7
  177. package/themes/original/src/components/Promotions/index.tsx +234 -220
  178. package/themes/original/src/components/Promotions/styles.tsx +10 -3
  179. package/themes/original/src/components/ReviewDriver/index.tsx +3 -3
  180. package/themes/original/src/components/ReviewOrder/index.tsx +26 -9
  181. package/themes/original/src/components/ReviewOrder/styles.tsx +7 -0
  182. package/themes/original/src/components/ReviewProducts/index.tsx +23 -11
  183. package/themes/original/src/components/ReviewTrigger/index.tsx +27 -9
  184. package/themes/original/src/components/ReviewTrigger/styles.tsx +8 -1
  185. package/themes/original/src/components/ScheduleAccordion/index.tsx +68 -0
  186. package/themes/original/src/components/ScheduleAccordion/styles.tsx +14 -0
  187. package/themes/original/src/components/ServiceForm/index.tsx +74 -19
  188. package/themes/original/src/components/Sessions/index.tsx +11 -8
  189. package/themes/original/src/components/Sessions/styles.tsx +5 -0
  190. package/themes/original/src/components/SignupForm/index.tsx +42 -19
  191. package/themes/original/src/components/SingleOrderCard/index.tsx +130 -52
  192. package/themes/original/src/components/SingleOrderCard/styles.tsx +11 -2
  193. package/themes/original/src/components/SingleProductCard/index.tsx +72 -34
  194. package/themes/original/src/components/SingleProductCard/styles.tsx +22 -4
  195. package/themes/original/src/components/SingleProductReview/styles.tsx +1 -1
  196. package/themes/original/src/components/StripeCardsList/index.tsx +13 -3
  197. package/themes/original/src/components/StripeElementsForm/index.tsx +51 -34
  198. package/themes/original/src/components/UpsellingProducts/index.tsx +238 -224
  199. package/themes/original/src/components/UpsellingProducts/styles.tsx +12 -1
  200. package/themes/original/src/components/UserDetails/index.tsx +8 -4
  201. package/themes/original/src/components/UserFormDetails/index.tsx +47 -7
  202. package/themes/original/src/components/UserProfile/index.tsx +5 -7
  203. package/themes/original/src/components/UserProfileForm/index.tsx +25 -28
  204. package/themes/original/src/components/UserProfileForm/styles.tsx +7 -0
  205. package/themes/original/src/components/WalletTransactionItem/index.tsx +2 -2
  206. package/themes/original/src/components/WalletTransactions/index.tsx +3 -3
  207. package/themes/original/src/components/Wallets/index.tsx +67 -24
  208. package/themes/original/src/components/Wallets/styles.tsx +5 -4
  209. package/themes/original/src/components/shared/HeaderTitle.tsx +8 -3
  210. package/themes/original/src/components/shared/OButton.tsx +6 -2
  211. package/themes/original/src/components/shared/OInput.tsx +16 -2
  212. package/themes/original/src/components/shared/OModal.tsx +3 -3
  213. package/themes/original/src/layouts/Container.tsx +1 -1
  214. package/themes/original/src/types/index.tsx +38 -9
  215. package/themes/original/src/utils/index.tsx +364 -58
  216. package/themes/uber-eats/src/components/BusinessesListing/index.tsx +1 -1
@@ -49,6 +49,8 @@ const ProfileListUI = (props: ProfileParams) => {
49
49
 
50
50
  const theme = useTheme();
51
51
 
52
+ const isChewLayout = theme?.header?.components?.layout?.type?.toLowerCase() === 'chew'
53
+
52
54
  const langPickerStyle = StyleSheet.create({
53
55
  inputAndroid: {
54
56
  color: theme.colors.textNormal,
@@ -89,8 +91,7 @@ const ProfileListUI = (props: ProfileParams) => {
89
91
  marginEnd: 14
90
92
  },
91
93
  pagePadding: {
92
- paddingLeft: 40,
93
- paddingRight: 40
94
+ paddingHorizontal: isChewLayout ? 20 : 40
94
95
  },
95
96
  messageIconStyle: {
96
97
  fontSize: 18,
@@ -163,10 +164,7 @@ const ProfileListUI = (props: ProfileParams) => {
163
164
  }, [removeAccountState])
164
165
 
165
166
  return (
166
- <View style={{ flex: 1, height: height - top - bottom - 62, paddingTop: 20 }}>
167
- {/* <OText size={24} style={{ marginTop: 15, paddingHorizontal: 40 }}>
168
- {t('PROFILE', 'Profile')}
169
- </OText> */}
167
+ <View style={{ flex: 1, height: height - top - bottom, paddingTop: 20 }}>
170
168
  <CenterView style={styles.pagePadding}>
171
169
  {user?.photo && (
172
170
  <View style={styles.photo}>
@@ -183,7 +181,7 @@ const ProfileListUI = (props: ProfileParams) => {
183
181
  <View style={{ flexBasis: '70%' }}>
184
182
  <OText size={20} lineHeight={30} weight={Platform.OS === 'ios' ? '500' : 'bold'} color={theme.colors.textNormal}>{user?.name} {user?.lastname}</OText>
185
183
  <TouchableOpacity onPress={() => navigation.navigate('ProfileForm', { ...detailProps })}>
186
- <OText size={12} lineHeight={18} color={theme.colors.textSecondary} style={{ textDecorationLine: 'underline' }}>{t('VIEW_ACCOUNT', 'View account')}</OText>
184
+ <OText size={12} lineHeight={18} color={theme.colors.primary} style={{ textDecorationLine: 'underline' }}>{t('VIEW_ACCOUNT', 'View account')}</OText>
187
185
  </TouchableOpacity>
188
186
  </View>
189
187
  </CenterView>
@@ -16,9 +16,8 @@ import { ProfileParams } from '../../types';
16
16
  import { UserFormDetailsUI } from '../UserFormDetails';
17
17
 
18
18
  import { OIcon, OIconButton, OModal } from '../shared';
19
- import { CenterView } from './styles';
19
+ import { CenterView, Container } from './styles';
20
20
  import NavBar from '../NavBar';
21
- import { Container } from '../../layouts/Container';
22
21
  import { VerifyPhone } from '../VerifyPhone'
23
22
  import Ionicons from 'react-native-vector-icons/Ionicons'
24
23
  import FastImage from 'react-native-fast-image'
@@ -51,11 +50,6 @@ const ProfileUI = (props: ProfileParams) => {
51
50
  shadowOpacity: 0.2,
52
51
  backgroundColor: theme.colors.white,
53
52
  },
54
- pagePadding: {
55
- paddingLeft: 40,
56
- paddingRight: 40,
57
- justifyContent: 'center',
58
- },
59
53
  navBarStyle: {
60
54
  paddingLeft: 40,
61
55
  paddingRight: 40,
@@ -284,17 +278,22 @@ const ProfileUI = (props: ProfileParams) => {
284
278
 
285
279
  return (
286
280
  <>
287
- <NavBar
288
- title={t('ACCOUNT', 'Account')}
289
- titleAlign={'center'}
290
- onActionLeft={() => navigation.goBack()}
291
- showCall={false}
292
- style={{ paddingHorizontal: 40, paddingVertical: Platform.OS === 'ios' ? 0 : 30 }}
293
- />
294
- <KeyboardAvoidingView behavior={Platform.OS == 'ios' ? 'padding' : 'height'} enabled style={{ flex: 1, flexDirection: 'column', justifyContent: 'center' }}>
295
- <Container noPadding>
296
-
297
- <CenterView style={styles.pagePadding}>
281
+ <Container
282
+ pdng={Platform.OS === 'ios' ? '20px' : '10px'}
283
+ >
284
+ <NavBar
285
+ title={t('ACCOUNT', 'Account')}
286
+ titleAlign={'center'}
287
+ onActionLeft={() => navigation.goBack()}
288
+ showCall={false}
289
+ btnStyle={{ paddingLeft: 0 }}
290
+ />
291
+ <KeyboardAvoidingView
292
+ behavior={Platform.OS == 'ios' ? 'padding' : 'height'}
293
+ enabled={Platform.OS === 'ios' ? true : false}
294
+ style={{ flex: 1, flexDirection: 'column', justifyContent: 'center' }}
295
+ >
296
+ <CenterView>
298
297
  <View style={styles.photo}>
299
298
  {user?.photo ? (
300
299
  <FastImage
@@ -317,17 +316,15 @@ const ProfileUI = (props: ProfileParams) => {
317
316
  onClick={() => handleImagePicker()}
318
317
  />
319
318
  </CenterView>
320
- <View style={{ height: 8, marginLeft: -40, marginRight: -40, backgroundColor: theme.colors.backgroundGray100, marginVertical: 32, zIndex: 10 }} />
319
+ <View style={{ height: 8, backgroundColor: theme.colors.backgroundGray100, marginVertical: 32, zIndex: 10 }} />
321
320
  <Spinner visible={formState?.loading || verifyPhoneState?.loading} />
322
- <View style={styles.pagePadding}>
323
- <UserFormDetailsUI
324
- {...props}
325
- isEdit
326
- setWillVerifyOtpState={setWillVerifyOtpState}
327
- />
328
- </View>
329
- </Container>
330
- </KeyboardAvoidingView>
321
+ <UserFormDetailsUI
322
+ {...props}
323
+ isEdit
324
+ setWillVerifyOtpState={setWillVerifyOtpState}
325
+ />
326
+ </KeyboardAvoidingView>
327
+ </Container>
331
328
  <OModal
332
329
  open={isModalVisible}
333
330
  onClose={() => setIsModalVisible(false)}
@@ -9,6 +9,13 @@ export const UserData = styled.View`
9
9
  text-align: center;
10
10
  `
11
11
 
12
+ export const Container = styled.ScrollView`
13
+ position: relative;
14
+ flex: 1;
15
+ padding-top: ${(props: any) => props.pdng};
16
+ margin-bottom: 40px;
17
+ `
18
+
12
19
  export const Names = styled.View`
13
20
  flex-direction: row;
14
21
  `
@@ -54,7 +54,7 @@ export const WalletTransactionItem = (props: any) => {
54
54
  <OText>{item?.description}</OText>
55
55
  </DescriptionBlock>
56
56
  )}
57
- {!!item?.code && (
57
+ {/* {!!item?.code && (
58
58
  <DescriptionBlock>
59
59
  <OText weight={'bold'}>
60
60
  {t('CODE', 'Code')}
@@ -63,7 +63,7 @@ export const WalletTransactionItem = (props: any) => {
63
63
  </OText>
64
64
  </OText>
65
65
  </DescriptionBlock>
66
- )}
66
+ )} */}
67
67
  </Container>
68
68
  )
69
69
  }
@@ -63,12 +63,12 @@ export const WalletTransactions = (props: any) => {
63
63
  (transactionsList?.error ||
64
64
  !transactionsList.list?.[`wallet:${currentWalletSelected?.id}`]?.length) &&
65
65
  (
66
- <NotFoundSource
67
- content={transactionsList?.error
66
+ <OText color={theme.colors.disabled} size={16} style={{ textAlign: 'center' }}>
67
+ {transactionsList?.error
68
68
  ? t('ERROR_NOT_FOUND_TRANSACTIONS', 'Sorry, an error has occurred')
69
69
  : t('NOT_FOUND_TRANSACTIONS', 'No transactions to show at this time.')
70
70
  }
71
- />
71
+ </OText>
72
72
  )}
73
73
  </View>
74
74
  </Container>
@@ -1,8 +1,9 @@
1
1
  import React, { useState, useEffect } from 'react'
2
- import { Pressable, StyleSheet, View, ScrollView, TouchableOpacity } from 'react-native';
2
+ import { Pressable, StyleSheet, View, ScrollView, TouchableOpacity, Platform } from 'react-native';
3
3
  import { useTheme } from 'styled-components/native'
4
4
  import { Fade, Placeholder, PlaceholderLine } from 'rn-placeholder';
5
5
  import FastImage from 'react-native-fast-image'
6
+ import NavBar from '../NavBar'
6
7
  import {
7
8
  WalletList,
8
9
  useLanguage,
@@ -27,6 +28,7 @@ import {
27
28
  import { OButton, OIcon, OText, OModal } from '../shared';
28
29
  import { NotFoundSource } from '../NotFoundSource';
29
30
  import { WalletTransactions } from '../WalletTransactions'
31
+ import { GiftCardUI } from '../GiftCard/GiftCardUI'
30
32
 
31
33
  const WalletsUI = (props: any) => {
32
34
  const {
@@ -47,6 +49,7 @@ const WalletsUI = (props: any) => {
47
49
  const [{ parsePrice }] = useUtils()
48
50
  const [{ configs }] = useConfig()
49
51
 
52
+
50
53
  const styles = StyleSheet.create({
51
54
  logoStyle: {
52
55
  width: 120,
@@ -57,12 +60,20 @@ const WalletsUI = (props: any) => {
57
60
  flexDirection: 'column',
58
61
  justifyContent: 'center',
59
62
  alignItems: 'center',
63
+ },
64
+ dividerStyle: {
65
+ height: 8,
66
+ backgroundColor: theme.colors.backgroundGray100,
67
+ marginVertical: 25,
68
+ marginHorizontal: -40,
69
+ width: '100%'
60
70
  }
61
71
  });
62
72
 
63
73
  const [tabSelected, setTabSelected] = useState(isWalletCashEnabled ? 'cash' : 'credit_point')
64
74
  const [openHistory, setOpenHistory] = useState(false)
65
- const isChewLayout = theme?.wallets_view?.components?.layout?.type === 'chew'
75
+ const isChewLayout = theme?.header?.components?.layout?.type === 'chew'
76
+ const hideWalletsTheme = theme?.bar_menu?.components?.wallets?.hidden
66
77
 
67
78
  const isWalletEnabled = configs?.cash_wallet?.value && configs?.wallet_enabled?.value === '1' && (isWalletCashEnabled || isWalletPointsEnabled)
68
79
 
@@ -109,20 +120,41 @@ const WalletsUI = (props: any) => {
109
120
 
110
121
  return (
111
122
  <>
112
- <Container>
123
+ <Container
124
+ pdng={Platform.OS === 'ios' ? '10px' : '0'}
125
+ >
113
126
  <Header>
114
- <OText size={24}>{t('WALLETS', 'Wallets')}</OText>
115
- {isChewLayout && (
116
- <OButton
117
- text={t('WALLET_HISTORY', 'Wallet history')}
118
- bgColor={theme.colors.white}
119
- borderColor={theme.colors.lightGray}
120
- imgRightSrc={null}
121
- textStyle={{ fontSize: 12, color: theme.colors.disabled }}
122
- onClick={() => setOpenHistory(true)}
123
- style={{ borderRadius: 8, height: 40 }}
127
+ <View style={{
128
+ ...{
129
+ width: '100%',
130
+ display: 'flex',
131
+ flexDirection: hideWalletsTheme ? 'column' : 'row',
132
+ justifyContent: hideWalletsTheme ? 'flex-start' : 'space-between',
133
+ alignItems: hideWalletsTheme ? 'flex-start' : 'center',
134
+ marginTop: hideWalletsTheme ? 0 : 10,
135
+ },
136
+ }}>
137
+ <NavBar
138
+ title={t('WALLETS', 'Wallets')}
139
+ titleAlign={'center'}
140
+ onActionLeft={goToBack}
141
+ showCall={false}
142
+ paddingTop={10}
143
+ btnStyle={{ paddingLeft: 0 }}
144
+ hideArrowLeft={!hideWalletsTheme}
124
145
  />
125
- )}
146
+ {isChewLayout && (
147
+ <OButton
148
+ text={t('WALLET_HISTORY', 'Wallet history')}
149
+ bgColor={theme.colors.white}
150
+ borderColor={theme.colors.lightGray}
151
+ imgRightSrc={null}
152
+ textStyle={{ fontSize: 12, color: theme.colors.disabled }}
153
+ onClick={() => setOpenHistory(true)}
154
+ style={{ borderRadius: 8, height: 40, width: hideWalletsTheme ? '100%' : 150, marginTop: hideWalletsTheme ? 10 : 0 }}
155
+ />
156
+ )}
157
+ </View>
126
158
  </Header>
127
159
 
128
160
  {!walletList.loading &&
@@ -146,8 +178,8 @@ const WalletsUI = (props: any) => {
146
178
  borderBottomWidth: 1,
147
179
  borderBottomColor:
148
180
  tabSelected === wallet.type
149
- ? theme.colors.textNormal
150
- : theme.colors.border
181
+ ? theme.colors.textNormal
182
+ : theme.colors.border
151
183
  }}
152
184
  >
153
185
  <OText>
@@ -163,9 +195,9 @@ const WalletsUI = (props: any) => {
163
195
  <LoyaltyContent>
164
196
  <LoyaltyWrapp>
165
197
  <OText size={20}>
166
- {`${t('LOYALTY_LEVEL_TITLE', 'Your level is')}:`}
198
+ {`${t('LOYALTY_LEVEL_TITLE', 'Your level is')}`}
167
199
  </OText>
168
- {/* {loyaltyLevel.image ? (
200
+ {loyaltyLevel.image ? (
169
201
  <FastImage
170
202
  style={styles.logoStyle}
171
203
  source={{
@@ -180,7 +212,7 @@ const WalletsUI = (props: any) => {
180
212
  source={theme.images.dummies.loyaltyLevel}
181
213
  resizeMode='contain'
182
214
  />
183
- )} */}
215
+ )}
184
216
  <OText
185
217
  size={22}
186
218
  weight='bold'
@@ -206,6 +238,14 @@ const WalletsUI = (props: any) => {
206
238
  </OText>
207
239
  </BalanceElement>
208
240
 
241
+ {/* {currentWalletSelected?.type === 'cash' && (
242
+ <>
243
+ <View style={styles.dividerStyle} />
244
+ <GiftCardUI navigation={navigation} />
245
+ <View style={styles.dividerStyle} />
246
+ </>
247
+ )} */}
248
+
209
249
  {!isChewLayout && (
210
250
  <WalletTransactions
211
251
  transactionsList={transactionsList}
@@ -259,15 +299,18 @@ const WalletsUI = (props: any) => {
259
299
  <ScrollView>
260
300
  <WalletTransactionsWrapper>
261
301
  <OButton
302
+ imgLeftStyle={{ width: 18 }}
262
303
  imgRightSrc={null}
263
304
  style={{
264
305
  borderWidth: 0,
265
- backgroundColor: theme.colors.white,
266
- padding: 0,
267
- paddingHorizontal: 0,
268
- width: 30,
306
+ width: 26,
307
+ height: 26,
308
+ backgroundColor: '#FFF',
309
+ borderColor: '#FFF',
310
+ shadowColor: '#FFF',
269
311
  paddingLeft: 0,
270
- paddingRight: 0
312
+ paddingRight: 0,
313
+ marginBottom: 10
271
314
  }}
272
315
  onClick={() => setOpenHistory(false)}
273
316
  icon={AntDesignIcon}
@@ -1,13 +1,12 @@
1
1
  import styled from 'styled-components/native'
2
2
 
3
3
  export const Container = styled.View`
4
- display: flex;
5
- flex-direction: column;
4
+ padding-horizontal: 20px;
5
+ padding-bottom: 20px;
6
+ padding-top: ${(props: any) => props.pdng};
6
7
  `
7
8
  export const Header = styled.View`
8
9
  flex-direction: row;
9
- align-items: center;
10
- justify-content: space-between;
11
10
  `
12
11
  export const SectionContent = styled.View`
13
12
  width: 100%;
@@ -34,10 +33,12 @@ export const OTabs = styled.View`
34
33
  flex-direction: row;
35
34
  width: 100%;
36
35
  flex-wrap: wrap;
36
+ padding-vertical: 5px;
37
37
  `;
38
38
 
39
39
  export const OTab = styled.View`
40
40
  padding-horizontal: 10px;
41
+ padding-vertical: 10px;
41
42
  `;
42
43
 
43
44
  export const LoyaltyContent = styled.View`
@@ -1,16 +1,21 @@
1
1
  import React from 'react';
2
2
  import { Platform } from 'react-native';
3
3
  import OText from './OText';
4
+ import { useTheme } from 'styled-components/native'
4
5
 
5
6
  const HeaderTitle = (props: any) => {
6
7
  const { text, style } = props
8
+ const theme = useTheme();
9
+
7
10
  return (
8
11
  <OText
9
- size={24}
12
+ size={20}
13
+ weight={Platform.OS === 'ios' ? '600' : 'bold'}
10
14
  style={style ?? {
11
15
  marginTop: Platform.OS === 'android' ? 50 : 30,
12
- paddingHorizontal: 40,
13
- textTransform: 'capitalize'
16
+ paddingHorizontal: props.ph ?? 40,
17
+ textTransform: 'capitalize',
18
+ color: props.titleColor || theme.colors.textNormal,
14
19
  }}
15
20
  >
16
21
  {text}
@@ -12,6 +12,7 @@ import {
12
12
  import * as React from 'react';
13
13
  import styled, { useTheme } from 'styled-components/native';
14
14
  import { OIcon } from './';
15
+ import { css } from 'styled-components';
15
16
 
16
17
  const StyledButton = styled.View<Props>`
17
18
  background-color: ${(props: any) => props.theme.colors.primary};
@@ -26,6 +27,9 @@ const StyledButton = styled.View<Props>`
26
27
  padding-left: 20px;
27
28
  padding-right: 20px;
28
29
  position: relative;
30
+ ${(props: any) => props?.theme?.general?.components?.buttons?.borderRadius && css`
31
+ border-radius: ${props?.theme?.general?.components?.buttons?.borderRadius}px;
32
+ `}
29
33
  `
30
34
  const StyledButtonDisabled = styled(StyledButton)`
31
35
  background-color: ${(props: any) => props.theme.colors.disabled};
@@ -115,12 +119,12 @@ const OButton = (props: Props): React.ReactElement => {
115
119
  style={{ width: props.isCircle ? 52 : props.style?.width, ...props.parentStyle }}
116
120
  disabled={props.isDisabledWithSameStyles}
117
121
  >
118
- <StyledButton style={props.bgColor ? { ...props.style, backgroundColor: props.bgColor, borderColor: props.borderColor } : props.style}>
122
+ <StyledButton style={props.bgColor ? { ...props.style, backgroundColor: props.bgColor, borderColor: props.borderColor, borderRadius: parseInt(theme?.general?.components?.buttons?.borderRadius) || props.style?.borderRadius } : { ...props.style, borderRadius: parseInt(theme?.general?.components?.buttons?.borderRadius) || props.style?.borderRadius }}>
119
123
  {props.icon ? (
120
124
  <props.icon {...props.iconProps} />
121
125
  ) : null}
122
126
  {props.imgLeftSrc ? (
123
- <OIcon style={props.imgLeftStyle} src={props.imgLeftSrc} />
127
+ <OIcon style={props.imgLeftStyle} src={props.imgLeftSrc} color={theme.colors.textNormal} />
124
128
  ) : null}
125
129
  {props.text ? (
126
130
  <StyledText style={props.textStyle}>{props.text}</StyledText>
@@ -3,6 +3,7 @@ import { ImageSourcePropType, ImageStyle, ViewStyle, TextInputProps, TextStyle }
3
3
  import styled from 'styled-components/native';
4
4
  import OIcon from './OIcon';
5
5
  import MaterialIcon from 'react-native-vector-icons/MaterialIcons'
6
+ import { useTheme } from 'styled-components/native';
6
7
 
7
8
  const Input = styled.TextInput`
8
9
  flex-grow: 1;
@@ -39,6 +40,7 @@ interface Props extends TextInputProps {
39
40
  inputStyle?: TextStyle;
40
41
  wrapperRef?: any;
41
42
  onPress?: any;
43
+ isFocusHighlight?: boolean
42
44
  }
43
45
 
44
46
  const Wrapper = styled.Pressable`
@@ -54,12 +56,16 @@ const Wrapper = styled.Pressable`
54
56
  `;
55
57
 
56
58
  const OInput = (props: Props): React.ReactElement => {
59
+ const theme = useTheme();
60
+ const [inputFocused, setInputFocused] = React.useState(false)
57
61
  return (
58
62
  <Wrapper
59
63
  onPress={() => { props.forwardRef?.current?.focus?.(); props.onPress && props.onPress() }}
60
64
  style={{
61
65
  backgroundColor: props.bgColor,
62
- borderColor: props.borderColor,
66
+ borderColor: !props.isFocusHighlight
67
+ ? props.borderColor
68
+ : inputFocused ? theme.colors.primary : theme.colors.border,
63
69
  ...props.style,
64
70
  }}>
65
71
  {props.icon ? (
@@ -94,7 +100,14 @@ const OInput = (props: Props): React.ReactElement => {
94
100
  ref={(e: any) => {
95
101
  props.forwardRef && (props.forwardRef.current = e)
96
102
  }}
97
- style={props?.inputStyle}
103
+ style={{
104
+ ...(theme?.general?.components?.inputs?.color && {
105
+ color: theme?.general?.components?.inputs?.color
106
+ }),
107
+ ...props?.inputStyle
108
+ }}
109
+ onFocus={() => setInputFocused(true)}
110
+ onBlur={() => setInputFocused(false)}
98
111
  />
99
112
  {props.iconRight && (
100
113
  <OIcon
@@ -114,6 +127,7 @@ OInput.defaultProps = {
114
127
  iconColor: '#959595',
115
128
  bgColor: 'white',
116
129
  borderColor: 'white',
130
+ isFocusHighlight: false
117
131
  };
118
132
 
119
133
  export default OInput;
@@ -52,7 +52,7 @@ const OModal = (props: Props): React.ReactElement => {
52
52
 
53
53
  const theme = useTheme();
54
54
 
55
- const RenderSafeAreaView = () => (
55
+ const renderSafeAreaView = () => (
56
56
  <SafeAreaView style={styles.container}>
57
57
  {!entireModal ? (
58
58
  <View style={styles.centeredView}>
@@ -101,10 +101,10 @@ const OModal = (props: Props): React.ReactElement => {
101
101
  enabled
102
102
  behavior={Platform.OS === 'ios' ? 'padding' : 'height'}
103
103
  >
104
- <RenderSafeAreaView/>
104
+ {renderSafeAreaView()}
105
105
  </KeyboardView>
106
106
  ) : (
107
- <RenderSafeAreaView/>
107
+ renderSafeAreaView()
108
108
  )}
109
109
  </Modal>
110
110
  );
@@ -18,7 +18,7 @@ export const Container = (props: any) => {
18
18
  <View
19
19
  style={{
20
20
  flex: 1,
21
- paddingTop: insets.top,
21
+ paddingTop: props.pt ?? insets.top,
22
22
  backgroundColor: theme.colors.backgroundPage
23
23
  }}
24
24
  >