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.
Files changed (31) hide show
  1. package/package.json +1 -1
  2. package/src/components/Messages/index.tsx +2 -2
  3. package/themes/original/src/components/BusinessItemAccordion/index.tsx +3 -3
  4. package/themes/original/src/components/BusinessListingSearch/BusinessControllerSkeletons/index.tsx +57 -0
  5. package/themes/original/src/components/BusinessListingSearch/MaxSectionItem/index.tsx +59 -0
  6. package/themes/original/src/components/BusinessListingSearch/MaxSectionItem/styles.tsx +13 -0
  7. package/themes/original/src/components/BusinessListingSearch/index.tsx +11 -116
  8. package/themes/original/src/components/BusinessListingSearch/styles.tsx +4 -12
  9. package/themes/original/src/components/BusinessProductsList/index.tsx +1 -0
  10. package/themes/original/src/components/BusinessProductsListing/index.tsx +7 -11
  11. package/themes/original/src/components/BusinessProductsListing/styles.tsx +7 -0
  12. package/themes/original/src/components/BusinessesListing/Layout/Appointment/index.tsx +2 -1
  13. package/themes/original/src/components/BusinessesListing/Layout/Original/index.tsx +3 -1
  14. package/themes/original/src/components/CartContent/index.tsx +3 -3
  15. package/themes/original/src/components/HelpAccountAndPayment/index.tsx +8 -3
  16. package/themes/original/src/components/HelpGuide/index.tsx +8 -3
  17. package/themes/original/src/components/HelpOrder/index.tsx +8 -3
  18. package/themes/original/src/components/Messages/index.tsx +17 -17
  19. package/themes/original/src/components/MultiOrdersDetails/index.tsx +20 -16
  20. package/themes/original/src/components/NavBar/index.tsx +7 -1
  21. package/themes/original/src/components/OrderItAgain/index.tsx +5 -4
  22. package/themes/original/src/components/OrderProgress/index.tsx +8 -2
  23. package/themes/original/src/components/OrderTypeSelector/index.tsx +4 -3
  24. package/themes/original/src/components/OrdersOption/PreviousBusinessOrdered/index.tsx +91 -104
  25. package/themes/original/src/components/OrdersOption/index.tsx +9 -10
  26. package/themes/original/src/components/ProductForm/index.tsx +7 -5
  27. package/themes/original/src/components/SingleProductCard/index.tsx +2 -2
  28. package/themes/original/src/components/UpsellingProducts/index.tsx +7 -3
  29. package/themes/original/src/components/Wallets/index.tsx +176 -162
  30. package/themes/original/src/components/shared/OButton.tsx +8 -3
  31. package/themes/original/src/types/index.tsx +6 -2
@@ -1,5 +1,5 @@
1
1
  import React, { useState, useEffect } from 'react'
