summaryrefslogtreecommitdiff
path: root/animism-align/frontend
diff options
context:
space:
mode:
authorJules Laplace <julescarbon@gmail.com>2020-11-21 17:29:20 +0100
committerJules Laplace <julescarbon@gmail.com>2020-11-21 17:29:20 +0100
commit7f337ddac9136f088e09194c306b7dfd2c8217c2 (patch)
tree5a7466289bfbf066806753748abc81a4bcb8237c /animism-align/frontend
parent93ab94434986d29119206698cb846e1bcfff2d3a (diff)
close button on fullscreen content
Diffstat (limited to 'animism-align/frontend')
-rw-r--r--animism-align/frontend/app/views/viewer/nav/eflux.chrome.js39
-rw-r--r--animism-align/frontend/app/views/viewer/nav/eflux.css17
-rw-r--r--animism-align/frontend/app/views/viewer/viewer.container.js3
3 files changed, 50 insertions, 9 deletions
diff --git a/animism-align/frontend/app/views/viewer/nav/eflux.chrome.js b/animism-align/frontend/app/views/viewer/nav/eflux.chrome.js
index f2f02d2..b9fe340 100644
--- a/animism-align/frontend/app/views/viewer/nav/eflux.chrome.js
+++ b/animism-align/frontend/app/views/viewer/nav/eflux.chrome.js
@@ -19,6 +19,7 @@ class EfluxChrome extends Component {
eflux: false,
play: false,
transcript: false,
+ close: false,
started: false,
playMessage: PLAY_MESSAGES.not_started,
}
@@ -50,7 +51,7 @@ class EfluxChrome extends Component {
render() {
const {
navStyle, navGradient,
- playing, transcriptOpen,
+ playing, transcriptOpen, isFullscreen,
growlOpen, growlMessage,
atEndOfSection, currentSection
} = this.props
@@ -75,6 +76,15 @@ class EfluxChrome extends Component {
{growlMessage}
</div>
<div className="eflux-nav">
+ {isFullscreen &&
+ <div
+ className="fullscreen-close"
+ onMouseEnter={() => this.handleMouseEnter('close')}
+ onMouseLeave={() => this.handleMouseLeave('close')}
+ >
+ {EfluxClose}
+ </div>
+ }
<span
onMouseEnter={() => this.handleMouseEnter('play')}
onMouseLeave={() => this.handleMouseLeave('play')}
@@ -90,14 +100,32 @@ class EfluxChrome extends Component {
{TranscriptIcon}
</div>
</div>
- <div className={this.state.eflux ? "growl-tooltip tooltip-eflux hover" : "growl-tooltip tooltip-eflux"}>
+ <div className={
+ this.state.close
+ ? "growl-tooltip tooltip-close hover"
+ : "growl-tooltip tooltip-close"
+ }>
+ {'Close fullscreen player'}
+ </div>
+ <div className={
+ this.state.eflux
+ ? "growl-tooltip tooltip-eflux hover"
+ : "growl-tooltip tooltip-eflux"
+ }>
{'Back to e-flux'}
</div>
- <div className={(!showingTranscriptTooltip && this.state.play) ? "growl-tooltip tooltip-play hover" : "growl-tooltip tooltip-play"}>
+ <div className={
+ (!showingTranscriptTooltip && this.state.play)
+ ? "growl-tooltip tooltip-play hover"
+ : "growl-tooltip tooltip-play"
+ }>
{this.state.playMessage}
</div>
- <div
- className={showingTranscriptTooltip ? "growl-tooltip tooltip-transcript hover" : "growl-tooltip tooltip-transcript"}
+ <div className={
+ showingTranscriptTooltip
+ ? "growl-tooltip tooltip-transcript hover"
+ : "growl-tooltip tooltip-transcript"
+ }
onClick={() => actions.viewer.toggleComponent('transcript')}
>
{'Read the Transcript'}
@@ -116,6 +144,7 @@ const mapStateToProps = state => ({
growlMessage: state.viewer.growlMessage,
atEndOfSection: state.viewer.atEndOfSection,
currentSection: state.viewer.currentSection,
+ isFullscreen: state.viewer.isFullscreen,
})
export default connect(mapStateToProps)(EfluxChrome)
diff --git a/animism-align/frontend/app/views/viewer/nav/eflux.css b/animism-align/frontend/app/views/viewer/nav/eflux.css
index eb7f973..71ff350 100644
--- a/animism-align/frontend/app/views/viewer/nav/eflux.css
+++ b/animism-align/frontend/app/views/viewer/nav/eflux.css
@@ -43,6 +43,7 @@
top: 1rem;
right: 1.75rem;
}
+.eflux-nav .fullscreen-close,
.eflux-nav .playToggle,
.eflux-nav .transcript-icon {
display: flex;
@@ -56,6 +57,7 @@
margin-left: 1rem;
cursor: pointer;
}
+.eflux-nav .fullscreen-close:hover,
.eflux-nav .playToggle:hover,
.eflux-nav .transcript-icon:hover {
background: #ddd;
@@ -71,6 +73,9 @@
.eflux-nav .playToggle.paused svg {
margin-left: 2px;
}
+.eflux-nav .fullscreen-close svg {
+ width: 1rem;
+}
.eflux-nav svg path {
fill: #000;
@@ -94,10 +99,12 @@
stroke: #fff;
}
+.black .eflux-nav .fullscreen-close,
.black .eflux-nav .playToggle,
.black .eflux-nav .transcript-icon {
background: #222;
}
+.black .eflux-nav .fullscreen-close:hover,
.black .eflux-nav .playToggle:hover,
.black .eflux-nav .transcript-icon:hover {
background: #444;
@@ -126,8 +133,15 @@
transform: translateZ(0) translateY(1rem);
opacity: 0;
}
+.growl-tooltip.tooltip-close {
+ right: 10.0rem;
+ top: 5.25rem;
+ transition: opacity 0.2s, transform 0.2s;
+ transform: translateZ(0) translateY(1rem);
+ opacity: 0;
+}
.growl-tooltip.tooltip-play {
- right: 7.0rem;
+ right: 6.0rem;
top: 5.25rem;
transition: opacity 0.2s, transform 0.2s;
transform: translateZ(0) translateY(1rem);
@@ -141,6 +155,7 @@
opacity: 0;
cursor: pointer;
}
+.growl-tooltip.tooltip-close.hover,
.growl-tooltip.tooltip-eflux.hover,
.growl-tooltip.tooltip-play.hover,
.growl-tooltip.tooltip-transcript.hover {
diff --git a/animism-align/frontend/app/views/viewer/viewer.container.js b/animism-align/frontend/app/views/viewer/viewer.container.js
index f828c3e..0f9a5e5 100644
--- a/animism-align/frontend/app/views/viewer/viewer.container.js
+++ b/animism-align/frontend/app/views/viewer/viewer.container.js
@@ -65,9 +65,6 @@ class ViewerContainer extends Component {
if (viewer.onlyEnableFirstSection) {
className += ' first-section-only'
}
- if (viewer.isFullscreen) {
- className += ' is-fullscreen'
- }
return (
<div>
<div className='viewer-parent'>