From 97b25fde425ad9b62f26edb498c0eeb60d2d4d04 Mon Sep 17 00:00:00 2001 From: aniketceminds Date: Tue, 21 Jan 2025 22:49:43 +0530 Subject: [PATCH] fix(retail): modified ocde to handle external url order details --- .../orderDetails/ImportedOrderDetails.tsx | 18 +++++++++++++++--- apps/retail/pages/index.tsx | 2 ++ packages/common/src/utils/checkout-utils.ts | 8 ++++++-- packages/common/src/utils/payload.ts | 2 +- 4 files changed, 24 insertions(+), 6 deletions(-) diff --git a/apps/retail/components/orderDetails/ImportedOrderDetails.tsx b/apps/retail/components/orderDetails/ImportedOrderDetails.tsx index 9e613aa91..5d9ffc9c9 100644 --- a/apps/retail/components/orderDetails/ImportedOrderDetails.tsx +++ b/apps/retail/components/orderDetails/ImportedOrderDetails.tsx @@ -4,8 +4,9 @@ import { useLanguage } from '../../hooks/useLanguage' import BottomModalScan from '@components/BottomModal/BottomModalScan' import BecknButton from '@beckn-ui/molecules/src/components/button/Button' import Typography from '@beckn-ui/molecules/src/components/typography/typography' -import { ImportOrderModel } from '@beckn-ui/common/lib/types' +import { ImportOrderModel, PaymentBreakDownModel } from '@beckn-ui/common/lib/types' import { testIds } from '@shared/dataTestIds' +import { currencyMap } from '@lib/config' interface OrderDetailsProps { backOnImportedOrder: (newValue: boolean) => void @@ -25,10 +26,21 @@ const OrderDetails: FC = ({ backOnImportedOrder, importedOrde const orderId = importedtObjectOrder.id const createdAtTimeline = importedOrderObject.payments[0].time.timestamp console.log(importedtObjectOrder) - const totalPrice = itemData.price.value + // const totalPrice = itemData.price.value const noOfTravellers = itemData.quantity.selected.count const providerName = importedOrderObject.provider.descriptor.name + const createPaymentBreakdownMap = () => { + const paymentBreakdownMap: { total: number; currency: string } = { total: 0, currency: 'INR' } + if (importedOrderObject.quote.breakup.length > 0) { + importedOrderObject.quote.breakup.forEach(breakup => { + paymentBreakdownMap['total'] = paymentBreakdownMap['total'] + Number(breakup.price.value) + paymentBreakdownMap['currency'] = breakup.price.currency + }) + } + return paymentBreakdownMap + } + const getFormattedDate = (timestamp: string) => { const date = new Date(timestamp) const options: Object = { day: 'numeric', month: 'short', year: 'numeric', hour: 'numeric', minute: 'numeric' } @@ -119,7 +131,7 @@ const OrderDetails: FC = ({ backOnImportedOrder, importedOrde /> { }) const promptType = himalayasTag ? 'HIMALAYAS' : 'PARIS' + console.log(himalayasTag, promptType) + const payload = { message: { prompt_type: promptType, diff --git a/packages/common/src/utils/checkout-utils.ts b/packages/common/src/utils/checkout-utils.ts index c8bc2a678..56235115e 100644 --- a/packages/common/src/utils/checkout-utils.ts +++ b/packages/common/src/utils/checkout-utils.ts @@ -28,8 +28,12 @@ export const geocodeFromPincode = async (pincode: string) => { const { country, state, city } = extractAddressComponents( response.results[1] ? response.results[1] : response.results[0] ) - const lat = response.results[0].geometry.location.lat() - const lng = response.results[0].geometry.location.lng() + const lat = response.results[1] + ? response.results[1].geometry.location.lat() + : response.results[0].geometry.location.lat() + const lng = response.results[1] + ? response.results[1].geometry.location.lng() + : response.results[0].geometry.location.lng() return { country, state, city, lat, lng } } else { console.log('No results found') diff --git a/packages/common/src/utils/payload.ts b/packages/common/src/utils/payload.ts index fa543d20a..7b08d90ed 100644 --- a/packages/common/src/utils/payload.ts +++ b/packages/common/src/utils/payload.ts @@ -94,7 +94,7 @@ export const getInitPayload = async ( fulfillments: { id: string; type: string } = { id: '3', type: 'Standard-shipping' } ) => { const cityData = await geocodeFromPincode(deliveryAddress.pinCode!) - + console.log(cityData) const bppGroups = cartItems.reduce((acc: { [key: string]: CartItemForRequest[] }, item) => { if (!acc[item.bpp_id]) { acc[item.bpp_id] = []