ordering-ui-react-native 0.15.7 → 0.15.8-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 (130) hide show
  1. package/package.json +5 -3
  2. package/src/DeliveryApp.tsx +43 -1
  3. package/src/components/BusinessTypeFilter/index.tsx +12 -2
  4. package/src/components/BusinessTypeFilter/styles.tsx +1 -1
  5. package/src/components/BusinessesListing/index.tsx +1 -1
  6. package/src/components/Checkout/index.tsx +0 -1
  7. package/src/components/Home/index.tsx +3 -5
  8. package/src/components/LanguageSelector/index.tsx +66 -97
  9. package/src/components/LanguageSelector/styles.tsx +4 -17
  10. package/src/components/Messages/index.tsx +38 -30
  11. package/src/components/MomentOption/index.tsx +3 -1
  12. package/src/components/OrderDetails/index.tsx +25 -4
  13. package/src/components/PaymentOptions/index.tsx +9 -16
  14. package/src/components/PaymentOptionsWebView/index.tsx +123 -124
  15. package/src/components/ProductForm/index.tsx +1 -1
  16. package/src/components/ProductForm/styles.tsx +1 -0
  17. package/src/components/StripeElementsForm/index.tsx +27 -48
  18. package/src/components/UserProfileForm/index.tsx +35 -1
  19. package/src/components/VerifyPhone/styles.tsx +1 -2
  20. package/src/config.json +0 -2
  21. package/src/pages/Checkout.tsx +1 -1
  22. package/src/types/index.tsx +2 -9
  23. package/src/utils/index.tsx +2 -1
  24. package/themes/business/index.tsx +2 -0
  25. package/themes/business/src/components/Chat/index.tsx +32 -31
  26. package/themes/business/src/components/Home/index.tsx +128 -55
  27. package/themes/business/src/components/Home/styles.tsx +8 -1
  28. package/themes/business/src/components/NewOrderNotification/index.tsx +59 -98
  29. package/themes/business/src/components/OrderDetails/Business.tsx +1 -0
  30. package/themes/business/src/components/OrderDetails/OrderContentComponent.tsx +27 -0
  31. package/themes/business/src/components/OrderDetails/OrderHeaderComponent.tsx +85 -17
  32. package/themes/business/src/components/OrdersListManager/index.tsx +874 -0
  33. package/themes/business/src/components/OrdersListManager/styles.tsx +123 -0
  34. package/themes/business/src/components/OrdersListManager/utils.tsx +216 -0
  35. package/themes/business/src/components/OrdersOption/index.tsx +70 -116
  36. package/themes/business/src/components/OrdersOption/styles.tsx +2 -5
  37. package/themes/business/src/components/PreviousOrders/index.tsx +82 -23
  38. package/themes/doordash/src/components/BusinessesListing/index.tsx +1 -1
  39. package/themes/doordash/src/components/LoginForm/index.tsx +1 -2
  40. package/themes/instacart/src/components/BusinessesListing/index.tsx +1 -1
  41. package/themes/kiosk/src/components/BusinessController/index.tsx +27 -6
  42. package/themes/kiosk/src/components/BusinessController/styles.tsx +1 -1
  43. package/themes/kiosk/src/components/BusinessProductsListing/index.tsx +51 -24
  44. package/themes/kiosk/src/components/Cart/index.tsx +1 -1
  45. package/themes/kiosk/src/components/CartBottomSheet/index.tsx +1 -1
  46. package/themes/kiosk/src/components/CartBottomSheet/styles.tsx +1 -1
  47. package/themes/kiosk/src/components/CartContent/index.tsx +13 -3
  48. package/themes/kiosk/src/components/CartItem/index.tsx +20 -8
  49. package/themes/kiosk/src/components/CategoriesMenu/index.tsx +7 -5
  50. package/themes/kiosk/src/components/CustomerName/index.tsx +89 -88
  51. package/themes/kiosk/src/components/Intro/index.tsx +13 -13
  52. package/themes/kiosk/src/components/LanguageSelector/index.tsx +12 -8
  53. package/themes/kiosk/src/components/NavBar/index.tsx +14 -14
  54. package/themes/kiosk/src/components/OptionCard/index.tsx +1 -1
  55. package/themes/kiosk/src/components/OrderDetails/index.tsx +2 -2
  56. package/themes/kiosk/src/components/OrderSummary/index.tsx +1 -1
  57. package/themes/kiosk/src/components/OrderTypeCardSelector/index.tsx +10 -12
  58. package/themes/kiosk/src/components/ProductForm/index.tsx +174 -126
  59. package/themes/kiosk/src/components/ProductForm/styles.tsx +1 -1
  60. package/themes/kiosk/src/components/ProductOption/index.tsx +1 -0
  61. package/themes/kiosk/src/components/ProductOption/styles.tsx +1 -0
  62. package/themes/kiosk/src/components/UpsellingProducts/index.tsx +48 -34
  63. package/themes/kiosk/src/components/shared/OButton.tsx +5 -18
  64. package/themes/kiosk/src/components/shared/OCard.tsx +112 -78
  65. package/themes/original/index.tsx +177 -0
  66. package/themes/original/src/components/AddressForm/index.tsx +15 -10
  67. package/themes/original/src/components/AddressList/index.tsx +28 -2
  68. package/themes/original/src/components/AppleLogin/index.tsx +119 -78
  69. package/themes/original/src/components/BusinessBasicInformation/index.tsx +95 -44
  70. package/themes/original/src/components/BusinessBasicInformation/styles.tsx +28 -1
  71. package/themes/original/src/components/BusinessController/index.tsx +32 -21
  72. package/themes/original/src/components/BusinessListingSearch/index.tsx +7 -3
  73. package/themes/original/src/components/BusinessMenuList/index.tsx +11 -4
  74. package/themes/original/src/components/BusinessPreorder/index.tsx +141 -121
  75. package/themes/original/src/components/BusinessProductsCategories/index.tsx +7 -5
  76. package/themes/original/src/components/BusinessProductsList/index.tsx +6 -3
  77. package/themes/original/src/components/BusinessProductsListing/index.tsx +18 -28
  78. package/themes/original/src/components/BusinessReviews/index.tsx +4 -25
  79. package/themes/original/src/components/BusinessesListing/index.tsx +40 -53
  80. package/themes/original/src/components/Cart/index.tsx +40 -9
  81. package/themes/original/src/components/CartContent/index.tsx +2 -2
  82. package/themes/original/src/components/Checkout/index.tsx +47 -31
  83. package/themes/original/src/components/Checkout/styles.tsx +7 -0
  84. package/themes/original/src/components/CouponControl/index.tsx +1 -0
  85. package/themes/original/src/components/DriverTips/index.tsx +1 -1
  86. package/themes/original/src/components/ForgotPasswordForm/index.tsx +8 -12
  87. package/themes/original/src/components/HighestRatedBusinesses/index.tsx +97 -89
  88. package/themes/original/src/components/Home/index.tsx +1 -1
  89. package/themes/original/src/components/LoginForm/index.tsx +156 -70
  90. package/themes/original/src/components/LoginForm/styles.tsx +6 -1
  91. package/themes/original/src/components/Messages/index.tsx +52 -45
  92. package/themes/original/src/components/Messages/styles.tsx +1 -3
  93. package/themes/original/src/components/MomentOption/index.tsx +10 -1
  94. package/themes/original/src/components/MomentOption/styles.tsx +1 -1
  95. package/themes/original/src/components/OrderDetails/index.tsx +104 -126
  96. package/themes/original/src/components/OrderDetails/styles.tsx +3 -1
  97. package/themes/original/src/components/OrderProgress/index.tsx +4 -4
  98. package/themes/original/src/components/OrderProgress/styles.tsx +1 -0
  99. package/themes/original/src/components/OrderSummary/index.tsx +34 -1
  100. package/themes/original/src/components/OrdersOption/index.tsx +15 -46
  101. package/themes/original/src/components/OrdersOption/styles.tsx +0 -6
  102. package/themes/original/src/components/PaymentOptionWallet/index.tsx +6 -2
  103. package/themes/original/src/components/PaymentOptions/index.tsx +24 -25
  104. package/themes/original/src/components/PhoneInputNumber/index.tsx +15 -8
  105. package/themes/original/src/components/PlaceSpot/index.tsx +114 -0
  106. package/themes/original/src/components/PlaceSpot/styles.tsx +11 -0
  107. package/themes/original/src/components/PreviousOrders/index.tsx +19 -13
  108. package/themes/original/src/components/ProductForm/index.tsx +31 -20
  109. package/themes/original/src/components/ProductForm/styles.tsx +2 -2
  110. package/themes/original/src/components/ReviewOrder/index.tsx +10 -9
  111. package/themes/original/src/components/ReviewProducts/index.tsx +1 -1
  112. package/themes/original/src/components/SignupForm/index.tsx +173 -154
  113. package/themes/original/src/components/StripeElementsForm/index.tsx +55 -72
  114. package/themes/original/src/components/TaxInformation/index.tsx +17 -7
  115. package/themes/original/src/components/UpsellingProducts/index.tsx +6 -6
  116. package/themes/original/src/components/UserDetails/index.tsx +4 -95
  117. package/themes/original/src/components/UserFormDetails/index.tsx +2 -14
  118. package/themes/original/src/components/UserProfile/index.tsx +16 -16
  119. package/themes/original/src/components/UserProfileForm/index.tsx +8 -6
  120. package/themes/original/src/components/VerifyPhone/index.tsx +10 -7
  121. package/themes/original/src/components/VerifyPhone/styles.tsx +2 -1
  122. package/themes/original/src/components/shared/HeaderTitle.tsx +21 -0
  123. package/themes/original/src/components/shared/index.tsx +2 -0
  124. package/themes/original/src/config/constants.tsx +6 -6
  125. package/themes/original/src/types/index.tsx +62 -23
  126. package/themes/single-business/src/components/AddressList/index.tsx +1 -1
  127. package/themes/single-business/src/components/OrderTypeSelector/index.tsx +5 -5
  128. package/themes/single-business/src/components/UserProfile/index.tsx +1 -1
  129. package/themes/uber-eats/src/components/BusinessesListing/index.tsx +1 -1
  130. package/src/components/StripeMethodForm/index.tsx +0 -168
