summaryrefslogtreecommitdiff
path: root/app/client/common
diff options
context:
space:
mode:
authorJules Laplace <julescarbon@gmail.com>2018-06-18 11:48:22 +0200
committerJules Laplace <julescarbon@gmail.com>2018-06-18 11:48:22 +0200
commiteb3030ed0ad5aa93b99d237867480c989369930c (patch)
treebb384c83553fb2a4e94752920d90928155ac8af2 /app/client/common
parentf7029fad191c34ffbb01a77c1c046dfc053bbd86 (diff)
waaaay better nav!
Diffstat (limited to 'app/client/common')
-rw-r--r--app/client/common/header.component.js31
1 files changed, 23 insertions, 8 deletions
diff --git a/app/client/common/header.component.js b/app/client/common/header.component.js
index 85e1895..11eb761 100644
--- a/app/client/common/header.component.js
+++ b/app/client/common/header.component.js
@@ -7,19 +7,26 @@ import * as systemActions from '../system/system.actions'
import modules from '../modules'
+function NavLink(props){
+ if (! props.to) {
+ return <span>{props.children}</span>
+ }
+ let children = props.to === props.location.pathname ? <b>{props.children}</b> : props.children
+ return (
+ <span><Link to={props.to}>{children}</Link></span>
+ )
+}
+
function Header(props){
- const { site, app, fps, playing, actions, location } = props
+ const { site, app, fps, playing, actions, location, history } = props
const tool_list = Object.keys(modules).map((name, i) => {
const label = name.replace(/_/, " ")
return <option value={name} key={i}>{label}</option>
})
const tool = modules[app.tool]
const links = tool.links().map((link,i) => {
- let name = link.url === location.pathname ? <b>{link.name}</b> : link.name
return (
- <span key={i}>
- {link.url ? <Link to={link.url}>{name}</Link> : name}
- </span>
+ <NavLink key={i} location={location} to={link.url}>{link.name}</NavLink>
)
})
return (
@@ -27,12 +34,20 @@ function Header(props){
{playing && <span>{fps} fps</span>}
<span>{links}</span>
<span>
- <select onChange={e => actions.changeTool(e.target.value)} value={app.tool}>
+ <select onChange={e => {
+ let path = window.location.pathname.split("/")
+ path.shift()
+ console.log(path)
+ if (path[0] in modules && path[1]) {
+ history.push('/' + e.target.value + '/' + path[1] + '/')
+ }
+ actions.changeTool(e.target.value, true)
+ }} value={app.tool}>
{tool_list}
</select>
</span>
- <span><Link to="/system">system</Link></span>
- <span><Link to="/dashboard">dashboard</Link></span>
+ <NavLink location={location} to="/system">system</NavLink>
+ <NavLink location={location} to="/dashboard">dashboard</NavLink>
<b>{site.name} cortex</b>
</header>
)