ordering-ui-react-native 0.22.6 → 0.22.7-release
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +6 -7
- package/src/DeliveryApp.tsx +43 -1
- package/src/components/BusinessesListing/index.tsx +1 -1
- package/src/components/Checkout/index.tsx +40 -39
- package/src/components/StripeMethodForm/index.tsx +4 -2
- package/src/components/VerifyPhone/styles.tsx +1 -2
- package/src/context/OfflineActions/index.tsx +236 -0
- package/src/types/index.tsx +2 -1
- package/themes/business/index.tsx +2 -0
- package/themes/business/src/components/AcceptOrRejectOrder/index.tsx +9 -6
- package/themes/business/src/components/AcceptOrRejectOrder/styles.tsx +1 -0
- package/themes/business/src/components/BusinessController/index.tsx +8 -3
- package/themes/business/src/components/BusinessProductList/index.tsx +2 -1
- package/themes/business/src/components/Chat/index.tsx +15 -3
- package/themes/business/src/components/DriverMap/index.tsx +49 -27
- package/themes/business/src/components/FloatingButton/index.tsx +3 -2
- package/themes/business/src/components/GoogleMap/index.tsx +15 -8
- package/themes/business/src/components/LanguageSelector/index.tsx +2 -3
- package/themes/business/src/components/LanguageSelector/lang_country.json +515 -70
- package/themes/business/src/components/LogoutButton/index.tsx +1 -1
- package/themes/business/src/components/MapView/index.tsx +36 -17
- package/themes/business/src/components/NewOrderNotification/index.tsx +40 -27
- package/themes/business/src/components/OrderDetails/Business.tsx +39 -36
- package/themes/business/src/components/OrderDetails/Delivery.tsx +138 -55
- package/themes/business/src/components/OrderDetails/OrderContentComponent.tsx +125 -43
- package/themes/business/src/components/OrderDetails/OrderHeaderComponent.tsx +62 -24
- package/themes/business/src/components/OrderDetails/styles.tsx +39 -3
- package/themes/business/src/components/OrderDetails/usePrinterCommands.tsx +138 -64
- package/themes/business/src/components/OrderDetailsLogistic/index.tsx +3 -2
- package/themes/business/src/components/OrderSummary/index.tsx +210 -65
- package/themes/business/src/components/OrdersListManager/index.tsx +13 -1
- package/themes/business/src/components/OrdersOption/index.tsx +217 -156
- package/themes/business/src/components/PhoneInputNumber/index.tsx +8 -5
- package/themes/business/src/components/PreviousMessages/index.tsx +26 -3
- package/themes/business/src/components/PreviousOrders/OrderItem.tsx +39 -16
- package/themes/business/src/components/PreviousOrders/index.tsx +76 -66
- package/themes/business/src/components/PrinterEdition/MessageAlert.tsx +33 -0
- package/themes/business/src/components/PrinterEdition/index.tsx +431 -0
- package/themes/business/src/components/PrinterEdition/printerList.tsx +23 -0
- package/themes/business/src/components/PrinterEdition/styles.tsx +61 -0
- package/themes/business/src/components/PrinterSettings/index.tsx +162 -173
- package/themes/business/src/components/PrinterSettings/styles.tsx +14 -1
- package/themes/business/src/components/ReviewCustomer/index.tsx +2 -0
- package/themes/business/src/components/StoresList/index.tsx +2 -2
- package/themes/business/src/components/UserProfileForm/index.tsx +16 -17
- package/themes/business/src/components/WebsocketStatus/index.tsx +2 -2
- package/themes/business/src/components/shared/OTextarea.tsx +8 -9
- package/themes/business/src/layouts/SafeAreaContainer.tsx +35 -19
- package/themes/business/src/types/index.tsx +13 -4
- package/themes/business/src/utils/index.tsx +25 -1
- package/themes/doordash/src/components/BusinessesListing/index.tsx +1 -1
- package/themes/doordash/src/components/LoginForm/index.tsx +1 -2
- package/themes/instacart/src/components/BusinessesListing/index.tsx +1 -1
- package/themes/kiosk/src/components/Checkout/index.tsx +6 -0
- package/themes/kiosk/src/components/NavBar/index.tsx +14 -14
- package/themes/kiosk/src/components/OptionCard/index.tsx +1 -1
- package/themes/kiosk/src/components/OrderTypeCardSelector/index.tsx +8 -10
- package/themes/kiosk/src/components/shared/OButton.tsx +5 -18
- package/themes/original/index.tsx +11 -0
- package/themes/original/src/components/AddressForm/index.tsx +32 -17
- package/themes/original/src/components/AddressList/index.tsx +8 -7
- package/themes/original/src/components/AnalyticsSegment/index.tsx +6 -6
- package/themes/original/src/components/AppleLogin/index.tsx +4 -4
- package/themes/original/src/components/BusinessBasicInformation/index.tsx +5 -8
- package/themes/original/src/components/BusinessController/index.tsx +5 -5
- package/themes/original/src/components/BusinessItemAccordion/index.tsx +13 -5
- package/themes/original/src/components/BusinessListingSearch/BusinessSearchFooter.tsx +2 -3
- package/themes/original/src/components/BusinessListingSearch/BusinessSearchHeader.tsx +1 -3
- package/themes/original/src/components/BusinessListingSearch/index.tsx +1 -2
- package/themes/original/src/components/BusinessPreorder/index.tsx +46 -28
- package/themes/original/src/components/BusinessProductsList/SubcategoriesComponent/index.tsx +73 -70
- package/themes/original/src/components/BusinessProductsList/index.tsx +6 -7
- package/themes/original/src/components/BusinessProductsList/styles.tsx +0 -3
- package/themes/original/src/components/BusinessProductsListing/index.tsx +18 -6
- package/themes/original/src/components/BusinessTypeFilter/index.tsx +9 -8
- package/themes/original/src/components/BusinessesListing/Layout/Appointment/index.tsx +2 -1
- package/themes/original/src/components/BusinessesListing/Layout/Original/index.tsx +1 -1
- package/themes/original/src/components/BusinessesListing/Layout/Original/styles.tsx +1 -1
- package/themes/original/src/components/BusinessesListing/index.tsx +0 -1
- package/themes/original/src/components/Cart/index.tsx +38 -14
- package/themes/original/src/components/CartContent/index.tsx +2 -4
- package/themes/original/src/components/Checkout/index.tsx +112 -58
- package/themes/original/src/components/CitiesControl/index.tsx +0 -3
- package/themes/original/src/components/CouponControl/index.tsx +1 -3
- package/themes/original/src/components/DriverTips/index.tsx +1 -3
- package/themes/original/src/components/Favorite/index.tsx +1 -5
- package/themes/original/src/components/FavoriteList/index.tsx +0 -1
- package/themes/original/src/components/ForgotPasswordForm/index.tsx +5 -7
- package/themes/original/src/components/GiftCard/GiftCardUI/index.tsx +15 -17
- package/themes/original/src/components/GiftCard/PurchaseGiftCard/index.tsx +3 -7
- package/themes/original/src/components/GiftCard/RedeemGiftCard/index.tsx +24 -32
- package/themes/original/src/components/GiftCard/SendGiftCard/index.tsx +7 -9
- package/themes/original/src/components/GiftCard/VerticalGiftCardOrdersLayout/index.tsx +11 -12
- package/themes/original/src/components/GoogleMap/index.tsx +39 -18
- package/themes/original/src/components/Help/index.tsx +2 -0
- package/themes/original/src/components/HighestRatedBusinesses/index.tsx +1 -1
- package/themes/original/src/components/Home/index.tsx +3 -11
- package/themes/original/src/components/LoginForm/Otp/index.tsx +0 -3
- package/themes/original/src/components/LoginForm/index.tsx +4 -7
- package/themes/original/src/components/MessageListing/index.tsx +2 -1
- package/themes/original/src/components/Messages/index.tsx +29 -17
- package/themes/original/src/components/MomentOption/TimeListItem.tsx +56 -0
- package/themes/original/src/components/MomentOption/index.tsx +80 -51
- package/themes/original/src/components/MomentSelector/index.tsx +5 -2
- package/themes/original/src/components/MultiCartsPaymethodsAndWallets/index.tsx +7 -3
- package/themes/original/src/components/MultiCheckout/index.tsx +55 -27
- package/themes/original/src/components/MultiOrdersDetails/index.tsx +1 -0
- package/themes/original/src/components/MyOrders/index.tsx +2 -2
- package/themes/original/src/components/NavBar/index.tsx +7 -4
- package/themes/original/src/components/NetworkError/index.tsx +0 -5
- package/themes/original/src/components/NotFoundSource/index.tsx +0 -3
- package/themes/original/src/components/OrderDetails/OrderEta.tsx +4 -3
- package/themes/original/src/components/OrderDetails/OrderHistory.tsx +13 -10
- package/themes/original/src/components/OrderDetails/index.tsx +44 -21
- package/themes/original/src/components/OrderDetails/styles.tsx +0 -1
- package/themes/original/src/components/OrderProgress/index.tsx +5 -4
- package/themes/original/src/components/OrderSummary/index.tsx +29 -10
- package/themes/original/src/components/OrderTypeSelector/index.tsx +7 -6
- package/themes/original/src/components/OrdersOption/index.tsx +3 -6
- package/themes/original/src/components/PaymentOptionStripe/index.tsx +0 -5
- package/themes/original/src/components/PaymentOptionWallet/index.tsx +56 -56
- package/themes/original/src/components/PaymentOptions/index.tsx +0 -2
- package/themes/original/src/components/PlaceSpot/index.tsx +1 -3
- package/themes/original/src/components/PreviousOrders/index.tsx +1 -2
- package/themes/original/src/components/ProductForm/ActionButton.tsx +17 -20
- package/themes/original/src/components/ProductForm/index.tsx +107 -102
- package/themes/original/src/components/ProductItemAccordion/index.tsx +50 -43
- package/themes/original/src/components/ProductItemAccordion/styles.tsx +0 -3
- package/themes/original/src/components/ProductOptionSubOption/index.tsx +16 -8
- package/themes/original/src/components/ProfessionalProfile/index.tsx +4 -5
- package/themes/original/src/components/Promotions/index.tsx +6 -9
- package/themes/original/src/components/ReviewDriver/index.tsx +1 -1
- package/themes/original/src/components/ReviewOrder/index.tsx +2 -2
- package/themes/original/src/components/ReviewProducts/index.tsx +1 -1
- package/themes/original/src/components/ReviewTrigger/index.tsx +2 -2
- package/themes/original/src/components/ServiceForm/index.tsx +52 -54
- package/themes/original/src/components/Sessions/index.tsx +3 -3
- package/themes/original/src/components/SignupForm/index.tsx +86 -78
- package/themes/original/src/components/SingleOrderCard/index.tsx +6 -4
- package/themes/original/src/components/SingleProductCard/index.tsx +5 -5
- package/themes/original/src/components/SingleProductCard/styles.tsx +0 -3
- package/themes/original/src/components/StripeCardForm/index.tsx +0 -3
- package/themes/original/src/components/StripeCardsList/index.tsx +10 -3
- package/themes/original/src/components/StripeElementsForm/index.tsx +76 -62
- package/themes/original/src/components/StripeElementsForm/naked.tsx +48 -1
- package/themes/original/src/components/StripeRedirectForm/index.tsx +0 -3
- package/themes/original/src/components/TaxInformation/index.tsx +3 -2
- package/themes/original/src/components/UpsellingProducts/UpsellingContent.tsx +10 -7
- package/themes/original/src/components/UpsellingProducts/UpsellingLayout.tsx +8 -3
- package/themes/original/src/components/UserDetails/index.tsx +17 -16
- package/themes/original/src/components/UserFormDetails/index.tsx +159 -133
- package/themes/original/src/components/UserProfile/index.tsx +9 -1
- package/themes/original/src/components/UserVerification/index.tsx +14 -4
- package/themes/original/src/components/Wallets/index.tsx +6 -3
- package/themes/original/src/components/WebsocketStatus/index.tsx +1 -4
- package/themes/original/src/components/shared/OAlert.tsx +2 -1
- package/themes/original/src/components/shared/OButton.tsx +5 -4
- package/themes/original/src/components/shared/OInput.tsx +4 -8
- package/themes/original/src/components/shared/OModal.tsx +7 -2
- package/themes/original/src/types/index.tsx +5 -1
- package/themes/original/src/utils/index.tsx +30 -1
- package/themes/uber-eats/src/components/BusinessesListing/index.tsx +1 -1
|
@@ -53,16 +53,23 @@ const MapViewComponent = (props: MapViewParams) => {
|
|
|
53
53
|
|
|
54
54
|
const fitCoordinates = (location?: any) => {
|
|
55
55
|
if (mapRef.current) {
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
56
|
+
const isSendCoordinates =
|
|
57
|
+
location &&
|
|
58
|
+
userLocation &&
|
|
59
|
+
location.latitude !== userLocation.latitude &&
|
|
60
|
+
location.longitude !== userLocation.longitude &&
|
|
61
|
+
location.latitude !== 0 &&
|
|
62
|
+
location.longitude !== 0 &&
|
|
63
|
+
userLocation.latitude !== 0 &&
|
|
64
|
+
userLocation.longitude !== 0
|
|
65
|
+
|
|
66
|
+
isSendCoordinates && mapRef.current.fitToCoordinates(
|
|
67
|
+
[location, userLocation].map(_location => ({
|
|
68
|
+
latitude: _location.latitude,
|
|
69
|
+
longitude: _location.longitude
|
|
70
|
+
})),
|
|
64
71
|
{
|
|
65
|
-
edgePadding: { top: 120, right: 120, bottom: 120, left: 120 }
|
|
72
|
+
edgePadding: { top: 120, right: 120, bottom: 120, left: 120 }
|
|
66
73
|
},
|
|
67
74
|
);
|
|
68
75
|
}
|
|
@@ -133,8 +140,20 @@ const MapViewComponent = (props: MapViewParams) => {
|
|
|
133
140
|
const RenderMarker = ({ marker, customer, orderIds }: { marker: any, customer?: boolean, orderIds?: Array<number> }) => {
|
|
134
141
|
const markerRef = useRef<any>()
|
|
135
142
|
|
|
136
|
-
let coordinateLat = (customer
|
|
137
|
-
|
|
143
|
+
let coordinateLat = (customer
|
|
144
|
+
? typeof marker?.customer?.location?.lat === 'number' && !Number.isNaN(marker?.customer?.location?.lat)
|
|
145
|
+
? marker?.customer?.location?.lat
|
|
146
|
+
: 0
|
|
147
|
+
: typeof marker?.business?.location?.lat === 'number' && !Number.isNaN(marker?.business?.location?.lat)
|
|
148
|
+
? marker?.business?.location?.lat
|
|
149
|
+
: 0) ?? (initialPosition?.latitude || 0)
|
|
150
|
+
let coordinateLng = (customer
|
|
151
|
+
? typeof marker?.customer?.location?.lng === 'number' && !Number.isNaN(marker?.customer?.location?.lng)
|
|
152
|
+
? marker?.customer?.location?.lng
|
|
153
|
+
: 0
|
|
154
|
+
: typeof marker?.business?.location?.lng === 'number' && !Number.isNaN(marker?.business?.location?.lng)
|
|
155
|
+
? marker?.business?.location?.lng
|
|
156
|
+
: 0) ?? (initialPosition?.longitude || 0)
|
|
138
157
|
|
|
139
158
|
useEffect(() => {
|
|
140
159
|
if (
|
|
@@ -154,8 +173,8 @@ const MapViewComponent = (props: MapViewParams) => {
|
|
|
154
173
|
}}
|
|
155
174
|
onPress={() =>
|
|
156
175
|
setLocationSelected({
|
|
157
|
-
latitude:
|
|
158
|
-
longitude:
|
|
176
|
+
latitude: coordinateLat,
|
|
177
|
+
longitude: coordinateLng
|
|
159
178
|
})
|
|
160
179
|
}
|
|
161
180
|
ref={(ref) => markerRef.current = ref}
|
|
@@ -235,8 +254,8 @@ const MapViewComponent = (props: MapViewParams) => {
|
|
|
235
254
|
ref={mapRef}
|
|
236
255
|
provider={PROVIDER_GOOGLE}
|
|
237
256
|
initialRegion={{
|
|
238
|
-
latitude: initialPosition?.latitude,
|
|
239
|
-
longitude: initialPosition?.longitude,
|
|
257
|
+
latitude: initialPosition?.latitude || 0,
|
|
258
|
+
longitude: initialPosition?.longitude || 0,
|
|
240
259
|
latitudeDelta: haveOrders ? 0.01 : 0.1,
|
|
241
260
|
longitudeDelta: haveOrders ? 0.01 * ASPECT_RATIO : 0.1 * ASPECT_RATIO,
|
|
242
261
|
}}
|
|
@@ -266,8 +285,8 @@ const MapViewComponent = (props: MapViewParams) => {
|
|
|
266
285
|
))}
|
|
267
286
|
<Marker
|
|
268
287
|
coordinate={{
|
|
269
|
-
latitude: location.lat,
|
|
270
|
-
longitude: location.lng,
|
|
288
|
+
latitude: typeof location.lat === 'number' && !Number.isNaN(location.lat) ? location.lat : 0,
|
|
289
|
+
longitude: typeof location.lng === 'number' && !Number.isNaN(location.lng) ? location.lng : 0,
|
|
271
290
|
}}
|
|
272
291
|
title={t('YOUR_LOCATION', 'Your Location')}
|
|
273
292
|
>
|
|
@@ -44,17 +44,25 @@ const SoundPlayerComponent = (props: any) => {
|
|
|
44
44
|
const id = setInterval(() => setCount(count + 1), 2500)
|
|
45
45
|
|
|
46
46
|
const playSound = async () => {
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
47
|
+
try {
|
|
48
|
+
SoundPlayer.playUrl(URL_SOUND)
|
|
49
|
+
await new Promise(resolve => setTimeout(resolve, DELAY_SOUND))
|
|
50
|
+
SoundPlayer.stop()
|
|
51
|
+
} catch (err: any) {
|
|
52
|
+
console.log('Sound Error - ', err.message)
|
|
53
|
+
}
|
|
50
54
|
}
|
|
51
55
|
if (NativeModules?.RNSoundPlayer?.playUrl && typeof URL_SOUND === 'string' && isEnabledReadStorage) {
|
|
52
56
|
playSound()
|
|
53
57
|
}
|
|
54
58
|
|
|
55
59
|
return () => {
|
|
56
|
-
SoundPlayer.stop()
|
|
57
60
|
clearInterval(id);
|
|
61
|
+
try {
|
|
62
|
+
SoundPlayer.stop()
|
|
63
|
+
} catch (err: any) {
|
|
64
|
+
console.log('Sound Error - ', err.message)
|
|
65
|
+
}
|
|
58
66
|
}
|
|
59
67
|
}, [count, isEnabledReadStorage])
|
|
60
68
|
|
|
@@ -67,7 +75,7 @@ const SoundPlayerComponent = (props: any) => {
|
|
|
67
75
|
setIsEnabledReadStorage(true)
|
|
68
76
|
}
|
|
69
77
|
}
|
|
70
|
-
checkSoundMedia()
|
|
78
|
+
// checkSoundMedia()
|
|
71
79
|
|
|
72
80
|
}, [])
|
|
73
81
|
return (
|
|
@@ -109,21 +117,16 @@ const SoundPlayerComponent = (props: any) => {
|
|
|
109
117
|
}
|
|
110
118
|
|
|
111
119
|
const NewOrderNotificationUI = (props: any) => {
|
|
112
|
-
const { isBusinessApp, evtList } = props
|
|
120
|
+
const { isBusinessApp, evtList, orderStatus } = props
|
|
113
121
|
const [, t] = useLanguage()
|
|
114
122
|
const [events] = useEvent()
|
|
115
123
|
const [{ user, token }] = useSession()
|
|
116
124
|
const [ordering] = useApi()
|
|
117
|
-
const [{ configs }] = useConfig()
|
|
118
125
|
const [, { showToast }] = useToast()
|
|
119
126
|
const { getCurrentLocation } = useLocation()
|
|
120
127
|
const [currentEvent, setCurrentEvent] = useState<any>(null)
|
|
121
128
|
|
|
122
|
-
const
|
|
123
|
-
? configs?.notification_business_states?.value.split('|').map((value: any) => Number(value)) || []
|
|
124
|
-
: configs?.notification_driver_states?.value.split('|').map((value: any) => Number(value)) || []
|
|
125
|
-
|
|
126
|
-
const handleEventNotification = async (evtType: number, value: any) => {
|
|
129
|
+
const handleEventNotification = async (evtType: number, value: any, orderStatus?: any) => {
|
|
127
130
|
if (value?.driver) {
|
|
128
131
|
try {
|
|
129
132
|
const location = await getCurrentLocation()
|
|
@@ -149,11 +152,11 @@ const NewOrderNotificationUI = (props: any) => {
|
|
|
149
152
|
} catch { }
|
|
150
153
|
const duration = moment.duration(moment().diff(moment.utc(value?.last_driver_assigned_at)))
|
|
151
154
|
const assignedSecondsDiff = duration.asSeconds()
|
|
152
|
-
if (assignedSecondsDiff < 5 && !isBusinessApp && !value?.logistic_status
|
|
155
|
+
if (assignedSecondsDiff < 5 && !isBusinessApp && !value?.logistic_status) {
|
|
153
156
|
setCurrentEvent({ evt: 2, orderId: value?.id ?? value?.order_id })
|
|
154
157
|
}
|
|
155
158
|
}
|
|
156
|
-
if (!orderStatus.includes(value.status) || value?.author_id === user.id) return
|
|
159
|
+
if ((!orderStatus.includes(value.status) && evtType !== 1 && isBusinessApp && orderStatus?.length > 0) || value?.author_id === user.id) return
|
|
157
160
|
setCurrentEvent({
|
|
158
161
|
evt: evtType,
|
|
159
162
|
orderId: value?.driver
|
|
@@ -165,20 +168,30 @@ const NewOrderNotificationUI = (props: any) => {
|
|
|
165
168
|
}
|
|
166
169
|
|
|
167
170
|
useEffect(() => {
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
171
|
+
const handleEventTypeOne = (o: any) => {
|
|
172
|
+
handleEventNotification(1, o, orderStatus)
|
|
173
|
+
}
|
|
174
|
+
const handleEventTypeTwo = (o: any) => {
|
|
175
|
+
handleEventNotification(2, o, orderStatus)
|
|
176
|
+
}
|
|
177
|
+
const handleEventTypeThree = (o: any) => {
|
|
178
|
+
handleEventNotification(3, o, orderStatus)
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
events.on('message_added_notification', handleEventTypeOne)
|
|
182
|
+
events.on('order_added_notification', handleEventTypeTwo)
|
|
183
|
+
events.on('order_updated_notification', handleEventTypeThree)
|
|
184
|
+
events.on('request_register_notification', handleEventTypeTwo)
|
|
185
|
+
events.on('request_update_notification', handleEventTypeThree)
|
|
173
186
|
|
|
174
187
|
return () => {
|
|
175
|
-
events.off('message_added_notification',
|
|
176
|
-
events.off('order_added_notification',
|
|
177
|
-
events.off('order_updated_notification',
|
|
178
|
-
events.off('request_register_notification',
|
|
179
|
-
events.off('request_update_notification',
|
|
188
|
+
events.off('message_added_notification', handleEventTypeOne)
|
|
189
|
+
events.off('order_added_notification', handleEventTypeTwo)
|
|
190
|
+
events.off('order_updated_notification', handleEventTypeThree)
|
|
191
|
+
events.off('request_register_notification', handleEventTypeTwo)
|
|
192
|
+
events.off('request_update_notification', handleEventTypeThree)
|
|
180
193
|
}
|
|
181
|
-
}, [])
|
|
194
|
+
}, [orderStatus, events])
|
|
182
195
|
|
|
183
196
|
useEffect(() => {
|
|
184
197
|
return () => setCurrentEvent(null)
|
|
@@ -186,13 +199,13 @@ const NewOrderNotificationUI = (props: any) => {
|
|
|
186
199
|
|
|
187
200
|
return (
|
|
188
201
|
<>
|
|
189
|
-
{!!currentEvent
|
|
202
|
+
{!!currentEvent && (
|
|
190
203
|
<SoundPlayerComponent
|
|
191
204
|
evtList={evtList}
|
|
192
205
|
currentEvent={currentEvent}
|
|
193
206
|
handleCloseEvents={() => setCurrentEvent(null)}
|
|
194
207
|
/>
|
|
195
|
-
)
|
|
208
|
+
)}
|
|
196
209
|
</>
|
|
197
210
|
)
|
|
198
211
|
};
|
|
@@ -53,6 +53,8 @@ export const OrderDetailsUI = (props: OrderDetailsParams) => {
|
|
|
53
53
|
actions,
|
|
54
54
|
orderTitle,
|
|
55
55
|
appTitle,
|
|
56
|
+
loadMessages,
|
|
57
|
+
notificationApp
|
|
56
58
|
} = props;
|
|
57
59
|
|
|
58
60
|
const theme = useTheme();
|
|
@@ -74,10 +76,12 @@ export const OrderDetailsUI = (props: OrderDetailsParams) => {
|
|
|
74
76
|
const [openModalForAccept, setOpenModalForAccept] = useState(false);
|
|
75
77
|
const [openModalForMapView, setOpenModalForMapView] = useState(false);
|
|
76
78
|
const [isDriverModalVisible, setIsDriverModalVisible] = useState(false);
|
|
77
|
-
const [printerSettings, setPrinterSettings] = useState('')
|
|
79
|
+
const [printerSettings, setPrinterSettings] = useState<any>('')
|
|
78
80
|
const [autoPrintEnabled, setAutoPrintEnabled] = useState<boolean>(false)
|
|
79
81
|
|
|
80
|
-
const orderToComplete = [4,20,21]
|
|
82
|
+
const orderToComplete = [4, 20, 21]
|
|
83
|
+
const orderToReady = [7, 14]
|
|
84
|
+
const deliveryTypes = [1, 7]
|
|
81
85
|
|
|
82
86
|
if (order?.status === 7 || order?.status === 4) {
|
|
83
87
|
if (drivers?.length > 0 && drivers) {
|
|
@@ -132,7 +136,7 @@ export const OrderDetailsUI = (props: OrderDetailsParams) => {
|
|
|
132
136
|
if (props.handleChangeOrderStatus) {
|
|
133
137
|
const order: any = await props.handleChangeOrderStatus(status, isAcceptOrReject)
|
|
134
138
|
|
|
135
|
-
if (order?.status
|
|
139
|
+
if (order?.status === 7 && autoPrintEnabled && printerSettings) {
|
|
136
140
|
handleViewSummaryOrder()
|
|
137
141
|
}
|
|
138
142
|
}
|
|
@@ -208,7 +212,13 @@ export const OrderDetailsUI = (props: OrderDetailsParams) => {
|
|
|
208
212
|
? t('EAT_IN', 'Eat in')
|
|
209
213
|
: order.delivery_type === 4
|
|
210
214
|
? t('CURBSIDE', 'Curbside')
|
|
211
|
-
:
|
|
215
|
+
: order.delivery_type === 5
|
|
216
|
+
? t('DRIVER_THRU', 'Driver thru')
|
|
217
|
+
: order.delivery_type === 7
|
|
218
|
+
? t('CATERING_DELIVERY', 'Catering delivery')
|
|
219
|
+
: order.delivery_type === 8
|
|
220
|
+
? t('CATERING_PICKUP', 'Catering pickup')
|
|
221
|
+
: t('DELIVERY', 'Delivery')
|
|
212
222
|
}\n`
|
|
213
223
|
: '';
|
|
214
224
|
|
|
@@ -297,7 +307,8 @@ export const OrderDetailsUI = (props: OrderDetailsParams) => {
|
|
|
297
307
|
|
|
298
308
|
const handleOpenMessagesForBusiness = () => {
|
|
299
309
|
setOpenModalForBusiness(true);
|
|
300
|
-
readMessages && readMessages()
|
|
310
|
+
readMessages && readMessages()
|
|
311
|
+
loadMessages && loadMessages()
|
|
301
312
|
setUnreadAlert({ ...unreadAlert, business: false });
|
|
302
313
|
};
|
|
303
314
|
|
|
@@ -309,38 +320,26 @@ export const OrderDetailsUI = (props: OrderDetailsParams) => {
|
|
|
309
320
|
setOpenModalForAccept(true);
|
|
310
321
|
};
|
|
311
322
|
|
|
312
|
-
const printAction = async (printerSettings: any, commands: any) => {
|
|
323
|
+
const printAction = async (printerSettings: any, commands: any, showAlert: boolean = true) => {
|
|
313
324
|
try {
|
|
314
325
|
var printResult = await StarPRNT.print(printerSettings?.emulation, commands, printerSettings?.portName);
|
|
315
|
-
|
|
316
|
-
t('PRINT_SUCCESS_TITLE', 'Print Success'),
|
|
317
|
-
t('PRINT_SUCCESS_SUBTITLE', `Go check your _printer_ printer!`).replace('_printer_', printerSettings?.model),
|
|
318
|
-
[
|
|
319
|
-
{text: 'OK', onPress: () => null},
|
|
320
|
-
],
|
|
321
|
-
{ cancelable: false }
|
|
322
|
-
)
|
|
326
|
+
showAlert && showToast(ToastType.Info, t('ORDER_PRINTED_SUCCESS', 'Order printed'), 1000)
|
|
323
327
|
} catch (e) {
|
|
324
|
-
|
|
325
|
-
t('PRINT_FAIL_TITLE', 'Connection Failed'),
|
|
326
|
-
t('PRINT_FAIL_SUBTITLE', 'Make sure your Star Printer is turned on and have thermal paper in it.'),
|
|
327
|
-
[
|
|
328
|
-
{text: 'OK', onPress: () => null},
|
|
329
|
-
],
|
|
330
|
-
{ cancelable: false }
|
|
331
|
-
)
|
|
328
|
+
showAlert && showToast(ToastType.Error, t('ORDER_PRINTED_FAILED', 'Order not printed, connection failed'), 1000)
|
|
332
329
|
}
|
|
333
330
|
}
|
|
334
331
|
|
|
335
332
|
const handleViewSummaryOrder = () => {
|
|
336
333
|
if (printerSettings) {
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
334
|
+
printerSettings.map((printer: any, idx: number) => {
|
|
335
|
+
const commands: any = generateCommands({
|
|
336
|
+
...order,
|
|
337
|
+
orderStatus: getOrderStatus(order?.status, t)?.value
|
|
338
|
+
}, printer?.printMode)
|
|
339
|
+
commands.push({ appendCutPaper: StarPRNT.CutPaperAction.PartialCutWithFeed })
|
|
340
|
+
|
|
341
|
+
printAction(printer, commands, idx === printerSettings.length - 1)
|
|
340
342
|
})
|
|
341
|
-
commands.push({ appendCutPaper: StarPRNT.CutPaperAction.PartialCutWithFeed })
|
|
342
|
-
|
|
343
|
-
printAction(printerSettings, commands)
|
|
344
343
|
return
|
|
345
344
|
}
|
|
346
345
|
navigation?.navigate &&
|
|
@@ -351,6 +350,8 @@ export const OrderDetailsUI = (props: OrderDetailsParams) => {
|
|
|
351
350
|
};
|
|
352
351
|
|
|
353
352
|
const handleCloseModal = () => {
|
|
353
|
+
readMessages && readMessages()
|
|
354
|
+
loadMessages && loadMessages()
|
|
354
355
|
setOpenModalForBusiness(false);
|
|
355
356
|
};
|
|
356
357
|
|
|
@@ -391,7 +392,7 @@ export const OrderDetailsUI = (props: OrderDetailsParams) => {
|
|
|
391
392
|
},
|
|
392
393
|
{
|
|
393
394
|
...order?.customer?.location,
|
|
394
|
-
title: order?.customer?.name ??
|
|
395
|
+
title: order?.customer?.name ?? t('CUSTOMER', 'Customer'),
|
|
395
396
|
address: {
|
|
396
397
|
addressName: order?.customer?.address,
|
|
397
398
|
zipcode: order?.customer?.zipcode
|
|
@@ -425,9 +426,9 @@ export const OrderDetailsUI = (props: OrderDetailsParams) => {
|
|
|
425
426
|
|
|
426
427
|
useEffect(() => {
|
|
427
428
|
const getStorageData = async () => {
|
|
428
|
-
|
|
429
|
+
const printers = await _retrieveStoreData('printers')
|
|
429
430
|
const autoPrint = await _retrieveStoreData('auto_print_after_accept_order')
|
|
430
|
-
setPrinterSettings(
|
|
431
|
+
setPrinterSettings(printers?.length && printers)
|
|
431
432
|
setAutoPrintEnabled(!!autoPrint)
|
|
432
433
|
}
|
|
433
434
|
|
|
@@ -494,6 +495,8 @@ export const OrderDetailsUI = (props: OrderDetailsParams) => {
|
|
|
494
495
|
handleCopyClipboard={handleCopyClipboard}
|
|
495
496
|
handleArrowBack={handleArrowBack}
|
|
496
497
|
isCustomView={props.isCustomView}
|
|
498
|
+
messages={messages}
|
|
499
|
+
messagesReadList={messagesReadList}
|
|
497
500
|
/>
|
|
498
501
|
<OrderDetailsContainer
|
|
499
502
|
keyboardShouldPersistTaps="handled"
|
|
@@ -501,7 +504,7 @@ export const OrderDetailsUI = (props: OrderDetailsParams) => {
|
|
|
501
504
|
<>
|
|
502
505
|
<OrderContentComponent order={order} />
|
|
503
506
|
{(order?.status === 7 || order?.status === 4) &&
|
|
504
|
-
order?.delivery_type
|
|
507
|
+
deliveryTypes.includes(order?.delivery_type) && configs?.assign_driver_enabled?.value === '1' && (
|
|
505
508
|
<AssignDriver>
|
|
506
509
|
<OText style={{ marginBottom: 5 }} size={16} weight="600">
|
|
507
510
|
{t('ASSIGN_DRIVER', 'Assign driver')}
|
|
@@ -599,6 +602,7 @@ export const OrderDetailsUI = (props: OrderDetailsParams) => {
|
|
|
599
602
|
messages={messages}
|
|
600
603
|
order={order}
|
|
601
604
|
setMessages={setMessages}
|
|
605
|
+
notificationApp={notificationApp}
|
|
602
606
|
/>
|
|
603
607
|
</OModal>
|
|
604
608
|
|
|
@@ -642,7 +646,6 @@ export const OrderDetailsUI = (props: OrderDetailsParams) => {
|
|
|
642
646
|
</>
|
|
643
647
|
<View style={{ height: 30 }} />
|
|
644
648
|
</OrderDetailsContainer>
|
|
645
|
-
|
|
646
649
|
{order &&
|
|
647
650
|
Object.keys(order).length > 0 &&
|
|
648
651
|
getOrderStatus(order?.status, t)?.value ===
|
|
@@ -659,7 +662,7 @@ export const OrderDetailsUI = (props: OrderDetailsParams) => {
|
|
|
659
662
|
widthButton={'45%'}
|
|
660
663
|
/>
|
|
661
664
|
)}
|
|
662
|
-
{order?.status
|
|
665
|
+
{orderToReady.includes(order?.status) && (
|
|
663
666
|
<FloatingButton
|
|
664
667
|
btnText={t('READY_FOR_PICKUP', 'Ready for pickup')}
|
|
665
668
|
colorTxt1={theme.colors.primary}
|
|
@@ -669,7 +672,7 @@ export const OrderDetailsUI = (props: OrderDetailsParams) => {
|
|
|
669
672
|
disabled={loading}
|
|
670
673
|
/>
|
|
671
674
|
)}
|
|
672
|
-
{orderToComplete.includes(order?.status) && !
|
|
675
|
+
{orderToComplete.includes(order?.status) && !deliveryTypes.includes(order?.delivery_type) && (
|
|
673
676
|
<FloatingButton
|
|
674
677
|
btnText={t(
|
|
675
678
|
'ORDER_NOT_PICKEDUP_BY_CUSTOMER',
|
|
@@ -680,7 +683,7 @@ export const OrderDetailsUI = (props: OrderDetailsParams) => {
|
|
|
680
683
|
secondButtonClick={() => handleChangeOrderStatus?.(15)}
|
|
681
684
|
firstButtonClick={() => handleChangeOrderStatus?.(17)}
|
|
682
685
|
secondBtnText={t(
|
|
683
|
-
'
|
|
686
|
+
'ORDER_PICKUP_COMPLETED_BY_CUSTOMER',
|
|
684
687
|
'Pickup completed by customer',
|
|
685
688
|
)}
|
|
686
689
|
secondButton={true}
|