ordering-ui-react-native 0.22.62 → 0.22.63-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 (143) hide show
  1. package/package.json +6 -8
  2. package/src/DeliveryApp.tsx +1 -1
  3. package/src/components/BusinessesListing/index.tsx +1 -1
  4. package/src/components/Checkout/index.tsx +40 -39
  5. package/src/components/VerifyPhone/styles.tsx +1 -2
  6. package/src/context/OfflineActions/index.tsx +236 -0
  7. package/src/providers/AlertProvider.tsx +3 -1
  8. package/themes/business/src/components/AcceptOrRejectOrder/index.tsx +5 -3
  9. package/themes/business/src/components/AcceptOrRejectOrder/styles.tsx +1 -0
  10. package/themes/business/src/components/BusinessController/index.tsx +8 -3
  11. package/themes/business/src/components/BusinessProductList/index.tsx +3 -2
  12. package/themes/business/src/components/Chat/index.tsx +15 -3
  13. package/themes/business/src/components/DriverMap/index.tsx +44 -33
  14. package/themes/business/src/components/FloatingButton/index.tsx +3 -2
  15. package/themes/business/src/components/LanguageSelector/index.tsx +1 -1
  16. package/themes/business/src/components/LoginForm/index.tsx +123 -98
  17. package/themes/business/src/components/LogoutButton/index.tsx +13 -4
  18. package/themes/business/src/components/MapView/RenderMarker.tsx +146 -0
  19. package/themes/business/src/components/MapView/index.tsx +68 -142
  20. package/themes/business/src/components/NewOrderNotification/index.tsx +39 -55
  21. package/themes/business/src/components/OrderDetails/Business.tsx +56 -20
  22. package/themes/business/src/components/OrderDetails/Delivery.tsx +123 -54
  23. package/themes/business/src/components/OrderDetails/OrderContentComponent.tsx +146 -36
  24. package/themes/business/src/components/OrderDetails/OrderHeaderComponent.tsx +51 -28
  25. package/themes/business/src/components/OrderDetails/styles.tsx +39 -3
  26. package/themes/business/src/components/OrderDetails/usePrinterCommands.tsx +17 -16
  27. package/themes/business/src/components/OrderDetailsLogistic/index.tsx +3 -2
  28. package/themes/business/src/components/OrderSummary/index.tsx +271 -176
  29. package/themes/business/src/components/OrdersListManager/index.tsx +13 -1
  30. package/themes/business/src/components/OrdersOption/index.tsx +345 -231
  31. package/themes/business/src/components/OrdersOption/styles.tsx +14 -0
  32. package/themes/business/src/components/PreviousMessages/index.tsx +26 -3
  33. package/themes/business/src/components/PreviousOrders/OrderItem.tsx +30 -18
  34. package/themes/business/src/components/PreviousOrders/index.tsx +74 -66
  35. package/themes/business/src/components/PreviousOrders/styles.tsx +2 -1
  36. package/themes/business/src/components/PrinterEdition/MessageAlert.tsx +33 -0
  37. package/themes/business/src/components/PrinterEdition/index.tsx +143 -75
  38. package/themes/business/src/components/PrinterEdition/printerList.tsx +23 -0
  39. package/themes/business/src/components/PrinterSettings/index.tsx +1 -1
  40. package/themes/business/src/components/ProductItemAccordion/index.tsx +3 -2
  41. package/themes/business/src/components/ReviewCustomer/index.tsx +2 -0
  42. package/themes/business/src/components/StoresList/index.tsx +2 -2
  43. package/themes/business/src/components/UserProfileForm/index.tsx +48 -10
  44. package/themes/business/src/components/UserProfileForm/styles.tsx +7 -0
  45. package/themes/business/src/components/WebsocketStatus/index.tsx +2 -2
  46. package/themes/business/src/config/currency.tsx +1010 -0
  47. package/themes/business/src/hooks/useLocation.tsx +16 -12
  48. package/themes/business/src/layouts/SafeAreaContainer.tsx +35 -19
  49. package/themes/business/src/types/index.tsx +33 -7
  50. package/themes/business/src/utils/index.tsx +28 -3
  51. package/themes/doordash/src/components/BusinessesListing/index.tsx +1 -1
  52. package/themes/doordash/src/components/LoginForm/index.tsx +1 -2
  53. package/themes/instacart/src/components/BusinessesListing/index.tsx +1 -1
  54. package/themes/kiosk/src/components/Checkout/index.tsx +9 -5
  55. package/themes/kiosk/src/components/CustomerName/index.tsx +1 -1
  56. package/themes/kiosk/src/components/NavBar/index.tsx +14 -14
  57. package/themes/kiosk/src/components/OptionCard/index.tsx +1 -1
  58. package/themes/kiosk/src/components/OrderTypeCardSelector/index.tsx +8 -10
  59. package/themes/kiosk/src/components/PaymentOptions/index.tsx +121 -57
  60. package/themes/kiosk/src/components/shared/OButton.tsx +5 -18
  61. package/themes/original/index.tsx +223 -219
  62. package/themes/original/src/components/AddressForm/index.tsx +922 -888
  63. package/themes/original/src/components/AppleLogin/index.tsx +4 -4
  64. package/themes/original/src/components/BusinessBasicInformation/index.tsx +1 -1
  65. package/themes/original/src/components/BusinessController/index.tsx +4 -2
  66. package/themes/original/src/components/BusinessItemAccordion/index.tsx +10 -4
  67. package/themes/original/src/components/BusinessListingSearch/BusinessSearchFooter.tsx +103 -92
  68. package/themes/original/src/components/BusinessListingSearch/BusinessSearchHeader.tsx +7 -3
  69. package/themes/original/src/components/BusinessListingSearch/index.tsx +8 -13
  70. package/themes/original/src/components/BusinessPreorder/index.tsx +30 -17
  71. package/themes/original/src/components/BusinessProductsList/SubcategoriesComponent/index.tsx +73 -70
  72. package/themes/original/src/components/BusinessProductsList/index.tsx +6 -7
  73. package/themes/original/src/components/BusinessProductsList/styles.tsx +0 -3
  74. package/themes/original/src/components/BusinessProductsListing/index.tsx +10 -6
  75. package/themes/original/src/components/BusinessTypeFilter/index.tsx +9 -8
  76. package/themes/original/src/components/BusinessesListing/Layout/Appointment/index.tsx +2 -1
  77. package/themes/original/src/components/BusinessesListing/Layout/Original/styles.tsx +1 -1
  78. package/themes/original/src/components/BusinessesListing/index.tsx +0 -1
  79. package/themes/original/src/components/Cart/index.tsx +50 -14
  80. package/themes/original/src/components/CartContent/index.tsx +2 -3
  81. package/themes/original/src/components/Checkout/index.tsx +125 -97
  82. package/themes/original/src/components/Favorite/index.tsx +1 -5
  83. package/themes/original/src/components/ForgotPasswordForm/index.tsx +1 -2
  84. package/themes/original/src/components/GPSButton/index.tsx +2 -1
  85. package/themes/original/src/components/GoogleMap/index.tsx +4 -3
  86. package/themes/original/src/components/Help/functions.tsx +76 -0
  87. package/themes/original/src/components/Help/index.tsx +74 -29
  88. package/themes/original/src/components/Help/styles.tsx +4 -1
  89. package/themes/original/src/components/HelpOptions/index.tsx +44 -0
  90. package/themes/original/src/components/HighestRatedBusinesses/index.tsx +1 -1
  91. package/themes/original/src/components/Home/index.tsx +37 -12
  92. package/themes/original/src/components/LoginForm/index.tsx +11 -5
  93. package/themes/original/src/components/MessageListing/index.tsx +1 -1
  94. package/themes/original/src/components/Messages/index.tsx +20 -13
  95. package/themes/original/src/components/MomentOption/TimeListItem.tsx +56 -0
  96. package/themes/original/src/components/MomentOption/index.tsx +67 -49
  97. package/themes/original/src/components/MomentSelector/index.tsx +5 -2
  98. package/themes/original/src/components/MultiCheckout/index.tsx +78 -36
  99. package/themes/original/src/components/MyOrders/index.tsx +2 -2
  100. package/themes/original/src/components/NavBar/index.tsx +6 -2
  101. package/themes/original/src/components/NotFoundSource/index.tsx +40 -39
  102. package/themes/original/src/components/NotFoundSource/styles.tsx +18 -9
  103. package/themes/original/src/components/OrderDetails/OrderEta.tsx +4 -3
  104. package/themes/original/src/components/OrderDetails/OrderHistory.tsx +11 -4
  105. package/themes/original/src/components/OrderDetails/index.tsx +43 -19
  106. package/themes/original/src/components/OrderDetails/styles.tsx +0 -1
  107. package/themes/original/src/components/OrderProgress/index.tsx +4 -3
  108. package/themes/original/src/components/OrderSummary/index.tsx +32 -11
  109. package/themes/original/src/components/OrderTypeSelector/index.tsx +4 -3
  110. package/themes/original/src/components/OrdersOption/index.tsx +3 -6
  111. package/themes/original/src/components/PaymentOptionWallet/index.tsx +56 -56
  112. package/themes/original/src/components/PaymentOptions/index.tsx +471 -459
  113. package/themes/original/src/components/PhoneInputNumber/index.tsx +92 -7
  114. package/themes/original/src/components/ProductForm/ActionButton.tsx +6 -10
  115. package/themes/original/src/components/ProductItemAccordion/index.tsx +28 -37
  116. package/themes/original/src/components/ProductOptionSubOption/index.tsx +15 -14
  117. package/themes/original/src/components/ServiceForm/index.tsx +1 -1
  118. package/themes/original/src/components/SignupForm/index.tsx +40 -24
  119. package/themes/original/src/components/SingleOrderCard/index.tsx +7 -4
  120. package/themes/original/src/components/SingleProductCard/index.tsx +3 -4
  121. package/themes/original/src/components/SingleProductCard/styles.tsx +0 -3
  122. package/themes/original/src/components/StripeCardsList/index.tsx +9 -4
  123. package/themes/original/src/components/StripeElementsForm/index.tsx +2 -2
  124. package/themes/original/src/components/StripeElementsForm/naked.tsx +1 -1
  125. package/themes/original/src/components/TaxInformation/index.tsx +3 -2
  126. package/themes/original/src/components/UpsellingProducts/UpsellingContent.tsx +7 -2
  127. package/themes/original/src/components/UserDetails/index.tsx +17 -16
  128. package/themes/original/src/components/UserFormDetails/index.tsx +109 -67
  129. package/themes/original/src/components/UserProfile/index.tsx +9 -1
  130. package/themes/original/src/components/UserVerification/index.tsx +18 -5
  131. package/themes/original/src/components/shared/OAlert.tsx +2 -1
  132. package/themes/original/src/components/shared/OButton.tsx +2 -2
  133. package/themes/original/src/components/shared/OInput.tsx +4 -8
  134. package/themes/original/src/components/shared/OModal.tsx +7 -2
  135. package/themes/original/src/types/index.tsx +700 -692
  136. package/themes/original/src/utils/index.tsx +29 -0
  137. package/themes/uber-eats/src/components/BusinessesListing/index.tsx +1 -1
  138. package/themes/original/src/components/HelpAccountAndPayment/index.tsx +0 -62
  139. package/themes/original/src/components/HelpAccountAndPayment/styles.tsx +0 -12
  140. package/themes/original/src/components/HelpGuide/index.tsx +0 -68
  141. package/themes/original/src/components/HelpGuide/styles.tsx +0 -12
  142. package/themes/original/src/components/HelpOrder/index.tsx +0 -71
  143. package/themes/original/src/components/HelpOrder/styles.tsx +0 -13
