diff options
author | Alexander Tseung <alextsg@gmail.com> | 2018-04-11 06:28:52 +0800 |
---|---|---|
committer | Alexander Tseung <alextsg@gmail.com> | 2018-04-11 06:28:52 +0800 |
commit | f96c13d616e429447ac0a6a24c6aeee902162b88 (patch) | |
tree | e0b6873c5d30e09f8bdab951db4282f2d9630254 /ui/app/components/page-container/page-container-header | |
parent | 284dd85a99f538b77fd477f4952117d1792f64a5 (diff) | |
download | tangerine-wallet-browser-f96c13d616e429447ac0a6a24c6aeee902162b88.tar tangerine-wallet-browser-f96c13d616e429447ac0a6a24c6aeee902162b88.tar.gz tangerine-wallet-browser-f96c13d616e429447ac0a6a24c6aeee902162b88.tar.bz2 tangerine-wallet-browser-f96c13d616e429447ac0a6a24c6aeee902162b88.tar.lz tangerine-wallet-browser-f96c13d616e429447ac0a6a24c6aeee902162b88.tar.xz tangerine-wallet-browser-f96c13d616e429447ac0a6a24c6aeee902162b88.tar.zst tangerine-wallet-browser-f96c13d616e429447ac0a6a24c6aeee902162b88.zip |
Refactor page-container component structure
Diffstat (limited to 'ui/app/components/page-container/page-container-header')
3 files changed, 58 insertions, 0 deletions
diff --git a/ui/app/components/page-container/page-container-header/index.js b/ui/app/components/page-container/page-container-header/index.js new file mode 100644 index 000000000..b194af057 --- /dev/null +++ b/ui/app/components/page-container/page-container-header/index.js @@ -0,0 +1 @@ +export { default } from './page-container-header.component' diff --git a/ui/app/components/page-container/page-container-header/page-container-header.component.js b/ui/app/components/page-container/page-container-header/page-container-header.component.js new file mode 100644 index 000000000..28882edce --- /dev/null +++ b/ui/app/components/page-container/page-container-header/page-container-header.component.js @@ -0,0 +1,57 @@ +import React, { Component } from 'react' +import PropTypes from 'prop-types' + +export default class PageContainerHeader extends Component { + + static propTypes = { + title: PropTypes.string.isRequired, + subtitle: PropTypes.string, + onClose: PropTypes.func, + showBackButton: PropTypes.bool, + onBackButtonClick: PropTypes.func, + backButtonStyles: PropTypes.object, + backButtonString: PropTypes.string, + }; + + 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 () { + const { title, subtitle, onClose } = this.props + + return ( + <div className="page-container__header"> + + { this.renderHeaderRow() } + + <div className="page-container__title"> + {title} + </div> + + <div className="page-container__subtitle"> + {subtitle} + </div> + + <div + className="page-container__header-close" + onClick={() => onClose()} + /> + + </div> + ) + } + +} diff --git a/ui/app/components/page-container/page-container-header/tests/page-container-header.component.test.js b/ui/app/components/page-container/page-container-header/tests/page-container-header.component.test.js new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/ui/app/components/page-container/page-container-header/tests/page-container-header.component.test.js |