1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-10-25 21:00:23 +02:00
metamask-extension/ui/app/components/page-container/page-container-header/page-container-header.component.js

81 lines
1.8 KiB
JavaScript
Raw Normal View History

import React, { Component } from 'react'
import PropTypes from 'prop-types'
2018-07-19 02:47:01 +02:00
import classnames from 'classnames'
export default class PageContainerHeader extends Component {
static propTypes = {
title: PropTypes.string,
subtitle: PropTypes.string,
onClose: PropTypes.func,
showBackButton: PropTypes.bool,
onBackButtonClick: PropTypes.func,
backButtonStyles: PropTypes.object,
backButtonString: PropTypes.string,
2018-07-19 02:47:01 +02:00
tabs: PropTypes.node,
}
renderTabs () {
const { tabs } = this.props
return tabs && (
<ul className="page-container__tabs">
{ tabs }
</ul>
)
}
renderHeaderRow () {
const { showBackButton, onBackButtonClick, backButtonStyles, backButtonString } = this.props
return showBackButton && (
<div className="page-container__header-row">
<span
className="page-container__back-button"
onClick={onBackButtonClick}
style={backButtonStyles}
>
{ backButtonString || 'Back' }
</span>
</div>
)
}
render () {
2018-07-19 02:47:01 +02:00
const { title, subtitle, onClose, tabs } = this.props
return (
2018-07-19 02:47:01 +02:00
<div className={
classnames(
'page-container__header',
tabs && 'page-container__header--no-padding-bottom'
)
}>
{ this.renderHeaderRow() }
{
title && <div className="page-container__title">
{ title }
</div>
}
{
subtitle && <div className="page-container__subtitle">
{ subtitle }
</div>
}
{
onClose && <div
className="page-container__header-close"
onClick={() => onClose()}
/>
}
2018-07-19 02:47:01 +02:00
{ this.renderTabs() }
</div>
)
}
}