blob: 1ad4d82efc0c2f97d4445150d07c301a5f18f576 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
import React from 'react'
import { connect } from 'react-redux'
import { Link } from 'react-router-dom'
import actions from 'app/actions'
import PlayButton from 'app/views/editor/align/components/player/playButton.component'
import './nav.css'
function Header(props) {
if (!props.router.location) return null
if (props.router.location.pathname.match("/viewer")) {
return null
}
if (props.router.location.pathname.match("/editor")) {
const episode_id = props.router.location.pathname.split('/')[2]
return (
<header>
<div>
<PlayButton playing={props.playing} />
<Link to="/">Home</Link>
</div>
<div>
<Link to={`/editor/${episode_id}/`}>Overview</Link>
<Link to={`/editor/${episode_id}/timeline/`}>Timeline</Link>
<Link to={`/editor/${episode_id}/transcript/`}>Transcript</Link>
<Link to={`/editor/${episode_id}/media/`}>Media</Link>
<Link to={`/editor/${episode_id}/viewer/`}>Viewer</Link>
</div>
</header>
)
}
return (
<header>
<div>
<PlayButton playing={props.playing} />
{props.router.location.pathname !== '/' && (
<Link to="/">Home</Link>
)}
</div>
<div>
<span className='salutation'>
Hi {props.currentUser.username}
</span>
{props.currentUser.is_admin && <Link to="/users/">Users</Link>}
<a href="#" onClick={actions.auth.logout}>
Logout
</a>
</div>
</header>
)
}
const mapStateToProps = (state) => ({
currentUser: state.auth.user,
site: state.site,
router: state.router,
playing: state.audio.playing,
})
export default connect(mapStateToProps)(React.memo(Header))
|