summaryrefslogtreecommitdiff
path: root/animism-align/frontend/app/views/viewer/nav
diff options
context:
space:
mode:
authorJules Laplace <julescarbon@gmail.com>2020-11-05 14:31:16 +0100
committerJules Laplace <julescarbon@gmail.com>2020-11-05 14:31:16 +0100
commitb50b9ba9245d98a4552133db4e9d27de0f72fbe0 (patch)
tree5564fedb725b79ce7f4ed38e103698dc9a8cbcdb /animism-align/frontend/app/views/viewer/nav
parent1eb7c576ae5de6dca459d5ab382a67636636ffe6 (diff)
better nav
Diffstat (limited to 'animism-align/frontend/app/views/viewer/nav')
-rw-r--r--animism-align/frontend/app/views/viewer/nav/nav.css1
-rw-r--r--animism-align/frontend/app/views/viewer/nav/nav.parent.js24
2 files changed, 18 insertions, 7 deletions
diff --git a/animism-align/frontend/app/views/viewer/nav/nav.css b/animism-align/frontend/app/views/viewer/nav/nav.css
index 02e5649..6cab857 100644
--- a/animism-align/frontend/app/views/viewer/nav/nav.css
+++ b/animism-align/frontend/app/views/viewer/nav/nav.css
@@ -25,6 +25,7 @@
transition: all 0.2s;
transform: translateZ(0) translateY(0);
border-top: 1px solid transparent;
+ cursor: pointer;
}
.viewer-nav.hovering-nav .main-nav {
background: black;
diff --git a/animism-align/frontend/app/views/viewer/nav/nav.parent.js b/animism-align/frontend/app/views/viewer/nav/nav.parent.js
index 98598d0..a4c2aee 100644
--- a/animism-align/frontend/app/views/viewer/nav/nav.parent.js
+++ b/animism-align/frontend/app/views/viewer/nav/nav.parent.js
@@ -19,6 +19,7 @@ class NavParent extends Component {
this.handleMouseLeave = this.handleMouseLeave.bind(this)
this.handleMouseEnterNext = this.handleMouseEnterNext.bind(this)
this.handleMouseLeaveNext = this.handleMouseLeaveNext.bind(this)
+ this.handleNavBarClick = this.handleNavBarClick.bind(this)
this.goToNextSection = this.goToNextSection.bind(this)
}
handleMouseEnter(){
@@ -34,11 +35,18 @@ class NavParent extends Component {
}
handleMouseLeaveNext(){
this.setState({ hoveringNext: false, suppressHover: true, })
- setTimeout(() => {
+ clearTimeout(this.timeout)
+ this.timeout = setTimeout(() => {
this.setState({ suppressHover: false })
}, 50)
}
- goToNextSection() {
+ handleNavBarClick(e) {
+ e && e.stopPropagation()
+ actions.viewer.toggleComponent('nav')
+ }
+ goToNextSection(e) {
+ e && e.preventDefault()
+ e && e.stopPropagation()
const { viewer } = this.props
if (viewer.nextSection) {
actions.viewer.seekToSection(viewer.nextSection)
@@ -54,9 +62,9 @@ class NavParent extends Component {
if ((this.state.hoveringNext || (viewer.atEndOfSection && !playing)) && !viewer.nav && viewer.nextSection) containerClassName += ' hovering-next'
return (
<div className={containerClassName} onMouseLeave={this.handleMouseLeave}>
- <div className={navClassName}>
+ <div className={navClassName} onClick={this.handleNavBarClick}>
<div className='nav-section-name' onMouseEnter={this.handleMouseEnter}>
- <span className="section-link link" onClick={() => actions.viewer.toggleComponent('nav')}>
+ <span className="section-link link">
<Arrow type={viewer.nav ? 'down' : 'up'} />
{viewer.currentSection && (
viewer.mediaTitle
@@ -72,11 +80,13 @@ class NavParent extends Component {
<div onMouseEnter={this.handleMouseEnter}>
<NavPlayer />
</div>
- <div className='nav-next'>
+ <div
+ className='nav-next'
+ onMouseEnter={this.handleMouseEnterNext}
+ onClick={this.goToNextSection}
+ >
<span
className="next-link link"
- onMouseEnter={this.handleMouseEnterNext}
- onClick={this.goToNextSection}
>
{viewer.nextSection
? "Next"