import PostOriginalCreatedTimeField from '@/components/PostOriginalCreatedTimeField' import PostTagsField from '@/components/posts/PostTagsField' import PostTextField from '@/components/posts/PostTextField' import TranslatedText from '@/components/TranslatedText' import type { FC, ReactNode } from 'react' type TextMessages = string[] | undefined type CoreField = { value: string onChange: (value: string) => void errors?: TextMessages warnings?: TextMessages disabled?: boolean } type OriginalCreatedField = { originalCreatedAt?: TextMessages originalCreatedFrom?: TextMessages originalCreatedBefore?: TextMessages } type PostCoreDataFieldsProps = { title: { value: string onChange: (value: string) => void errors?: TextMessages warnings?: TextMessages disabled?: boolean after?: ReactNode } originalCreated: { disabled?: boolean originalCreatedFrom: string | null setOriginalCreatedFrom: (value: string | null) => void originalCreatedBefore: string | null setOriginalCreatedBefore: (value: string | null) => void errors?: OriginalCreatedField } tags: { value: string onChange: (value: string) => void errors?: TextMessages warnings?: TextMessages disabled?: boolean rows?: number } parentPostIds: CoreField } const groupedMessages = (...values: (TextMessages | null | undefined)[]): string[] => [...new Set (values.flatMap (value => value ?? []))] const PostCoreDataFields: FC = ( { title, originalCreated, tags, parentPostIds }, ) => ( <> } value={title.value} disabled={title.disabled} warnings={title.warnings} errors={title.errors} after={title.after} onChange={title.onChange}/> } value={parentPostIds.value} disabled={parentPostIds.disabled} warnings={parentPostIds.warnings} errors={parentPostIds.errors} onChange={parentPostIds.onChange}/> ) export default PostCoreDataFields export type { PostCoreDataFieldsProps }