diff options
Diffstat (limited to 'app/components')
| -rw-r--r-- | app/components/HeaderBar.js | 21 | ||||
| -rw-r--r-- | app/components/Layout.js | 69 |
2 files changed, 25 insertions, 65 deletions
diff --git a/app/components/HeaderBar.js b/app/components/HeaderBar.js index 5574951a06..bae3c4fddf 100644 --- a/app/components/HeaderBar.js +++ b/app/components/HeaderBar.js @@ -3,20 +3,21 @@ import React, { Component } from 'react'; import { If, Then } from 'react-if'; export type HeaderBarStyle = 'default' | 'defaultDark' | 'error' | 'success'; +export type HeaderBarProps = { + style: HeaderBarStyle; + hidden: boolean; + showSettings: boolean; + onSettings: ?(() => void); +}; -/** - * Header bar component - */ export default class HeaderBar extends Component { - - props: { - style: HeaderBarStyle, - hidden: boolean, - showSettings: boolean, - onSettings: () => void + props: HeaderBarProps; + static defaultProps: $Shape<HeaderBarProps> = { + hidden: false, + showSettings: false }; - render() { + render(): React.Element<*> { let containerClass = [ 'headerbar', 'headerbar--' + process.platform, diff --git a/app/components/Layout.js b/app/components/Layout.js index 58af3d0813..5c0e1f5bcb 100644 --- a/app/components/Layout.js +++ b/app/components/Layout.js @@ -1,20 +1,14 @@ +// @flow import React, { Component } from 'react'; -import PropTypes from 'prop-types'; import HeaderBar from './HeaderBar'; -/** - * Layout header - * - * @export - * @class Header - * @extends {React.Component} - */ +import type { HeaderBarProps } from './HeaderBar'; + export class Header extends Component { + props: HeaderBarProps; + static defaultProps = HeaderBar.defaultProps; - /** - * @override - */ - render() { + render(): React.Element<*> { return ( <div className="layout__header"> <HeaderBar { ...this.props } /> @@ -23,28 +17,12 @@ export class Header extends Component { } } -/** - * Content container - * - * @export - * @class Container - * @extends {React.Component} - */ export class Container extends Component { + props: { + children: React.Element<*> + } - /** - * PropTypes - * @static - * @memberOf Container - */ - static propTypes = { - children: PropTypes.element.isRequired - }; - - /** - * @override - */ - render() { + render(): React.Element<*> { return ( <div className="layout__container"> { this.props.children } @@ -53,31 +31,12 @@ export class Container extends Component { } } -/** - * Layout container - * - * @export - * @class Layout - * @extends {React.Component} - */ export class Layout extends Component { + props: { + children: Array<React.Element<*>> | React.Element<*> + } - /** - * PropTypes - * @static - * @memberOf Container - */ - static propTypes = { - children: PropTypes.oneOfType([ - PropTypes.arrayOf(PropTypes.element), - PropTypes.element, - ]) - }; - - /** - * @override - */ - render() { + render(): React.Element<*> { return ( <div className="layout"> { this.props.children } |
