import { useIntl, defineMessages } from 'react-intl'; import cx from 'classnames'; import { SidebarPortal, Icon, UniversalLink } from '@plone/volto/components'; import { BlockDataForm } from '@plone/volto/components/manage/Form'; import type { BlockEditProps } from '@plone/types'; import { TextEditorWidget, useHandleDetachedBlockFocus, } from '@redturtle/volto-slate-extras'; import styles from '@redturtle/volto-blocks/components/blocks/Testimonials/styles.module.css'; import blockIcon from '@redturtle/volto-blocks/icons/text7.svg'; import type { TestimonialsData } from '@redturtle/volto-blocks/components/blocks/Testimonials/schema'; import config from '@plone/registry'; type TestimonialsEditProps = BlockEditProps & { data: TestimonialsData; }; export default function Edit(props: TestimonialsEditProps) { const { data, selected, block, onChangeBlock, blocksConfig, blocksErrors } = props; const intl = useIntl(); const { selectedField, setSelectedField } = useHandleDetachedBlockFocus( props, 'title', ); const schema = blocksConfig[data['@type']].blockSchema({ data, intl, }); if (__SERVER__) { return
; } const Container = config.getComponent('Container').component || 'div'; // const Image = config.getComponent('Image').component; return ( <>
{data.testimonials?.length > 0 ? ( data.testimonials.map((testimonial) => (

{testimonial.testimonial}

)) ) : (
Add testimonials
)}
{ setSelectedField('text'); }} showToolbar={false} placeholder={intl.formatMessage(messages.title)} /> { setSelectedField('title'); }} placeholder={intl.formatMessage(messages.text)} /> {data.linkHref?.[0] && (
) => { e.preventDefault(); }} > {data.linkTitle}
)}
{/* @ts-expect-error TODO */} {schema && ( } schema={schema} title={schema.title} onChangeField={(id: string, value: unknown) => { onChangeBlock(block, { ...data, [id]: value, }); }} onChangeBlock={onChangeBlock} formData={data} block={block} errors={blocksErrors} /> )} ); } const messages = defineMessages({ title: { id: 'Title', defaultMessage: 'Title', }, text: { id: 'Text', defaultMessage: 'Text', }, // placeholder: { // id: 'Upload a new image', // defaultMessage: 'Upload a new image', // }, // image: { // id: 'Image', // defaultMessage: 'Image', // }, });