2
- import { Platform, StyleSheet, View } from 'react-native'
2
+ import { Platform, StyleSheet, TouchableOpacity, View } from 'react-native'
3
3
  import {
4
4
  UpsellingPage as UpsellingPageController,
5
5
  useUtils,
@@ -21,6 +21,7 @@ import {
21
21
  import { OrderSummary } from '../OrderSummary';
22
22
  import { ScrollView } from 'react-native-gesture-handler';
23
23
  import { useSafeAreaInsets } from 'react-native-safe-area-context';
24
+ import AntDesignIcon from 'react-native-vector-icons/AntDesign'
24
25
 
25
26
  const UpsellingProductsUI = (props: UpsellingProductsParams) => {
26
27
  const {
@@ -161,11 +162,14 @@ const UpsellingProductsUI = (props: UpsellingProductsParams) => {
161
162
  <>
162
163
  <View style={{ ...styles.headerItem, flex: 1, marginTop: Platform.OS == 'ios' ? 35 : 70 }}>
163
164
  <OButton
164
- imgLeftSrc={theme.images.general.arrow_left}
165
165
  imgRightSrc={null}
166
166
  style={styles.btnBackArrow}
167
167
  onClick={() => onGoBack()}
168
- imgLeftStyle={{ tintColor: theme.colors.textNormal, width: 16 }}
168
+ icon={AntDesignIcon}
169
+ iconProps={{
170
+ name: 'arrowleft',
171
+ size: 26
172
+ }}
169
173
  />
170
174
  </View>
171
175
  <ScrollView style={{ marginTop: 10, marginBottom: props.isPage ? 40 : bottom + (Platform.OS == 'ios' ? 96 : 130) }} showsVerticalScrollIndicator={false}>
@@ -1,5 +1,5 @@
1
1
  import React, { useState, useEffect } from 'react'
2
- import { Pressable, StyleSheet, View } from 'react-native';
2
+ import { Pressable, StyleSheet, View, ScrollView } from 'react-native';
3
3
  import { useTheme } from 'styled-components/native'
4
4
  import { Fade, Placeholder, PlaceholderLine } from 'rn-placeholder';
5
5
  import FastImage from 'react-native-fast-image'
@@ -9,23 +9,25 @@ import {
9
9
  useUtils,
10
10
  useConfig
11
11
  } from 'ordering-components/native'
12
+ import AntDesignIcon from 'react-native-vector-icons/AntDesign'
12
13
 
13
14
  import {
14
15
  Container,
16
+ Header,
15
17
  BalanceElement,
16
- TransactionsWrapper,
17
18
  OTabs,
18
19
  OTab,
19
20
  SectionContent,
20
21
  LoyaltyContent,
21
22
  LoyaltyWrapp,
22
- LoyaltyImg
23
+ LoyaltyImg,
24
+ WalletTransactionsWrapper
23
25
  } from './styles'
24
26
 
25
27
  import NavBar from '../NavBar'
26
- import { OText } from '../shared';
28
+ import { OButton, OIcon, OText, OModal } from '../shared';
27
29
  import { NotFoundSource } from '../NotFoundSource';
28
- import { WalletTransactionItem } from '../WalletTransactionItem'
30
+ import { WalletTransactions } from '../WalletTransactions'
29
31
 
30
32
  const WalletsUI = (props: any) => {
31
33
  const {
@@ -46,6 +48,8 @@ const WalletsUI = (props: any) => {
46
48
  const [{ parsePrice }] = useUtils()
47
49
  const [{ configs }] = useConfig()
48
50
 
51
+ console.log(theme)
52
+
49
53
  const styles = StyleSheet.create({
50
54
  logoStyle: {
51
55
  width: 120,
@@ -60,6 +64,8 @@ const WalletsUI = (props: any) => {
60
64
  });
61
65
 
62
66
  const [tabSelected, setTabSelected] = useState(isWalletCashEnabled ? 'cash' : 'credit_point')
67
+ const [openHistory, setOpenHistory] = useState(false)
68
+ const isChewLayout = theme?.wallets_view?.components?.layout?.type === 'original'
63
69
 
64
70
  const isWalletEnabled = configs?.cash_wallet?.value && configs?.wallet_enabled?.value === '1' && (isWalletCashEnabled || isWalletPointsEnabled)
65
71
 
@@ -98,180 +104,188 @@ const WalletsUI = (props: any) => {
98
104
  }, [configs])
99
105
 
100
106
  useEffect(() => {
101
- if(refreshWallets){
107
+ if (refreshWallets) {
102
108
  getWallets()
103
109
  setRefreshWallets && setRefreshWallets(false)
104
110
  }
105
111
  }, [refreshWallets])
106
112
 
107
113
  return (
108
- <Container>
109
- <NavBar
110
- title={t('WALLETS', 'Wallets')}
111
- titleAlign={'center'}
112
- onActionLeft={goToBack}
113
- showCall={false}
114
- paddingTop={10}
115
- btnStyle={{ paddingLeft: 0 }}
116
- />
114
+ <>
115
+ <Container>
116
+ <Header>
117
+ <NavBar
118
+ title={isChewLayout ? '' : t('WALLETS', 'Wallets')}
119
+ titleAlign={'center'}
120
+ onActionLeft={goToBack}
121
+ showCall={false}
122
+ paddingTop={10}
123
+ btnStyle={{ paddingLeft: 0 }}
124
+ style={{ flex: 1 }}
125
+ />
126
+ {isChewLayout && (
127
+ <OButton
128
+ text={t('WALLET_HISTORY', 'Wallet history')}
129
+ bgColor={theme.colors.white}
130
+ borderColor={theme.colors.lightGray}
131
+ imgRightSrc={null}
132
+ textStyle={{ fontSize: 12, color: theme.colors.disabled }}
133
+ onClick={() => setOpenHistory(true)}
134
+ style={{ borderRadius: 8, height: 40 }}
135
+ />
136
+ )}
137
+ </Header>
117
138
 
118
- {!walletList.loading &&
119
- !userLoyaltyLevel.loading &&
120
- !walletList.error &&
121
- walletList.wallets?.length > 0 &&
122
- (
123
- <>
124
- <OTabs
125
- horizontal
126
- showsHorizontalScrollIndicator={false}
127
- >
128
- {walletList.wallets?.map((wallet: any) => walletName[wallet.type]?.isActive && (
129
- <Pressable
130
- key={wallet.id}
131
- onPress={() => handleChangeTab(wallet)}
139
+ {!walletList.loading &&
140
+ !userLoyaltyLevel.loading &&
141
+ !walletList.error &&
142
+ walletList.wallets?.length > 0 &&
143
+ (
144
+ <>
145
+ <OTabs
146
+ horizontal
147
+ showsHorizontalScrollIndicator={false}
132
148
  >
133
- <OTab isSelected={tabSelected === wallet.type}>
134
- <OText size={18}>
135
- {walletName[wallet.type]?.name}
136
- </OText>
137
- </OTab>
138
- </Pressable>
139
- ))}
140
- </OTabs>
149
+ {walletList.wallets?.map((wallet: any) => walletName[wallet.type]?.isActive && (
150
+ <Pressable
151
+ key={wallet.id}
152
+ onPress={() => handleChangeTab(wallet)}
153
+ >
154
+ <OTab isSelected={tabSelected === wallet.type}>
155
+ <OText size={18}>
156
+ {walletName[wallet.type]?.name}
157
+ </OText>
158
+ </OTab>
159
+ </Pressable>
160
+ ))}
161
+ </OTabs>
141
162
 
142
- <SectionContent>
143
- {!!loyaltyLevel && tabSelected === 'credit_point' && (
144
- <LoyaltyContent>
145
- <LoyaltyWrapp>
146
- <OText size={20}>
147
- {`${t('LOYALTY_LEVEL_TITLE', 'Your level is')}:`}
163
+ <SectionContent>
164
+ {!!loyaltyLevel && tabSelected === 'credit_point' && (
165
+ <LoyaltyContent>
166
+ <LoyaltyWrapp>
167
+ <OText size={20}>
168
+ {`${t('LOYALTY_LEVEL_TITLE', 'Your level is')}:`}
169
+ </OText>
170
+ {loyaltyLevel.image ? (
171
+ <FastImage
172
+ style={styles.logoStyle}
173
+ source={{
174
+ uri: loyaltyLevel.image,
175
+ priority: FastImage.priority.high,
176
+ cache: FastImage.cacheControl.web
177
+ }}
178
+ resizeMode={FastImage.resizeMode.contain}
179
+ />
180
+ ) : (
181
+ <LoyaltyImg
182
+ source={theme.images.dummies.loyaltyLevel}
183
+ resizeMode='contain'
184
+ />
185
+ )}
186
+ <OText
187
+ size={22}
188
+ weight='bold'
189
+ style={{ textTransform: 'uppercase' }}
190
+ color={theme.colors.primary}
191
+ >
192
+ {loyaltyLevel.name}
193
+ </OText>
194
+ </LoyaltyWrapp>
195
+ </LoyaltyContent>
196
+ )}
197
+ <BalanceElement>
198
+ <OText size={20} style={{ fontWeight: '600' }}>
199
+ {currentWalletSelected?.type === 'cash'
200
+ ? parsePrice(currentWalletSelected?.balance)
201
+ : currentWalletSelected?.balance
202
+ }
148
203
  </OText>
149
- {loyaltyLevel.image ? (
150
- <FastImage
151
- style={styles.logoStyle}
152
- source={{
153
- uri: loyaltyLevel.image,
154
- priority: FastImage.priority.high,
155
- cache:FastImage.cacheControl.web
156
- }}
157
- resizeMode={FastImage.resizeMode.contain}
158
- />
159
- ) : (
160
- <LoyaltyImg
161
- source={theme.images.dummies.loyaltyLevel}
162
- resizeMode='contain'
163
- />
164
- )}
165
- <OText
166
- size={22}
167
- weight='bold'
168
- style={{ textTransform: 'uppercase' }}
169
- color={theme.colors.primary}
170
- >
171
- {loyaltyLevel.name}
204
+ <OText style={{ paddingLeft: 5 }}>
205
+ {currentWalletSelected?.type === 'cash'
206
+ ? configs?.stripe_currency?.value
207
+ : t('POINTS', 'Points')}
172
208
  </OText>
173
- </LoyaltyWrapp>
174
- </LoyaltyContent>
175
- )}
176
- <BalanceElement>
177
- <OText size={20} style={{fontWeight: '600'}}>
178
- {currentWalletSelected?.type === 'cash'
179
- ? parsePrice(currentWalletSelected?.balance)
180
- : currentWalletSelected?.balance
181
- }
182
- </OText>
183
- <OText style={{ paddingLeft: 5 }}>
184
- {currentWalletSelected?.type === 'cash'
185
- ? configs?.stripe_currency?.value
186
- : t('POINTS', 'Points')}
187
- </OText>
188
- </BalanceElement>
209
+ </BalanceElement>
189
210
 
190
- <View style={{ marginTop: 20, width: '100%', paddingHorizontal: 1, paddingBottom: 40 }}>
191
- {!transactionsList?.loading &&
192
- !transactionsList?.error &&
193
- transactionsList.list?.[`wallet:${currentWalletSelected?.id}`]?.length > 0 &&
194
- (
195
- <>
196
- <OText style={{fontSize: 20}}>
197
- {t('TRANSACTIONS_HISTORY', 'Transactions history')}
198
- </OText>
199
- <TransactionsWrapper>
200
- {transactionsList.list?.[`wallet:${currentWalletSelected?.id}`]?.map((transaction: any, i: number) =>(
201
- <WalletTransactionItem
202
- idx={i}
203
- type={currentWalletSelected?.type}
204
- key={transaction.id}
205
- item={transaction}
206
- withFormatPrice={currentWalletSelected?.type === 'cash'}
207
- />
208
- ))}
209
- </TransactionsWrapper>
210
- </>
211
- )}
211
+ {!isChewLayout && (
212
+ <WalletTransactions
213
+ transactionsList={transactionsList}
214
+ currentWalletSelected={currentWalletSelected}
215
+ />
216
+ )}
217
+ </SectionContent>
218
+ </>
219
+ )}
212
220
 
213
- {(transactionsList?.loading || !transactionsList.list?.[`wallet:${currentWalletSelected?.id}`]) && (
214
- <View>
215
- {[...Array(4).keys()].map(i => (
216
- <View style={{ marginBottom: 10 }} key={i}>
217
- <Placeholder Animation={Fade}>
218
- <PlaceholderLine width={100} height={100} style={{ marginBottom: 0, borderRadius: 8 }} />
219
- </Placeholder>
220
- </View>
221
- ))}
221
+ {(walletList?.loading || userLoyaltyLevel.loading) && (
222
+ <>
223
+ <View>
224
+ <Placeholder Animation={Fade}>
225
+ <PlaceholderLine width={100} height={40} style={{ marginBottom: 0 }} />
226
+ </Placeholder>
227
+ </View>
228
+ <View style={{ marginTop: 10, marginBottom: 20 }}>
229
+ <Placeholder Animation={Fade}>
230
+ <PlaceholderLine width={100} height={40} style={{ marginBottom: 0 }} />
231
+ </Placeholder>
232
+ </View>
233
+ <View>
234
+ {[...Array(4).keys()].map(i => (
235
+ <View style={{ marginBottom: 10 }} key={i}>
236
+ <Placeholder Animation={Fade}>
237
+ <PlaceholderLine width={100} height={60} style={{ marginBottom: 0 }} />
238
+ </Placeholder>
222
239
  </View>
223
- )}
224
-
225
- {!transactionsList?.loading &&
226
- !(transactionsList?.loading && transactionsList.list?.[`wallet:${currentWalletSelected?.id}`]) &&
227
- (transactionsList?.error ||
228
- !transactionsList.list?.[`wallet:${currentWalletSelected?.id}`]?.length) &&
229
- (
230
- <NotFoundSource
231
- content={transactionsList?.error
232
- ? t('ERROR_NOT_FOUND_TRANSACTIONS', 'Sorry, an error has occurred')
233
- : t('NOT_FOUND_TRANSACTIONS', 'No transactions to show at this time.')
234
- }
235
- />
236
- )}
240
+ ))}
237
241
  </View>
238
- </SectionContent>
239
- </>
240
- )}
242
+ </>
243
+ )}
241
244
 
242
- {(walletList?.loading || userLoyaltyLevel.loading) && (
243
- <>
244
- <View>
245
- <Placeholder Animation={Fade}>
246
- <PlaceholderLine width={100} height={40} style={{ marginBottom: 0 }} />
247
- </Placeholder>
248
- </View>
249
- <View style={{ marginTop: 10, marginBottom: 20 }}>
250
- <Placeholder Animation={Fade}>
251
- <PlaceholderLine width={100} height={40} style={{ marginBottom: 0 }} />
252
- </Placeholder>
253
- </View>
254
- <View>
255
- {[...Array(4).keys()].map(i => (
256
- <View style={{ marginBottom: 10 }} key={i}>
257
- <Placeholder Animation={Fade}>
258
- <PlaceholderLine width={100} height={60} style={{ marginBottom: 0 }} />
259
- </Placeholder>
260
- </View>
261
- ))}
262
- </View>
263
- </>
264
- )}
245
+ {!walletList?.loading && !userLoyaltyLevel.loading && (walletList?.error || !walletList?.wallets?.length) && (
246
+ <NotFoundSource
247
+ content={walletList?.error
248
+ ? t('ERROR_NOT_FOUND_WALLETS', 'Sorry, an error has occurred')
249
+ : t('NOT_FOUND_WALLETS', 'No wallets to show at this time.')
250
+ }
251
+ />
252
+ )}
253
+ </Container>
265
254
 
266
- {!walletList?.loading && !userLoyaltyLevel.loading && (walletList?.error || !walletList?.wallets?.length) && (
267
- <NotFoundSource
268
- content={walletList?.error
269
- ? t('ERROR_NOT_FOUND_WALLETS', 'Sorry, an error has occurred')
270
- : t('NOT_FOUND_WALLETS', 'No wallets to show at this time.')
271
- }
272
- />
273
- )}
274
- </Container>
255
+ <OModal
256
+ open={openHistory}
257
+ onClose={() => setOpenHistory(false)}
258
+ entireModal
259
+ customClose
260
+ >
261
+ <ScrollView>
262
+ <WalletTransactionsWrapper>
263
+ <OButton
264
+ imgRightSrc={null}
265
+ style={{
266
+ borderWidth: 0,
267
+ backgroundColor: theme.colors.white,
268
+ padding: 0,
269
+ paddingHorizontal: 0,
270
+ width: 30,
271
+ paddingLeft: 0,
272
+ paddingRight: 0
273
+ }}
274
+ onClick={() => setOpenHistory(false)}
275
+ icon={AntDesignIcon}
276
+ iconProps={{
277
+ name: 'arrowleft',
278
+ size: 26
279
+ }}
280
+ />
281
+ <WalletTransactions
282
+ transactionsList={transactionsList}
283
+ currentWalletSelected={currentWalletSelected}
284
+ />
285
+ </WalletTransactionsWrapper>
286
+ </ScrollView>
287
+ </OModal>
288
+ </>
275
289
  )
276
290
  }
277
291
 
@@ -79,6 +79,8 @@ interface Props {
79
79
  loadingStyle?: ViewStyle;
80
80
  showNextIcon?: boolean;
81
81
  isDisabledWithSameStyles?: boolean;
82
+ icon?: any;
83
+ iconProps?: any
82
84
  }
83
85
 
84
86
  const OButton = (props: Props): React.ReactElement => {
@@ -114,6 +116,9 @@ const OButton = (props: Props): React.ReactElement => {
114
116
  disabled={props.isDisabledWithSameStyles}
115
117
  >
116
118
  <StyledButton style={props.bgColor ? { ...props.style, backgroundColor: props.bgColor, borderColor: props.borderColor } : props.style}>
119
+ {props.icon ? (
120
+ <props.icon {...props.iconProps} />
121
+ ) : null}
117
122
  {props.imgLeftSrc ? (
118
123
  <OIcon style={props.imgLeftStyle} src={props.imgLeftSrc} />
119
124
  ) : null}
@@ -122,9 +127,9 @@ const OButton = (props: Props): React.ReactElement => {
122
127
  ) : null}
123
128
  {props.imgRightSrc ? (
124
129
  <EndImage style={props.imgRightStyle} source={props.imgRightSrc} />
125
- ) : props.showNextIcon ?
126
- <EndImage source={theme.images.general.arrow_left}
127
- style={{width: 16, tintColor: 'white', transform: [{rotate: I18nManager.isRTL ? '0deg' : '180deg'}]}} /> : null }
130
+ ) : props.showNextIcon ?
131
+ <EndImage source={theme.images.general.arrow_left}
132
+ style={{ width: 16, tintColor: 'white', transform: [{ rotate: I18nManager.isRTL ? '0deg' : '180deg' }] }} /> : null}
128
133
  </StyledButton>
129
134
  </TouchableOpacity>
130
135
  );
@@ -366,6 +366,8 @@ export interface OrdersOptionParams {
366
366
  businessesSearchList?: any,
367
367
  hideOrders?: boolean,
368
368
  BusinessControllerSkeletons?: any,
369
+ businessPaginationProps?: any,
370
+ businesses?: any
369
371
  }
370
372
  export interface ActiveOrdersParams {
371
373
  orders?: any,
@@ -719,7 +721,8 @@ export interface PreviousBusinessOrderedParams {
719
721
  businessId?: number,
720
722
  onNavigationRedirect?: any,
721
723
  isBusinessesSearchList?: any,
722
- businessLoading?: boolean
724
+ businessLoading?: boolean,
725
+ businesses?: any
723
726
  }
724
727
 
725
728
  export interface ServiceFormParams {
@@ -754,7 +757,8 @@ export interface OrderItAgainParams {
754
757
  categoryState: any,
755
758
  currentCart: any,
756
759
  handleUpdateProducts: any,
757
- navigation: any
760
+ navigation: any,
761
+ searchValue?: string
758
762
  }
759
763
 
760
764
  export interface PreviousProductsOrderedParams {