mirror of
https://github.com/woocommerce/woocommerce-paypal-payments.git
synced 2025-09-04 08:47:23 +08:00
47 lines
1.1 KiB
JavaScript
47 lines
1.1 KiB
JavaScript
import { useCallback } from '@wordpress/element';
|
|
import { useDispatch, useSelect } from '@wordpress/data';
|
|
|
|
const CHECKOUT_STORE_KEY = 'wc/store/checkout';
|
|
|
|
export const useAddressEditing = () => {
|
|
const { isEditingShippingAddress, isEditingBillingAddress } = useSelect(
|
|
( select ) => {
|
|
const store = select( CHECKOUT_STORE_KEY );
|
|
return {
|
|
isEditingShippingAddress: store.getEditingShippingAddress
|
|
? store.getEditingShippingAddress()
|
|
: true,
|
|
isEditingBillingAddress: store.getEditingBillingAddress
|
|
? store.getEditingBillingAddress()
|
|
: true,
|
|
};
|
|
},
|
|
[]
|
|
);
|
|
|
|
const { setEditingShippingAddress, setEditingBillingAddress } =
|
|
useDispatch( CHECKOUT_STORE_KEY );
|
|
|
|
const setShippingAddressEditing = useCallback(
|
|
( isEditing ) => {
|
|
setEditingShippingAddress( isEditing );
|
|
},
|
|
[ setEditingShippingAddress ]
|
|
);
|
|
|
|
const setBillingAddressEditing = useCallback(
|
|
( isEditing ) => {
|
|
setEditingBillingAddress( isEditing );
|
|
},
|
|
[ setEditingBillingAddress ]
|
|
);
|
|
|
|
return {
|
|
isEditingShippingAddress,
|
|
isEditingBillingAddress,
|
|
setShippingAddressEditing,
|
|
setBillingAddressEditing,
|
|
};
|
|
};
|
|
|
|
export default useAddressEditing;
|