import {Image} from '@tiptap/extension-image' import clsx from 'clsx' import {useState} from 'react' export const BasicImage = Image.extend({ renderReact: (attrs: any) => {attrs.alt, }) export const DisplayImage = Image.extend({ renderReact: (attrs: any) => , }) export const MediumDisplayImage = Image.extend({ renderReact: (attrs: any) => , }) function ExpandingImage(props: {src: string; alt?: string; title?: string; size?: 'md'}) { const [expanded, setExpanded] = useState(false) const {size, alt, ...rest} = props return ( <> {alt setExpanded(true)} className={clsx( 'cursor-pointer object-contain', size === 'md' ? 'max-h-[400px]' : 'h-[128px]', )} height={size === 'md' ? 400 : 128} /> {expanded && (
setExpanded(false)} > {alt
)} ) }