/** * External dependencies */ import { Button, __experimentalHStack as HStack } from '@wordpress/components'; // eslint-disable-line @wordpress/no-unsafe-wp-apis import { useCallback } from '@wordpress/element'; import { __ } from '@wordpress/i18n'; import { useNavigate } from 'react-router'; /** * Internal dependencies */ import IntegrationCard from '../../blocks/contact-form/components/jetpack-integrations-modal/integration-card'; import GoogleSheetsIcon from '../../icons/google-sheets'; /** * Types */ import type { SingleIntegrationCardProps, IntegrationCardData } from '../../types'; const GoogleSheetsDashboardCard = ( { isExpanded, onToggle, data, refreshStatus, }: SingleIntegrationCardProps ) => { const isConnected = !! data?.isConnected; const settingsUrl = data?.settingsUrl; const navigate = useNavigate(); const cardData: IntegrationCardData = { ...data, slug: 'google-sheets', showHeaderToggle: false, // Always off for dashboard isLoading: ! data, refreshStatus, trackEventName: 'jetpack_forms_upsell_googledrive_click', isActive: !! data?.isConnected, }; const handleConnectClick = useCallback( () => { if ( ! settingsUrl ) return; window.open( settingsUrl, '_blank', 'noopener,noreferrer' ); }, [ settingsUrl ] ); const handleViewResponsesClick = useCallback( () => { navigate( '/responses' ); }, [ navigate ] ); return ( } isExpanded={ isExpanded } onToggle={ onToggle } cardData={ cardData } > { ! isConnected ? (

{ __( 'Connect your site to Google Drive to export form responses directly to Google Sheets.', 'jetpack-forms' ) }

) : (

{ __( 'Google Sheets is connected. You can export your form responses from the form responses page.', 'jetpack-forms' ) }

) }
); }; export default GoogleSheetsDashboardCard;