import { FC, Suspense, useCallback } from "react"; import { EditorWrapper } from "../../components/EditorWrapper"; import { EmptyViewer } from "../../components/EmptyViewer"; import { MarkdownViewer } from "../../components/MarkdownViewer"; import { SimpleTextareaEditor } from "../../components/SimpleTextareaEditor"; import styles from "./styles.module.scss"; import { useStorage } from "../../../../modules/storage/StorageContext"; import { HyperEditor } from "../../components/HyperEditor"; interface MarkdownEditorContainerProps { id: string; locked: boolean; startEditing: VoidCallback; remove: VoidCallback; } const enableCoolEditor = true; export const MarkdownEditorContainer: FC = ({ id, locked, startEditing, remove, }) => { const { panels, setPanel, hydrated } = useStorage(); const value = panels[id] ?? ""; const empty = !value.trim(); const onChange = useCallback( (val: string) => setPanel(id, val), [id, setPanel] ); const viewer = empty ? ( ) : ( ); const editor = ( {enableCoolEditor ? ( ) : ( )} ); return (
{hydrated && {locked ? viewer : editor}}
); };