@@ -24,6 +24,11 @@ import MaterialIcon from 'react-native-vector-icons/MaterialCommunityIcons'
24
24
 
25
25
  const PaymentOptionsUI = (props: any) => {
26
26
  const {
27
+ cart,
28
+ onNavigationRedirect,
29
+ isDisabled,
30
+ paymethodData,
31
+ handlePaymethodDataChange,
27
32
  errorCash,
28
33
  isLoading,
29
34
  paymethodsList,
@@ -43,11 +48,11 @@ const PaymentOptionsUI = (props: any) => {
43
48
  const [orientationState] = useDeviceOrientation();
44
49
  const [userErrors, setUserErrors] = useState<any>([]);
45
50
  const [isOpenModal, setIsOpenModal] = useState(false)
46
- const paymethodSelected = paySelected || props.paymethodSelected || isOpenMethod.paymethod;
47
- const includePaymethods = ['cash', 'card_delivery'];
51
+ const paymethodSelected =
52
+ paySelected || props.paymethodSelected || isOpenMethod.paymethod;
48
53
 
49
54
  useEffect(() => {
50
- if (paymethodsList?.paymethods?.length === 1) {
55
+ if (paymethodsList.paymethods.length === 1) {
51
56
  handlePaymethodClick &&
52
57
  handlePaymethodClick(paymethodsList.paymethods[0]);
53
58
  }
@@ -80,11 +85,23 @@ const PaymentOptionsUI = (props: any) => {
80
85
  }
81
86
  }, [isOpenMethod.paymethod, placing, isLoading, paySelected]);
82
87
 
83
- const supportedMethods = paymethodsList?.paymethods?.filter((p: any) =>
88
+ // const includePaymethods = ['cash', 'card_delivery', 'stripe'];
89
+ const includePaymethods = ['cash', 'card_delivery'];
90
+
91
+ const supportedMethods = paymethodsList.paymethods.filter((p: any) =>
84
92
  includePaymethods.includes(p.gateway),
85
93
  );
86
94
 
87
- const onSelectPaymethod = (paymethod: any) => {
95
+ const cashIndex: number = supportedMethods?.findIndex(
96
+ (item: any) => item?.gateway === 'cash',
97
+ );
98
+ const cardOnDeliveryIndex = supportedMethods?.findIndex(
99
+ (item: any) => item?.gateway === 'card_delivery',
100
+ );
101
+ const stripeIndex = supportedMethods?.findIndex(
102
+ (item: any) => item?.gateway === 'stripe',
103
+ );
104
+ const onSelectPaymethod = (paymethod: any, isPopupMethod: boolean) => {
88
105
  handlePaymethodClick(paymethod);
89
106
  };
90
107
 
@@ -115,15 +132,57 @@ const PaymentOptionsUI = (props: any) => {
115
132
  : orientationState?.dimensions?.height * 0.55,
116
133
  };
117
134
 
118
- const description = {
119
- cash: t(
120
- 'GO_FOR_YOR_RECEIPT_AND_GO_TO_THE_FRONT_COUNTER',
121
- 'Pay with cash in the front counter',
122
- ),
123
- card_delivery: t(
124
- 'WE_ACCEPT_EVERY_DEBIT_OR_CREDIT_CARD',
125
- 'We accept every debit or credit card',
126
- ),
135
+ const propsOfItems = {
136
+ CASH_ID:
137
+ cashIndex !== -1
138
+ ? {
139
+ style: cardStyle,
140
+ title: t('CASH', 'Cash'),
141
+ description: t(
142
+ 'GO_FOR_YOR_RECEIPT_AND_GO_TO_THE_FRONT_COUNTER',
143
+ 'Pay with cash in the front counter',
144
+ ),
145
+ bgImage: theme.images.general.cash,
146
+ callToActionText: t('LETS_GO', 'LETS_GO'),
147
+ VectorIcon: () => <AntIconDesign name='shoppingcart' size={28} color='white' style={{ marginBottom: 10 }} />,
148
+ onClick: () =>
149
+ onSelectPaymethod(supportedMethods[cashIndex], false),
150
+ ...supportedMethods[cashIndex],
151
+ }
152
+ : null,
153
+
154
+ CARD_ON_DELIVERY_ID:
155
+ cardOnDeliveryIndex !== -1
156
+ ? {
157
+ style: cardStyle,
158
+ title: t('CARD', supportedMethods[cardOnDeliveryIndex]?.name),
159
+ description: t(
160
+ 'WE_ACCEPT_EVERY_DEBIT_OR_CREDIT_CARD',
161
+ 'We accept every debit or credit card',
162
+ ),
163
+ bgImage: theme.images.general.carddelivery,
164
+ callToActionText: t("LETS_GO", "Let's go"),
165
+ VectorIcon: () => <MaterialIcon name='pin-outline' size={28} color='white' style={{ marginBottom: 10 }} />,
166
+ onClick: () => onSelectPaymethod(supportedMethods[cardOnDeliveryIndex], false),
167
+ ...supportedMethods[cardOnDeliveryIndex],
168
+ }
169
+ : null,
170
+ STRIPE:
171
+ stripeIndex !== -1
172
+ ? {
173
+ style: cardStyle,
174
+ title: t('STRIPE', supportedMethods[stripeIndex]?.name),
175
+ description: t('STRIPE', 'Stripe'),
176
+ bgImage: theme.images.general.carddelivery,
177
+ callToActionText: t('INSERT_INFO', 'Test info'),
178
+ VectorIcon: () => <MaterialIcon name='pin-outline' size={28} color='white' style={{ marginBottom: 10 }} />,
179
+ onClick: () => {
180
+ onSelectPaymethod(supportedMethods[stripeIndex], false);
181
+ setIsOpenModal(true)
182
+ },
183
+ ...supportedMethods[stripeIndex],
184
+ }
185
+ : null,
127
186
  };
128
187
 
129
188
  const goToBack = () => navigation?.goBack();
@@ -133,40 +192,47 @@ const PaymentOptionsUI = (props: any) => {
133
192
  <Spinner visible={isLoading || placing || paymethodsList?.loading} />
134
193
 
135
194
  <Container nestedScrollEnabled>
136
- <NavBar
137
- title={t('PAYMENT_METHODS', 'Payment methods')}
138
- onActionLeft={goToBack}
139
- btnStyle={{ paddingLeft: 0 }}
140
- />
141
-
142
- <View
143
- style={{ marginVertical: orientationState?.dimensions?.height * 0.03 }}>
144
- <OText size={orientationState?.dimensions?.width * 0.048}>
145
- {t('HOW_WOULD_YOU', 'How would you')} {'\n'}
146
- <OText
147
- size={orientationState?.dimensions?.width * 0.048}
148
- weight={'700'}>
149
- {`${t('LIKE_TO_PAY', 'like to pay')}?`}
150
- </OText>
151
- </OText>
152
- </View>
153
-
154
- <GridContainer style={{ justifyContent: 'space-between' }}>
155
- {supportedMethods?.length > 0 ? (supportedMethods?.map((paymethod: any, i: number) => (
156
- <>
157
- <View style={{ marginBottom: orientationState?.orientation === LANDSCAPE ? 20 : 0 }}>
158
- <OptionCard
159
- {...{
160
- style: cardStyle,
161
- title: t(`${paymethod.gateway.toUpperCase().replace(/\s/g, '_')}`, paymethod.name),
162
- description: description[paymethod.gateway] ?? t(`${paymethod.gateway.toUpperCase().replace(/\s/g, '_')}`, paymethod.name),
163
- bgImage: paymethod.name === 'Cash' ? theme.images.general.cash : theme.images.general.carddelivery,
164
- callToActionText: paymethod.name === 'Cash' ? t('LETS_GO', 'LETS_GO') : t('INSERT_INFO', 'Test info'),
165
- VectorIcon: () => paymethod.name === 'Cash' ? <AntIconDesign name='shoppingcart' size={28} color='white' style={{ marginBottom: 10 }} /> : <MaterialIcon name='pin-outline' size={28} color='white' style={{ marginBottom: 10 }} />,
166
- onClick: () => onSelectPaymethod(paymethod, false),
167
- }}
168
- />
169
- </View>
195
+ {supportedMethods?.length > 0 && (
196
+ <>
197
+ <NavBar
198
+ title={t('PAYMENT_METHODS', 'Payment methods')}
199
+ onActionLeft={goToBack}
200
+ btnStyle={{ paddingLeft: 0 }}
201
+ />
202
+
203
+ <View
204
+ style={{ marginVertical: orientationState?.dimensions?.height * 0.03 }}>
205
+ <OText size={orientationState?.dimensions?.width * 0.048}>
206
+ {t('HOW_WOULD_YOU', 'How would you')} {'\n'}
207
+ <OText
208
+ size={orientationState?.dimensions?.width * 0.048}
209
+ weight={'700'}>
210
+ {`${t('LIKE_TO_PAY', 'like to pay')}?`}
211
+ </OText>
212
+ </OText>
213
+ </View>
214
+
215
+ <GridContainer style={{ justifyContent: 'space-between' }}>
216
+ {propsOfItems.CARD_ON_DELIVERY_ID && (
217
+ <View style={{ marginBottom: orientationState?.orientation === LANDSCAPE ? 20 : 0 }}>
218
+ <OptionCard {...propsOfItems?.CARD_ON_DELIVERY_ID} styke />
219
+ </View>
220
+ )}
221
+
222
+ <View
223
+ style={{
224
+ width:
225
+ orientationState?.orientation === LANDSCAPE
226
+ ? orientationState?.dimensions?.width * 0.0016
227
+ : 1,
228
+ height:
229
+ orientationState?.orientation === PORTRAIT
230
+ ? orientationState?.dimensions?.height * 0.018
231
+ : 1,
232
+ }}
233
+ />
234
+
235
+ {propsOfItems?.CASH_ID && <OptionCard {...propsOfItems?.CASH_ID} />}
170
236
 
171
237
  <View
172
238
  style={{
@@ -180,15 +246,13 @@ const PaymentOptionsUI = (props: any) => {
180
246
  : 1,
181
247
  }}
182
248
  />
183
- </>
184
- ))) : (
185
- <OText
186
- size={orientationState?.dimensions?.width * 0.048}
187
- weight={'700'}>
188
- {`${t('NO_PAYMETHODS_AVAILABLES', 'No paymethods availables')}`}
189
- </OText>
190
- )}
191
- </GridContainer>
249
+
250
+ {propsOfItems.STRIPE && (
251
+ <OptionCard {...propsOfItems?.STRIPE} />
252
+ )}
253
+ </GridContainer>
254
+ </>
255
+ )}
192
256
  <View style={{ height: orientationState?.dimensions?.height * 0.05 }} />
193
257
  <OModal
194
258
  open={isOpenModal}
@@ -10,8 +10,6 @@ import {
10
10
 
11
11
  import * as React from 'react';
12
12
  import styled from 'styled-components/native';
13
- import AntDesignIcon from 'react-native-vector-icons/AntDesign'
14
- import { Icon, IconProps } from 'react-native-vector-icons/Icon';
15
13
 
16
14
  const StyledButton = styled.View<Props>`
17
15
  background-color: ${(props: any) => props.theme.colors.primary};
@@ -79,19 +77,17 @@ interface Props {
79
77
  isCircle?: boolean;
80
78
  bgColor?: string;
81
79
  borderColor?: string;
82
- iconProps?: IconProps;
83
- IconCustom?: React.FunctionComponent
84
80
  }
85
81
 
86
82
  const OButton = (props: Props): React.ReactElement => {
87
83
  if (props.isDisabled) {
88
84
  return (
89
85
  <View style={props.parentStyle}>
90
- <StyledButtonDisabled style={props.style}>
91
- <StyledTextDisabled style={props.disabledTextStyle ? props.disabledTextStyle : props.textStyle}>
92
- {props.text}
93
- </StyledTextDisabled>
94
- </StyledButtonDisabled>
86
+ <StyledButtonDisabled style={props.style}>
87
+ <StyledTextDisabled style={props.disabledTextStyle ? props.disabledTextStyle : props.textStyle}>
88
+ {props.text}
89
+ </StyledTextDisabled>
90
+ </StyledButtonDisabled>
95
91
  </View>
96
92
  );
97
93
  }
@@ -115,15 +111,6 @@ const OButton = (props: Props): React.ReactElement => {
115
111
  {props.imgLeftSrc ? (
116
112
  <StyledImage style={props.imgLeftStyle} source={props.imgLeftSrc} />
117
113
  ) : null}
118
- {props.iconProps ? (
119
- <>
120
- {props?.IconCustom ? (
121
- <props.IconCustom {...props.iconProps} />
122
- ) : (
123
- <AntDesignIcon {...props.iconProps} />
124
- )}
125
- </>
126
- ) : null}
127
114
  {props.text ? (
128
115
  <StyledText style={props.textStyle}>{props.text}</StyledText>
129
116
  ) : null}