ordering-ui-react-native 0.16.51 → 0.16.54

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 (22) hide show
  1. package/package.json +1 -1
  2. package/themes/original/src/components/BusinessBasicInformation/index.tsx +197 -142
  3. package/themes/original/src/components/BusinessBasicInformation/styles.tsx +2 -2
  4. package/themes/original/src/components/BusinessProductsListing/index.tsx +34 -8
  5. package/themes/original/src/components/BusinessProductsListing/styles.tsx +5 -0
  6. package/themes/original/src/components/BusinessesListing/Layout/Appointment/index.tsx +9 -1
  7. package/themes/original/src/components/BusinessesListing/Layout/Appointment/styles.tsx +3 -2
  8. package/themes/original/src/components/BusinessesListing/Layout/Original/index.tsx +216 -67
  9. package/themes/original/src/components/BusinessesListing/Layout/Original/styles.tsx +46 -2
  10. package/themes/original/src/components/BusinessesListing/index.tsx +69 -21
  11. package/themes/original/src/components/GoogleMap/index.tsx +10 -11
  12. package/themes/original/src/components/OrderDetails/index.tsx +32 -34
  13. package/themes/original/src/components/ReviewOrder/index.tsx +79 -99
  14. package/themes/original/src/components/ReviewOrder/styles.tsx +0 -9
  15. package/themes/original/src/components/ReviewTrigger/index.tsx +118 -0
  16. package/themes/original/src/components/ReviewTrigger/styles.tsx +34 -0
  17. package/themes/original/src/components/ServiceForm/index.tsx +15 -5
  18. package/themes/original/src/components/SingleProductCard/index.tsx +106 -88
  19. package/themes/original/src/components/SingleProductCard/styles.tsx +2 -2
  20. package/themes/original/src/components/shared/OBottomPopup.tsx +31 -9
  21. package/themes/original/src/components/shared/OButton.tsx +2 -0
  22. package/themes/original/src/types/index.tsx +16 -15
