51 lines
1.3 KiB
JavaScript
51 lines
1.3 KiB
JavaScript
const React = require('react')
|
|
|
|
const {dispatcher} = require('../lib/dispatcher')
|
|
|
|
module.exports = class Header extends React.Component {
|
|
render () {
|
|
var loc = this.props.state.location
|
|
return (
|
|
<div key='header' className='header'>
|
|
{this.getTitle()}
|
|
<div className='nav left float-left'>
|
|
<i
|
|
className={'icon back ' + (loc.hasBack() ? '' : 'disabled')}
|
|
title='Back'
|
|
onClick={dispatcher('back')}>
|
|
chevron_left
|
|
</i>
|
|
<i
|
|
className={'icon forward ' + (loc.hasForward() ? '' : 'disabled')}
|
|
title='Forward'
|
|
onClick={dispatcher('forward')}>
|
|
chevron_right
|
|
</i>
|
|
</div>
|
|
<div className='nav right float-right'>
|
|
{this.getAddButton()}
|
|
</div>
|
|
</div>
|
|
)
|
|
}
|
|
|
|
getTitle () {
|
|
if (process.platform !== 'darwin') return null
|
|
var state = this.props.state
|
|
return (<div className='title ellipsis'>{state.window.title}</div>)
|
|
}
|
|
|
|
getAddButton () {
|
|
var state = this.props.state
|
|
if (state.location.url() !== 'home') return null
|
|
return (
|
|
<i
|
|
className='icon add'
|
|
title='Add torrent'
|
|
onClick={dispatcher('openFiles')}>
|
|
add
|
|
</i>
|
|
)
|
|
}
|
|
}
|