@churchapps/apphelper-markdown
Version:
ChurchApps markdown/lexical editor components
16 lines (15 loc) • 640 B
JavaScript
import { useEffect } from "react";
import { useLexicalComposerContext } from "@lexical/react/LexicalComposerContext";
import { $convertFromMarkdownString } from "@lexical/markdown";
import { PLAYGROUND_TRANSFORMERS } from "./MarkdownTransformers";
export function ControlledEditorPlugin({ isFullscreen, value, isPreview = false }) {
const [editor] = useLexicalComposerContext();
useEffect(() => {
if (isFullscreen || isPreview) {
editor.update(() => {
$convertFromMarkdownString(value, PLAYGROUND_TRANSFORMERS);
});
}
}, [value]); //eslint-disable-line
return null;
}