@@ -1,6 +1,6 @@
1
1
  import React, { useEffect } from 'react';
2
2
  import { useLanguage, ToastType, useToast } from 'ordering-components/native';
3
- import { _setStoreData } from '../../../../../src/providers/StoreUtil';
3
+ import { _setStoreData, _removeStoreData } from '../../../../../src/providers/StoreUtil';
4
4
 
5
5
  import { OButton, OInput, OText } from '../shared';
6
6
  import { useForm, Controller } from 'react-hook-form';
@@ -24,10 +24,15 @@ const CustomerName = (props: Props): React.ReactElement => {
24
24
  const [orientationState] = useDeviceOrientation();
25
25
 
26
26
  const onSubmit = (values: any) => {
27
- _setStoreData('customer_name', { customerName: values.name });
27
+ _setStoreData('customer_name', {customerName: values.name});
28
28
  onProceedToPay()
29
29
  };
30
30
 
31
+ const onSkip = () => {
32
+ _removeStoreData('customer_name')
33
+ onProceedToPay()
34
+ }
35
+
31
36
  const styles = StyleSheet.create({
32
37
  inputStyle: {
33
38
  borderRadius: 4,
@@ -52,30 +57,26 @@ const CustomerName = (props: Props): React.ReactElement => {
52
57
 
53
58
  const goToBack = () => navigation?.goBack();
54
59
 
55
- const submitButton = (
56
- <View style={{ flex: 1, alignItems: 'center' }}>
57
- <OButton
58
- text={t('PROCEED_TO_PAY', 'Proceed to Pay')}
59
- onClick={handleSubmit(onSubmit)}
60
- textStyle={{ color: theme.colors.primaryContrast, fontSize: 20 }}
61
- parentStyle={{
62
- height: orientationState?.orientation === PORTRAIT
63
- ? 50 : 100
64
- }}
65
- style={{
66
- width: orientationState?.orientation === PORTRAIT
67
- ? orientationState?.dimensions.width * 0.5
68
- : orientationState?.dimensions.width * 0.5
69
- }}
70
- />
71
- </View>
72
- );
60
+ const submitButton = (<OButton
61
+ text={t('PROCEED_TO_PAY', 'Proceed to Pay')}
62
+ onClick={handleSubmit(onSubmit)}
63
+ textStyle={{color: theme.colors.primaryContrast, fontSize: 20}}
64
+ parentStyle={{
65
+ height: orientationState?.orientation === PORTRAIT
66
+ ? 50 : 100
67
+ }}
68
+ style={{
69
+ width: orientationState?.orientation === PORTRAIT
70
+ ? orientationState?.dimensions.width - 40
71
+ : orientationState?.dimensions.width * 0.5,
72
+ }}
73
+ />);
73
74
 
74
- const skipButton = (
75
- <View style={{ flex: 1, alignItems: 'center' }}>
75
+ const skipButton = (
76
+ <View style={{flex:1, left: orientationState?.dimensions.width * 0.2,}}>
76
77
  <OButton
77
78
  text={t('SKIP', 'Skip')}
78
- onClick={onProceedToPay}
79
+ onClick={onSkip}
79
80
  textStyle={{ color: theme.colors.primary, fontSize: 20 }}
80
81
  parentStyle={{
81
82
  height: orientationState?.orientation === PORTRAIT
@@ -84,7 +85,7 @@ const CustomerName = (props: Props): React.ReactElement => {
84
85
  style={{
85
86
  backgroundColor: theme.colors.white,
86
87
  width: orientationState?.orientation === PORTRAIT
87
- ? orientationState?.dimensions.width * 0.2
88
+ ? orientationState?.dimensions.width - 40
88
89
  : orientationState?.dimensions.width * 0.1,
89
90
  }}
90
91
  />
@@ -93,78 +94,78 @@ const CustomerName = (props: Props): React.ReactElement => {
93
94
 
94
95
  return (
95
96
  <>
96
- <Container>
97
- <NavBar
98
- title={t('YOUR_NAME', 'Your name')}
99
- onActionLeft={goToBack}
100
- btnStyle={{ paddingLeft: 0 }}
101
- />
102
- <View style={{
103
- marginVertical: orientationState?.dimensions?.height * 0.08,
104
- alignItems: 'center'
105
- }}>
106
- <OText
107
- size={orientationState?.dimensions?.width * 0.05}
108
- style={{ bottom: 20 }}
109
- >
110
- {t('WHATS_YOUR_NAME', "What's your name?")}
111
- {/* <OText
97
+ <Container>
98
+ <NavBar
99
+ title={t('YOUR_NAME', 'Your name')}
100
+ onActionLeft={goToBack}
101
+ btnStyle={{paddingLeft: 0}}
102
+ />
103
+ <View style={{
104
+ marginVertical: orientationState?.dimensions?.height * 0.08,
105
+ paddingLeft: orientationState?.dimensions?.width * 0.25
106
+ }}>
107
+ <OText
108
+ size={orientationState?.dimensions?.width * 0.05}
109
+ style={{bottom: 20}}
110
+ >
111
+ {t('WHATS_YOUR_NAME', "What's your name?")}
112
+ {/* <OText
112
113
  size={orientationState?.dimensions?.width * 0.05}
113
114
  weight={'700'}
114
115
  >
115
116
  {`${t('ORDER_BE_FOR', 'order be for?')}`}
116
117
  </OText> */}
117
- </OText>
118
- <Controller
119
- control={control}
120
- render={({ onChange, value }: any) => (
121
- <OInput
122
- placeholder={t('WRITE_YOUR_NAME', 'Write your name')}
123
- style={{
124
- ...styles.inputStyle,
125
- width: orientationState?.orientation === PORTRAIT
126
- ? orientationState?.dimensions.width * 0.5
127
- : orientationState?.dimensions.width * 0.5,
118
+ </OText>
119
+ <Controller
120
+ control={control}
121
+ render={({ onChange, value }: any) => (
122
+ <OInput
123
+ placeholder={t('WRITE_YOUR_NAME', 'Write your name')}
124
+ style={{
125
+ ...styles.inputStyle,
126
+ width: orientationState?.orientation === PORTRAIT
127
+ ? orientationState?.dimensions.width - 40
128
+ : orientationState?.dimensions.width * 0.5,
129
+ }}
130
+ value={value}
131
+ autoCapitalize="words"
132
+ autoCorrect={false}
133
+ onChange={(val: any) => onChange(val)}
134
+ onSubmitEditing={handleSubmit(onSubmit)}
135
+ />
136
+ )}
137
+ name="name"
138
+ rules={{
139
+ required: t(
140
+ 'VALIDATION_ERROR_REQUIRED',
141
+ 'The field Customer Name is required',
142
+ ).replace('_attribute_', t('REQUEST_COLLECTION_CUSTOMER_NAME', 'Customer Name')),
143
+ pattern: {
144
+ value: /^[a-zA-Z áéíóúüñçÁÉÍÓÚÜÑÇ]+$/i,
145
+ message: t(
146
+ 'INVALID_ERROR',
147
+ 'Invalid name',
148
+ ).replace('_attribute_', t('NAME', 'Name')),
149
+ }
128
150
  }}
129
- value={value}
130
- autoCapitalize="words"
131
- autoCorrect={false}
132
- onChange={(val: any) => onChange(val)}
133
- onSubmitEditing={handleSubmit(onSubmit)}
151
+ defaultValue=""
134
152
  />
135
- )}
136
- name="name"
137
- rules={{
138
- required: t(
139
- 'VALIDATION_ERROR_REQUIRED',
140
- 'The field Customer Name is required',
141
- ).replace('_attribute_', t('REQUEST_COLLECTION_CUSTOMER_NAME', 'Customer Name')),
142
- pattern: {
143
- value: /^[a-zA-Z áéíóúüñçÁÉÍÓÚÜÑÇ]+$/i,
144
- message: t(
145
- 'INVALID_ERROR',
146
- 'Invalid name',
147
- ).replace('_attribute_', t('NAME', 'Name')),
148
- }
149
- }}
150
- defaultValue=""
151
- />
152
153
 
153
- {orientationState?.orientation === LANDSCAPE && submitButton}
154
- {orientationState?.orientation === LANDSCAPE && skipButton}
155
- {(orientationState?.orientation === PORTRAIT) && (
156
- <OSActions>
157
- {submitButton}
158
- </OSActions>
159
- )}
160
- {(orientationState?.orientation === PORTRAIT) && (
161
- <OSActions>
162
- {skipButton}
163
- </OSActions>
164
- )}
165
- </View>
166
- </Container>
167
- </>
154
+ {orientationState?.orientation === LANDSCAPE && submitButton}
155
+ {orientationState?.orientation === LANDSCAPE && skipButton}
156
+ {(orientationState?.orientation === PORTRAIT) && (
157
+ <OSActions>
158
+ {submitButton}
159
+ </OSActions>
160
+ )}
161
+ {(orientationState?.orientation === PORTRAIT) && (
162
+ <OSActions>
163
+ {skipButton}
164
+ </OSActions>
165
+ )}
166
+ </View>
167
+ </Container>
168
+ </>
168
169
  );
169
170
  };
170
171
 
@@ -32,17 +32,17 @@ const Intro = (props: any): React.ReactElement => {
32
32
  };
33
33
 
34
34
  return (
35
- <ScrollView
36
- scrollEnabled={false}
37
- refreshControl={
38
- <RefreshControl
39
- refreshing={showLogoutPopup ? false : refreshing}
40
- onRefresh={() => setShowLogoutPopup(true)}
41
- />
42
- }
43
- >
35
+ // <ScrollView
36
+ // scrollEnabled={false}
37
+ // refreshControl={
38
+ // <RefreshControl
39
+ // refreshing={showLogoutPopup ? false : refreshing}
40
+ // onRefresh={() => setShowLogoutPopup(true)}
41
+ // />
42
+ // }
43
+ // >
44
44
  <Pressable onPress={goBusiness}>
45
- <Container nopadding={orientationState.orientation === LANDSCAPE}>
45
+ <View style={{ height: orientationState?.dimensions?.height }}>
46
46
  {orientationState.orientation === PORTRAIT ? (
47
47
  <View
48
48
  style={{
@@ -132,15 +132,15 @@ const Intro = (props: any): React.ReactElement => {
132
132
  open={showLogoutPopup}
133
133
  onClose={() => setShowLogoutPopup(false)}
134
134
  />
135
- </Container>
135
+ </View>
136
136
  </Pressable>
137
- </ScrollView>
137
+ // </ScrollView>
138
138
  );
139
139
  };
140
140
 
141
141
  const styles = StyleSheet.create({
142
142
  buttonLandStyle: {
143
- width: 290,
143
+ minWidth: 130,
144
144
  marginBottom: 16
145
145
  }
146
146
  });
@@ -1,6 +1,6 @@
1
1
  import React, { useEffect, useState } from 'react'
2
- import { TouchableOpacity, View, StyleSheet } from 'react-native'
3
- import { LanguageSelector as LanguageSelectorController } from 'ordering-components/native'
2
+ import { TouchableOpacity, View, StyleSheet, ActivityIndicator } from 'react-native'
3
+ import { LanguageSelector as LanguageSelectorController, useOrder } from 'ordering-components/native'
4
4
  import CountryPicker, { Flag } from 'react-native-country-picker-modal'
5
5
 
6
6
  import { Container, LanguageItem } from './styles'
@@ -40,6 +40,7 @@ const LanguageSelectorUI = (props: LanguageSelectorParams) => {
40
40
  (a.content > b.content) ? 1 : ((b.content > a.content) ? -1 : 0)
41
41
  )
42
42
 
43
+ const [orderState] = useOrder()
43
44
  const [isCountryModalVisible, setCountryModalVisible] = useState(false);
44
45
 
45
46
  const countryCodes = _languages?.map((item:any) => item.countryCode);
@@ -48,7 +49,7 @@ const LanguageSelectorUI = (props: LanguageSelectorParams) => {
48
49
 
49
50
  return (
50
51
  <>
51
- { languagesState.loading ?
52
+ { languagesState.loading ?
52
53
  (<Container>
53
54
  <Placeholder style={{ width: 130, paddingTop: 10 }} Animation={Fade}>
54
55
  <PlaceholderLine height={15}/>
@@ -66,8 +67,8 @@ const LanguageSelectorUI = (props: LanguageSelectorParams) => {
66
67
  closeButtonStyle={styles.closeIcon}
67
68
  renderFlagButton={() => (
68
69
  <TouchableOpacity
69
- onPress={() => setCountryModalVisible(true)}
70
- disabled={languagesState.loading}
70
+ onPress={() => orderState.loading ? {} : setCountryModalVisible(true)}
71
+ // disabled={orderState.loading}
71
72
  >
72
73
  <LanguageItem>
73
74
  <Flag
@@ -76,7 +77,11 @@ const LanguageSelectorUI = (props: LanguageSelectorParams) => {
76
77
  countryCode={currentLanguageData?.countryCode}
77
78
  />
78
79
  <OText color={theme.colors.primary}>{currentLanguageData?.label}</OText>
79
- <MatarialIcon name='keyboard-arrow-down' size={24}/>
80
+ {orderState.loading ? (
81
+ <ActivityIndicator size="small" color={theme.colors.primary} style={{ marginLeft: 5 }} />
82
+ ) : (
83
+ <MatarialIcon name='keyboard-arrow-down' size={24}/>
84
+ )}
80
85
  </LanguageItem>
81
86
  </TouchableOpacity>
82
87
  )}
@@ -87,11 +92,10 @@ const LanguageSelectorUI = (props: LanguageSelectorParams) => {
87
92
  renderItem: ({item} : any) => (
88
93
  <TouchableOpacity
89
94
  onPress={() => {
90
- /* @ts-ignore */
91
95
  handleChangeLanguage(item.value);
92
96
  setCountryModalVisible(false);
93
97
  }}
94
- disabled={languagesState.loading}
98
+ disabled={orderState.loading}
95
99
  >
96
100
  <LanguageItem>
97
101
  <View style={styles.flagsContainer} />
@@ -5,6 +5,7 @@ import { ImageStyle, TextStyle, View, Platform } from 'react-native'
5
5
  import { OrderTypeSelector } from '../OrderTypeSelector'
6
6
  import { useConfig, useLanguage } from 'ordering-components/native'
7
7
  import { useTheme } from 'styled-components/native'
8
+
8
9
  const Wrapper = styled.View`
9
10
  background-color: ${(props: any) => props.theme.colors.white};
10
11
  padding: 10px 0px 20px 0px;
@@ -64,28 +65,27 @@ const NavBar = (props: Props) => {
64
65
 
65
66
  return (
66
67
  <Wrapper style={{ paddingTop: props.paddingTop, ...props.style }}>
67
- {(props?.onActionLeft) && (
68
+ {(props?.onActionLeft || props?.leftImg) && (
68
69
  <OButton
69
- imgLeftSrc={props.leftImg}
70
+ imgLeftSrc={props.leftImg || theme.images.general.arrow_left}
70
71
  imgRightSrc={null}
71
72
  style={{ ...btnBackArrow, ...props.btnStyle }}
72
73
  onClick={props.onActionLeft}
73
- imgLeftStyle={props.imgLeftStyle}
74
- {...(!props.leftImg && { iconProps: { name: 'arrowleft', size: 28, color: props.btnStyle?.color } })}
74
+ imgLeftStyle= {props.imgLeftStyle}
75
75
  />)
76
76
  }
77
77
  <TitleTopWrapper>
78
78
  {props.withIcon
79
79
  ? (
80
- <OIcon
81
- url={props.icon}
82
- style={{
83
- borderColor: theme.colors.lightGray,
84
- borderRadius: 20,
85
- }}
86
- width={60}
87
- height={60}
88
- />
80
+ <OIcon
81
+ url={props.icon}
82
+ style={{
83
+ borderColor: theme.colors.lightGray,
84
+ borderRadius: 20,
85
+ }}
86
+ width={60}
87
+ height={60}
88
+ />
89
89
  )
90
90
  : null
91
91
  }
@@ -125,7 +125,7 @@ const NavBar = (props: Props) => {
125
125
  </View>
126
126
  )}
127
127
 
128
- {props.rightComponent}
128
+ { props.rightComponent }
129
129
  </Wrapper>
130
130
  )
131
131
  }
@@ -95,7 +95,7 @@ interface Props {
95
95
  style?: ViewStyle;
96
96
  bgImage: ImageSourcePropType;
97
97
  innerStyle?: ViewStyle;
98
- icon?: ImageSourcePropType;
98
+ icon: ImageSourcePropType;
99
99
  iconStyle?: ImageStyle;
100
100
  callToActionText: string;
101
101
  callToActionTextStyle?: TextStyle;
@@ -212,7 +212,7 @@ export const OrderDetailsUI = (props: OrderDetailsParams) => {
212
212
  setCustomerName(name)
213
213
  } catch (e) {
214
214
  if (e) {
215
- setCustomerName('')
215
+ setCustomerName(null)
216
216
  }
217
217
  }
218
218
  }
@@ -553,7 +553,7 @@ export const OrderDetailsUI = (props: OrderDetailsParams) => {
553
553
  size={orientationState?.dimensions?.width * 0.048}
554
554
  weight="700"
555
555
  >
556
- {`${t('HUNGRY', 'hungry')}, ${customerName}`}
556
+ {t('HUNGRY', 'hungry')}{!!customerName && `, ${customerName}`}
557
557
  </OText>
558
558
  </OText>
559
559
 
@@ -169,7 +169,7 @@ const OrderSummaryUI = (props: any) => {
169
169
  isCartProduct
170
170
  productCart={curProduct}
171
171
  businessSlug={cart?.business?.slug}
172
- businessId={curProduct?.business_id}
172
+ businessId={cart?.business_id}
173
173
  categoryId={curProduct?.category_id}
174
174
  productId={curProduct?.id}
175
175
  onSave={handlerProductAction}
@@ -15,8 +15,6 @@ import { Container } from '../../layouts/Container'
15
15
  import NavBar from '../NavBar'
16
16
  import { LANDSCAPE, PORTRAIT, useDeviceOrientation } from '../../../../../src/hooks/DeviceOrientation'
17
17
  import GridContainer from '../../layouts/GridContainer'
18
- import AntDesignIcon from 'react-native-vector-icons/AntDesign'
19
- import MaterialIcon from 'react-native-vector-icons/MaterialCommunityIcons'
20
18
 
21
19
  const OrderTypeSelectorCardUI = (props: OrderTypeSelectParams) => {
22
20
  const {
@@ -29,7 +27,7 @@ const OrderTypeSelectorCardUI = (props: OrderTypeSelectParams) => {
29
27
  callback
30
28
  } = props
31
29
 
32
- const theme = useTheme();
30
+ const theme = useTheme();
33
31
  const [, t] = useLanguage();
34
32
  const [orientationState] = useDeviceOrientation();
35
33
  const [orderState] = useOrder()
@@ -47,7 +45,7 @@ const OrderTypeSelectorCardUI = (props: OrderTypeSelectParams) => {
47
45
  }
48
46
 
49
47
  useEffect(() => {
50
- if (isCardCliked) {
48
+ if(isCardCliked){
51
49
  callback?.()
52
50
  setIsCardClicked(false)
53
51
  setIsLoadingCard(null)
@@ -59,8 +57,8 @@ const OrderTypeSelectorCardUI = (props: OrderTypeSelectParams) => {
59
57
  <Container>
60
58
  <NavBar
61
59
  title={t('ORDER_TYPE_X_ID', 'Order type')}
62
- {...(goBack && { onActionLeft: goBack })}
63
- btnStyle={{ paddingLeft: 0 }}
60
+ {...(goBack && { onActionLeft: goBack } )}
61
+ btnStyle={{paddingLeft: 0}}
64
62
  />
65
63
 
66
64
  <View style={{ marginVertical: orientationState?.dimensions?.height * 0.03 }}>
@@ -85,13 +83,13 @@ const OrderTypeSelectorCardUI = (props: OrderTypeSelectParams) => {
85
83
  style={cardStyle}
86
84
  isDisabled={isCardCliked}
87
85
  isLoading={isLoadingCard === 'Eat In'}
88
- title={t('EAT_IN', 'Eat In')}
86
+ title={t('EAT_IN','Eat In')}
89
87
  description={t('EAT_IN_DESCRIPTION', 'We are very glad to have you here. Bon appetit!')}
90
88
  bgImage={theme.images.general.eatIn}
91
- VectorIcon={() => <MaterialIcon name='pin-outline' size={28} color='white' style={{ marginBottom: 10 }} />}
89
+ icon={theme.images.general.pushPin}
92
90
  callToActionText={t('START_MY_ORDER', 'Start my order')}
93
91
  onClick={() => {
94
- if (_eatIn?.value !== orderState?.options?.type) {
92
+ if(_eatIn?.value !== orderState?.options?.type){
95
93
  handleChangeOrderType(_eatIn?.value);
96
94
  setIsCardClicked(true)
97
95
  setIsLoadingCard('Eat In')
@@ -108,15 +106,15 @@ const OrderTypeSelectorCardUI = (props: OrderTypeSelectParams) => {
108
106
 
109
107
  <OptionCard
110
108
  style={cardStyle}
111
- title={t('TAKE_OUT', 'Take out')}
109
+ title={t('TAKE_OUT','Take out')}
112
110
  isDisabled={isCardCliked}
113
111
  isLoading={isLoadingCard === 'Take out'}
114
112
  description={t('TAKE_OUT_DESCRIPTION', 'You are very welcome anytime you visit us!')}
115
113
  bgImage={theme.images.general.takeOut}
116
- VectorIcon={() => <AntDesignIcon name='shoppingcart' size={28} color='white' style={{ marginBottom: 10 }} />}
114
+ icon={theme.images.general.shoppingCart}
117
115
  callToActionText={t('START_MY_ORDER', 'Start my order')}
118
116
  onClick={() => {
119
- if (_takeOut?.value !== orderState?.options?.type) {
117
+ if(_takeOut?.value !== orderState?.options?.type){
120
118
  handleChangeOrderType(_takeOut?.value);
121
119
  setIsCardClicked(true)
122
120
  setIsLoadingCard('Take out')