import { __ } from '@wordpress/i18n'; import { useState, useEffect } from '@wordpress/element'; import {CommonHooks} from "../../data"; const ConnectionInfo = () => { const { merchant } = CommonHooks.useMerchantInfo(); const [connectionData, setConnectionData] = useState(getDefaultConnectionStatusData(merchant)); useEffect(() => { if (merchant) { setConnectionData(getDefaultConnectionStatusData(merchant)); } }, [merchant]); return (
{renderStatusRow( __('Merchant ID', 'woocommerce-paypal-payments'), connectionData.merchantId )} {renderStatusRow( __('Email address', 'woocommerce-paypal-payments'), connectionData.email )} {renderStatusRow( __('Client ID', 'woocommerce-paypal-payments'), connectionData.clientId )}
); }; export default ConnectionInfo; export const getDefaultConnectionStatusData = (merchant = null) => { if (!merchant) { const contextMerchant = CommonHooks.useMerchantInfo()?.merchant || {}; return { connectionStatus: contextMerchant.isConnected || false, email: contextMerchant.email || '', merchantId: contextMerchant.id || '', clientId: contextMerchant.clientId || '', }; } return { connectionStatus: merchant.isConnected || false, email: merchant.email || '', merchantId: merchant.id || '', clientId: merchant.clientId || '', }; }; const renderStatusRow = (label, value) => (
{label} {value}
);