ordering-ui-react-native 0.15.83-release → 0.15.84-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 +1 -1
- package/src/components/Messages/index.tsx +2 -2
- package/themes/original/src/components/BusinessItemAccordion/index.tsx +3 -3
- package/themes/original/src/components/BusinessListingSearch/BusinessControllerSkeletons/index.tsx +57 -0
- package/themes/original/src/components/BusinessListingSearch/MaxSectionItem/index.tsx +59 -0
- package/themes/original/src/components/BusinessListingSearch/MaxSectionItem/styles.tsx +13 -0
- package/themes/original/src/components/BusinessListingSearch/index.tsx +11 -116
- package/themes/original/src/components/BusinessListingSearch/styles.tsx +4 -12
- package/themes/original/src/components/BusinessProductsList/index.tsx +1 -0
- package/themes/original/src/components/BusinessProductsListing/index.tsx +7 -11
- package/themes/original/src/components/BusinessProductsListing/styles.tsx +7 -0
- package/themes/original/src/components/BusinessesListing/Layout/Appointment/index.tsx +2 -1
- package/themes/original/src/components/BusinessesListing/Layout/Original/index.tsx +3 -1
- package/themes/original/src/components/CartContent/index.tsx +3 -3
- package/themes/original/src/components/HelpAccountAndPayment/index.tsx +8 -3
- package/themes/original/src/components/HelpGuide/index.tsx +8 -3
- package/themes/original/src/components/HelpOrder/index.tsx +8 -3
- package/themes/original/src/components/Messages/index.tsx +17 -17
- package/themes/original/src/components/MultiOrdersDetails/index.tsx +20 -16
- package/themes/original/src/components/NavBar/index.tsx +7 -1
- package/themes/original/src/components/OrderItAgain/index.tsx +5 -4
- package/themes/original/src/components/OrderProgress/index.tsx +8 -2
- package/themes/original/src/components/OrderTypeSelector/index.tsx +4 -3
- package/themes/original/src/components/OrdersOption/PreviousBusinessOrdered/index.tsx +91 -104
- package/themes/original/src/components/OrdersOption/index.tsx +9 -10
- package/themes/original/src/components/ProductForm/index.tsx +7 -5
- package/themes/original/src/components/SingleProductCard/index.tsx +2 -2
- package/themes/original/src/components/UpsellingProducts/index.tsx +7 -3
- package/themes/original/src/components/Wallets/index.tsx +176 -162
- package/themes/original/src/components/shared/OButton.tsx +8 -3
- package/themes/original/src/types/index.tsx +6 -2
package/package.json
CHANGED
|
@@ -41,10 +41,10 @@ export const BusinessItemAccordion = (props: any) => {
|
|
|
41
41
|
useEffect(() => {
|
|
42
42
|
const cartsArray = Object.values(orderState?.carts)
|
|
43
43
|
const cartsLength = cartsArray.filter((cart: any) => cart.products.length > 0).length ?? 0
|
|
44
|
-
if (
|
|
45
|
-
setActiveState(
|
|
44
|
+
if (cartsLength === 1) {
|
|
45
|
+
setActiveState(!isClosed)
|
|
46
46
|
}
|
|
47
|
-
}, [orderState?.carts])
|
|
47
|
+
}, [orderState?.carts, isClosed])
|
|
48
48
|
|
|
49
49
|
return (
|
|
50
50
|
<BIContainer isClosed={isClosed} isMultiCheckout={isMultiCheckout} checkoutVisible={!isActive && !isClosed && !!isProducts && !checkoutButtonDisabled}>
|
package/themes/original/src/components/BusinessListingSearch/BusinessControllerSkeletons/index.tsx
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import React from 'react'
|
|
2
|
+
import { View } from 'react-native'
|
|
3
|
+
import { Fade, Placeholder, PlaceholderLine } from 'rn-placeholder'
|
|
4
|
+
|
|
5
|
+
export const BusinessControllerSkeletons = ({ paginationProps }: any) => {
|
|
6
|
+
return (
|
|
7
|
+
<>
|
|
8
|
+
{[
|
|
9
|
+
...Array(
|
|
10
|
+
paginationProps.nextPageItems
|
|
11
|
+
? paginationProps.nextPageItems
|
|
12
|
+
: 3,
|
|
13
|
+
).keys(),
|
|
14
|
+
].map((item, i) => (
|
|
15
|
+
<Placeholder
|
|
16
|
+
Animation={Fade}
|
|
17
|
+
key={i}
|
|
18
|
+
style={{ width: 320, marginRight: 20, marginTop: 20 }}>
|
|
19
|
+
<View style={{ width: 320 }}>
|
|
20
|
+
<PlaceholderLine
|
|
21
|
+
height={155}
|
|
22
|
+
style={{ marginBottom: 20, borderRadius: 25 }}
|
|
23
|
+
/>
|
|
24
|
+
<View style={{ paddingHorizontal: 10 }}>
|
|
25
|
+
<View
|
|
26
|
+
style={{
|
|
27
|
+
flexDirection: 'row',
|
|
28
|
+
justifyContent: 'space-between',
|
|
29
|
+
}}>
|
|
30
|
+
<PlaceholderLine
|
|
31
|
+
height={25}
|
|
32
|
+
width={40}
|
|
33
|
+
style={{ marginBottom: 10 }}
|
|
34
|
+
/>
|
|
35
|
+
<PlaceholderLine
|
|
36
|
+
height={25}
|
|
37
|
+
width={20}
|
|
38
|
+
style={{ marginBottom: 10 }}
|
|
39
|
+
/>
|
|
40
|
+
</View>
|
|
41
|
+
<PlaceholderLine
|
|
42
|
+
height={20}
|
|
43
|
+
width={30}
|
|
44
|
+
style={{ marginBottom: 10 }}
|
|
45
|
+
/>
|
|
46
|
+
<PlaceholderLine
|
|
47
|
+
height={20}
|
|
48
|
+
width={80}
|
|
49
|
+
style={{ marginBottom: 0 }}
|
|
50
|
+
/>
|
|
51
|
+
</View>
|
|
52
|
+
</View>
|
|
53
|
+
</Placeholder>
|
|
54
|
+
))}
|
|
55
|
+
</>
|
|
56
|
+
)
|
|
57
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { useLanguage, useUtils } from 'ordering-components/native'
|
|
2
|
+
import React from 'react'
|
|
3
|
+
import { View, TouchableOpacity, StyleSheet } from 'react-native'
|
|
4
|
+
import { OText } from '../../shared'
|
|
5
|
+
|
|
6
|
+
import { ProgressContentWrapper, ProgressBar } from './styles'
|
|
7
|
+
|
|
8
|
+
export const MaxSectionItem = (props: any) => {
|
|
9
|
+
const {
|
|
10
|
+
filters,
|
|
11
|
+
handleChangeFilters,
|
|
12
|
+
title,
|
|
13
|
+
options,
|
|
14
|
+
filter
|
|
15
|
+
} = props
|
|
16
|
+
|
|
17
|
+
const [, t] = useLanguage()
|
|
18
|
+
const [{ parsePrice }] = useUtils();
|
|
19
|
+
|
|
20
|
+
const styles = StyleSheet.create({
|
|
21
|
+
maxContainer: {
|
|
22
|
+
flexDirection: 'row',
|
|
23
|
+
justifyContent: 'space-between'
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
const parseValue = (option: number) => {
|
|
28
|
+
return filter === 'max_distance'
|
|
29
|
+
? `${option / 1000} ${t('KM', 'Km')}`
|
|
30
|
+
: filter === 'max_eta'
|
|
31
|
+
? `${option} ${t('MIN', 'min')}`
|
|
32
|
+
: parsePrice(option)
|
|
33
|
+
}
|
|
34
|
+
return (
|
|
35
|
+
<View style={{ marginBottom: 20 }}>
|
|
36
|
+
<OText weight='bold' mBottom={10} size={16}>
|
|
37
|
+
{title}
|
|
38
|
+
</OText>
|
|
39
|
+
<ProgressContentWrapper>
|
|
40
|
+
<ProgressBar style={{ width: `${((options.indexOf(filters?.[filter]) / 3) * 100) ?? 100}%` }} />
|
|
41
|
+
</ProgressContentWrapper>
|
|
42
|
+
<View style={styles.maxContainer}>
|
|
43
|
+
{options.map((option: any, i: number) => (
|
|
44
|
+
<TouchableOpacity
|
|
45
|
+
onPress={() => handleChangeFilters(filter, option)}
|
|
46
|
+
key={option}
|
|
47
|
+
>
|
|
48
|
+
<OText
|
|
49
|
+
size={12}
|
|
50
|
+
weight={filters?.[filter] === option || (option === 'default' && (filters?.[filter] === 'default' || !filters?.[filter])) ? 'bold' : '500'}
|
|
51
|
+
>
|
|
52
|
+
{option === 'default' ? `${parseValue(options[i - 1])}+` : parseValue(option)}
|
|
53
|
+
</OText>
|
|
54
|
+
</TouchableOpacity>
|
|
55
|
+
))}
|
|
56
|
+
</View>
|
|
57
|
+
</View>
|
|
58
|
+
)
|
|
59
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import styled from 'styled-components/native';
|
|
2
|
+
|
|
3
|
+
export const ProgressBar = styled.View`
|
|
4
|
+
height: 4px;
|
|
5
|
+
background: ${(props: any) => props.theme.colors.textNormal};
|
|
6
|
+
`
|
|
7
|
+
|
|
8
|
+
export const ProgressContentWrapper = styled.View`
|
|
9
|
+
height: 4px;
|
|
10
|
+
background: #F8F9FA;
|
|
11
|
+
margin-bottom: 10px;
|
|
12
|
+
flex: 1;
|
|
13
|
+
`
|
|
@@ -3,7 +3,7 @@ import { useLanguage, BusinessSearchList, useOrder, useUtils, showToast, ToastTy
|
|
|
3
3
|
import { ScrollView, StyleSheet, TouchableOpacity, Platform, View, Dimensions } from 'react-native'
|
|
4
4
|
import { useSafeAreaInsets } from 'react-native-safe-area-context'
|
|
5
5
|
import { useTheme } from 'styled-components/native'
|
|
6
|
-
import { OButton,
|
|
6
|
+
import { OButton, OModal, OText } from '../shared'
|
|
7
7
|
import { SearchBar } from '../SearchBar';
|
|
8
8
|
import { BusinessController } from '../BusinessController'
|
|
9
9
|
import { NotFoundSource } from '../NotFoundSource'
|
|
@@ -19,14 +19,13 @@ import {
|
|
|
19
19
|
Metadata,
|
|
20
20
|
SingleBusinessContainer,
|
|
21
21
|
LoadMoreBusinessContainer,
|
|
22
|
-
ProgressContentWrapper,
|
|
23
|
-
ProgressBar,
|
|
24
22
|
TagsContainer,
|
|
25
23
|
SortContainer,
|
|
26
24
|
BrandContainer,
|
|
27
25
|
BrandItem,
|
|
28
26
|
PriceFilterWrapper,
|
|
29
|
-
OptionTitle
|
|
27
|
+
OptionTitle,
|
|
28
|
+
BContainer
|
|
30
29
|
} from './styles'
|
|
31
30
|
import FastImage from 'react-native-fast-image'
|
|
32
31
|
import { convertHoursToMinutes } from '../../utils'
|
|
@@ -34,8 +33,8 @@ import { Fade, Placeholder, PlaceholderLine } from 'rn-placeholder'
|
|
|
34
33
|
import { BusinessSearchParams } from '../../types'
|
|
35
34
|
import { MyOrders } from '../MyOrders'
|
|
36
35
|
import { useIsFocused } from '@react-navigation/native';
|
|
37
|
-
|
|
38
|
-
|
|
36
|
+
import { MaxSectionItem } from './MaxSectionItem'
|
|
37
|
+
import { BusinessControllerSkeletons } from './BusinessControllerSkeletons'
|
|
39
38
|
export const BusinessListingSearchUI = (props: BusinessSearchParams) => {
|
|
40
39
|
const {
|
|
41
40
|
navigation,
|
|
@@ -101,10 +100,6 @@ export const BusinessListingSearchUI = (props: BusinessSearchParams) => {
|
|
|
101
100
|
productsContainer: {
|
|
102
101
|
marginTop: 20
|
|
103
102
|
},
|
|
104
|
-
maxContainer: {
|
|
105
|
-
flexDirection: 'row',
|
|
106
|
-
justifyContent: 'space-between'
|
|
107
|
-
},
|
|
108
103
|
businessTypesContainer: {
|
|
109
104
|
width: '100%',
|
|
110
105
|
flexDirection: 'row',
|
|
@@ -220,115 +215,15 @@ export const BusinessListingSearchUI = (props: BusinessSearchParams) => {
|
|
|
220
215
|
handleSearchbusinessAndProducts(true)
|
|
221
216
|
}, [])
|
|
222
217
|
|
|
223
|
-
|
|
218
|
+
|
|
224
219
|
useEffect(() => {
|
|
225
220
|
handleChangeTermValue('')
|
|
226
221
|
}, [isFocused])
|
|
227
222
|
|
|
228
|
-
const MaxSectionItem = ({ title, options, filter }: any) => {
|
|
229
|
-
const parseValue = (option: number) => {
|
|
230
|
-
return filter === 'max_distance'
|
|
231
|
-
? `${option / 1000} ${t('KM', 'Km')}`
|
|
232
|
-
: filter === 'max_eta'
|
|
233
|
-
? `${option} ${t('MIN', 'min')}`
|
|
234
|
-
: parsePrice(option)
|
|
235
|
-
}
|
|
236
|
-
return (
|
|
237
|
-
<View style={{ marginBottom: 20 }}>
|
|
238
|
-
<OText weight='bold' mBottom={10} size={16}>
|
|
239
|
-
{title}
|
|
240
|
-
</OText>
|
|
241
|
-
<ProgressContentWrapper>
|
|
242
|
-
<ProgressBar style={{ width: `${((options.indexOf(filters?.[filter]) / 3) * 100) ?? 100}%` }} />
|
|
243
|
-
</ProgressContentWrapper>
|
|
244
|
-
<View style={styles.maxContainer}>
|
|
245
|
-
{options.map((option: any, i: number) => (
|
|
246
|
-
<TouchableOpacity
|
|
247
|
-
onPress={() => handleChangeFilters(filter, option)}
|
|
248
|
-
key={option}
|
|
249
|
-
>
|
|
250
|
-
<OText
|
|
251
|
-
size={12}
|
|
252
|
-
weight={filters?.[filter] === option || (option === 'default' && (filters?.[filter] === 'default' || !filters?.[filter])) ? 'bold' : '500'}
|
|
253
|
-
>
|
|
254
|
-
{option === 'default' ? `${parseValue(options[i - 1])}+` : parseValue(option)}
|
|
255
|
-
</OText>
|
|
256
|
-
</TouchableOpacity>
|
|
257
|
-
))}
|
|
258
|
-
</View>
|
|
259
|
-
</View>
|
|
260
|
-
)
|
|
261
|
-
}
|
|
262
|
-
|
|
263
|
-
const BusinessControllerSkeletons = () => {
|
|
264
|
-
return (
|
|
265
|
-
<>
|
|
266
|
-
{[
|
|
267
|
-
...Array(
|
|
268
|
-
paginationProps.nextPageItems
|
|
269
|
-
? paginationProps.nextPageItems
|
|
270
|
-
: 3,
|
|
271
|
-
).keys(),
|
|
272
|
-
].map((item, i) => (
|
|
273
|
-
<Placeholder
|
|
274
|
-
Animation={Fade}
|
|
275
|
-
key={i}
|
|
276
|
-
style={{ width: 320, marginRight: 20, marginTop: 20 }}>
|
|
277
|
-
<View style={{ width: 320 }}>
|
|
278
|
-
<PlaceholderLine
|
|
279
|
-
height={155}
|
|
280
|
-
style={{ marginBottom: 20, borderRadius: 25 }}
|
|
281
|
-
/>
|
|
282
|
-
<View style={{ paddingHorizontal: 10 }}>
|
|
283
|
-
<View
|
|
284
|
-
style={{
|
|
285
|
-
flexDirection: 'row',
|
|
286
|
-
justifyContent: 'space-between',
|
|
287
|
-
}}>
|
|
288
|
-
<PlaceholderLine
|
|
289
|
-
height={25}
|
|
290
|
-
width={40}
|
|
291
|
-
style={{ marginBottom: 10 }}
|
|
292
|
-
/>
|
|
293
|
-
<PlaceholderLine
|
|
294
|
-
height={25}
|
|
295
|
-
width={20}
|
|
296
|
-
style={{ marginBottom: 10 }}
|
|
297
|
-
/>
|
|
298
|
-
</View>
|
|
299
|
-
<PlaceholderLine
|
|
300
|
-
height={20}
|
|
301
|
-
width={30}
|
|
302
|
-
style={{ marginBottom: 10 }}
|
|
303
|
-
/>
|
|
304
|
-
<PlaceholderLine
|
|
305
|
-
height={20}
|
|
306
|
-
width={80}
|
|
307
|
-
style={{ marginBottom: 0 }}
|
|
308
|
-
/>
|
|
309
|
-
</View>
|
|
310
|
-
</View>
|
|
311
|
-
</Placeholder>
|
|
312
|
-
))}
|
|
313
|
-
</>
|
|
314
|
-
)
|
|
315
|
-
}
|
|
316
|
-
|
|
317
223
|
return (
|
|
318
|
-
<
|
|
319
|
-
<WrapHeader style={{ paddingTop: top + 20, marginVertical: 2 }}>
|
|
320
|
-
<OText
|
|
321
|
-
size={20}
|
|
322
|
-
mBottom={15}
|
|
323
|
-
weight='bold'
|
|
324
|
-
style={{ marginTop: 10 }}
|
|
325
|
-
>
|
|
326
|
-
{t('SEARCH', 'Search')}
|
|
327
|
-
</OText>
|
|
328
|
-
</WrapHeader>
|
|
224
|
+
<BContainer>
|
|
329
225
|
<SearchWrapper>
|
|
330
226
|
<SearchBar
|
|
331
|
-
autoFocus
|
|
332
227
|
lazyLoad
|
|
333
228
|
inputStyle={{ ...styles.searchInput, ...Platform.OS === 'ios' ? {} : { paddingBottom: 4 } }}
|
|
334
229
|
placeholder={`${t('SEARCH_BUSINESSES', 'Search Businesses')} / ${t('TYPE_AT_LEAST_3_CHARACTERS', 'type at least 3 characters')}`}
|
|
@@ -336,7 +231,6 @@ export const BusinessListingSearchUI = (props: BusinessSearchParams) => {
|
|
|
336
231
|
value={termValue}
|
|
337
232
|
iconCustomRight={<AntDesignIcon name='filter' size={16} style={{ bottom: 2 }} onPress={() => handleOpenfilters()} />}
|
|
338
233
|
/>
|
|
339
|
-
|
|
340
234
|
</SearchWrapper>
|
|
341
235
|
{
|
|
342
236
|
noResults && (
|
|
@@ -347,12 +241,13 @@ export const BusinessListingSearchUI = (props: BusinessSearchParams) => {
|
|
|
347
241
|
</View>
|
|
348
242
|
)
|
|
349
243
|
}
|
|
350
|
-
{businessesSearchList.businesses?.length > 0 && (
|
|
244
|
+
{businessesSearchList.businesses?.length > 0 && termValue?.length === 0 && (
|
|
351
245
|
<MyOrders
|
|
352
246
|
hideOrders
|
|
353
247
|
businessesSearchList={businessesSearchList}
|
|
354
248
|
onNavigationRedirect={onNavigationRedirect}
|
|
355
249
|
BusinessControllerSkeletons={BusinessControllerSkeletons}
|
|
250
|
+
businessPaginationProps={paginationProps}
|
|
356
251
|
/>
|
|
357
252
|
)}
|
|
358
253
|
|
|
@@ -386,7 +281,7 @@ export const BusinessListingSearchUI = (props: BusinessSearchParams) => {
|
|
|
386
281
|
</LoadMoreBusinessContainer>
|
|
387
282
|
)}
|
|
388
283
|
{businessesSearchList.loading && (
|
|
389
|
-
<BusinessControllerSkeletons />
|
|
284
|
+
<BusinessControllerSkeletons paginationProps={paginationProps} />
|
|
390
285
|
)}
|
|
391
286
|
</ScrollView>
|
|
392
287
|
<ProductsList>
|
|
@@ -629,7 +524,7 @@ export const BusinessListingSearchUI = (props: BusinessSearchParams) => {
|
|
|
629
524
|
onClick={() => handleApplyFilters()}
|
|
630
525
|
/>
|
|
631
526
|
</OModal>
|
|
632
|
-
</
|
|
527
|
+
</BContainer>
|
|
633
528
|
)
|
|
634
529
|
}
|
|
635
530
|
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
import styled, { css } from 'styled-components/native'
|
|
2
2
|
|
|
3
|
+
export const BContainer = styled.View`
|
|
4
|
+
padding: 20px 40px;
|
|
5
|
+
`
|
|
6
|
+
|
|
3
7
|
export const WrapHeader = styled.View`
|
|
4
8
|
width: 100%;
|
|
5
9
|
padding-vertical: 20px;
|
|
@@ -55,18 +59,6 @@ export const LoadMoreBusinessContainer = styled.View`
|
|
|
55
59
|
margin-left: 20px;
|
|
56
60
|
`
|
|
57
61
|
|
|
58
|
-
export const ProgressBar = styled.View`
|
|
59
|
-
height: 4px;
|
|
60
|
-
background: ${(props: any) => props.theme.colors.textNormal};
|
|
61
|
-
`
|
|
62
|
-
|
|
63
|
-
export const ProgressContentWrapper = styled.View`
|
|
64
|
-
height: 4px;
|
|
65
|
-
background: #F8F9FA;
|
|
66
|
-
margin-bottom: 10px;
|
|
67
|
-
flex: 1;
|
|
68
|
-
`
|
|
69
|
-
|
|
70
62
|
export const TagsContainer = styled.View`
|
|
71
63
|
padding-bottom: 10px;
|
|
72
64
|
`
|
|
@@ -21,6 +21,8 @@ import { BusinessProductsCategories } from '../BusinessProductsCategories'
|
|
|
21
21
|
import { BusinessProductsList } from '../BusinessProductsList'
|
|
22
22
|
import { BusinessProductsListingParams } from '../../types'
|
|
23
23
|
import { _retrieveStoreData, _removeStoreData } from '../../providers/StoreUtil';
|
|
24
|
+
import IconAntDesign from 'react-native-vector-icons/AntDesign';
|
|
25
|
+
|
|
24
26
|
import {
|
|
25
27
|
TopHeader,
|
|
26
28
|
WrapSearchBar,
|
|
@@ -29,7 +31,8 @@ import {
|
|
|
29
31
|
ContainerSafeAreaView,
|
|
30
32
|
BackgroundGray,
|
|
31
33
|
ProfessionalFilterWrapper,
|
|
32
|
-
NearBusiness
|
|
34
|
+
NearBusiness,
|
|
35
|
+
TopActions
|
|
33
36
|
} from './styles'
|
|
34
37
|
import { FloatingButton } from '../FloatingButton'
|
|
35
38
|
import { UpsellingRedirect } from './UpsellingRedirect'
|
|
@@ -248,16 +251,9 @@ const BusinessProductsListingUI = (props: BusinessProductsListingParams) => {
|
|
|
248
251
|
<TopHeader isIos={Platform.OS === 'ios'}>
|
|
249
252
|
{!isOpenSearchBar && (
|
|
250
253
|
<>
|
|
251
|
-
<
|
|
252
|
-
<
|
|
253
|
-
|
|
254
|
-
imgRightSrc={null}
|
|
255
|
-
style={styles.btnBackArrow}
|
|
256
|
-
onClick={() => handleBackNavigation()}
|
|
257
|
-
imgLeftStyle={{ tintColor: theme.colors.textNormal, width: 30 }}
|
|
258
|
-
/>
|
|
259
|
-
|
|
260
|
-
</View>
|
|
254
|
+
<TopActions onPress={() => handleBackNavigation()}>
|
|
255
|
+
<IconAntDesign name='arrowleft' size={26} />
|
|
256
|
+
</TopActions>
|
|
261
257
|
{!errorQuantityProducts && (
|
|
262
258
|
<View style={{ ...styles.headerItem }}>
|
|
263
259
|
<TouchableOpacity
|
|
@@ -22,6 +22,7 @@ import {
|
|
|
22
22
|
} from 'ordering-components/native';
|
|
23
23
|
import { useTheme } from 'styled-components/native';
|
|
24
24
|
import Ionicons from 'react-native-vector-icons/Ionicons'
|
|
25
|
+
import IconAntDesign from 'react-native-vector-icons/AntDesign';
|
|
25
26
|
|
|
26
27
|
import {
|
|
27
28
|
Search,
|
|
@@ -283,7 +284,7 @@ const BusinessesListingUI = (props: BusinessesListingParams) => {
|
|
|
283
284
|
style={{ paddingTop: top + 20 }}>
|
|
284
285
|
{!auth && (
|
|
285
286
|
<TouchableOpacity onPress={() => navigation?.canGoBack() && navigation.goBack()} style={{ position: 'absolute', marginStart: 40, paddingVertical: 20 }}>
|
|
286
|
-
<
|
|
287
|
+
<IconAntDesign name='arrowleft' size={26} />
|
|
287
288
|
</TouchableOpacity>
|
|
288
289
|
)}
|
|
289
290
|
<Search>
|
|
@@ -53,6 +53,7 @@ import { getTypesText, convertToRadian } from '../../../../utils';
|
|
|
53
53
|
import { OrderProgress } from '../../../OrderProgress';
|
|
54
54
|
import { useFocusEffect, useIsFocused } from '@react-navigation/native';
|
|
55
55
|
import FastImage from 'react-native-fast-image';
|
|
56
|
+
import IconAntDesign from 'react-native-vector-icons/AntDesign';
|
|
56
57
|
|
|
57
58
|
const PIXELS_TO_SCROLL = 2000;
|
|
58
59
|
|
|
@@ -450,8 +451,9 @@ const BusinessesListingUI = (props: BusinessesListingParams) => {
|
|
|
450
451
|
resizeMode='cover'
|
|
451
452
|
>
|
|
452
453
|
{!auth && (
|
|
454
|
+
|
|
453
455
|
<TouchableOpacity onPress={() => navigation?.canGoBack() && navigation.goBack()} style={{ position: 'absolute', marginStart: 40, paddingVertical: 20 }}>
|
|
454
|
-
<
|
|
456
|
+
<IconAntDesign name='arrowleft' size={26} />
|
|
455
457
|
</TouchableOpacity>
|
|
456
458
|
)}
|
|
457
459
|
</HeaderWrapper>
|
|
@@ -30,10 +30,10 @@ export const CartContent = (props: any) => {
|
|
|
30
30
|
{cart.products.length > 0 && (
|
|
31
31
|
<>
|
|
32
32
|
<Cart
|
|
33
|
-
|
|
34
|
-
|
|
33
|
+
singleBusiness={props.singleBusiness}
|
|
34
|
+
isFranchiseApp={props.isFranchiseApp}
|
|
35
35
|
cart={cart}
|
|
36
|
-
|
|
36
|
+
cartuuid={cart.uuid}
|
|
37
37
|
onNavigationRedirect={props.onNavigationRedirect}
|
|
38
38
|
isCartsLoading={isCartsLoading}
|
|
39
39
|
setIsCartsLoading={setIsCartsLoading}
|
|
@@ -3,7 +3,8 @@ import { useLanguage } from 'ordering-components/native'
|
|
|
3
3
|
import { HelpAccountAndPaymentParams } from '../../types'
|
|
4
4
|
import { OText, OButton, OIcon } from '../shared'
|
|
5
5
|
import { useTheme } from 'styled-components/native'
|
|
6
|
-
import { StyleSheet } from 'react-native'
|
|
6
|
+
import { StyleSheet, TouchableOpacity } from 'react-native'
|
|
7
|
+
import AntDesignIcon from 'react-native-vector-icons/AntDesign'
|
|
7
8
|
|
|
8
9
|
import {
|
|
9
10
|
Content
|
|
@@ -38,10 +39,14 @@ export const HelpAccountAndPayment = (props: HelpAccountAndPaymentParams) => {
|
|
|
38
39
|
return (
|
|
39
40
|
<>
|
|
40
41
|
<OButton
|
|
41
|
-
imgLeftSrc={theme.images.general.arrow_left}
|
|
42
42
|
imgRightSrc={null}
|
|
43
43
|
style={styles.btnBackArrow}
|
|
44
44
|
onClick={() => goToBack()}
|
|
45
|
+
icon={AntDesignIcon}
|
|
46
|
+
iconProps={{
|
|
47
|
+
name: 'arrowleft',
|
|
48
|
+
size: 26
|
|
49
|
+
}}
|
|
45
50
|
/>
|
|
46
51
|
<OText size={22} weight={600}>{t('ACCOUNT_PAYMENT_OPTIONS', 'Account and Payment Options')}</OText>
|
|
47
52
|
<Content>
|
|
@@ -65,4 +70,4 @@ export const HelpAccountAndPayment = (props: HelpAccountAndPaymentParams) => {
|
|
|
65
70
|
</Content>
|
|
66
71
|
</>
|
|
67
72
|
)
|
|
68
|
-
}
|
|
73
|
+
}
|
|
@@ -3,10 +3,11 @@ import { useLanguage } from 'ordering-components/native'
|
|
|
3
3
|
import { HelpGuideParams } from '../../types'
|
|
4
4
|
import { OText, OButton, OIcon } from '../shared'
|
|
5
5
|
import { useTheme } from 'styled-components/native'
|
|
6
|
-
import { StyleSheet } from 'react-native'
|
|
6
|
+
import { StyleSheet, TouchableOpacity } from 'react-native'
|
|
7
7
|
import {
|
|
8
8
|
Content
|
|
9
9
|
} from './styles'
|
|
10
|
+
import AntDesignIcon from 'react-native-vector-icons/AntDesign'
|
|
10
11
|
|
|
11
12
|
export const HelpGuide = (props: HelpGuideParams) => {
|
|
12
13
|
const {
|
|
@@ -37,10 +38,14 @@ export const HelpGuide = (props: HelpGuideParams) => {
|
|
|
37
38
|
return (
|
|
38
39
|
<>
|
|
39
40
|
<OButton
|
|
40
|
-
imgLeftSrc={theme.images.general.arrow_left}
|
|
41
41
|
imgRightSrc={null}
|
|
42
42
|
style={styles.btnBackArrow}
|
|
43
43
|
onClick={() => goToBack()}
|
|
44
|
+
icon={AntDesignIcon}
|
|
45
|
+
iconProps={{
|
|
46
|
+
name: 'arrowleft',
|
|
47
|
+
size: 26
|
|
48
|
+
}}
|
|
44
49
|
/>
|
|
45
50
|
<OText size={22} weight={600}>{t('GUIDE_TO_ORDERING', 'Guide to Ordering')}</OText>
|
|
46
51
|
<Content>
|
|
@@ -64,4 +69,4 @@ export const HelpGuide = (props: HelpGuideParams) => {
|
|
|
64
69
|
</Content>
|
|
65
70
|
</>
|
|
66
71
|
)
|
|
67
|
-
}
|
|
72
|
+
}
|
|
@@ -3,8 +3,9 @@ import { useLanguage } from 'ordering-components/native'
|
|
|
3
3
|
import { HelpOrderParams } from '../../types'
|
|
4
4
|
import { OText, OButton, OIcon } from '../shared'
|
|
5
5
|
import { useTheme } from 'styled-components/native'
|
|
6
|
-
import { StyleSheet } from 'react-native'
|
|
6
|
+
import { StyleSheet, TouchableOpacity } from 'react-native'
|
|
7
7
|
import { WebView } from 'react-native-webview'
|
|
8
|
+
import AntDesignIcon from 'react-native-vector-icons/AntDesign'
|
|
8
9
|
|
|
9
10
|
import {
|
|
10
11
|
Content
|
|
@@ -42,10 +43,14 @@ export const HelpOrder = (props: HelpOrderParams) => {
|
|
|
42
43
|
return (
|
|
43
44
|
<>
|
|
44
45
|
<OButton
|
|
45
|
-
imgLeftSrc={theme.images.general.arrow_left}
|
|
46
46
|
imgRightSrc={null}
|
|
47
47
|
style={styles.btnBackArrow}
|
|
48
48
|
onClick={() => goToBack()}
|
|
49
|
+
icon={AntDesignIcon}
|
|
50
|
+
iconProps={{
|
|
51
|
+
name: 'arrowleft',
|
|
52
|
+
size: 26
|
|
53
|
+
}}
|
|
49
54
|
/>
|
|
50
55
|
<OText size={22} weight={600}>{t('HELP_WITH_ORDER', 'Help with an order')}</OText>
|
|
51
56
|
<Content>
|
|
@@ -76,4 +81,4 @@ export const HelpOrder = (props: HelpOrderParams) => {
|
|
|
76
81
|
</Content>
|
|
77
82
|
</>
|
|
78
83
|
)
|
|
79
|
-
}
|
|
84
|
+
}
|