2018-03-26 14:32:43 -07:00
|
|
|
// @flow
|
2019-08-27 10:43:42 -04:00
|
|
|
import type { Node } from 'react';
|
|
|
|
import React, { Fragment } from 'react';
|
2018-03-26 14:32:43 -07:00
|
|
|
import classnames from 'classnames';
|
2019-08-27 10:43:42 -04:00
|
|
|
import SideBar from 'component/sideBar';
|
|
|
|
import Header from 'component/header';
|
2018-03-26 14:32:43 -07:00
|
|
|
|
|
|
|
type Props = {
|
2019-08-27 10:43:42 -04:00
|
|
|
children: Node | Array<Node>,
|
2019-01-09 13:39:05 -05:00
|
|
|
className: ?string,
|
2019-08-27 10:43:42 -04:00
|
|
|
autoUpdateDownloaded: boolean,
|
|
|
|
isUpgradeAvailable: boolean,
|
|
|
|
fullscreen: boolean,
|
2019-09-26 12:07:11 -04:00
|
|
|
authenticated: boolean,
|
2018-03-26 14:32:43 -07:00
|
|
|
};
|
|
|
|
|
2019-06-17 16:32:38 -04:00
|
|
|
function Page(props: Props) {
|
2019-09-26 12:07:11 -04:00
|
|
|
const { children, className, fullscreen = false, authenticated } = props;
|
|
|
|
const obscureSideBar = IS_WEB ? !authenticated : false;
|
2019-06-17 16:32:38 -04:00
|
|
|
|
2019-08-27 10:43:42 -04:00
|
|
|
return (
|
|
|
|
<Fragment>
|
|
|
|
<Header minimal={fullscreen} />
|
|
|
|
<div className={classnames('main-wrapper__inner')}>
|
2019-09-26 12:07:11 -04:00
|
|
|
<main className={classnames('main', className, { 'main--full-width': fullscreen })}>{children}</main>
|
|
|
|
{!fullscreen && <SideBar obscureSideBar={obscureSideBar} />}
|
2019-08-27 10:43:42 -04:00
|
|
|
</div>
|
|
|
|
</Fragment>
|
|
|
|
);
|
2018-05-07 00:50:55 -04:00
|
|
|
}
|
|
|
|
|
2018-03-26 14:32:43 -07:00
|
|
|
export default Page;
|