import { h, Component } from 'preact'; import PropTypes from 'prop-types'; const TextField = ({ label, id, value, onKeyUp }) => { return (
); }; export default class MoreConfig extends Component { handleSeriesButtonClick = e => { e.preventDefault(); const { onConfigChange } = this.props; onConfigChange(e); }; render() { const { onExit, passedData: { published = false, allSeries = [], canonicalUrl = '', series = '', }, onSaveDraft, onConfigChange, } = this.props; let publishedField = ''; let seriesTip = ( Will this post be part of a series? Give the series a unique name. (Series visible once it has multiple posts) ); if (allSeries.length > 0) { const seriesNames = allSeries.map(name => { return ( ); }); seriesTip = ( Existing series: {seriesNames} ); } if (published) { publishedField = (

Danger Zone

); } return (

Additional Config/Settings

{TextField({ label: 'Canonical URL', id: 'canonicalUrl', value: canonicalUrl, onKeyUp: onConfigChange, })} Change meta tag {' '} canonical_url {' '} if this post was first published elsewhere (like your own blog) {TextField({ label: 'Series Name', id: 'series', value: series, onKeyUp: onConfigChange, })} {seriesTip}
{publishedField}
); } } MoreConfig.propTypes = { onExit: PropTypes.func.isRequired, passedData: PropTypes.shape({ published: PropTypes.bool.isRequired, allSeries: PropTypes.array.isRequired, canonicalUrl: PropTypes.string.isRequired, series: PropTypes.string.isRequired, }).isRequired, onSaveDraft: PropTypes.func.isRequired, onConfigChange: PropTypes.func.isRequired, }; TextField.propTypes = { label: PropTypes.string.isRequired, id: PropTypes.string.isRequired, value: PropTypes.string.isRequired, onKeyUp: PropTypes.func.isRequired, };