ordering-ui-react-native 0.14.40 → 0.14.42-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 (56) hide show
  1. package/package.json +2 -2
  2. package/src/components/BusinessItemAccordion/index.tsx +2 -2
  3. package/src/components/Cart/index.tsx +135 -42
  4. package/src/components/Cart/styles.tsx +7 -0
  5. package/src/components/Checkout/index.tsx +28 -166
  6. package/src/components/OrderDetails/index.tsx +102 -34
  7. package/src/components/OrderDetails/styles.tsx +7 -0
  8. package/src/components/OrderSummary/index.tsx +140 -37
  9. package/src/components/OrderSummary/styles.tsx +10 -2
  10. package/src/components/PaymentOptions/index.tsx +3 -1
  11. package/src/components/PaymentOptionsWebView/index.tsx +150 -0
  12. package/src/components/ProductForm/index.tsx +6 -6
  13. package/src/components/SingleProductCard/index.tsx +1 -1
  14. package/src/components/StripeElementsForm/index.tsx +28 -13
  15. package/src/components/TaxInformation/index.tsx +58 -26
  16. package/src/components/VerifyPhone/styles.tsx +1 -2
  17. package/src/components/shared/OIcon.tsx +4 -1
  18. package/src/index.tsx +2 -0
  19. package/src/navigators/HomeNavigator.tsx +6 -0
  20. package/src/pages/ProductDetails.tsx +55 -0
  21. package/themes/doordash/src/components/LoginForm/index.tsx +1 -2
  22. package/themes/kiosk/src/components/Cart/index.tsx +14 -21
  23. package/themes/kiosk/src/components/CartItem/index.tsx +9 -7
  24. package/themes/kiosk/src/components/CustomerName/index.tsx +2 -1
  25. package/themes/kiosk/src/components/Intro/index.tsx +4 -4
  26. package/themes/kiosk/src/components/OptionCard/index.tsx +11 -6
  27. package/themes/kiosk/src/components/PaymentOptions/index.tsx +46 -44
  28. package/themes/original/src/components/BusinessController/index.tsx +3 -3
  29. package/themes/original/src/components/BusinessFeaturedController/index.tsx +2 -2
  30. package/themes/original/src/components/BusinessItemAccordion/index.tsx +12 -9
  31. package/themes/original/src/components/BusinessItemAccordion/styles.tsx +3 -2
  32. package/themes/original/src/components/BusinessProductsListing/index.tsx +8 -4
  33. package/themes/original/src/components/BusinessesListing/index.tsx +129 -94
  34. package/themes/original/src/components/Cart/index.tsx +122 -24
  35. package/themes/original/src/components/Cart/styles.tsx +8 -1
  36. package/themes/original/src/components/Checkout/index.tsx +38 -3
  37. package/themes/original/src/components/Help/index.tsx +1 -1
  38. package/themes/original/src/components/HighestRatedBusinesses/index.tsx +1 -0
  39. package/themes/original/src/components/MessageListing/index.tsx +4 -2
  40. package/themes/original/src/components/MomentOption/index.tsx +150 -158
  41. package/themes/original/src/components/OrderDetails/index.tsx +114 -42
  42. package/themes/original/src/components/OrderDetails/styles.tsx +8 -1
  43. package/themes/original/src/components/OrderProgress/index.tsx +2 -1
  44. package/themes/original/src/components/OrderSummary/index.tsx +132 -23
  45. package/themes/original/src/components/OrderSummary/styles.tsx +7 -0
  46. package/themes/original/src/components/PaymentOptionWallet/index.tsx +6 -2
  47. package/themes/original/src/components/PaymentOptions/index.tsx +8 -2
  48. package/themes/original/src/components/ProductForm/index.tsx +63 -56
  49. package/themes/original/src/components/ProductOptionSubOption/index.tsx +54 -51
  50. package/themes/original/src/components/ProductOptionSubOption/styles.tsx +8 -1
  51. package/themes/original/src/components/SingleProductCard/index.tsx +36 -19
  52. package/themes/original/src/components/SingleProductCard/styles.tsx +4 -0
  53. package/themes/original/src/components/StripeElementsForm/index.tsx +28 -13
  54. package/themes/original/src/components/TaxInformation/index.tsx +59 -27
  55. package/themes/original/src/components/UpsellingProducts/index.tsx +26 -18
  56. package/themes/original/src/types/index.tsx +2 -0
