import React, { useCallback, useEffect, useState } from 'react'; import { LuRefreshCw } from 'react-icons/lu'; import { recomaze_ai_personalization_env } from '../env'; import { useAppStateContext } from '../context/user.data.context'; import { isRecomazeAgentConnected, syncRecomazeAgentConnector, } from '../service/connectors/connectors.service'; import type { IConnectorSyncResult } from '../service/connectors/connectors.interface'; const ACCENT: string = '#b7007c'; const Connectors = (): JSX.Element => { const { token, clientId } = useAppStateContext(); const [connected, setConnected] = useState(false); const [statusLoading, setStatusLoading] = useState(true); const [syncing, setSyncing] = useState(false); const [error, setError] = useState(null); const [success, setSuccess] = useState(null); const logo: string | undefined = recomaze_ai_personalization_env?.plugin_icon; const refreshStatus = useCallback(async (): Promise => { if (!token || !clientId) { setStatusLoading(false); return; } setStatusLoading(true); const isConnected: boolean = await isRecomazeAgentConnected( token, clientId ); setConnected(isConnected); setStatusLoading(false); }, [token, clientId]); useEffect(() => { refreshStatus(); }, [refreshStatus]); const onConnect = useCallback(async (): Promise => { setSyncing(true); setError(null); setSuccess(null); const result: IConnectorSyncResult = await syncRecomazeAgentConnector(); if (result.ok) { setSuccess('Recomaze Agent connector synced successfully.'); await refreshStatus(); } else { setError( result.error || 'We could not sync the connector. Please try again.' ); } setSyncing(false); }, [refreshStatus]); return (

Connectors

Connect Recomaze to the services it works with. Reconnect at any time without deactivating the plugin.

{logo ? ( Recomaze Agent ) : (
R
)}

Recomaze Agent

MCP

Lets the Recomaze Agent reach your store to publish content and act on your behalf.

{statusLoading ? ( Checking… ) : connected ? ( Connected ) : ( Not connected )}
{(error || success) && (
{error &&

{error}

} {success &&

{success}

}
)}
); }; export default Connectors;