import { useEffect, useRef } from 'preact/hooks' import { Markdown } from './Markdown.jsx' export const MarkdownEditor = ({ source, setSource }) => { const editorRef = useRef() useEffect(() => { if (editorRef.current) { // settare questo ad "auto" toglie l'altezza al contenitore che passa alla sua // dimensione minima iniziale, ciò serve per permettere all'autosize della textarea di // crescere e ridursi ma ha il problema che resetta lo scroll della pagina che deve // essere preservato a mano const oldScrollY = window.scrollY editorRef.current.style.height = 'auto' editorRef.current.style.height = editorRef.current.scrollHeight + 'px' window.scrollTo(0, oldScrollY) } }, [source]) return (

Editor

Preview

{source.trim().length ? ( ) : (
Scrivi una nuova soluzione...
)}
) }