@@ -49,6 +49,7 @@ import NavBar from '../NavBar';
49
49
  import { OrderSummary } from '../OrderSummary';
50
50
  import { getTypesText } from '../../utils';
51
51
  import { CartStoresListing } from '../CartStoresListing';
52
+ import { PaymentOptionsWebView } from '../../../../../src/components/PaymentOptionsWebView';
52
53
 
53
54
  const mapConfigs = {
54
55
  mapZoom: 16,
@@ -83,6 +84,7 @@ const CheckoutUI = (props: any) => {
83
84
  deliveryOptionSelected,
84
85
  instructionsOptions,
85
86
  handleChangeDeliveryOption,
87
+ currency
86
88
  } = props
87
89
 
88
90
  const theme = useTheme();
@@ -114,10 +116,11 @@ const CheckoutUI = (props: any) => {
114
116
 
115
117
  const [, { showToast }] = useToast();
116
118
  const [, t] = useLanguage();
117
- const [{ user }] = useSession();
119
+ const [{ user, token }] = useSession();
120
+ const [ordering] = useApi()
118
121
  const [{ configs }] = useConfig();
119
122
  const [{ parsePrice, parseDate }] = useUtils();
120
- const [{ options, carts, loading }] = useOrder();
123
+ const [{ options, carts, loading }, { confirmCart }] = useOrder();
121
124
  const [validationFields] = useValidationFields();
122
125
 
123
126
  const [errorCash, setErrorCash] = useState(false);
@@ -126,6 +129,10 @@ const CheckoutUI = (props: any) => {
126
129
  const [phoneUpdate, setPhoneUpdate] = useState(false);
127
130
  const [openChangeStore, setOpenChangeStore] = useState(false)
128
131
  const [isDeliveryOptionModalVisible, setIsDeliveryOptionModalVisible] = useState(false)
132
+ const [showGateway, setShowGateway] = useState<any>({ closedByUsed: false, open: false });
133
+ const [webviewPaymethod, setWebviewPaymethod] = useState<any>(null)
134
+
135
+ const isWalletEnabled = configs?.wallet_enabled?.value === '1' && (configs?.wallet_cash_enabled?.value === '1' || configs?.wallet_credit_point_enabled?.value === '1')
129
136
 
130
137
  const driverTipsOptions = typeof configs?.driver_tip_options?.value === 'string'
131
138
  ? JSON.parse(configs?.driver_tip_options?.value) || []
@@ -154,6 +161,16 @@ const CheckoutUI = (props: any) => {
154
161
  setIsUserDetailsEdit(true)
155
162
  }
156
163
 
164
+ const handlePaymentMethodClick = (paymethod: any) => {
165
+ setShowGateway({ closedByUser: false, open: true })
166
+ setWebviewPaymethod(paymethod)
167
+ }
168
+
169
+ const onFailPaypal = async () => {
170
+ if (showGateway.closedByUser === true) {
171
+ await confirmCart(cart.uuid)
172
+ }
173
+ }
157
174
  const changeDeliveryOption = (option: any) => {
158
175
  handleChangeDeliveryOption(option)
159
176
  setIsDeliveryOptionModalVisible(false)
@@ -214,6 +231,10 @@ const CheckoutUI = (props: any) => {
214
231
  }
215
232
  }, [cart?.products])
216
233
 
234
+ useEffect(() => {
235
+ onFailPaypal()
236
+ }, [showGateway.closedByUser])
237
+
217
238
  return (
218
239
  <>
219
240
  <Container noPadding>
@@ -501,6 +522,7 @@ const CheckoutUI = (props: any) => {
501
522
  setErrorCash={setErrorCash}
502
523
  onNavigationRedirect={onNavigationRedirect}
503
524
  paySelected={paymethodSelected}
525
+ handlePaymentMethodClickCustom={handlePaymentMethodClick}
504
526
  />
505
527
  </ChPaymethods>
506
528
  </ChSection>
@@ -510,6 +532,7 @@ const CheckoutUI = (props: any) => {
510
532
  <WalletPaymentOptionContainer>
511
533
  <PaymentOptionWallet
512
534
  cart={cart}
535
+ businessId={cart?.business_id}
513
536
  />
514
537
  </WalletPaymentOptionContainer>
515
538
  )}
@@ -546,7 +569,7 @@ const CheckoutUI = (props: any) => {
546
569
  <OrderSummary
547
570
  cart={cart}
548
571
  isCartPending={cart?.status === 2}
549
- onNavigationRedirect={onNavigationRedirect}
572
+ onNavigationRedirect={onNavigationRedirect}
550
573
  />
551
574
  </>
552
575
  )}
@@ -619,6 +642,18 @@ const CheckoutUI = (props: any) => {
619
642
  iosBottom={20}
620
643
  />
621
644
  )}
645
+ {webviewPaymethod?.gateway === 'paypal' && showGateway.open && (
646
+ <PaymentOptionsWebView
647
+ onNavigationRedirect={onNavigationRedirect}
648
+ uri={`${ordering.root}/html/paypal_react_native`}
649
+ user={user}
650
+ token={token}
651
+ cart={cart}
652
+ currency={currency}
653
+ webviewPaymethod={webviewPaymethod}
654
+ setShowGateway={setShowGateway}
655
+ />
656
+ )}
622
657
  </>
623
658
  )
