import { useState } from 'react' import { Button } from './ui' import type { MediaRef } from '@/types/nostr' import { uploadNip95Media } from '@/lib/nip95' import { t } from '@/lib/i18n' interface MarkdownEditorProps { value: string onChange: (value: string) => void onMediaAdd?: (media: MediaRef) => void onBannerChange?: (url: string) => void } export function MarkdownEditor(props: MarkdownEditorProps): React.ReactElement { return } function MarkdownEditorInner({ value, onChange, onMediaAdd, onBannerChange }: MarkdownEditorProps): React.ReactElement { const [uploading, setUploading] = useState(false) const [error, setError] = useState(null) const [preview, setPreview] = useState(false) return (
setPreview((p) => !p)} onFileSelected={(file) => { const handlers = { setError, setUploading, ...(onMediaAdd ? { onMediaAdd } : {}), ...(onBannerChange ? { onBannerChange } : {}), } void handleUpload(file, handlers) }} uploading={uploading} error={error} /> {preview ? ( ) : (