@@ -361,8 +361,6 @@ export const OrderDetailsUI = (props: OrderDetailsParams) => {
361
361
  id: order?.id,
362
362
  business_id: order?.business_id,
363
363
  logo: order.business?.logo,
364
- business_name: order?.business?.name,
365
- delivery_datetime: order?.delivery_datetime,
366
364
  driver: order?.driver,
367
365
  products: order?.products,
368
366
  review: order?.review,
@@ -524,41 +522,41 @@ export const OrderDetailsUI = (props: OrderDetailsParams) => {
524
522
  <OrderData>
525
523
  <View style={styles.linkWrapper}>
526
524
  {
527
- (
528
- parseInt(order?.status) === 1 ||
529
- parseInt(order?.status) === 11 ||
530
- parseInt(order?.status) === 15
531
- ) && !order.review && !isReviewed && (
532
- <TouchableOpacity
533
- activeOpacity={0.7}
534
- style={{ marginTop: 6, marginRight: 10 }}
535
- onPress={() => handleClickOrderReview(order)}
536
- >
537
- <OText
538
- size={10}
539
- lineHeight={15}
540
- color={theme.colors.primary}
541
- style={{ textDecorationLine: 'underline' }}
525
+ (
526
+ parseInt(order?.status) === 1 ||
527
+ parseInt(order?.status) === 11 ||
528
+ parseInt(order?.status) === 15
529
+ ) && !order.review && !isReviewed && (
530
+ <TouchableOpacity
531
+ activeOpacity={0.7}
532
+ style={{ marginTop: 6, marginRight: 10 }}
533
+ onPress={() => handleClickOrderReview(order)}
542
534
  >
543
- {t('REVIEW_YOUR_ORDER', 'Review your order')}
544
- </OText>
545
- </TouchableOpacity>
546
- )}
547
- <TouchableOpacity
548
- activeOpacity={0.7}
549
- style={{ marginTop: 6 }}
550
- onPress={() => setIsOrderHistory(true)}
535
+ <OText
536
+ size={10}
537
+ lineHeight={15}
538
+ color={theme.colors.primary}
539
+ style={{ textDecorationLine: 'underline' }}
540
+ >
541
+ {t('REVIEW_YOUR_ORDER', 'Review your order')}
542
+ </OText>
543
+ </TouchableOpacity>
544
+ )}
545
+ <TouchableOpacity
546
+ activeOpacity={0.7}
547
+ style={{ marginTop: 6 }}
548
+ onPress={() => setIsOrderHistory(true)}
551
549
 
550
+ >
551
+ <OText
552
+ size={10}
553
+ lineHeight={15}
554
+ color={theme.colors.primary}
555
+ style={{ textDecorationLine: 'underline', textTransform: 'capitalize' }}
552
556
  >
553
- <OText
554
- size={10}
555
- lineHeight={15}
556
- color={theme.colors.primary}
557
- style={{ textDecorationLine: 'underline', textTransform: 'capitalize' }}
558
- >
559
- {t('VIEW_DETAILS', 'View Details')}
560
- </OText>
561
- </TouchableOpacity>
557
+ {t('VIEW_DETAILS', 'View Details')}
558
+ </OText>
559
+ </TouchableOpacity>
562
560
  </View>
563
561
 
564
562
  <StaturBar>
@@ -1,6 +1,5 @@
1
1
  import React, { useState, useEffect } from 'react'
2
- import FontAwesome from 'react-native-vector-icons/FontAwesome';
3
- import { OrderReview as ReviewOrderController, useLanguage, useToast, ToastType, useUtils } from 'ordering-components/native'
2
+ import { OrderReview as ReviewOrderController, useLanguage, useToast, ToastType } from 'ordering-components/native'
4
3
  import { useForm, Controller } from 'react-hook-form'
5
4
  import LinearGradient from 'react-native-linear-gradient'
6
5
 
@@ -12,9 +11,7 @@ import {
12
11
  ActionContainer,
13
12
  SkipButton,
14
13
  RatingBarContainer,
15
- RatingTextContainer,
16
- RatingStarContainer,
17
- PlacedDate
14
+ RatingTextContainer
18
15
  } from './styles'
19
16
  import { OButton, OIcon, OInput, OText } from '../shared'
20
17
  import { TouchableOpacity, StyleSheet, View, I18nManager } from 'react-native';
@@ -91,11 +88,10 @@ export const ReviewOrderUI = (props: ReviewOrderParams) => {
91
88
  const [, t] = useLanguage()
92
89
  const [, { showToast }] = useToast()
93
90
  const { handleSubmit, control, errors } = useForm()
94
- const [{ parseDate }] = useUtils()
91
+
95
92
  const [alertState, setAlertState] = useState<{ open: boolean, content: Array<any>, success?: boolean }>({ open: false, content: [], success: false })
96
93
  const [comments, setComments] = useState<Array<any>>([])
97
94
  const [extraComment, setExtraComment] = useState('')
98
- const placedOnDate = parseDate(order?.delivery_datetime, { outputFormat: 'dddd MMMM DD, YYYY' })
99
95
 
100
96
  const onSubmit = () => {
101
97
  if (Object.values(stars).some((value: any) => value === 0)) {
@@ -195,15 +191,14 @@ export const ReviewOrderUI = (props: ReviewOrderParams) => {
195
191
  <>
196
192
  <ReviewOrderContainer>
197
193
  <NavBar
198
- title={t('HEY', 'Hey! ') + t('HOW_WAS_YOUR_ORDER', 'How was your order?')}
194
+ title={t('REVIEW_ORDER', 'Review your Order')}
199
195
  titleAlign={'center'}
200
- leftImg={theme.images.general.close}
201
196
  onActionLeft={() => navigation?.canGoBack() && navigation.goBack()}
202
197
  showCall={false}
203
198
  btnStyle={{ paddingLeft: 0 }}
204
- style={{ flexDirection: 'column', alignItems: 'flex-start', justifyContent: 'center' }}
205
- titleWrapStyle={{ paddingHorizontal: 0, width: '100%', justifyContent: 'center' }}
206
- titleStyle={{ textAlign: 'center', marginRight: 0, marginLeft: 0 }}
199
+ style={{ flexDirection: 'column', alignItems: 'flex-start' }}
200
+ titleWrapStyle={{ paddingHorizontal: 0 }}
201
+ titleStyle={{ marginRight: 0, marginLeft: 0 }}
207
202
  />
208
203
  <BusinessLogo>
209
204
  <View style={styles.logoWrapper}>
@@ -214,7 +209,6 @@ export const ReviewOrderUI = (props: ReviewOrderParams) => {
214
209
  />
215
210
  </View>
216
211
  </BusinessLogo>
217
- {!!order?.business_name && <OText style={{ textAlign: 'center', marginTop: 15 }} color={theme.colors.textNormal}>{order?.business_name}</OText>}
218
212
  {order?.review ? (
219
213
  <View style={styles.reviewedStyle}>
220
214
  <OText color={theme.colors.primary}>{t('ORDER_REVIEWED', 'This order has been already reviewed')}</OText>
@@ -222,92 +216,78 @@ export const ReviewOrderUI = (props: ReviewOrderParams) => {
222
216
  ) : (
223
217
  <View style={{ flex: 1, justifyContent: 'flex-end' }}>
224
218
  <FormReviews>
225
- {/* <OText mBottom={13} color={theme.colors.textNormal}>{t('HOW_WAS_YOUR_ORDER', 'How was your order?')}</OText> */}
226
- {false && (
227
- <RatingBarContainer>
228
- <LinearGradient
229
- start={{ x: 0.0, y: 0.0 }}
230
- end={{ x: qualificationList[stars.quality - 1]?.percent || 0, y: 0 }}
231
- locations={[.9999, .9999]}
232
- colors={[theme.colors.primary, theme.colors.backgroundGray200]}
233
- style={styles.statusBar}
234
- />
235
- <RatingTextContainer>
236
- {qualificationList.map((qualification: any) => (
237
- <View
238
- key={qualification.key}
239
- style={{ ...qualification.parentStyle, ...styles.ratingItemContainer }}
219
+ <OText mBottom={13} color={theme.colors.textNormal}>{t('HOW_WAS_YOUR_ORDER', 'How was your order?')}</OText>
220
+ <RatingBarContainer>
221
+ <LinearGradient
222
+ start={{ x: 0.0, y: 0.0 }}
223
+ end={{ x: qualificationList[stars.quality - 1]?.percent || 0, y: 0 }}
224
+ locations={[.9999, .9999]}
225
+ colors={[theme.colors.primary, theme.colors.backgroundGray200]}
226
+ style={styles.statusBar}
227
+ />
228
+ <RatingTextContainer>
229
+ {qualificationList.map((qualification: any) => (
230
+ <View
231
+ key={qualification.key}
232
+ style={{ ...qualification.parentStyle, ...styles.ratingItemContainer }}
233
+ >
234
+ <TouchableOpacity
235
+ style={qualification.isInnerStyle && styles.ratingItem}
236
+ onPress={() => handleChangeStars(qualification.key)}
240
237
  >
241
- <TouchableOpacity
242
- style={qualification.isInnerStyle && styles.ratingItem}
243
- onPress={() => handleChangeStars(qualification.key)}
244
- >
245
- <View
246
- style={{
247
- ...styles.ratingLineStyle,
248
- backgroundColor: (qualification.pointerColor && !(stars.quality >= qualification.key)) ? theme.colors.dusk : 'transparent'
249
- }}
250
- />
251
- <OText size={12} color={stars.quality === qualification.key ? theme.colors.black : theme.colors.backgroundGray200}>{qualification.text}</OText>
252
- </TouchableOpacity>
253
- </View>
254
- ))}
255
- </RatingTextContainer>
256
- </RatingBarContainer>
257
- )}
258
- <RatingStarContainer>
259
- {[...Array(5).keys()].map((index) => (<FontAwesome name={(index <= (stars?.quality - 1)) ? 'star' : 'star-o'} size={28} key={`star-symbol-${index}`} onPress={() => handleChangeStars(index + 1)} color={theme?.colors?.primary} />)
238
+ <View
239
+ style={{
240
+ ...styles.ratingLineStyle,
241
+ backgroundColor: (qualification.pointerColor && !(stars.quality >= qualification.key)) ? theme.colors.dusk : 'transparent'
242
+ }}
243
+ />
244
+ <OText size={12} color={stars.quality === qualification.key ? theme.colors.black : theme.colors.backgroundGray200}>{qualification.text}</OText>
245
+ </TouchableOpacity>
246
+ </View>
247
+ ))}
248
+ </RatingTextContainer>
249
+ </RatingBarContainer>
250
+
251
+ <OText style={{ marginTop: 30 }} color={theme.colors.textNormal}>
252
+ {commentsList[stars?.quality || 1]?.title}
253
+ </OText>
254
+ <CommentsButtonGroup>
255
+ {commentsList[stars?.quality || 1]?.list?.map(commentItem => (
256
+ <OButton
257
+ key={commentItem.key}
258
+ text={commentItem.content}
259
+ bgColor={isSelectedComment(commentItem.key) ? theme.colors.primary : theme.colors.backgroundGray200}
260
+ borderColor={isSelectedComment(commentItem.key) ? theme.colors.primary : theme.colors.backgroundGray200}
261
+ textStyle={{
262
+ color: isSelectedComment(commentItem.key) ? theme.colors.white : theme.colors.black,
263
+ fontSize: 13,
264
+ paddingRight: isSelectedComment(commentItem.key) ? 15 : 0
265
+ }}
266
+ style={{ height: 35, paddingLeft: 5, paddingRight: 5, marginHorizontal: 3, marginVertical: 10 }}
267
+ imgRightSrc={isSelectedComment(commentItem.key) ? theme.images.general.close : null}
268
+ imgRightStyle={{ tintColor: theme.colors.white, right: 5, margin: 5 }}
269
+ onClick={() => handleChangeComment(commentItem)}
270
+ />
271
+ ))}
272
+ </CommentsButtonGroup>
273
+
274
+ <OText style={{ marginTop: 30 }} color={theme.colors.textNormal}>{t('REVIEW_COMMENT_QUESTION', 'Do you want to add something?')}</OText>
275
+ <Controller
276
+ control={control}
277
+ defaultValue=''
278
+ name='comments'
279
+ render={({ onChange }: any) => (
280
+ <OInput
281
+ name='comments'
282
+ onChange={(val: any) => {
283
+ onChange(val)
284
+ setExtraComment(val.target.value)
285
+ }}
286
+ style={styles.inputTextArea}
287
+ multiline
288
+ />
260
289
  )}
261
- </RatingStarContainer>
262
- <PlacedDate>
263
- <OText color={theme.colors.textNormal}>{t('DONOT_FORGET_RATE_YOUR_ORDER', 'Do not forget to rate your order placed on ')}</OText>
264
- <OText color={theme.colors.textNormal} style={{ fontWeight: "bold" }}>{placedOnDate}</OText>
265
- </PlacedDate>
266
- {false && (
267
- <>
268
- <OText style={{ marginTop: 30 }} color={theme.colors.textNormal}>
269
- {commentsList[stars?.quality || 1]?.title}
270
- </OText>
271
- <CommentsButtonGroup>
272
- {commentsList[stars?.quality || 1]?.list?.map((commentItem: any) => (
273
- <OButton
274
- key={commentItem.key}
275
- text={commentItem.content}
276
- bgColor={isSelectedComment(commentItem.key) ? theme.colors.primary : theme.colors.backgroundGray200}
277
- borderColor={isSelectedComment(commentItem.key) ? theme.colors.primary : theme.colors.backgroundGray200}
278
- textStyle={{
279
- color: isSelectedComment(commentItem.key) ? theme.colors.white : theme.colors.black,
280
- fontSize: 13,
281
- paddingRight: isSelectedComment(commentItem.key) ? 15 : 0
282
- }}
283
- style={{ height: 35, paddingLeft: 5, paddingRight: 5, marginHorizontal: 3, marginVertical: 10 }}
284
- imgRightSrc={isSelectedComment(commentItem.key) ? theme.images.general.close : null}
285
- imgRightStyle={{ tintColor: theme.colors.white, right: 5, margin: 5 }}
286
- onClick={() => handleChangeComment(commentItem)}
287
- />
288
- ))}
289
- </CommentsButtonGroup>
290
- </>
291
- )}
292
- {/* <OText style={{ marginTop: 30 }} color={theme.colors.textNormal}>{t('REVIEW_COMMENT_QUESTION', 'Do you want to add something?')}</OText> */}
293
- {false && (
294
- <Controller
295
- control={control}
296
- defaultValue=''
297
- name='comments'
298
- render={({ onChange }: any) => (
299
- <OInput
300
- name='comments'
301
- onChange={(val: any) => {
302
- onChange(val)
303
- setExtraComment(val.target.value)
304
- }}
305
- style={styles.inputTextArea}
306
- multiline
307
- />
308
- )}
309
- />
310
- )}
290
+ />
311
291
  </FormReviews>
312
292
  </View>
313
293
  )}
@@ -322,7 +302,7 @@ export const ReviewOrderUI = (props: ReviewOrderParams) => {
322
302
  </SkipButton>
323
303
  <OButton
324
304
  textStyle={{ color: theme.colors.white, paddingRight: 10 }}
325
- text={t('GOTO_REVIEW', 'Go to review')}
305
+ text={t('CONTINUE', 'Continue')}
326
306
  style={{ borderRadius: 8 }}
327
307
  imgRightSrc={theme.images.general.arrow_right}
328
308
  imgRightStyle={{ tintColor: theme.colors.white, right: 5, margin: 5 }}
@@ -338,7 +318,7 @@ export const ReviewOrder = (props: ReviewOrderParams) => {
338
318
  const reviewOrderProps = {
339
319
  ...props,
340
320
  UIComponent: ReviewOrderUI,
341
- defaultStar: 5
321
+ defaultStar: props?.defaultStar || 5
342
322
  }
343
323
  return <ReviewOrderController {...reviewOrderProps} />
344
324
  }
@@ -42,12 +42,3 @@ export const RatingTextContainer = styled.View`
42
42
  justify-content: space-between;
43
43
  margin-top: 10px;
44
44
  `
45
- export const RatingStarContainer = styled.View`
46
- flex-direction: row;
47
- align-items: center;
48
- justify-content: space-between;
49
- margin-top: 10px;
50
- `
51
- export const PlacedDate = styled.View`
52
- margin-top: 30px;
53
- `
@@ -0,0 +1,118 @@
1
+ import React, { useState } from 'react'
2
+ import FontAwesome from 'react-native-vector-icons/FontAwesome';
3
+ import { useLanguage, useUtils } from 'ordering-components/native'
4
+
5
+ import {
6
+ ReviewOrderContainer,
7
+ BusinessLogo,
8
+ FormReviews,
9
+ ActionContainer,
10
+ RatingStarContainer,
11
+ PlacedDate
12
+ } from './styles'
13
+ import { OButton, OIcon, OText } from '../shared'
14
+ import { StyleSheet, View, I18nManager } from 'react-native';
15
+ import { FloatingBottomContainer } from '../../layouts/FloatingBottomContainer'
16
+
17
+ import { useTheme } from 'styled-components/native'
18
+
19
+ export const ReviewTrigger = (props: any) => {
20
+ const {
21
+ order,
22
+ handleOpenOrderReview
23
+ } = props
24
+
25
+ const theme = useTheme()
26
+
27
+ const styles = StyleSheet.create({
28
+ logoWrapper: {
29
+ shadowColor: theme.colors.black,
30
+ shadowRadius: 3,
31
+ shadowOffset: { width: 1, height: 4 },
32
+ elevation: 3,
33
+ borderRadius: 8,
34
+ shadowOpacity: 0.1,
35
+ overflow: 'hidden'
36
+ },
37
+ inputTextArea: {
38
+ borderColor: theme.colors.lightGray,
39
+ borderRadius: 8,
40
+ marginTop: 10,
41
+ marginBottom: 40,
42
+ height: 100,
43
+ alignItems: 'flex-start'
44
+ },
45
+ statusBar: {
46
+ transform: [{ scaleX: I18nManager.isRTL ? -1 : 1 }],
47
+ height: 10,
48
+ borderRadius: 5,
49
+ marginTop: 5
50
+ },
51
+ ratingItemContainer: {
52
+ position: 'absolute',
53
+ top: -20
54
+ },
55
+ ratingItem: {
56
+ left: '-50%',
57
+ flexDirection: 'column',
58
+ alignItems: 'center'
59
+ },
60
+ ratingLineStyle: {
61
+ height: 10,
62
+ width: 1,
63
+ marginBottom: 10,
64
+ backgroundColor: theme.colors.dusk
65
+ },
66
+ reviewedStyle: {
67
+ flexDirection: 'row',
68
+ justifyContent: 'center',
69
+ marginVertical: 20
70
+ },
71
+ })
72
+
73
+ const [, t] = useLanguage()
74
+ const [{ parseDate }] = useUtils()
75
+ const placedOnDate = parseDate(order?.delivery_datetime, { utc: true, outputFormat: 'dddd MMMM DD, YYYY' })
76
+ const [star, setStar] = useState(5)
77
+
78
+ return (
79
+ <>
80
+ <ReviewOrderContainer>
81
+ <BusinessLogo>
82
+ <View style={styles.logoWrapper}>
83
+ <OIcon
84
+ url={order?.logo}
85
+ width={80}
86
+ height={80}
87
+ />
88
+ </View>
89
+ </BusinessLogo>
90
+ {!!order?.business_name && <OText style={{ textAlign: 'center', marginTop: 15 }} color={theme.colors.textNormal}>{order?.business_name}</OText>}
91
+ <View style={{ flex: 1, justifyContent: 'flex-end' }}>
92
+ <FormReviews>
93
+ <RatingStarContainer>
94
+ {[...Array(5).keys()].map((index: number) => (<FontAwesome name={(index <= (star - 1)) ? 'star' : 'star-o'} size={28} key={`star-symbol-${index}`} onPress={() => setStar(index + 1)} color={theme?.colors?.primary} />)
95
+ )}
96
+ </RatingStarContainer>
97
+ <PlacedDate>
98
+ <OText color={theme.colors.textNormal}>{t('DONOT_FORGET_RATE_YOUR_ORDER', 'Do not forget to rate your order placed on ')}</OText>
99
+ <OText color={theme.colors.textNormal} style={{ fontWeight: "bold" }}>{placedOnDate}</OText>
100
+ </PlacedDate>
101
+ </FormReviews>
102
+ </View>
103
+ </ReviewOrderContainer>
104
+ <FloatingBottomContainer>
105
+ <ActionContainer>
106
+ <OButton
107
+ textStyle={{ color: theme.colors.white, paddingRight: 10 }}
108
+ text={t('GOTO_REVIEW', 'Go to review')}
109
+ style={{ borderRadius: 8 }}
110
+ imgRightSrc={theme.images.general.arrow_right}
111
+ imgRightStyle={{ tintColor: theme.colors.white, right: 5, margin: 5 }}
112
+ onClick={() => handleOpenOrderReview(star)}
113
+ />
114
+ </ActionContainer>
115
+ </FloatingBottomContainer>
116
+ </>
117
+ )
118
+ }
@@ -0,0 +1,34 @@
1
+ import styled from 'styled-components/native'
2
+
3
+ export const ReviewOrderContainer = styled.ScrollView`
4
+ padding: 20px 40px;
5
+ margin-bottom: 100px;
6
+ `
7
+
8
+ export const BusinessLogo = styled.View`
9
+ margin-vertical: 5px;
10
+ align-items: center;
11
+ `
12
+
13
+ export const FormReviews = styled.View`
14
+ flex: 1;
15
+ height: 100%;
16
+ margin-top: 30px;
17
+ `
18
+
19
+ export const ActionContainer = styled.View`
20
+ flex-direction: row;
21
+ align-items: center;
22
+ justify-content: center;
23
+ padding: 3px 30px;
24
+ `
25
+
26
+ export const RatingStarContainer = styled.View`
27
+ flex-direction: row;
28
+ align-items: center;
29
+ justify-content: space-between;
30
+ margin-top: 10px;
31
+ `
32
+ export const PlacedDate = styled.View`
33
+ margin-top: 30px;
34
+ `
@@ -65,8 +65,8 @@ const ServiceFormUI = (props: ServiceFormParams) => {
65
65
 
66
66
  const styles = StyleSheet.create({
67
67
  photoStyle: {
68
- width: 42,
69
- height: 42,
68
+ width: 45,
69
+ height: 45,
70
70
  borderRadius: 7.6
71
71
  },
72
72
  buttonStyle: {
@@ -313,12 +313,14 @@ const ServiceFormUI = (props: ServiceFormParams) => {
313
313
  <OText
314
314
  size={14}
315
315
  weight={'400'}
316
+ lineHeight={22}
316
317
  >
317
318
  {currentProfessional?.name} {currentProfessional?.lastname}
318
319
  </OText>
319
320
  <OText
320
321
  size={12}
321
322
  weight={'400'}
323
+ lineHeight={17}
322
324
  color={isBusyTime(currentProfessional) ? theme.colors.danger5 : theme.colors.success500}
323
325
  >
324
326
  {isBusyTime(currentProfessional)
@@ -459,9 +461,7 @@ const ServiceFormUI = (props: ServiceFormParams) => {
459
461
  size={14}
460
462
  weight={Platform.OS === 'ios' ? '600' : 'bold'}
461
463
  >
462
- {dateSelected
463
- ? moment(dateSelected).format('hh:mm A')
464
- : t('ASAP_ABBREVIATION', 'ASAP')}
464
+ {dateSelected && moment(dateSelected).format('hh:mm A')}
465
465
  </OText>
466
466
  {((productCart &&
467
467
  auth &&
@@ -517,6 +517,14 @@ const ServiceFormUI = (props: ServiceFormParams) => {
517
517
  entireModal
518
518
  >
519
519
  <ScrollView contentContainerStyle={styles.professionalList}>
520
+ <View style={{ padding: 11 }}>
521
+ <OText
522
+ size={14}
523
+ weight={'400'}
524
+ >
525
+ {t('ANY_OROFESSIONAL_MEMBER', 'Any professional member')}
526
+ </OText>
527
+ </View>
520
528
  {professionalList?.map((professional: any) => professional?.products?.includes(product?.id) && (
521
529
  <TouchableOpacity
522
530
  key={professional?.id}
@@ -536,12 +544,14 @@ const ServiceFormUI = (props: ServiceFormParams) => {
536
544
  <OText
537
545
  size={14}
538
546
  weight={'400'}
547
+ lineHeight={22}
539
548
  >
540
549
  {professional?.name} {professional?.lastname}
541
550
  </OText>
542
551
  <OText
543
552
  size={12}
544
553
  weight={'400'}
554
+ lineHeight={17}
545
555
  color={isBusyTime(professional) ? theme.colors.danger5 : theme.colors.success500}
546
556
  >
547
557
  {isBusyTime(professional)