ordering-ui-react-native 0.22.36 → 0.22.37-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.
- package/package.json +6 -7
- package/src/DeliveryApp.tsx +43 -1
- package/src/components/BusinessesListing/index.tsx +1 -1
- package/src/components/Checkout/index.tsx +40 -39
- package/src/components/VerifyPhone/styles.tsx +1 -2
- package/src/context/OfflineActions/index.tsx +236 -0
- package/themes/business/index.tsx +2 -0
- package/themes/business/src/components/AcceptOrRejectOrder/index.tsx +9 -6
- package/themes/business/src/components/AcceptOrRejectOrder/styles.tsx +1 -0
- package/themes/business/src/components/BusinessController/index.tsx +8 -3
- package/themes/business/src/components/BusinessProductList/index.tsx +3 -2
- package/themes/business/src/components/Chat/index.tsx +15 -3
- package/themes/business/src/components/DriverMap/index.tsx +49 -26
- package/themes/business/src/components/FloatingButton/index.tsx +3 -2
- package/themes/business/src/components/GoogleMap/index.tsx +15 -8
- package/themes/business/src/components/LanguageSelector/index.tsx +1 -4
- package/themes/business/src/components/LoginForm/index.tsx +123 -98
- package/themes/business/src/components/LogoutButton/index.tsx +1 -1
- package/themes/business/src/components/MapView/index.tsx +46 -29
- package/themes/business/src/components/NewOrderNotification/index.tsx +38 -19
- package/themes/business/src/components/OrderDetails/Business.tsx +47 -27
- package/themes/business/src/components/OrderDetails/Delivery.tsx +134 -53
- package/themes/business/src/components/OrderDetails/OrderContentComponent.tsx +156 -46
- package/themes/business/src/components/OrderDetails/OrderHeaderComponent.tsx +51 -28
- package/themes/business/src/components/OrderDetails/styles.tsx +39 -3
- package/themes/business/src/components/OrderDetails/usePrinterCommands.tsx +17 -16
- package/themes/business/src/components/OrderDetailsLogistic/index.tsx +3 -2
- package/themes/business/src/components/OrderSummary/index.tsx +6 -4
- package/themes/business/src/components/OrdersListManager/index.tsx +13 -1
- package/themes/business/src/components/OrdersOption/index.tsx +332 -231
- package/themes/business/src/components/OrdersOption/styles.tsx +14 -0
- package/themes/business/src/components/PreviousMessages/index.tsx +26 -3
- package/themes/business/src/components/PreviousOrders/OrderItem.tsx +29 -18
- package/themes/business/src/components/PreviousOrders/index.tsx +74 -66
- package/themes/business/src/components/PreviousOrders/styles.tsx +2 -1
- package/themes/business/src/components/PrinterEdition/MessageAlert.tsx +33 -0
- package/themes/business/src/components/PrinterEdition/index.tsx +431 -0
- package/themes/business/src/components/PrinterEdition/printerList.tsx +23 -0
- package/themes/business/src/components/PrinterEdition/styles.tsx +61 -0
- package/themes/business/src/components/PrinterSettings/index.tsx +162 -174
- package/themes/business/src/components/PrinterSettings/styles.tsx +14 -1
- package/themes/business/src/components/ProductItemAccordion/index.tsx +3 -2
- package/themes/business/src/components/ReviewCustomer/index.tsx +2 -0
- package/themes/business/src/components/StoresList/index.tsx +2 -2
- package/themes/business/src/components/UserProfileForm/index.tsx +48 -19
- package/themes/business/src/components/UserProfileForm/styles.tsx +7 -0
- package/themes/business/src/components/WebsocketStatus/index.tsx +2 -2
- package/themes/business/src/components/shared/OTextarea.tsx +8 -9
- package/themes/business/src/config/currency.tsx +1010 -0
- package/themes/business/src/hooks/useLocation.tsx +16 -12
- package/themes/business/src/layouts/SafeAreaContainer.tsx +35 -19
- package/themes/business/src/types/index.tsx +21 -7
- package/themes/business/src/utils/index.tsx +28 -3
- package/themes/doordash/src/components/BusinessesListing/index.tsx +1 -1
- package/themes/doordash/src/components/LoginForm/index.tsx +1 -2
- package/themes/instacart/src/components/BusinessesListing/index.tsx +1 -1
- package/themes/kiosk/src/components/Checkout/index.tsx +9 -5
- package/themes/kiosk/src/components/CustomerName/index.tsx +1 -1
- package/themes/kiosk/src/components/NavBar/index.tsx +14 -14
- package/themes/kiosk/src/components/OptionCard/index.tsx +1 -1
- package/themes/kiosk/src/components/OrderTypeCardSelector/index.tsx +8 -10
- package/themes/kiosk/src/components/PaymentOptions/index.tsx +121 -57
- package/themes/kiosk/src/components/shared/OButton.tsx +5 -18
- package/themes/original/index.tsx +11 -0
- package/themes/original/src/components/AddressForm/index.tsx +27 -16
- package/themes/original/src/components/AddressList/index.tsx +8 -7
- package/themes/original/src/components/AppleLogin/index.tsx +4 -4
- package/themes/original/src/components/BusinessBasicInformation/index.tsx +5 -8
- package/themes/original/src/components/BusinessItemAccordion/index.tsx +14 -6
- package/themes/original/src/components/BusinessListingSearch/BusinessSearchFooter.tsx +103 -92
- package/themes/original/src/components/BusinessListingSearch/BusinessSearchHeader.tsx +8 -6
- package/themes/original/src/components/BusinessListingSearch/index.tsx +1 -2
- package/themes/original/src/components/BusinessPreorder/index.tsx +46 -28
- package/themes/original/src/components/BusinessProductsList/SubcategoriesComponent/index.tsx +73 -70
- package/themes/original/src/components/BusinessProductsList/index.tsx +6 -7
- package/themes/original/src/components/BusinessProductsList/styles.tsx +0 -3
- package/themes/original/src/components/BusinessProductsListing/index.tsx +10 -6
- package/themes/original/src/components/BusinessTypeFilter/index.tsx +9 -8
- package/themes/original/src/components/BusinessesListing/Layout/Appointment/index.tsx +2 -1
- package/themes/original/src/components/BusinessesListing/Layout/Original/styles.tsx +1 -1
- package/themes/original/src/components/BusinessesListing/index.tsx +0 -1
- package/themes/original/src/components/Cart/index.tsx +49 -15
- package/themes/original/src/components/CartContent/index.tsx +2 -4
- package/themes/original/src/components/Checkout/index.tsx +127 -77
- package/themes/original/src/components/CitiesControl/index.tsx +0 -3
- package/themes/original/src/components/CouponControl/index.tsx +1 -3
- package/themes/original/src/components/DriverTips/index.tsx +1 -3
- package/themes/original/src/components/Favorite/index.tsx +1 -5
- package/themes/original/src/components/FavoriteList/index.tsx +0 -1
- package/themes/original/src/components/ForgotPasswordForm/index.tsx +5 -7
- package/themes/original/src/components/GiftCard/GiftCardUI/index.tsx +15 -17
- package/themes/original/src/components/GiftCard/PurchaseGiftCard/index.tsx +3 -7
- package/themes/original/src/components/GiftCard/RedeemGiftCard/index.tsx +24 -32
- package/themes/original/src/components/GiftCard/SendGiftCard/index.tsx +7 -9
- package/themes/original/src/components/GiftCard/VerticalGiftCardOrdersLayout/index.tsx +11 -12
- package/themes/original/src/components/GoogleMap/index.tsx +39 -18
- package/themes/original/src/components/Help/index.tsx +2 -0
- package/themes/original/src/components/HighestRatedBusinesses/index.tsx +1 -1
- package/themes/original/src/components/Home/index.tsx +35 -19
- package/themes/original/src/components/LoginForm/Otp/index.tsx +0 -3
- package/themes/original/src/components/LoginForm/index.tsx +14 -11
- package/themes/original/src/components/MessageListing/index.tsx +2 -1
- package/themes/original/src/components/Messages/index.tsx +27 -19
- package/themes/original/src/components/MomentOption/TimeListItem.tsx +56 -0
- package/themes/original/src/components/MomentOption/index.tsx +80 -52
- package/themes/original/src/components/MomentSelector/index.tsx +5 -2
- package/themes/original/src/components/MultiCartsPaymethodsAndWallets/index.tsx +7 -4
- package/themes/original/src/components/MultiCheckout/index.tsx +55 -27
- package/themes/original/src/components/MultiOrdersDetails/index.tsx +1 -0
- package/themes/original/src/components/MyOrders/index.tsx +2 -2
- package/themes/original/src/components/NavBar/index.tsx +7 -4
- package/themes/original/src/components/NetworkError/index.tsx +0 -5
- package/themes/original/src/components/NotFoundSource/index.tsx +0 -3
- package/themes/original/src/components/OrderDetails/OrderEta.tsx +4 -3
- package/themes/original/src/components/OrderDetails/OrderHistory.tsx +16 -11
- package/themes/original/src/components/OrderDetails/index.tsx +45 -22
- package/themes/original/src/components/OrderDetails/styles.tsx +0 -1
- package/themes/original/src/components/OrderProgress/index.tsx +4 -3
- package/themes/original/src/components/OrderSummary/index.tsx +32 -11
- package/themes/original/src/components/OrderTypeSelector/index.tsx +7 -6
- package/themes/original/src/components/OrdersOption/index.tsx +3 -6
- package/themes/original/src/components/PaymentOptionStripe/index.tsx +0 -5
- package/themes/original/src/components/PaymentOptionWallet/index.tsx +56 -56
- package/themes/original/src/components/PaymentOptions/index.tsx +462 -461
- package/themes/original/src/components/PhoneInputNumber/index.tsx +92 -7
- package/themes/original/src/components/PlaceSpot/index.tsx +1 -3
- package/themes/original/src/components/PreviousOrders/index.tsx +1 -2
- package/themes/original/src/components/ProductForm/ActionButton.tsx +17 -20
- package/themes/original/src/components/ProductForm/index.tsx +107 -102
- package/themes/original/src/components/ProductItemAccordion/index.tsx +30 -38
- package/themes/original/src/components/ProductOptionSubOption/index.tsx +16 -8
- package/themes/original/src/components/ProfessionalProfile/index.tsx +4 -5
- package/themes/original/src/components/Promotions/index.tsx +6 -9
- package/themes/original/src/components/ReviewDriver/index.tsx +1 -1
- package/themes/original/src/components/ReviewOrder/index.tsx +2 -2
- package/themes/original/src/components/ReviewProducts/index.tsx +1 -1
- package/themes/original/src/components/ReviewTrigger/index.tsx +2 -2
- package/themes/original/src/components/ServiceForm/index.tsx +52 -54
- package/themes/original/src/components/Sessions/index.tsx +3 -3
- package/themes/original/src/components/SignupForm/index.tsx +44 -32
- package/themes/original/src/components/SingleOrderCard/index.tsx +6 -4
- package/themes/original/src/components/SingleProductCard/index.tsx +5 -5
- package/themes/original/src/components/SingleProductCard/styles.tsx +0 -3
- package/themes/original/src/components/StripeCardForm/index.tsx +0 -3
- package/themes/original/src/components/StripeCardsList/index.tsx +16 -3
- package/themes/original/src/components/StripeElementsForm/index.tsx +8 -4
- package/themes/original/src/components/StripeElementsForm/naked.tsx +1 -1
- package/themes/original/src/components/StripeRedirectForm/index.tsx +0 -3
- package/themes/original/src/components/TaxInformation/index.tsx +3 -2
- package/themes/original/src/components/UpsellingProducts/UpsellingContent.tsx +10 -7
- package/themes/original/src/components/UpsellingProducts/UpsellingLayout.tsx +8 -3
- package/themes/original/src/components/UserDetails/index.tsx +17 -16
- package/themes/original/src/components/UserFormDetails/index.tsx +102 -74
- package/themes/original/src/components/UserProfile/index.tsx +9 -1
- package/themes/original/src/components/UserVerification/index.tsx +15 -4
- package/themes/original/src/components/Wallets/index.tsx +6 -3
- package/themes/original/src/components/WebsocketStatus/index.tsx +1 -4
- package/themes/original/src/components/shared/OAlert.tsx +2 -1
- package/themes/original/src/components/shared/OButton.tsx +5 -4
- package/themes/original/src/components/shared/OInput.tsx +4 -8
- package/themes/original/src/components/shared/OModal.tsx +7 -2
- package/themes/original/src/types/index.tsx +12 -4
- package/themes/original/src/utils/index.tsx +29 -0
- package/themes/uber-eats/src/components/BusinessesListing/index.tsx +1 -1
|
@@ -35,10 +35,17 @@ export const ProductOptionSubOptionUI = (props: any) => {
|
|
|
35
35
|
disabled,
|
|
36
36
|
setIsScrollAvailable,
|
|
37
37
|
image,
|
|
38
|
-
enableIntersection
|
|
38
|
+
enableIntersection,
|
|
39
|
+
usePizzaValidation,
|
|
40
|
+
pizzaState
|
|
39
41
|
} = props
|
|
40
42
|
|
|
41
|
-
const disableIncrement =
|
|
43
|
+
const disableIncrement =
|
|
44
|
+
option?.with_half_option
|
|
45
|
+
? pizzaState?.[`option:${option?.id}`]?.value === option?.max
|
|
46
|
+
: option?.limit_suboptions_by_max
|
|
47
|
+
? (balance === option?.max || state.quantity === suboption.max)
|
|
48
|
+
: state.quantity === suboption?.max || (!state.selected && balance === option?.max)
|
|
42
49
|
const price = option?.with_half_option && suboption?.half_price && state.position !== 'whole' ? suboption?.half_price : suboption?.price
|
|
43
50
|
|
|
44
51
|
const theme = useTheme();
|
|
@@ -65,8 +72,9 @@ export const ProductOptionSubOptionUI = (props: any) => {
|
|
|
65
72
|
const handleSuboptionClick = () => {
|
|
66
73
|
toggleSelect()
|
|
67
74
|
setIsDirty(true)
|
|
75
|
+
const minMaxValidation = option?.with_half_option ? usePizzaValidation : (balance === option?.max && option?.suboptions?.length > balance && !(option?.min === 1 && option?.max === 1))
|
|
68
76
|
|
|
69
|
-
if (
|
|
77
|
+
if (!state.selected && minMaxValidation) {
|
|
70
78
|
setShowMessage(true)
|
|
71
79
|
}
|
|
72
80
|
}
|
|
@@ -86,7 +94,7 @@ export const ProductOptionSubOptionUI = (props: any) => {
|
|
|
86
94
|
if (!(balance === option?.max && option?.suboptions?.length > balance && !(option?.min === 1 && option?.max === 1))) {
|
|
87
95
|
setShowMessage(false)
|
|
88
96
|
}
|
|
89
|
-
}, [balance])
|
|
97
|
+
}, [balance, pizzaState?.[`option:${option?.id}`]?.value])
|
|
90
98
|
|
|
91
99
|
return (
|
|
92
100
|
<InView onChange={(inView: boolean) => handleChangeInterSection(inView)} triggerOnce={true}>
|
|
@@ -122,7 +130,7 @@ export const ProductOptionSubOptionUI = (props: any) => {
|
|
|
122
130
|
{suboption?.name}
|
|
123
131
|
</OText>
|
|
124
132
|
</IconControl>
|
|
125
|
-
{option?.allow_suboption_quantity && state?.selected && (
|
|
133
|
+
{!(option?.max === 1 && option?.min === 1) && option?.allow_suboption_quantity && state?.selected && (
|
|
126
134
|
<QuantityControl>
|
|
127
135
|
<>
|
|
128
136
|
<Checkbox disabled={disabled || state.quantity === 0} onPress={decrement}>
|
|
@@ -135,11 +143,11 @@ export const ProductOptionSubOptionUI = (props: any) => {
|
|
|
135
143
|
<OText size={12}>
|
|
136
144
|
{state.quantity}
|
|
137
145
|
</OText>
|
|
138
|
-
<Checkbox disabled={disabled || disableIncrement} onPress={increment}>
|
|
146
|
+
<Checkbox disabled={disabled || disableIncrement || usePizzaValidation} onPress={increment}>
|
|
139
147
|
<IconAntDesign
|
|
140
148
|
name='pluscircleo'
|
|
141
149
|
size={iconsSize}
|
|
142
|
-
color={disableIncrement || disabled ? theme.colors.disabled : theme.colors.primary}
|
|
150
|
+
color={disableIncrement || disabled || usePizzaValidation ? theme.colors.disabled : theme.colors.primary}
|
|
143
151
|
/>
|
|
144
152
|
</Checkbox>
|
|
145
153
|
</>
|
|
@@ -157,7 +165,7 @@ export const ProductOptionSubOptionUI = (props: any) => {
|
|
|
157
165
|
style={styles.inverse}
|
|
158
166
|
/>
|
|
159
167
|
</Circle>
|
|
160
|
-
<Circle disabled={disabled} onPress={() => changePosition('whole')}>
|
|
168
|
+
<Circle disabled={disabled || (pizzaState?.[`option:${option?.id}`]?.value === option?.max)} onPress={() => changePosition('whole')}>
|
|
161
169
|
<OIcon
|
|
162
170
|
src={theme.images.general.half_f}
|
|
163
171
|
color={state.selected && state.position === 'whole' ? theme.colors.primary : '#cbcbcb'}
|
|
@@ -233,7 +233,7 @@ export const ProfessionalProfile = (props: ProfessionalProfileParams) => {
|
|
|
233
233
|
<CalendarWrapper>
|
|
234
234
|
{(timeList?.length > 0 && isEnabled) ? (
|
|
235
235
|
<SelectDropdown
|
|
236
|
-
ref={dropdownRef}
|
|
236
|
+
ref={dropdownRef}
|
|
237
237
|
data={timeList}
|
|
238
238
|
onSelect={(selectedItem, index) => {
|
|
239
239
|
console.log(selectedItem.value)
|
|
@@ -244,7 +244,7 @@ export const ProfessionalProfile = (props: ProfessionalProfileParams) => {
|
|
|
244
244
|
rowTextForSelection={(item, index) => {
|
|
245
245
|
return item.text
|
|
246
246
|
}}
|
|
247
|
-
buttonStyle={{borderRadius: 7.6, ...styles.selectOption}}
|
|
247
|
+
buttonStyle={{ borderRadius: 7.6, ...styles.selectOption }}
|
|
248
248
|
buttonTextStyle={{
|
|
249
249
|
color: theme.colors.disabled,
|
|
250
250
|
fontSize: 14,
|
|
@@ -267,7 +267,7 @@ export const ProfessionalProfile = (props: ProfessionalProfileParams) => {
|
|
|
267
267
|
}}
|
|
268
268
|
renderCustomizedRowChild={(item, index) => {
|
|
269
269
|
return (
|
|
270
|
-
<Text style={[styles.dropDownRow, { color: isBusyTime(professional, getMomentTime(item.value)) ? theme.colors.lightGray : theme.colors.primary }
|
|
270
|
+
<Text style={[styles.dropDownRow, { color: isBusyTime(professional, getMomentTime(item.value)) ? theme.colors.lightGray : theme.colors.primary }]}>
|
|
271
271
|
{item.text}
|
|
272
272
|
</Text>
|
|
273
273
|
)
|
|
@@ -326,11 +326,10 @@ export const ProfessionalProfile = (props: ProfessionalProfileParams) => {
|
|
|
326
326
|
</ScheduleWrapper>
|
|
327
327
|
<ButtonWrapper>
|
|
328
328
|
<OButton
|
|
329
|
-
bgColor={theme.colors.primary}
|
|
330
329
|
onClick={() => handleSelectProfessional()}
|
|
331
330
|
text={t('BOOK', 'Book')}
|
|
332
331
|
style={styles.buttonStyle}
|
|
333
|
-
textStyle={{ fontSize: 14
|
|
332
|
+
textStyle={{ fontSize: 14 }}
|
|
334
333
|
/>
|
|
335
334
|
</ButtonWrapper>
|
|
336
335
|
</Container>
|
|
@@ -171,7 +171,7 @@ const PromotionsUI = (props: PromotionParams) => {
|
|
|
171
171
|
onClick={() => handleClickOffer(offer)}
|
|
172
172
|
text={t('VIEW', 'View')}
|
|
173
173
|
style={styles.buttonStyle}
|
|
174
|
-
textStyle={{ fontSize: 14,
|
|
174
|
+
textStyle={{ fontSize: 14, flexWrap: 'nowrap' }}
|
|
175
175
|
/>
|
|
176
176
|
</WrapperSingleOffer>
|
|
177
177
|
))}
|
|
@@ -182,7 +182,7 @@ const PromotionsUI = (props: PromotionParams) => {
|
|
|
182
182
|
title={``}
|
|
183
183
|
onClose={() => setOpenModal(false)}
|
|
184
184
|
>
|
|
185
|
-
<
|
|
185
|
+
<ScrollView style={{ padding: 20 }}>
|
|
186
186
|
<OText style={{ alignSelf: 'center', fontWeight: '700' }} mBottom={20}>
|
|
187
187
|
{offerSelected?.name} / {t('VALUE_OF_OFFER', 'Value of offer')}: {offerSelected?.rate_type === 1 ? `${offerSelected?.rate}%` : `${parsePrice(offerSelected?.rate)}`}
|
|
188
188
|
</OText>
|
|
@@ -210,10 +210,7 @@ const PromotionsUI = (props: PromotionParams) => {
|
|
|
210
210
|
<OText style={{ marginTop: 10, marginBottom: 10 }}>
|
|
211
211
|
{t('AVAILABLE_BUSINESSES_FOR_OFFER', 'Available businesses for this offer')}:
|
|
212
212
|
</OText>
|
|
213
|
-
<
|
|
214
|
-
showsVerticalScrollIndicator={false}
|
|
215
|
-
style={{ height: '68%' }}
|
|
216
|
-
>
|
|
213
|
+
<View style={{ marginBottom: 70 }}>
|
|
217
214
|
{offerSelected?.businesses?.map((business: any) => {
|
|
218
215
|
return (
|
|
219
216
|
<SingleBusinessOffer key={business.id}>
|
|
@@ -238,14 +235,14 @@ const PromotionsUI = (props: PromotionParams) => {
|
|
|
238
235
|
onClick={() => handleBusinessClick(business)}
|
|
239
236
|
text={t('GO_TO_BUSINESSS', 'Go to business')}
|
|
240
237
|
style={styles.modalButtonStyle}
|
|
241
|
-
textStyle={{ fontSize: 10
|
|
238
|
+
textStyle={{ fontSize: 10 }}
|
|
242
239
|
/>
|
|
243
240
|
</BusinessInfo>
|
|
244
241
|
</SingleBusinessOffer>
|
|
245
242
|
)
|
|
246
243
|
})}
|
|
247
|
-
</
|
|
248
|
-
</
|
|
244
|
+
</View>
|
|
245
|
+
</ScrollView>
|
|
249
246
|
</OModal>
|
|
250
247
|
</PromotionsContainer>
|
|
251
248
|
</Container>
|
|
@@ -293,7 +293,7 @@ const ReviewDriverUI = (props: ReviewDriverParams) => {
|
|
|
293
293
|
<FloatingBottomContainer>
|
|
294
294
|
<ActionContainer>
|
|
295
295
|
<OButton
|
|
296
|
-
textStyle={{
|
|
296
|
+
textStyle={{ paddingRight: 10 }}
|
|
297
297
|
text={t('SEND_REVIEW', 'Send Review')}
|
|
298
298
|
style={{ borderRadius: 8 }}
|
|
299
299
|
imgRightStyle={{ tintColor: theme.colors.white, right: 5, margin: 5 }}
|
|
@@ -227,7 +227,7 @@ export const ReviewOrderUI = (props: ReviewOrderParams) => {
|
|
|
227
227
|
</View>
|
|
228
228
|
) : (
|
|
229
229
|
<MultiLogosContainer>
|
|
230
|
-
{order?.logo?.map((logo
|
|
230
|
+
{order?.logo?.map((logo: string, i: number) => (
|
|
231
231
|
<React.Fragment key={logo}>
|
|
232
232
|
<View style={styles.logoWrapper}>
|
|
233
233
|
<OIcon
|
|
@@ -333,7 +333,7 @@ export const ReviewOrderUI = (props: ReviewOrderParams) => {
|
|
|
333
333
|
<OText weight={700} size={18} color={theme.colors.textNormal}>{t('FRONT_VISUALS_SKIP', 'Skip')}</OText>
|
|
334
334
|
</SkipButton>
|
|
335
335
|
<OButton
|
|
336
|
-
textStyle={{
|
|
336
|
+
textStyle={{ paddingRight: 10 }}
|
|
337
337
|
text={t('CONTINUE', 'Continue')}
|
|
338
338
|
style={{ borderRadius: 8 }}
|
|
339
339
|
imgRightSrc={theme.images.general.arrow_right}
|
|
@@ -104,7 +104,7 @@ const ReviewProductsUI = (props: ReviewProductParams) => {
|
|
|
104
104
|
<OText weight={700} size={18} color={theme.colors.textNormal}>{t('FRONT_VISUALS_SKIP', 'Skip')}</OText>
|
|
105
105
|
</SkipButton>
|
|
106
106
|
<OButton
|
|
107
|
-
textStyle={{
|
|
107
|
+
textStyle={{ paddingRight: 10 }}
|
|
108
108
|
text={order?.driver && !order?.user_review ? t('CONTINUE', 'Continue') : t('SEND_REVIEW', 'Send Review')}
|
|
109
109
|
style={{ borderRadius: 8 }}
|
|
110
110
|
imgRightSrc={theme.images.general.arrow_right}
|
|
@@ -90,7 +90,7 @@ export const ReviewTrigger = (props: any) => {
|
|
|
90
90
|
</View>
|
|
91
91
|
) : (
|
|
92
92
|
<MultiLogosContainer>
|
|
93
|
-
{order?.logo?.map((logo
|
|
93
|
+
{order?.logo?.map((logo: string, i: number) => (
|
|
94
94
|
<React.Fragment key={logo}>
|
|
95
95
|
<View style={styles.logoWrapper}>
|
|
96
96
|
<OIcon
|
|
@@ -122,7 +122,7 @@ export const ReviewTrigger = (props: any) => {
|
|
|
122
122
|
<FloatingBottomContainer borderTopWidth={0} borderRadius={10}>
|
|
123
123
|
<ActionContainer>
|
|
124
124
|
<OButton
|
|
125
|
-
textStyle={{
|
|
125
|
+
textStyle={{ paddingRight: 10 }}
|
|
126
126
|
text={t('GOTO_REVIEW', 'Go to review')}
|
|
127
127
|
style={{ borderRadius: 8 }}
|
|
128
128
|
imgRightSrc={theme.images.general.arrow_right}
|
|
@@ -57,9 +57,9 @@ const ServiceFormUI = (props: ServiceFormParams) => {
|
|
|
57
57
|
const [{ optimizeImage, parsePrice, parseDate }] = useUtils()
|
|
58
58
|
const { top } = useSafeAreaInsets()
|
|
59
59
|
const [{ configs }] = useConfig()
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
60
|
+
const [orderState] = useOrder()
|
|
61
|
+
const [{ auth }] = useSession()
|
|
62
|
+
const { product, loading, error } = productObject;
|
|
63
63
|
|
|
64
64
|
const [selectDate, setSelectedDate] = useState<any>(new Date())
|
|
65
65
|
const [timeList, setTimeList] = useState<any>([])
|
|
@@ -77,8 +77,8 @@ const ServiceFormUI = (props: ServiceFormParams) => {
|
|
|
77
77
|
const styles = StyleSheet.create({
|
|
78
78
|
photoStyle: {
|
|
79
79
|
width: 45,
|
|
80
|
-
|
|
81
|
-
|
|
80
|
+
height: 45,
|
|
81
|
+
borderRadius: 7.6
|
|
82
82
|
},
|
|
83
83
|
buttonStyle: {
|
|
84
84
|
borderRadius: 7.6,
|
|
@@ -144,7 +144,7 @@ const ServiceFormUI = (props: ServiceFormParams) => {
|
|
|
144
144
|
return (moment.utc(item?.start).local().valueOf() <= moment(selectedMoment).valueOf() &&
|
|
145
145
|
moment(selectedMoment).valueOf() < moment.utc(item?.end).local().valueOf()) ||
|
|
146
146
|
(moment.utc(item?.start).local().valueOf() < moment(selectedMoment).add(duration, 'minutes').valueOf() &&
|
|
147
|
-
|
|
147
|
+
moment(selectedMoment).add(duration, 'minutes').valueOf() < moment.utc(item?.end).local().valueOf())
|
|
148
148
|
})
|
|
149
149
|
return valid
|
|
150
150
|
}
|
|
@@ -166,9 +166,9 @@ const ServiceFormUI = (props: ServiceFormParams) => {
|
|
|
166
166
|
}
|
|
167
167
|
|
|
168
168
|
const handleUpdateGuest = () => {
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
169
|
+
const guestToken = uuid.v4()
|
|
170
|
+
if (guestToken) handleCreateGuestUser({ guest_token: guestToken })
|
|
171
|
+
}
|
|
172
172
|
|
|
173
173
|
const customDayHeaderStylesCallback = () => {
|
|
174
174
|
return {
|
|
@@ -193,11 +193,11 @@ const ServiceFormUI = (props: ServiceFormParams) => {
|
|
|
193
193
|
}
|
|
194
194
|
|
|
195
195
|
const handleRedirectLogin = () => {
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
196
|
+
navigation && navigation.navigate('Login', {
|
|
197
|
+
store_slug: props.businessSlug
|
|
198
|
+
});
|
|
199
199
|
onClose && onClose()
|
|
200
|
-
|
|
200
|
+
};
|
|
201
201
|
|
|
202
202
|
const getTimes = (curdate: any, menu: any) => {
|
|
203
203
|
validateSelectedDate(curdate, menu)
|
|
@@ -290,7 +290,7 @@ const ServiceFormUI = (props: ServiceFormParams) => {
|
|
|
290
290
|
setSelectedDate(moment.utc(productCart?.calendar_event?.start).local())
|
|
291
291
|
setTimeSelected(moment.utc(productCart?.calendar_event?.start).local().format('HH:mm'))
|
|
292
292
|
}, [productCart])
|
|
293
|
-
|
|
293
|
+
|
|
294
294
|
return (
|
|
295
295
|
<>
|
|
296
296
|
{loading && !error && (
|
|
@@ -450,7 +450,7 @@ const ServiceFormUI = (props: ServiceFormParams) => {
|
|
|
450
450
|
<CalendarWrapper>
|
|
451
451
|
{(timeList?.length > 0 && isEnabled) ? (
|
|
452
452
|
<SelectDropdown
|
|
453
|
-
ref={dropdownRef}
|
|
453
|
+
ref={dropdownRef}
|
|
454
454
|
defaultValueByIndex={timeList.findIndex((item: any) => item.value === timeSelected)}
|
|
455
455
|
data={timeList}
|
|
456
456
|
onSelect={(selectedItem, index) => {
|
|
@@ -462,7 +462,7 @@ const ServiceFormUI = (props: ServiceFormParams) => {
|
|
|
462
462
|
rowTextForSelection={(item, index) => {
|
|
463
463
|
return item.text
|
|
464
464
|
}}
|
|
465
|
-
buttonStyle={{borderRadius: 7.6, ...styles.selectOption}}
|
|
465
|
+
buttonStyle={{ borderRadius: 7.6, ...styles.selectOption }}
|
|
466
466
|
buttonTextStyle={{
|
|
467
467
|
color: theme.colors.disabled,
|
|
468
468
|
fontSize: 14,
|
|
@@ -485,7 +485,7 @@ const ServiceFormUI = (props: ServiceFormParams) => {
|
|
|
485
485
|
}}
|
|
486
486
|
renderCustomizedRowChild={(item, index) => {
|
|
487
487
|
return (
|
|
488
|
-
<Text style={[styles.dropDownRow, { color: isBusyTime(currentProfessional, getMomentTime(item.value)) ? theme.colors.lightGray : theme.colors.primary }
|
|
488
|
+
<Text style={[styles.dropDownRow, { color: isBusyTime(currentProfessional, getMomentTime(item.value)) ? theme.colors.lightGray : theme.colors.primary }]}>
|
|
489
489
|
{item.text}
|
|
490
490
|
</Text>
|
|
491
491
|
)
|
|
@@ -553,7 +553,6 @@ const ServiceFormUI = (props: ServiceFormParams) => {
|
|
|
553
553
|
auth &&
|
|
554
554
|
orderState.options?.address_id)) && (
|
|
555
555
|
<OButton
|
|
556
|
-
bgColor={theme.colors.primary}
|
|
557
556
|
onClick={() => handleSaveService()}
|
|
558
557
|
text={orderState.loading
|
|
559
558
|
? t('LOADING', 'Loading')
|
|
@@ -562,7 +561,7 @@ const ServiceFormUI = (props: ServiceFormParams) => {
|
|
|
562
561
|
: t('BOOK', 'Book'))}
|
|
563
562
|
style={styles.buttonStyle}
|
|
564
563
|
isDisabled={isSoldOut || maxProductQuantity <= 0 || !currentProfessional?.id || !dateSelected || isBusyTime(currentProfessional, dateSelected)}
|
|
565
|
-
textStyle={{ fontSize: 14
|
|
564
|
+
textStyle={{ fontSize: 14 }}
|
|
566
565
|
/>
|
|
567
566
|
)}
|
|
568
567
|
{auth &&
|
|
@@ -577,45 +576,44 @@ const ServiceFormUI = (props: ServiceFormParams) => {
|
|
|
577
576
|
) : (
|
|
578
577
|
<OButton onClick={() => addressRedirect()} />
|
|
579
578
|
))}
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
{
|
|
599
|
-
|
|
600
|
-
{
|
|
601
|
-
<
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
)}
|
|
579
|
+
{!auth && (
|
|
580
|
+
<OButton
|
|
581
|
+
isDisabled={isSoldOut || maxProductQuantity <= 0}
|
|
582
|
+
onClick={() => handleRedirectLogin()}
|
|
583
|
+
text={
|
|
584
|
+
isSoldOut || maxProductQuantity <= 0
|
|
585
|
+
? t('SOLD_OUT', 'Sold out')
|
|
586
|
+
: t('LOGIN_SIGNUP', 'Login / Sign Up')
|
|
587
|
+
}
|
|
588
|
+
imgRightSrc=""
|
|
589
|
+
textStyle={{ color: theme.colors.primary, fontSize: 14 }}
|
|
590
|
+
style={{
|
|
591
|
+
height: 44,
|
|
592
|
+
backgroundColor: theme.colors.white,
|
|
593
|
+
}}
|
|
594
|
+
/>
|
|
595
|
+
)}
|
|
596
|
+
{!auth && guestCheckoutEnabled && orderTypeEnabled && (
|
|
597
|
+
<TouchableOpacity style={{ marginTop: 10 }} onPress={handleUpdateGuest}>
|
|
598
|
+
{actionStatus?.loading ? (
|
|
599
|
+
<Placeholder Animation={Fade}>
|
|
600
|
+
<PlaceholderLine width={60} height={20} />
|
|
601
|
+
</Placeholder>
|
|
602
|
+
) : (
|
|
603
|
+
<OText color={theme.colors.primary} size={13}>{t('AS_GUEST_USER', 'As guest user')}</OText>
|
|
604
|
+
)}
|
|
605
|
+
</TouchableOpacity>
|
|
606
|
+
)}
|
|
609
607
|
</ButtonWrapper>
|
|
610
608
|
</Container>
|
|
611
609
|
)}
|
|
612
610
|
|
|
613
611
|
<OModal
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
612
|
+
open={isOpen}
|
|
613
|
+
onClose={() => setIsOpen(false)}
|
|
614
|
+
entireModal
|
|
615
|
+
>
|
|
616
|
+
<ScrollView contentContainerStyle={styles.professionalList}>
|
|
619
617
|
<View style={{ paddingVertical: 11 }}>
|
|
620
618
|
<OText
|
|
621
619
|
size={14}
|
|
@@ -671,7 +669,7 @@ const ServiceFormUI = (props: ServiceFormParams) => {
|
|
|
671
669
|
</TouchableOpacity>
|
|
672
670
|
))}
|
|
673
671
|
</ScrollView>
|
|
674
|
-
|
|
672
|
+
</OModal>
|
|
675
673
|
</>
|
|
676
674
|
)
|
|
677
675
|
}
|
|
@@ -111,14 +111,14 @@ export const SessionsUI = (props: SessionsParams) => {
|
|
|
111
111
|
<OButton
|
|
112
112
|
text={t('DELETE_ALL_SESSIONS', 'Delete all sessions')}
|
|
113
113
|
isDisabled={actionState.loading}
|
|
114
|
-
textStyle={{
|
|
114
|
+
textStyle={{ fontSize: 14 }}
|
|
115
115
|
onClick={() => onDeleteAllSessions(false, true)}
|
|
116
116
|
style={{ borderRadius: 7.6, marginTop: 30 }}
|
|
117
117
|
/>
|
|
118
118
|
<OButton
|
|
119
119
|
text={t('DELETE_ALL_SESSIONS_EXCEPT_CURRENT', 'Delete all sessions except current')}
|
|
120
120
|
isDisabled={actionState.loading}
|
|
121
|
-
textStyle={{
|
|
121
|
+
textStyle={{ fontSize: 14 }}
|
|
122
122
|
onClick={() => onDeleteAllSessions(false, false)}
|
|
123
123
|
style={{ borderRadius: 7.6, marginTop: 20 }}
|
|
124
124
|
/>
|
|
@@ -136,7 +136,7 @@ export const SessionsUI = (props: SessionsParams) => {
|
|
|
136
136
|
<OButton
|
|
137
137
|
text={t('ACTIVE_SESSIONS', 'Active sessions')}
|
|
138
138
|
isDisabled={actionState.loading}
|
|
139
|
-
textStyle={{
|
|
139
|
+
textStyle={{ fontSize: 14 }}
|
|
140
140
|
onClick={() => onDeleteAllSessions(true, false)}
|
|
141
141
|
style={{ borderRadius: 7.6, marginTop: 20 }}
|
|
142
142
|
/>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React, { useEffect, useRef, useState } from 'react';
|
|
2
|
-
import { View, Pressable, StyleSheet, Linking, Platform, TouchableOpacity } from 'react-native';
|
|
2
|
+
import { View, Pressable, StyleSheet, Linking, Platform, TouchableOpacity, Modal } from 'react-native';
|
|
3
3
|
import { useForm, Controller } from 'react-hook-form';
|
|
4
4
|
import Spinner from 'react-native-loading-spinner-overlay';
|
|
5
5
|
import MaterialCommunityIcons from 'react-native-vector-icons/MaterialCommunityIcons';
|
|
@@ -32,11 +32,9 @@ import {
|
|
|
32
32
|
} from '../LoginForm/styles';
|
|
33
33
|
|
|
34
34
|
import NavBar from '../NavBar';
|
|
35
|
-
import { VerifyPhone } from '../VerifyPhone';
|
|
36
35
|
|
|
37
36
|
import Alert from '../../../../../src/providers/AlertProvider'
|
|
38
37
|
import { OText, OButton, OInput } from '../shared';
|
|
39
|
-
import { OModal } from '../../../../../src/components/shared';
|
|
40
38
|
import { SignupParams } from '../../types';
|
|
41
39
|
import { sortInputFields } from '../../utils';
|
|
42
40
|
import { GoogleLogin } from '../GoogleLogin';
|
|
@@ -85,7 +83,8 @@ const SignupFormUI = (props: SignupParams) => {
|
|
|
85
83
|
useSignUpFullDetails,
|
|
86
84
|
useSignUpOtpEmail,
|
|
87
85
|
useSignUpOtpCellphone,
|
|
88
|
-
isGuest
|
|
86
|
+
isGuest,
|
|
87
|
+
setCellphoneStartZero
|
|
89
88
|
} = props;
|
|
90
89
|
|
|
91
90
|
const theme = useTheme();
|
|
@@ -141,6 +140,8 @@ const SignupFormUI = (props: SignupParams) => {
|
|
|
141
140
|
const [recaptchaConfig, setRecaptchaConfig] = useState<any>({})
|
|
142
141
|
const [recaptchaVerified, setRecaptchaVerified] = useState(false)
|
|
143
142
|
const [tabLayouts, setTabLayouts] = useState<any>({})
|
|
143
|
+
const [isCheckingCode, setCheckingCode] = useState(false)
|
|
144
|
+
const [otpError, setOtpError] = useState(null)
|
|
144
145
|
|
|
145
146
|
const tabsRef = useRef<any>(null)
|
|
146
147
|
const nameRef = useRef<any>(null);
|
|
@@ -153,9 +154,9 @@ const SignupFormUI = (props: SignupParams) => {
|
|
|
153
154
|
const recaptchaRef = useRef<any>({});
|
|
154
155
|
|
|
155
156
|
const showInputPhoneNumber = (validationFields?.fields?.checkout?.cellphone?.enabled ?? false) || configs?.verification_phone_required?.value === '1'
|
|
156
|
-
const googleLoginEnabled = configs?.google_login_enabled?.value === '1'
|
|
157
|
-
const facebookLoginEnabled = configs?.facebook_login_enabled?.value === '1'
|
|
158
|
-
const appleLoginEnabled = configs?.apple_login_enabled?.value === '1'
|
|
157
|
+
const googleLoginEnabled = configs?.google_login_enabled?.value === '1'
|
|
158
|
+
const facebookLoginEnabled = configs?.facebook_login_enabled?.value === '1'
|
|
159
|
+
const appleLoginEnabled = Platform.OS === 'ios' && configs?.apple_login_enabled?.value === '1'
|
|
159
160
|
|
|
160
161
|
const closeAlert = () => {
|
|
161
162
|
setAlertState({
|
|
@@ -366,6 +367,19 @@ const SignupFormUI = (props: SignupParams) => {
|
|
|
366
367
|
handleReCaptcha && handleReCaptcha({ code: token, version: recaptchaConfig?.version })
|
|
367
368
|
}
|
|
368
369
|
|
|
370
|
+
const handleChangePhoneNumber = (number: any, rawNumber: any) => {
|
|
371
|
+
setPhoneInputData({
|
|
372
|
+
...phoneInputData,
|
|
373
|
+
...number,
|
|
374
|
+
phone: {
|
|
375
|
+
...phoneInputData.phone,
|
|
376
|
+
...number.phone,
|
|
377
|
+
country_code: phoneInputData.phone.country_code
|
|
378
|
+
}
|
|
379
|
+
})
|
|
380
|
+
setCellphoneStartZero && setCellphoneStartZero(rawNumber?.number && rawNumber?.countryCallingCode ? rawNumber?.number : null)
|
|
381
|
+
}
|
|
382
|
+
|
|
369
383
|
useEffect(() => {
|
|
370
384
|
if (configs && Object.keys(configs).length > 0 && enableReCaptcha) {
|
|
371
385
|
if (configs?.security_recaptcha_type?.value === 'v3' &&
|
|
@@ -467,9 +481,16 @@ const SignupFormUI = (props: SignupParams) => {
|
|
|
467
481
|
|
|
468
482
|
useEffect(() => {
|
|
469
483
|
if (checkPhoneCodeState?.result?.error) {
|
|
470
|
-
|
|
484
|
+
const titleText = (
|
|
485
|
+
typeof checkPhoneCodeState?.result?.result === 'string'
|
|
486
|
+
? checkPhoneCodeState?.result?.result
|
|
487
|
+
: checkPhoneCodeState?.result?.result[0].toString()
|
|
488
|
+
) || t('ERROR', 'Error')
|
|
489
|
+
setCheckingCode(false)
|
|
490
|
+
setOtpError(titleText)
|
|
491
|
+
checkPhoneCodeState?.generate && setAlertState({
|
|
471
492
|
open: true,
|
|
472
|
-
title:
|
|
493
|
+
title: titleText,
|
|
473
494
|
content: []
|
|
474
495
|
})
|
|
475
496
|
}
|
|
@@ -650,15 +671,7 @@ const SignupFormUI = (props: SignupParams) => {
|
|
|
650
671
|
<View style={{ marginBottom: 25 }}>
|
|
651
672
|
<PhoneInputNumber
|
|
652
673
|
data={phoneInputData}
|
|
653
|
-
handleData={
|
|
654
|
-
...phoneInputData,
|
|
655
|
-
...val,
|
|
656
|
-
phone: {
|
|
657
|
-
...phoneInputData.phone,
|
|
658
|
-
...val.phone,
|
|
659
|
-
country_code: phoneInputData.phone.country_code
|
|
660
|
-
}
|
|
661
|
-
})}
|
|
674
|
+
handleData={handleChangePhoneNumber}
|
|
662
675
|
forwardRef={phoneRef}
|
|
663
676
|
changeCountry={(val: any) => setPhoneInputData({
|
|
664
677
|
...phoneInputData,
|
|
@@ -789,9 +802,9 @@ const SignupFormUI = (props: SignupParams) => {
|
|
|
789
802
|
<OButton
|
|
790
803
|
imgRightSrc={null}
|
|
791
804
|
text={t('TERMS_AND_CONDITIONS', 'Terms & Conditions')}
|
|
792
|
-
bgColor=
|
|
793
|
-
borderColor=
|
|
794
|
-
style={{ paddingLeft: 0, paddingRight: 0, height: 30, shadowColor:
|
|
805
|
+
bgColor={theme.colors.white}
|
|
806
|
+
borderColor={theme.colors.white}
|
|
807
|
+
style={{ paddingLeft: 0, paddingRight: 0, height: 30, shadowColor: theme.colors.white }}
|
|
795
808
|
textStyle={{ color: theme.colors.primary, marginLeft: 0, marginRight: 0 }}
|
|
796
809
|
onClick={() => handleOpenTermsUrl(configs?.terms_and_conditions_url?.value)}
|
|
797
810
|
/>
|
|
@@ -835,6 +848,7 @@ const SignupFormUI = (props: SignupParams) => {
|
|
|
835
848
|
/>
|
|
836
849
|
)
|
|
837
850
|
}
|
|
851
|
+
autoCapitalize='none'
|
|
838
852
|
value={value}
|
|
839
853
|
onChange={(val: any) => onChange(val)}
|
|
840
854
|
returnKeyType="done"
|
|
@@ -876,9 +890,7 @@ const SignupFormUI = (props: SignupParams) => {
|
|
|
876
890
|
<OButton
|
|
877
891
|
onClick={handleSubmit(onSubmit)}
|
|
878
892
|
text={t('GET_VERIFY_CODE', 'Get Verify Code')}
|
|
879
|
-
borderColor={theme.colors.primary}
|
|
880
893
|
imgRightSrc={null}
|
|
881
|
-
textStyle={{ color: 'white' }}
|
|
882
894
|
isLoading={isLoadingVerifyModal}
|
|
883
895
|
indicatorColor={theme.colors.white}
|
|
884
896
|
style={{ borderRadius: 7.6, marginTop: 6 }}
|
|
@@ -887,9 +899,6 @@ const SignupFormUI = (props: SignupParams) => {
|
|
|
887
899
|
<OButton
|
|
888
900
|
onClick={handleSubmit(onSubmit)}
|
|
889
901
|
text={signupButtonText}
|
|
890
|
-
bgColor={theme.colors.primary}
|
|
891
|
-
borderColor={theme.colors.primary}
|
|
892
|
-
textStyle={{ color: 'white' }}
|
|
893
902
|
imgRightSrc={null}
|
|
894
903
|
isDisabled={formState.loading || validationFields.loading}
|
|
895
904
|
style={{ borderRadius: 7.6, marginTop: 6, shadowOpacity: 0 }}
|
|
@@ -971,13 +980,16 @@ const SignupFormUI = (props: SignupParams) => {
|
|
|
971
980
|
)
|
|
972
981
|
)}
|
|
973
982
|
</FormSide>
|
|
974
|
-
<
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
title={t('ENTER_VERIFICATION_CODE', 'Enter verification code')}
|
|
983
|
+
<Modal
|
|
984
|
+
visible={willVerifyOtpState}
|
|
985
|
+
onDismiss={() => setWillVerifyOtpState && setWillVerifyOtpState(false)}
|
|
986
|
+
animationType='slide'
|
|
979
987
|
>
|
|
980
988
|
<Otp
|
|
989
|
+
isCheckingCode={isCheckingCode}
|
|
990
|
+
setCheckingCode={setCheckingCode}
|
|
991
|
+
otpError={otpError}
|
|
992
|
+
setOtpError={setOtpError}
|
|
981
993
|
pinCount={numOtpInputs || 6}
|
|
982
994
|
willVerifyOtpState={willVerifyOtpState || false}
|
|
983
995
|
setWillVerifyOtpState={() => setWillVerifyOtpState && setWillVerifyOtpState(false)}
|
|
@@ -985,7 +997,7 @@ const SignupFormUI = (props: SignupParams) => {
|
|
|
985
997
|
onSubmit={onSubmit}
|
|
986
998
|
setAlertState={setAlertState}
|
|
987
999
|
/>
|
|
988
|
-
</
|
|
1000
|
+
</Modal>
|
|
989
1001
|
<Spinner
|
|
990
1002
|
visible={formState.loading || validationFields.loading || isFBLoading}
|
|
991
1003
|
/>
|