diff --git a/modules/ppcp-settings/resources/js/Components/ReusableComponents/ConnectionInfo.js b/modules/ppcp-settings/resources/js/Components/ReusableComponents/ConnectionInfo.js
index 5fbfdb1f1..0a10b4c17 100644
--- a/modules/ppcp-settings/resources/js/Components/ReusableComponents/ConnectionInfo.js
+++ b/modules/ppcp-settings/resources/js/Components/ReusableComponents/ConnectionInfo.js
@@ -1,10 +1,17 @@
import { __ } from '@wordpress/i18n';
-import { useState } from '@wordpress/element';
+import { useState, useEffect } from '@wordpress/element';
+import {CommonHooks} from "../../data";
-const ConnectionInfo = ( { connectionStatusDataDefault } ) => {
- const [ connectionData, setConnectionData ] = useState( {
- ...connectionStatusDataDefault,
- } );
+
+const ConnectionInfo = () => {
+ const { merchant } = CommonHooks.useMerchantInfo();
+ const [connectionData, setConnectionData] = useState(getDefaultConnectionStatusData(merchant));
+
+ useEffect(() => {
+ if (merchant) {
+ setConnectionData(getDefaultConnectionStatusData(merchant));
+ }
+ }, [merchant]);
const toggleStatusClassName = [ 'ppcp-r-connection-status__status-toggle' ];
@@ -15,40 +22,47 @@ const ConnectionInfo = ( { connectionStatusDataDefault } ) => {
}
return (
-
-
-
- { __( 'Merchant ID', 'woocommerce-paypal-payments' ) }
-
-
- { connectionData.merchantId }
-
-
-
-
- { __( 'Email address', 'woocommerce-paypal-payments' ) }
-
-
- { connectionData.email }
-
-
-
-
- { __( 'Client ID', 'woocommerce-paypal-payments' ) }
-
-
- { connectionData.clientId }
-
-
-
- );
+
+ {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,
+ showAllData: false,
+ email: contextMerchant.email || '',
+ merchantId: contextMerchant.id || '',
+ clientId: contextMerchant.clientId || '',
+ };
+ }
-export const connectionStatusDataDefault = {
- connectionStatus: true,
- showAllData: false,
- email: 'bt_us@woocommerce.com',
- merchantId: 'AT45V2DGMKLRY',
- clientId: 'BAARTJLxtUNN4d2GMB6Eut3suMDYad72xQA-FntdIFuJ6FmFJITxAY8',
+ return {
+ connectionStatus: merchant.isConnected || false,
+ showAllData: false,
+ email: merchant.email || '',
+ merchantId: merchant.id || '',
+ clientId: merchant.clientId || '',
+ };
};
+
+const renderStatusRow = (label, value) => (
+
+ {label}
+ {value}
+
+);