open-notebook / frontend /src /components /ui /markdown-editor.tsx
baveshraam's picture
FIX: SurrealDB 2.0 migration syntax and Frontend/CORS link
f871fed
'use client'
import dynamic from 'next/dynamic'
import { forwardRef } from 'react'
const MDEditor = dynamic(
() => import('@uiw/react-md-editor').then((mod) => mod.default),
{ ssr: false }
)
export interface MarkdownEditorProps {
value?: string
onChange?: (value?: string) => void
placeholder?: string
height?: number
preview?: 'live' | 'edit' | 'preview'
hideToolbar?: boolean
className?: string
}
export const MarkdownEditor = forwardRef<HTMLDivElement, MarkdownEditorProps>(
({ value = '', onChange, placeholder, height = 300, preview = 'live', hideToolbar = false, className }, ref) => {
return (
<div className={className} ref={ref}>
<MDEditor
value={value}
onChange={onChange}
preview={preview}
height={height}
hideToolbar={hideToolbar}
textareaProps={{
placeholder: placeholder || 'Enter markdown...',
}}
data-color-mode="light"
/>
</div>
)
}
)
MarkdownEditor.displayName = 'MarkdownEditor'