gab-social/app/javascript/gabsocial/components/page_layout.js

58 lines
2.1 KiB
JavaScript
Raw Normal View History

2020-02-14 00:40:04 +00:00
import ColumnHeader from './column_header'
2020-02-04 15:50:18 +00:00
import Header from './header'
export default class PageLayout extends PureComponent {
static propTypes = {
layout: PropTypes.object,
2020-02-14 00:40:04 +00:00
title: PropTypes.string,
showBackBtn: PropTypes.boolean,
2020-02-05 22:45:48 +00:00
}
2020-02-04 15:50:18 +00:00
render() {
2020-02-14 00:40:04 +00:00
const { children, title, showBackBtn, layout } = this.props
2020-02-04 15:50:18 +00:00
2020-02-05 22:45:48 +00:00
const right = layout.RIGHT || null
2020-02-08 22:57:09 +00:00
const headerRight = layout.HEADER_RIGHT || null
2020-02-04 15:50:18 +00:00
return (
2020-02-08 06:12:01 +00:00
<div className={[styles.default, styles.flexRow, styles.width100PC, styles.backgroundColorSubtle3].join(' ')}>
2020-02-14 00:40:04 +00:00
2020-02-04 15:50:18 +00:00
<Header />
2020-02-14 00:40:04 +00:00
2020-02-08 22:57:09 +00:00
<main role='main' className={[styles.default, styles.flexShrink1, styles.flexGrow1, styles.borderColorSubtle2, styles.borderLeft1PX].join(' ')}>
2020-02-14 00:40:04 +00:00
<div className={[styles.default, styles.height53PX, styles.borderBottom1PX, styles.borderColorSubtle2, styles.backgroundColorSubtle3, styles.z3, styles.top0, styles.positionFixed].join(' ')}>
2020-02-08 22:57:09 +00:00
<div className={[styles.default, styles.height53PX, styles.paddingLeft15PX, styles.width1015PX, styles.flexRow, styles.justifyContentSpaceBetween].join(' ')}>
<div className={[styles.default, styles.width660PX].join(' ')}>
2020-02-14 00:40:04 +00:00
<ColumnHeader title={title} />
2020-02-08 22:57:09 +00:00
</div>
<div className={[styles.default, styles.width325PX].join(' ')}>
{ headerRight }
</div>
</div>
</div>
2020-02-14 00:40:04 +00:00
<div className={[styles.default, styles.height53PX].join(' ')}></div>
2020-02-08 22:57:09 +00:00
<div className={[styles.default, styles.width1015PX, styles.flexRow, styles.justifyContentSpaceBetween, styles.paddingLeft15PX, styles.paddingVertical15PX].join(' ')}>
<div className={[styles.default, styles.width660PX, styles.z1].join(' ')}>
2020-02-04 15:50:18 +00:00
<div className={styles.default}>
{children}
</div>
</div>
2020-02-14 00:40:04 +00:00
2020-02-05 22:45:48 +00:00
<div className={[styles.default, styles.width325PX].join(' ')}>
2020-02-04 15:50:18 +00:00
<div className={styles.default}>
{right}
</div>
</div>
</div>
2020-02-14 00:40:04 +00:00
2020-02-04 15:50:18 +00:00
</main>
2020-02-14 00:40:04 +00:00
2020-02-04 15:50:18 +00:00
</div>
)
}
}