import { createElement } from '@wordpress/element'
import {
useBlockProps,
__experimentalUseBorderProps as useBorderProps,
} from '@wordpress/block-editor'
import classnames from 'classnames'
import { __ } from 'ct-i18n'
import TitlePreview from './wp/TitlePreview'
import ExcerptPreview from './wp/ExcerptPreview'
import DatePreview from './wp/DatePreview'
import CommentsPreview from './wp/CommentsPreview'
import AuthorPreview from './wp/AuthorPreview'
import TaxonomyPreview from './wp/TaxonomyPreview'
import ImagePreview from './wp/ImagePreview'
import AvatarPreview from './wp/AvatarPreview'
const TextField = ({
fieldDescriptor,
fieldsDescriptor,
attributes,
attributes: { align, tagName: TagName, before, after, fallback },
postId,
postType,
}) => {
const blockProps = useBlockProps({
className: classnames('ct-dynamic-data', {
[`has-text-align-${align}`]: align,
}),
})
const borderProps = useBorderProps(attributes)
let Component = null
if (fieldDescriptor.id === 'archive_title') {
Component = () => __('Archive Title', 'blocksy')
}
if (fieldDescriptor.id === 'archive_description') {
Component = () => __('Archive Description', 'blocksy')
}
if (fieldDescriptor.id === 'title') {
Component = TitlePreview
}
if (fieldDescriptor.id === 'excerpt') {
Component = ExcerptPreview
}
if (fieldDescriptor.id === 'date') {
Component = DatePreview
}
if (fieldDescriptor.id === 'comments') {
Component = CommentsPreview
}
if (fieldDescriptor.id === 'terms') {
Component = TaxonomyPreview
}
if (fieldDescriptor.id === 'author') {
Component = AuthorPreview
}
if (Component) {
return (
{fieldsDescriptor && fieldsDescriptor.dynamic_styles && (
)}
{before}
{after}
)
}
return null
}
const WpFieldPreview = (props) => {
const { fieldDescriptor } = props
if (fieldDescriptor.id === 'featured_image') {
return
}
if (fieldDescriptor.id === 'author_avatar') {
return
}
if (fieldDescriptor.id === 'archive_image') {
return
}
return
}
export default WpFieldPreview