624
659
  }
@@ -48,7 +48,7 @@ export const Help = (props: HelpParams) => {
48
48
 
49
49
  <LastOrdersContainer>
50
50
  <OText size={18} weight={600}>{t('LAST_ORDERS', 'Last Orders')}</OText>
51
- <LastOrders businessId={props.businessId} onRedirect={onRedirect} />
51
+ <LastOrders {...props} onRedirect={onRedirect} />
52
52
  </LastOrdersContainer>
53
53
  </>
54
54
  )
@@ -103,6 +103,7 @@ const HighestRatedBusinessesUI = (props: HighestRatedBusinessesParams) => {
103
103
  >
104
104
  <BusinessController
105
105
  business={business}
106
+ isBusinessOpen={business?.open}
106
107
  handleCustomClick={onBusinessClick}
107
108
  orderType={orderState?.options?.type}
108
109
  navigation={navigation}
@@ -1,5 +1,5 @@
1
1
  import React, { useState, useEffect } from 'react'
2
- import { useLanguage, useOrder, ToastType, useToast, OrderList, OrderDetails as OrderDetailsConTableoller } from 'ordering-components/native'
2
+ import { useLanguage, useOrder, ToastType, useToast, OrderList, OrderDetails as OrderDetailsConTableoller, useBusiness } from 'ordering-components/native'
3
3
  import { useTheme } from 'styled-components/native';
4
4
  import { useFocusEffect } from '@react-navigation/native'
5
5
  import { OText, OModal } from '../shared'
@@ -214,6 +214,7 @@ const OrderMessageUI = (props: any) => {
214
214
  }
215
215
 
216
216
  export const OrderListing = (props: OrdersOptionParams) => {
217
+ const [businessState] = useBusiness();
217
218
  const OrderListingProps = {
218
219
  ...props,
219
220
  UIComponent: OrdersOptionUI,
@@ -224,6 +225,7 @@ export const OrderListing = (props: OrdersOptionParams) => {
224
225
  pageSize: 10,
225
226
  controlType: 'infinity'
226
227
  },
228
+ businessId: businessState?.business?.id,
227
229
  profileMessages: true,
228
230
  orderBy: 'last_direct_message_at',
229
231
  orderDirection: 'asc'
@@ -287,6 +289,7 @@ export const MessageListing = (props: MessageListingParams) => {
287
289
  setSelectedOrderId={setSelectedOrderId}
288
290
  setOrderList={setOrderListStatus}
289
291
  setOpenMessges={setOpenMessges}
292
+ franchiseId={props.franchiseId}
290
293
  />
291
294
  {openMessages && seletedOrder && (
292
295
  <OModal
@@ -304,4 +307,3 @@ export const MessageListing = (props: MessageListingParams) => {
304
307
  </MessageListingWrapper>
305
308
  )
306
309
  }
307
-
@@ -20,19 +20,11 @@ import NavBar from '../NavBar';
20
20
  import { OButton, OIcon, OText } from '../shared';
21
21
  import { Container } from '../../layouts/Container';
22
22
  import {
23
- HeaderTitle,
24
23
  WrapSelectOption,
25
- Days,
26
- Day,
27
- WrapHours,
28
- Hours,
29
- Hour,
30
24
  WrapDelveryTime,
31
25
  } from './styles';
32
26
  import CalendarPicker from 'react-native-calendar-picker';
33
- import { TouchableRipple } from 'react-native-paper';
34
27
  import { useSafeAreaInsets } from 'react-native-safe-area-context';
35
- import FontAwesomeIcon from 'react-native-vector-icons/FontAwesome';
36
28
  import SelectDropdown from 'react-native-select-dropdown';
37
29
 
38
30
  const MomentOptionUI = (props: MomentOptionParams) => {
@@ -179,165 +171,165 @@ const MomentOptionUI = (props: MomentOptionParams) => {
179
171
 
180
172
  useEffect(() => {
181
173
  if (datesList?.length > 0) {
182
- const _datesList = datesList.slice(0, Number(configs?.max_days_preorder?.value || 6))
183
- const minDateParts = _datesList[0].split('-')
184
- const maxDateParts = _datesList[_datesList.length - 1].split('-')
185
- const _minDate = new Date(minDateParts[0], minDateParts[1] - 1, minDateParts[2])
186
- const _maxDate = new Date(maxDateParts[0], maxDateParts[1] - 1, maxDateParts[2])
187
- setMinDate(_minDate)
188
- setMaxDate(_maxDate)
174
+ const _datesList = datesList.slice(0, Number(configs?.max_days_preorder?.value || 6))
175
+ const minDateParts = _datesList[0].split('-')
176
+ const maxDateParts = _datesList[_datesList.length - 1].split('-')
177
+ const _minDate = new Date(minDateParts[0], minDateParts[1] - 1, minDateParts[2])
178
+ const _maxDate = new Date(maxDateParts[0], maxDateParts[1] - 1, maxDateParts[2])
179
+ setMinDate(_minDate)
180
+ setMaxDate(_maxDate)
189
181
  }
190
182
  }, [datesList])
191
183
 
192
184
  return (
193
185
  <>
194
- <Container style={{ paddingLeft: 40, paddingRight: 40 }}>
195
- <View style={{ paddingBottom: 90 }}>
196
- <NavBar
197
- onActionLeft={() => goToBack()}
198
- btnStyle={{ paddingLeft: 0 }}
199
- paddingTop={0}
200
- style={{ paddingBottom: 0, flexDirection: 'column', alignItems: 'flex-start' }}
201
- title={t('QUESTION_WHEN_ORDER', 'When do you want your order?')}
202
- titleAlign={'center'}
203
- titleStyle={{ fontSize: 14, marginRight: 0, marginLeft: 0 }}
204
- titleWrapStyle={{ paddingHorizontal: 0 }}
205
- />
186
+ <Container style={{ paddingLeft: 40, paddingRight: 40 }}>
187
+ <View style={{ paddingBottom: 90 }}>
188
+ <NavBar
189
+ onActionLeft={() => goToBack()}
190
+ btnStyle={{ paddingLeft: 0 }}
191
+ paddingTop={0}
192
+ style={{ paddingBottom: 0, flexDirection: 'column', alignItems: 'flex-start' }}
193
+ title={t('QUESTION_WHEN_ORDER', 'When do you want your order?')}
194
+ titleAlign={'center'}
195
+ titleStyle={{ fontSize: 14, marginRight: 0, marginLeft: 0 }}
196
+ titleWrapStyle={{ paddingHorizontal: 0 }}
197
+ />
206
198
 
207
- <WrapSelectOption
208
- onPress={() => _handleAsap()}
209
- disabled={orderState.loading} style={{ alignItems: 'flex-start' }}>
210
- {optionSelected.isAsap ? (
211
- <OIcon
212
- src={theme.images.general.option_checked}
213
- width={16}
214
- style={{ marginEnd: 24 }}
215
- />
216
- ) : (
217
- <OIcon
218
- src={theme.images.general.option_normal}
219
- width={16}
220
- style={{ marginEnd: 24 }}
221
- />
222
- )}
223
- <OText color={optionSelected.isAsap ? theme.colors.textNormal : theme.colors.disabled}>{t('ASAP_ABBREVIATION', 'ASAP') + ` (${moment().format('dddd, MMM d, yyyy h:mm A')} + delivery time)`}</OText>
224
- </WrapSelectOption>
225
- <WrapSelectOption
226
- onPress={() => setOptionSelected({ isAsap: false, isSchedule: true })}
227
- disabled={orderState.loading}>
228
- {optionSelected.isSchedule ? (
229
- <OIcon
230
- src={theme.images.general.option_checked}
231
- width={16}
232
- style={{ marginEnd: 24 }}
233
- />
234
- ) : (
235
- <OIcon
236
- src={theme.images.general.option_normal}
237
- width={16}
238
- style={{ marginEnd: 24 }}
239
- />
240
- )}
241
- <OText color={optionSelected.isSchedule ? theme.colors.textNormal : theme.colors.disabled}>{t('SCHEDULE_FOR_LATER', 'Schedule for later')}</OText>
242
- </WrapSelectOption>
199
+ <WrapSelectOption
200
+ onPress={() => _handleAsap()}
201
+ disabled={orderState.loading} style={{ alignItems: 'flex-start' }}>
202
+ {optionSelected.isAsap ? (
203
+ <OIcon
204
+ src={theme.images.general.option_checked}
205
+ width={16}
206
+ style={{ marginEnd: 24 }}
207
+ />
208
+ ) : (
209
+ <OIcon
210
+ src={theme.images.general.option_normal}
211
+ width={16}
212
+ style={{ marginEnd: 24 }}
213
+ />
214
+ )}
215
+ <OText color={optionSelected.isAsap ? theme.colors.textNormal : theme.colors.disabled}>{t('ASAP_ABBREVIATION', 'ASAP') + ` (${moment().format('dddd, MMM D, yyyy h:mm A')} + delivery time)`}</OText>
216
+ </WrapSelectOption>
217
+ <WrapSelectOption
218
+ onPress={() => setOptionSelected({ isAsap: false, isSchedule: true })}
219
+ disabled={orderState.loading}>
220
+ {optionSelected.isSchedule ? (
221
+ <OIcon
222
+ src={theme.images.general.option_checked}
223
+ width={16}
224
+ style={{ marginEnd: 24 }}
225
+ />
226
+ ) : (
227
+ <OIcon
228
+ src={theme.images.general.option_normal}
229
+ width={16}
230
+ style={{ marginEnd: 24 }}
231
+ />
232
+ )}
233
+ <OText color={optionSelected.isSchedule ? theme.colors.textNormal : theme.colors.disabled}>{t('SCHEDULE_FOR_LATER', 'Schedule for later')}</OText>
234
+ </WrapSelectOption>
243
235
 
244
- {optionSelected.isSchedule && (
245
- <WrapDelveryTime>
246
- {datesList.length > 0 && (
247
- <View style={styles.dateWrap}>
248
- <View style={styles.dateLabel}>
249
- <OText size={12} color={theme.colors.textNormal}>{dateSelected}</OText>
236
+ {optionSelected.isSchedule && (
237
+ <WrapDelveryTime>
238
+ {datesList.length > 0 && (
239
+ <View style={styles.dateWrap}>
240
+ <View style={styles.dateLabel}>
241
+ <OText size={12} color={theme.colors.textNormal}>{dateSelected}</OText>
242
+ </View>
243
+ <SelectDropdown
244
+ defaultButtonText={timeSelected ? timeSelected : t('DELIVERY_TIME', 'Delivery Time')}
245
+ defaultValue={74}
246
+ data={hoursList}
247
+ disabled={orderState.loading}
248
+ onSelect={(selectedItem, index) => {
249
+ setSelectedTime(selectedItem.startTime)
250
+ }}
251
+ buttonTextAfterSelection={(selectedItem, index) => {
252
+ return `${selectedItem.startTime} - ${selectedItem.endTime}`
253
+ }}
254
+ rowTextForSelection={(item, index) => {
255
+ return `${item.startTime} - ${item.endTime}`
256
+ }}
257
+ buttonStyle={{
258
+ backgroundColor: theme.colors.white,
259
+ borderColor: theme.colors.border,
260
+ borderWidth: 1,
261
+ borderRadius: 8,
262
+ height: 40,
263
+ width: '100%',
264
+ flexDirection: 'column',
265
+ alignItems: 'flex-start',
266
+ marginBottom: 20
267
+ }}
268
+ buttonTextStyle={{
269
+ color: theme.colors.textNormal,
270
+ fontSize: 12,
271
+ paddingTop: 10
272
+ }}
273
+ dropdownStyle={{
274
+ borderRadius: 8,
275
+ borderColor: theme.colors.lightGray,
276
+ }}
277
+ rowStyle={{
278
+ borderBottomColor: theme.colors.white,
279
+ backgroundColor: theme.colors.white,
280
+ height: 40,
281
+ flexDirection: 'column',
282
+ alignItems: 'flex-start',
283
+ paddingTop: 8,
284
+ paddingLeft: 22
285
+ }}
286
+ rowTextStyle={{
287
+ color: theme.colors.textNormal,
288
+ fontSize: 14,
289
+ }}
290
+ />
291
+ <CalendarPicker
292
+ nextTitle=">"
293
+ width={width - 80}
294
+ previousTitle="<"
295
+ nextComponent={
296
+ <OIcon
297
+ src={theme.images.general.chevron_right}
298
+ color={theme.colors.disabled}
299
+ width={12}
300
+ style={{ marginHorizontal: 4 }}
301
+ />
302
+ }
303
+ previousComponent={
304
+ <OIcon
305
+ src={theme.images.general.chevron_left}
306
+ color={theme.colors.disabled}
307
+ width={12}
308
+ style={{ marginHorizontal: 4 }}
309
+ />
310
+ }
311
+ onDateChange={(date: moment.Moment) =>
312
+ handleChangeDate(date.format('YYYY-MM-DD'))
313
+ }
314
+ selectedDayColor={theme.colors.primaryContrast}
315
+ todayBackgroundColor={theme.colors.border}
316
+ dayLabelsWrapper={{ borderColor: theme.colors.clear }}
317
+ customDayHeaderStyles={customDayHeaderStylesCallback}
318
+ weekdays={weekDays}
319
+ selectedStartDate={momento}
320
+ minDate={minDate}
321
+ maxDate={maxDate}
322
+ />
250
323
  </View>
251
- <SelectDropdown
252
- defaultButtonText={timeSelected ? timeSelected : t('DELIVERY_TIME', 'Delivery Time')}
253
- defaultValue={74}
254
- data={hoursList}
255
- disabled={orderState.loading}
256
- onSelect={(selectedItem, index) => {
257
- setSelectedTime(selectedItem.startTime)
258
- }}
259
- buttonTextAfterSelection={(selectedItem, index) => {
260
- return `${selectedItem.startTime} - ${selectedItem.endTime}`
261
- }}
262
- rowTextForSelection={(item, index) => {
263
- return `${item.startTime} - ${item.endTime}`
264
- }}
265
- buttonStyle={{
266
- backgroundColor: theme.colors.white,
267
- borderColor: theme.colors.border,
268
- borderWidth: 1,
269
- borderRadius: 8,
270
- height: 40,
271
- width: '100%',
272
- flexDirection: 'column',
273
- alignItems: 'flex-start',
274
- marginBottom: 20
275
- }}
276
- buttonTextStyle={{
277
- color: theme.colors.textNormal,
278
- fontSize: 12,
279
- paddingTop: 10
280
- }}
281
- dropdownStyle={{
282
- borderRadius: 8,
283
- borderColor: theme.colors.lightGray,
284
- }}
285
- rowStyle={{
286
- borderBottomColor: theme.colors.white,
287
- backgroundColor: theme.colors.white,
288
- height: 40,
289
- flexDirection: 'column',
290
- alignItems: 'flex-start',
291
- paddingTop: 8,
292
- paddingLeft: 22
293
- }}
294
- rowTextStyle={{
295
- color: theme.colors.textNormal,
296
- fontSize: 14,
297
- }}
298
- />
299
- <CalendarPicker
300
- nextTitle=">"
301
- width={width - 80}
302
- previousTitle="<"
303
- nextComponent={
304
- <OIcon
305
- src={theme.images.general.chevron_right}
306
- color={theme.colors.disabled}
307
- width={12}
308
- style={{ marginHorizontal: 4 }}
309
- />
310
- }
311
- previousComponent={
312
- <OIcon
313
- src={theme.images.general.chevron_left}
314
- color={theme.colors.disabled}
315
- width={12}
316
- style={{ marginHorizontal: 4 }}
317
- />
318
- }
319
- onDateChange={(date: moment.Moment) =>
320
- handleChangeDate(date.format('YYYY-MM-DD'))
321
- }
322
- selectedDayColor={theme.colors.primaryContrast}
323
- todayBackgroundColor={theme.colors.border}
324
- dayLabelsWrapper={{ borderColor: theme.colors.clear }}
325
- customDayHeaderStyles={customDayHeaderStylesCallback}
326
- weekdays={weekDays}
327
- selectedStartDate={momento}
328
- minDate={minDate}
329
- maxDate={maxDate}
330
- />
331
- </View>
332
- )}
333
- </WrapDelveryTime>
334
- )}
324
+ )}
325
+ </WrapDelveryTime>
326
+ )}
327
+ </View>
328
+ <Spinner visible={momentState.isLoading === 1} />
329
+ </Container>
330
+ <View style={{ position: 'absolute', bottom: bottom, paddingBottom: 20, paddingHorizontal: 40, backgroundColor: 'white', width: '100%' }}>
331
+ <OButton onClick={handleChangeMoment} isDisabled={!selectedTime} text={t('CONTINUE', 'Continue')} style={{ borderRadius: 7.6, height: 44, shadowOpacity: 0 }} textStyle={{ color: 'white', fontSize: 14 }} showNextIcon />
335
332
  </View>
336
- <Spinner visible={momentState.isLoading === 1} />
337
- </Container>
338
- <View style={{position: 'absolute', bottom: bottom, paddingBottom: 20, paddingHorizontal: 40, backgroundColor: 'white', width: '100%'}}>
339
- <OButton onClick={handleChangeMoment} isDisabled={!selectedTime} text={t('CONTINUE', 'Continue')} style={{borderRadius: 7.6, height: 44, shadowOpacity: 0}} textStyle={{color: 'white', fontSize: 14}} showNextIcon />
340
- </View>
341
333
  </>
342
334
  );
343
335
  };