story-research-zapwall/components/UserArticlesEditPanel.tsx
2026-01-14 16:30:39 +01:00

44 lines
1004 B
TypeScript

import { ArticleEditorForm } from './ArticleEditorForm'
import type { ArticleDraft } from '@/lib/articlePublisher'
import { Card } from './ui'
interface EditPanelProps {
draft: ArticleDraft | null
editingArticleId: string | null
loading: boolean
error: string | null
onCancel: () => void
onDraftChange: (draft: ArticleDraft) => void
onSubmit: () => void
}
export function EditPanel({
draft,
editingArticleId,
loading,
error,
onCancel,
onDraftChange,
onSubmit,
}: EditPanelProps): React.ReactElement | null {
if (!draft || !editingArticleId) {
return null
}
return (
<Card variant="default" className="bg-white space-y-3">
<h3 className="text-lg font-semibold">Edit article</h3>
<ArticleEditorForm
draft={draft}
onDraftChange={onDraftChange}
onSubmit={(e) => {
e.preventDefault()
onSubmit()
}}
loading={loading}
error={error}
onCancel={onCancel}
/>
</Card>
)
}