URL dependent labeling of the toolbar

This commit is contained in:
Delucse 2020-08-31 12:35:33 +02:00
parent baa047f8d7
commit f38a33fd4a
4 changed files with 44 additions and 5 deletions

View File

@ -4,6 +4,8 @@ import { Link } from 'react-router-dom';
import ClearWorkspace from './ClearWorkspace';
import senseboxLogo from './sensebox_logo.svg';
import { withRouter } from 'react-router-dom';
import { withStyles } from '@material-ui/core/styles';
import Drawer from '@material-ui/core/Drawer';
import AppBar from '@material-ui/core/AppBar';
@ -68,6 +70,12 @@ class Navbar extends Component {
<Link to={"/"} style={{marginLeft: '10px'}}>
<img src={senseboxLogo} alt="senseBox-Logo" width="30"/>
</Link>
{/^\/tutorial(\/.*$|$)/g.test(this.props.location.pathname) ?
<Link to={"/tutorial"} style={{textDecoration: 'none', color: 'inherit', marginLeft: '10px'}}>
<Typography variant="h6" noWrap>
Tutorial
</Typography>
</Link> : null}
</Toolbar>
</AppBar>
<Drawer
@ -90,10 +98,12 @@ class Navbar extends Component {
</div>
<List>
{[{text: 'Tutorials', icon: faChalkboardTeacher}, {text: 'Einstellungen', icon: faCog}].map((item, index) => (
<ListItem button key={index} onClick={this.toggleDrawer}>
<ListItemIcon><FontAwesomeIcon icon={item.icon}/></ListItemIcon>
<ListItemText primary={item.text} />
</ListItem>
<Link to={"/tutorial"} style={{textDecoration: 'none', color: 'inherit'}}>
<ListItem button key={index} onClick={this.toggleDrawer}>
<ListItemIcon><FontAwesomeIcon icon={item.icon}/></ListItemIcon>
<ListItemText primary={item.text} />
</ListItem>
</Link>
))}
<ClearWorkspace onClick={this.toggleDrawer}/>
</List>
@ -112,4 +122,4 @@ class Navbar extends Component {
}
}
export default withStyles(styles, {withTheme: true})(Navbar);
export default withStyles(styles, {withTheme: true})(withRouter(Navbar));

View File

@ -3,6 +3,8 @@ import React, { Component } from 'react';
import { Route, Switch } from 'react-router-dom';
import Home from './Home';
import Tutorial from './Tutorial/Tutorial';
import TutorialHome from './Tutorial/TutorialHome';
import NotFound from './NotFound';
class Routes extends Component {
@ -12,6 +14,8 @@ class Routes extends Component {
<div style={{ margin: '0 22px' }}>
<Switch>
<Route path="/" exact component={Home} />
<Route path="/tutorial" exact component={TutorialHome} />
<Route path="/tutorial/:tutorialId" exact component={Tutorial} />
<Route component={NotFound} />
</Switch>
</div>

View File

@ -0,0 +1,14 @@
import React, { Component } from 'react';
import { withRouter } from 'react-router-dom';
class Tutorial extends Component {
render() {
console.log(this.props);
return (
<h1>Tutorial {this.props.match.params.tutorialId}</h1>
);
};
}
export default withRouter(Tutorial);

View File

@ -0,0 +1,11 @@
import React, { Component } from 'react';
class TutorialHome extends Component {
render() {
return (
<h1>Tutorial Home</h1>
);
};
}
export default TutorialHome;