import { __ } from '@wordpress/i18n'; import { useState, useCallback } from 'react'; import { useIntegrationsStatus } from '../../blocks/contact-form/components/jetpack-integrations-modal/hooks/useIntegrationsStatus'; import AkismetDashboardCard from './akismet-card'; import CreativeMailDashboardCard from './creative-mail-card'; import GoogleSheetsDashboardCard from './google-sheets-card'; import JetpackCRMDashboardCard from './jetpack-crm-card'; import SalesforceDashboardCard from './salesforce-card'; import './style.scss'; import type { Integration } from './types'; const Integrations = () => { const { integrations, refreshIntegrations } = useIntegrationsStatus(); const [ expandedCards, setExpandedCards ] = useState( { akismet: false, googleSheets: false, crm: false, creativemail: false, salesforce: false, } ); const toggleCard = useCallback( ( cardId: keyof typeof expandedCards ) => { setExpandedCards( prev => ( { ...prev, [ cardId ]: ! prev[ cardId ], } ) ); }, [] ); const handleToggleAkismet = useCallback( () => toggleCard( 'akismet' ), [ toggleCard ] ); const handleToggleGoogleSheets = useCallback( () => toggleCard( 'googleSheets' ), [ toggleCard ] ); const handleToggleCRM = useCallback( () => toggleCard( 'crm' ), [ toggleCard ] ); const handleToggleSalesforce = useCallback( () => toggleCard( 'salesforce' ), [ toggleCard ] ); const handleToggleCreativeMail = useCallback( () => toggleCard( 'creativemail' ), [ toggleCard ] ); const findIntegrationById = ( id: string ) => integrations?.find( ( integration: Integration ) => integration.id === id ); return (