* Minor changes * Basic implementation with some bugs * Removed files * Correct tab selection * Added tests * Disabled bottom bar buttons on preview loading * Applied other changes * Added tests for PageTitle * Added tests for LoadingPreview * Added test for Options.jsx * Removed comments * Fixed CSS * Removed unused code * Fixed test failure * Added aria-live * Nit fixe * Fixed tests * Applied suggested changes
47 lines
1.2 KiB
JavaScript
47 lines
1.2 KiB
JavaScript
import { h } from 'preact';
|
|
import PropTypes from 'prop-types';
|
|
import { Close } from './Close';
|
|
import { Tabs } from './Tabs';
|
|
import { PageTitle } from './PageTitle';
|
|
|
|
export const Header = ({
|
|
onPreview,
|
|
previewLoading,
|
|
previewShowing,
|
|
organizations,
|
|
organizationId,
|
|
onToggle,
|
|
siteLogo,
|
|
displayModal,
|
|
}) => {
|
|
return (
|
|
<div className="crayons-article-form__header">
|
|
<span
|
|
className="crayons-article-form__logo"
|
|
// eslint-disable-next-line react/no-danger
|
|
dangerouslySetInnerHTML={{ __html: siteLogo }}
|
|
/>
|
|
<PageTitle
|
|
organizations={organizations}
|
|
organizationId={organizationId}
|
|
onToggle={onToggle}
|
|
previewLoading={previewLoading}
|
|
/>
|
|
<Tabs onPreview={onPreview} previewShowing={previewShowing} />
|
|
<Close displayModal={displayModal} />
|
|
</div>
|
|
);
|
|
};
|
|
|
|
Header.propTypes = {
|
|
displayModal: PropTypes.func.isRequired,
|
|
onPreview: PropTypes.func.isRequired,
|
|
previewLoading: PropTypes.bool.isRequired,
|
|
previewShowing: PropTypes.bool.isRequired,
|
|
organizations: PropTypes.arrayOf(PropTypes.object).isRequired,
|
|
organizationId: PropTypes.string,
|
|
onToggle: PropTypes.func.isRequired,
|
|
siteLogo: PropTypes.string.isRequired,
|
|
};
|
|
|
|
Header.displayName = 'Header';
|