import React from 'react'; import { HashRouter as Router, Route, Link, Switch } from 'react-router-dom' import PropTypes from 'prop-types'; import classNames from 'classnames'; import { withStyles } from '@material-ui/core/styles'; import Drawer from '@material-ui/core/Drawer'; import CssBaseline from '@material-ui/core/CssBaseline'; import AppBar from '@material-ui/core/AppBar'; import Toolbar from '@material-ui/core/Toolbar'; import List from '@material-ui/core/List'; import Typography from '@material-ui/core/Typography'; import Divider from '@material-ui/core/Divider'; import IconButton from '@material-ui/core/IconButton'; import MenuIcon from '@material-ui/icons/Menu'; import ChevronLeftIcon from '@material-ui/icons/ChevronLeft'; import ChevronRightIcon from '@material-ui/icons/ChevronRight'; import ListItem from '@material-ui/core/ListItem'; import ListItemIcon from '@material-ui/core/ListItemIcon'; import ListItemText from '@material-ui/core/ListItemText'; import InboxIcon from '@material-ui/icons/MoveToInbox'; import { ScaleLoader } from 'react-spinners' import FundsManagement from './FundsManagement' import ContractAdmin from './ContractAdmin' import TransferGraph from './TransfersGraph' import Dashboard from './Dashboard' import Project from './projects/Project' import BackProject from './projects/BackProject' import CreateProject from './projects/CreateProject' const drawerWidth = 240 const styles = theme => ({ root: { display: 'flex', }, appBar: { transition: theme.transitions.create(['margin', 'width'], { easing: theme.transitions.easing.sharp, duration: theme.transitions.duration.leavingScreen, }), }, appBarShift: { width: `calc(100% - ${drawerWidth}px)`, marginLeft: drawerWidth, transition: theme.transitions.create(['margin', 'width'], { easing: theme.transitions.easing.easeOut, duration: theme.transitions.duration.enteringScreen, }), }, appBarBg: { backgroundColor: '#111735' }, menuButton: { marginLeft: 12, marginRight: 20, }, hide: { display: 'none', }, drawer: { width: drawerWidth, flexShrink: 0, }, drawerPaper: { width: drawerWidth, }, drawerHeader: { display: 'flex', alignItems: 'center', padding: '0 8px', ...theme.mixins.toolbar, justifyContent: 'flex-end', }, content: { flexGrow: 1, padding: theme.spacing.unit * 3, transition: theme.transitions.create('margin', { easing: theme.transitions.easing.sharp, duration: theme.transitions.duration.leavingScreen, }), marginLeft: -drawerWidth, }, contentShift: { transition: theme.transitions.create('margin', { easing: theme.transitions.easing.easeOut, duration: theme.transitions.duration.enteringScreen, }), marginLeft: 0, }, link: { textDecoration: 'none' } }) class PersistentDrawerLeft extends React.Component { state = { open: false, }; handleDrawerOpen = () => { this.setState({ open: true }) }; handleDrawerClose = () => { this.setState({ open: false }) }; render() { const { classes, theme, loading } = this.props const { open } = this.state return (
{loading ? : } Liquid Funding
{theme.direction === 'ltr' ? : }
} /> {this.props.children}
); } } PersistentDrawerLeft.propTypes = { classes: PropTypes.object.isRequired, theme: PropTypes.object.isRequired, loading: PropTypes.bool.isRequired }; export default withStyles(styles, { withTheme: true })(PersistentDrawerLeft)