docbrown/app/javascript/article-form/components/Header.jsx
Rajat Talesra 5966960c04
Create Preview Loading screen (#17914)
* 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
2022-07-07 19:21:50 +05:30

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';