* show the toolbar (WIP - includes some hacks and todos) * allow calling component to pass additional toolbar elements * add templates behaviour * get templates working * tweaks following mention autocomplete refactor * remove image upload handler no longer needed * rename method * some small refactors * only comment text area controls visibility of templates area * fix error in role name * fix mobile view * update specs
40 lines
993 B
JavaScript
40 lines
993 B
JavaScript
import { h } from 'preact';
|
|
import PropTypes from 'prop-types';
|
|
import { ImageUploader } from './ImageUploader';
|
|
import { MarkdownToolbar, Link } from '@crayons';
|
|
import HelpIcon from '@images/help.svg';
|
|
|
|
export const Toolbar = ({ version, textAreaId }) => {
|
|
return (
|
|
<div
|
|
className={`crayons-article-form__toolbar ${
|
|
version === 'v1' ? 'border-t-0' : ''
|
|
}`}
|
|
>
|
|
{version === 'v1' ? (
|
|
<ImageUploader editorVersion={version} />
|
|
) : (
|
|
<MarkdownToolbar
|
|
textAreaId={textAreaId}
|
|
additionalSecondaryToolbarElements={[
|
|
<Link
|
|
key="help-link"
|
|
block
|
|
href="/p/editor_guide"
|
|
target="_blank"
|
|
rel="noopener noreferrer"
|
|
icon={HelpIcon}
|
|
aria-label="Help"
|
|
/>,
|
|
]}
|
|
/>
|
|
)}
|
|
</div>
|
|
);
|
|
};
|
|
|
|
Toolbar.propTypes = {
|
|
version: PropTypes.string.isRequired,
|
|
};
|
|
|
|
Toolbar.displayName = 'Toolbar';
|