summaryrefslogtreecommitdiff
path: root/animism-align/frontend/app/views/nav/header.component.js
blob: 8443278f2e1b258ae4b90ae516147eeddd273976 (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
62
import React from 'react'
// import { bindActionCreators } from 'redux'
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('/')[1]
    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))