import { useCallback, useMemo } from '@wordpress/element'; import { __ } from '@wordpress/i18n'; import { diffWords } from 'diff'; export default function DiffView( { original, suggestion, onAccept, height } ) { const diff = useMemo( () => { if ( ! suggestion ) { return []; } return diffWords( original, suggestion ); }, [ original, suggestion ] ); const handleKeyDown = useCallback( e => { if ( e.key === 'Enter' || e.key === ' ' ) { e.preventDefault(); onAccept(); } }, [ onAccept ] ); return (
{ __( 'Changes from current to suggested guidelines:', 'jetpack' ) } { diff.map( ( part, i ) => { if ( part.added ) { return ( { part.value } ); } if ( part.removed ) { return ( { part.value } ); } return { part.value }; } ) }
); }