'use client' import { useEditor, EditorContent } from '@tiptap/react' import StarterKit from '@tiptap/starter-kit' import { useState } from 'react' import { TemplateSelector } from '../template/TemplateSelector' import { templates } from '@/config/templates' import { cn } from '@/lib/utils' const Editor = () => { const [selectedTemplate, setSelectedTemplate] = useState('') const [preview, setPreview] = useState(false) const editor = useEditor({ extensions: [StarterKit], content: '

开始编辑...

', editorProps: { attributes: { class: 'prose prose-sm sm:prose lg:prose-lg xl:prose-2xl mx-auto focus:outline-none min-h-[500px]', }, }, }) const handleTemplateSelect = (templateId: string) => { setSelectedTemplate(templateId) } const getPreviewContent = () => { if (!editor || !selectedTemplate) return '' const template = templates.find(t => t.id === selectedTemplate) if (!template) return editor.getHTML() return template.transform(editor.getHTML()) } return (
{preview ? (
t.id === selectedTemplate)?.styles )}>
) : ( )}
) } export default Editor