/** * External dependencies */ import jetpackAnalytics from '@automattic/jetpack-analytics'; import { Card, CardBody, CardFooter, Dashicon } from '@wordpress/components'; import { useCallback } from '@wordpress/element'; import { __ } from '@wordpress/i18n'; /** * Internal dependencies */ import useCreateForm from '../hooks/use-create-form'; /** * Types */ import type { Pattern } from '../types'; import type { KeyboardEvent } from 'react'; const PatternCard = ( { pattern }: { pattern: Pattern } ) => { const { openNewForm } = useCreateForm(); const handleClick = useCallback( () => { openNewForm( { formPattern: pattern.code, analyticsEvent: () => { jetpackAnalytics.tracks.recordEvent( 'jetpack_wpa_forms_landing_page_pattern_click', { pattern: pattern.code, } ); }, } ); }, [ openNewForm, pattern.code ] ); const handleKeyDown = useCallback( ( event: KeyboardEvent< HTMLDivElement > ) => { if ( event.key === 'Enter' || event.key === ' ' ) { handleClick(); } }, [ handleClick ] ); return (
{

{ pattern.title }

{ pattern.recommended && (
{ __( 'Recommended', 'jetpack-forms' ) }
) }

{ pattern.description }

); }; export default PatternCard;