lbry-desktop/js/component/drawer.js

55 lines
2.1 KiB
JavaScript
Raw Normal View History

2016-11-22 21:19:08 +01:00
import lbry from '../lbry.js';
import React from 'react';
import {Link} from './link.js';
2016-08-07 23:05:04 +02:00
var DrawerItem = React.createClass({
2016-11-11 12:36:02 +01:00
getDefaultProps: function() {
return {
subPages: [],
};
},
2016-08-07 23:05:04 +02:00
render: function() {
2016-11-11 12:36:02 +01:00
var isSelected = (this.props.viewingPage == this.props.href.substr(2) ||
this.props.subPages.indexOf(this.props.viewingPage) != -1);
return <Link {...this.props} className={ 'drawer-item ' + (isSelected ? 'drawer-item-selected' : '') } />
2016-08-07 23:05:04 +02:00
}
});
var drawerImageStyle = { //@TODO: remove this, img should be properly scaled once size is settled
height: '36px'
};
var Drawer = React.createClass({
getInitialState: function() {
return {
balance: 0,
};
},
componentDidMount: function() {
lbry.getBalance(function(balance) {
this.setState({
balance: balance
});
}.bind(this));
},
render: function() {
return (
<nav id="drawer">
<div id="drawer-handle">
<Link title="Close" onClick={this.props.onCloseDrawer} icon="icon-bars" className="close-drawer-link"/>
2017-02-08 22:15:45 +01:00
<a href="/"><img src={lbry.imagePath("lbry-dark-1600x528.png")} style={drawerImageStyle}/></a>
</div>
2017-01-16 19:57:40 +01:00
<DrawerItem href='index.html?discover' viewingPage={this.props.viewingPage} label="Discover" icon="icon-search" />
<DrawerItem href='index.html?publish' viewingPage={this.props.viewingPage} label="Publish" icon="icon-upload" />
<DrawerItem href='index.html?downloaded' subPages={['published']} viewingPage={this.props.viewingPage} label="My Files" icon='icon-cloud-download' />
<DrawerItem href="index.html?wallet" subPages={['send', 'receive', 'claim', 'referral']} viewingPage={this.props.viewingPage} label="My Wallet" badge={lbry.formatCredits(this.state.balance) } icon="icon-bank" />
<DrawerItem href='index.html?settings' viewingPage={this.props.viewingPage} label="Settings" icon='icon-gear' />
<DrawerItem href='index.html?help' viewingPage={this.props.viewingPage} label="Help" icon='icon-question-circle' />
</nav>
);
}
2016-11-22 21:19:08 +01:00
});
export default Drawer;