From d1592286eef165533c21d52aec70dbb703cdcfd3 Mon Sep 17 00:00:00 2001
From: trisusilo48
Date: Wed, 18 Dec 2024 15:03:52 +0700
Subject: feedback uat
---
src/lib/address/components/CreateAddress.jsx | 6 +-
src/lib/address/components/EditAddress.jsx | 71 ++++++++++++++++++++++-
src/lib/checkout/components/Checkout.jsx | 2 +-
src/lib/checkout/components/SectionExpedition.jsx | 24 +++++---
src/lib/maps/components/PinPointMap.jsx | 6 +-
src/pages/my/address/[id]/edit.jsx | 2 +-
6 files changed, 96 insertions(+), 15 deletions(-)
diff --git a/src/lib/address/components/CreateAddress.jsx b/src/lib/address/components/CreateAddress.jsx
index 404143f9..5f041eb2 100644
--- a/src/lib/address/components/CreateAddress.jsx
+++ b/src/lib/address/components/CreateAddress.jsx
@@ -45,6 +45,7 @@ const CreateAddress = () => {
addressMaps,
selectedPosition,
detailAddress,
+ setAddressMaps,
} = useMaps();
useEffect(() => {
@@ -56,6 +57,7 @@ const CreateAddress = () => {
state.label.includes(detailAddress?.province)
);
setValue('state', selectedState?.value);
+ setValue('street', detailAddress?.street);
}
}, [detailAddress, setValue]);
@@ -70,10 +72,10 @@ const CreateAddress = () => {
setState(dataState);
};
loadState();
+ setAddressMaps('');
}, []);
const watchState = watch('state');
- console.log(watchState);
useEffect(() => {
setValue('city', '');
if (watchState) {
@@ -228,7 +230,7 @@ const CreateAddress = () => {
{addressMaps ? (
- {' '}
+ setPinedMaps(true)} />{' '}
{addressMaps}
) : (
diff --git a/src/lib/address/components/EditAddress.jsx b/src/lib/address/components/EditAddress.jsx
index 0b3b0aa3..7675db9d 100644
--- a/src/lib/address/components/EditAddress.jsx
+++ b/src/lib/address/components/EditAddress.jsx
@@ -42,18 +42,33 @@ const EditAddress = ({ id, defaultValues }) => {
const [districts, setDistricts] = useState([]);
const [subDistricts, setSubDistricts] = useState([]);
const [pinedMaps, setPinedMaps] = useState(false);
- const [tempAddress, setTempAddress] = useState(getValues('address_maps'));
+ const [tempAddress, setTempAddress] = useState(getValues('addressMap'));
const { addressMaps, selectedPosition, detailAddress } = useMaps();
+ console.log('ini adalah',);
+
useEffect(() => {
if (addressMaps) {
setTempAddress(addressMaps);
- setValue('address_map', addressMaps);
+ setValue('addressMap', addressMaps);
setValue('longtitude', selectedPosition.lng);
setValue('latitude', selectedPosition.lat);
}
}, [addressMaps, selectedPosition, setValue]);
+ useEffect(() => {
+ if (Object.keys(detailAddress).length > 0) {
+ setValue('zip', detailAddress.postalCode);
+ const selectedState = states.find(
+ (state) =>
+ detailAddress?.province.includes(state.label) ||
+ state.label.includes(detailAddress?.province)
+ );
+ setValue('state', selectedState?.value);
+ setValue('street', detailAddress?.route);
+ }
+ }, [detailAddress, setValue]);
+
useEffect(() => {
const loadProfile = async () => {
const dataProfile = await addressApi({ id: auth.parentId });
@@ -101,6 +116,21 @@ const EditAddress = ({ id, defaultValues }) => {
}
}, [watchState, setValue, getValues]);
+ useEffect(() => {
+ if (Object.keys(detailAddress).length > 0) {
+ const selectedCities = cities.find(
+ (city) =>
+ detailAddress?.district
+ .toLowerCase()
+ .includes(city.label.toLowerCase()) ||
+ city.label
+ .toLowerCase()
+ .includes(detailAddress?.district.toLowerCase())
+ );
+ setValue('city', selectedCities?.value);
+ }
+ }, [cities, detailAddress, setValue]);
+
const watchCity = watch('city');
useEffect(() => {
setValue('district', '');
@@ -122,6 +152,23 @@ const EditAddress = ({ id, defaultValues }) => {
}
}, [watchCity, setValue, getValues]);
+ useEffect(() => {
+ if (Object.keys(detailAddress).length > 0) {
+ const selectedDistrict = districts.find(
+ (district) =>
+ detailAddress.subDistrict
+ .toLowerCase()
+ .includes(district.label.toLowerCase()) ||
+ district.label
+ .toLowerCase()
+ .includes(detailAddress.subDistrict.toLowerCase())
+ );
+ setValue('district', selectedDistrict?.value);
+ }
+ }, [districts, detailAddress, setValue]);
+
+
+
const watchDistrict = watch('district');
useEffect(() => {
setValue('subDistrict', '');
@@ -145,6 +192,24 @@ const EditAddress = ({ id, defaultValues }) => {
loadSubDistricts();
}
}, [watchDistrict, setValue, getValues]);
+
+
+ useEffect(() => {
+ if (Object.keys(detailAddress).length > 0) {
+ const selectedSubDistrict = subDistricts.find(
+ (district) =>
+ detailAddress.village
+ .toLowerCase()
+ .includes(district.label.toLowerCase()) ||
+ district.label
+ .toLowerCase()
+ .includes(detailAddress.village.toLowerCase())
+ );
+
+ setValue('subDistrict', selectedSubDistrict?.value);
+ }
+ }, [subDistricts, detailAddress, setValue]);
+
const onSubmitHandler = async (values) => {
const data = {
...values,
@@ -228,7 +293,7 @@ const EditAddress = ({ id, defaultValues }) => {
{tempAddress ? (
- {' '}
+ setPinedMaps(true)} />{' '}
{tempAddress}
) : (
diff --git a/src/lib/checkout/components/Checkout.jsx b/src/lib/checkout/components/Checkout.jsx
index 38e11038..0471dc6c 100644
--- a/src/lib/checkout/components/Checkout.jsx
+++ b/src/lib/checkout/components/Checkout.jsx
@@ -430,7 +430,7 @@ const Checkout = () => {
available_quantity: product?.availableQuantity,
}));
let data = {
- // partner_shipping_id: auth.partnerId,
+ // partner_shipping_id: auth.partnerId,,
// partner_invoice_id: auth.partnerId,
partner_shipping_id: selectedAddress?.shipping?.id || auth.partnerId,
partner_invoice_id: selectedAddress?.invoicing?.id || auth.partnerId,
diff --git a/src/lib/checkout/components/SectionExpedition.jsx b/src/lib/checkout/components/SectionExpedition.jsx
index be40a577..2098d5b5 100644
--- a/src/lib/checkout/components/SectionExpedition.jsx
+++ b/src/lib/checkout/components/SectionExpedition.jsx
@@ -8,6 +8,7 @@ import { useAddress } from '../stores/useAdress';
import currencyFormat from '@/core/utils/currencyFormat';
import { useCheckout } from '../stores/stateCheckout';
+import { formatShipmentRange } from '../utils/functionCheckouit';
function mappingItems(products) {
return products?.map((item) => ({
@@ -32,7 +33,6 @@ function mappingCourier(couriersOdoo, couriers, notIncludeInstant = false) {
return result; // Jika tidak ada, lewati item ini
}
-
if (
notIncludeInstant &&
['hours'].includes(item.shipment_duration_unit.toLowerCase())
@@ -47,7 +47,7 @@ function mappingCourier(couriersOdoo, couriers, notIncludeInstant = false) {
result[courier_code] = {
courier_name: item.courier_name,
courier_code: courier_code,
- courier_id_odoo : carrierId,
+ courier_id_odoo: carrierId,
service_type: {
[courier_service_code]: {
service_name: item.courier_service_name,
@@ -177,7 +177,7 @@ export default function SectionExpedition({ products }) {
mappingCourier(listExpedisi, data?.data?.pricing, notIncludeInstant) ||
null;
- console.log('ini scourier', data?.data?.pricing)
+ console.log('ini scourier', data?.data?.pricing);
const onCourierChange = (e) => {
setIsOpen(false);
@@ -193,7 +193,8 @@ export default function SectionExpedition({ products }) {
}
};
- const onSubmit = (data) => {1
+ const onSubmit = (data) => {
+ 1;
console.log(data);
};
@@ -292,7 +293,10 @@ export default function SectionExpedition({ products }) {
{selectedService.service_name}
- {currencyFormat(selectedService.price)}
+ {currencyFormat(
+ Math.round(parseInt(selectedService?.price * 1.1) / 1000) *
+ 1000
+ )}
) : (
@@ -316,11 +320,17 @@ export default function SectionExpedition({ products }) {
{service.service_name}
- Estimasi Tiba {service.duration}
+ {formatShipmentRange(
+ service.shipment_range,
+ service.shipment_unit
+ )}
- {currencyFormat(service.price)}
+ {currencyFormat(
+ Math.round(parseInt(service?.price * 1.1) / 1000) *
+ 1000
+ )}
))}
diff --git a/src/lib/maps/components/PinPointMap.jsx b/src/lib/maps/components/PinPointMap.jsx
index 201fdeb4..acff5d67 100644
--- a/src/lib/maps/components/PinPointMap.jsx
+++ b/src/lib/maps/components/PinPointMap.jsx
@@ -66,6 +66,7 @@ const PinpointLocation = () => {
if (data.results[0]) {
const addressComponents = data.results[0].address_components;
const details = {
+ route : getAddressComponent(addressComponents, 'route')+' '+getAddressComponent(addressComponents, 'street_number')+' '+getAddressComponent(addressComponents, 'administrative_area_level_7')+' '+getAddressComponent(addressComponents, 'administrative_area_level_6'),
province: getAddressComponent(
addressComponents,
'administrative_area_level_1'
@@ -85,7 +86,6 @@ const PinpointLocation = () => {
postalCode: getAddressComponent(addressComponents, 'postal_code'),
};
setDetailAddress(details);
- console.log(details);
setTempAddress(data.results[0].formatted_address);
}
} catch (error) {
@@ -115,10 +115,14 @@ const PinpointLocation = () => {
alert('Silahkan pilih lokasi terlebih dahulu');
return;
}
+ // console.log('tempPosition', tempPosition.lat);
+ getAddress(tempPosition.lat, tempPosition.lng);
setSelectedPosition(tempPosition);
setAddressMaps(tempAddress);
};
+ console.log('set selected position',selectedPosition);
+
return (
Tentukan Pinpoint Lokasi
diff --git a/src/pages/my/address/[id]/edit.jsx b/src/pages/my/address/[id]/edit.jsx
index 26cde5e1..006785d9 100644
--- a/src/pages/my/address/[id]/edit.jsx
+++ b/src/pages/my/address/[id]/edit.jsx
@@ -47,7 +47,7 @@ export async function getServerSideProps(context) {
business_name: '',
longtitude: address?.longtitude || 0,
latitude: address?.latitude || 0,
- addressMap: address?.address_map || '',
+ addressMap: address?.addressMap || '',
};
return { props: { id, defaultValues } };
--
cgit v1.2.3