import React, { useState } from 'react'
import { Card, ErrorState } from './ui'
import type { ArticleDraft } from '@/lib/articlePublisher'
import { ArticleFormButtons } from './ArticleFormButtons'
import type { RelayPublishStatus } from '@/lib/publishResult'
import { t } from '@/lib/i18n'
import { ArticleFieldsLeft } from './ArticleEditorFormFieldsLeft'
import { ArticleFieldsRight } from './ArticleEditorFormFieldsRight'
import { ArticlePreviewModal } from './ArticlePreviewModal'
interface ArticleEditorFormProps {
draft: ArticleDraft
onDraftChange: (draft: ArticleDraft) => void
onSubmit: (e: React.FormEvent) => void
loading: boolean
error: string | null
relayStatuses?: RelayPublishStatus[]
onCancel?: () => void
seriesOptions?: { id: string; title: string }[] | undefined
onSelectSeries?: ((seriesId: string | undefined) => void) | undefined
}
function ErrorAlert({ error }: { error: string | null }): React.ReactElement | null {
if (!error) {
return null
}
return
}
function usePreviewModal(): {
showPreview: boolean
openPreview: () => void
closePreview: () => void
} {
const [showPreview, setShowPreview] = useState(false)
return {
showPreview,
openPreview: () => {
setShowPreview(true)
},
closePreview: () => {
setShowPreview(false)
},
}
}
export function ArticleEditorForm({
draft,
onDraftChange,
onSubmit,
loading,
error,
relayStatuses,
onCancel,
seriesOptions,
onSelectSeries,
}: ArticleEditorFormProps): React.ReactElement {
const { showPreview, openPreview, closePreview } = usePreviewModal()
return (
<>
>
)
}