Split the useUserInfoChange to separate hooks useCardChange and useShippingAddressChange

This commit is contained in:
Daniel Dudzic 2024-09-12 13:53:35 +02:00
parent 26668f7de7
commit 26fe36951c
No known key found for this signature in database
GPG key ID: 31B40D33E3465483
3 changed files with 37 additions and 38 deletions

View file

@ -1,39 +1,5 @@
import { useCallback } from '@wordpress/element';
export const useShippingAddressChange = (
fastlaneSdk,
setShippingAddress,
setWooShippingAddress
) => {
return useCallback( async () => {
if ( fastlaneSdk ) {
const { selectionChanged, selectedAddress } =
await fastlaneSdk.profile.showShippingAddressSelector();
if ( selectionChanged ) {
setShippingAddress( selectedAddress );
console.log(
'Selected shipping address changed:',
selectedAddress
);
const { address, name, phoneNumber } = selectedAddress;
setWooShippingAddress( {
first_name: name.firstName,
last_name: name.lastName,
address_1: address.addressLine1,
address_2: address.addressLine2 || '',
city: address.adminArea2,
state: address.adminArea1,
postcode: address.postalCode,
country: address.countryCode,
phone: phoneNumber.nationalNumber,
} );
}
}
}, [ fastlaneSdk, setShippingAddress, setWooShippingAddress ] );
};
export const useCardChange = ( fastlaneSdk, setCard, setWooBillingAddress ) => {
return useCallback( async () => {
if ( fastlaneSdk ) {

View file

@ -0,0 +1,35 @@
import { useCallback } from '@wordpress/element';
export const useShippingAddressChange = (
fastlaneSdk,
setShippingAddress,
setWooShippingAddress
) => {
return useCallback( async () => {
if ( fastlaneSdk ) {
const { selectionChanged, selectedAddress } =
await fastlaneSdk.profile.showShippingAddressSelector();
if ( selectionChanged ) {
setShippingAddress( selectedAddress );
console.log(
'Selected shipping address changed:',
selectedAddress
);
const { address, name, phoneNumber } = selectedAddress;
setWooShippingAddress( {
first_name: name.firstName,
last_name: name.lastName,
address_1: address.addressLine1,
address_2: address.addressLine2 || '',
city: address.adminArea2,
state: address.adminArea1,
postcode: address.postalCode,
country: address.countryCode,
phone: phoneNumber.nationalNumber,
} );
}
}
}, [ fastlaneSdk, setShippingAddress, setWooShippingAddress ] );
};