diff --git a/src/App.tsx b/src/App.tsx index df2d563..ff2b3ab 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -6,7 +6,8 @@ import CreateUser from './routes/CreateUser' import PostDetail from './routes/PostDetail' import Navbar from './components/Navbar' import CreatePostModal from './components/CreatePostModal' -import PDFModal from './components/PDFModal' +import MarkdownModal from './components/MarkdownModal' +import NotificationCenter from './components/NotificationCenter' import useAppStore from './store/useAppStore' const App: React.FC = () => { @@ -20,8 +21,9 @@ const App: React.FC = () => {
+ - +
} /> diff --git a/src/components/CreatePostModal.tsx b/src/components/CreatePostModal.tsx index 4eebfc4..646ff5e 100644 --- a/src/components/CreatePostModal.tsx +++ b/src/components/CreatePostModal.tsx @@ -1,5 +1,7 @@ import React, { useState, startTransition } from 'react' import useAppStore from '../store/useAppStore' +import { generateRandomMarkdown } from '../utils/fileHelpers' +import MarkdownPreview from './MarkdownPreview' const CreatePostModal: React.FC = () => { const isOpen = useAppStore((s) => s.ui.isCreatePostOpen) @@ -8,28 +10,32 @@ const CreatePostModal: React.FC = () => { const createPost = useAppStore((s) => s.createPost) const [content, setContent] = useState('') - const [file, setFile] = useState(null) + const [attachedMarkdown, setAttachedMarkdown] = useState<{name:string,content:string} | null>(null) const [error, setError] = useState(null) if (!isOpen) return null + const onGenerate = () => { + const md = generateRandomMarkdown() + setAttachedMarkdown(md) + } + const onSubmit = (e: React.FormEvent) => { e.preventDefault() if (!currentUserId) { setError('Select a user first') return } - if (!content.trim()) { - setError('Content required') + if (!content.trim() && !attachedMarkdown) { + setError('Content or markdown required') return } setError(null) startTransition(() => { - const attachedPDF = file ? { name: file.name, url: URL.createObjectURL(file) } : undefined - createPost({ authorId: currentUserId, content: content.trim(), attachedPDF }) + createPost({ authorId: currentUserId, content: content.trim(), attachedMarkdown: attachedMarkdown ?? undefined }) toggle() setContent('') - setFile(null) + setAttachedMarkdown(null) }) } @@ -40,14 +46,8 @@ const CreatePostModal: React.FC = () => {