summaryrefslogtreecommitdiff
path: root/animism-align/frontend/app/views/viewer/player
diff options
context:
space:
mode:
Diffstat (limited to 'animism-align/frontend/app/views/viewer/player')
-rw-r--r--animism-align/frontend/app/views/viewer/player/components.fullscreen/fullscreen.image.js4
-rw-r--r--animism-align/frontend/app/views/viewer/player/components.inline/inline.gallery.js8
-rw-r--r--animism-align/frontend/app/views/viewer/player/components.inline/inline.text.js1
-rw-r--r--animism-align/frontend/app/views/viewer/player/components.media/media.css14
-rw-r--r--animism-align/frontend/app/views/viewer/player/player.container.js2
-rw-r--r--animism-align/frontend/app/views/viewer/player/player.fullscreen.js5
-rw-r--r--animism-align/frontend/app/views/viewer/player/player.transcript.css11
-rw-r--r--animism-align/frontend/app/views/viewer/player/player.transcript.js8
8 files changed, 43 insertions, 10 deletions
diff --git a/animism-align/frontend/app/views/viewer/player/components.fullscreen/fullscreen.image.js b/animism-align/frontend/app/views/viewer/player/components.fullscreen/fullscreen.image.js
index 15525f4..85badb0 100644
--- a/animism-align/frontend/app/views/viewer/player/components.fullscreen/fullscreen.image.js
+++ b/animism-align/frontend/app/views/viewer/player/components.fullscreen/fullscreen.image.js
@@ -1,7 +1,9 @@
import React from 'react'
+import { CURTAIN_COLOR_LOOKUP } from 'app/constants'
export const FullscreenImage = ({ element, media, transitionDuration }) => {
- const { color } = element
+ const color = element.color || CURTAIN_COLOR_LOOKUP.white
+
const item = media.lookup[element.settings.media_id]
const style = {
backgroundColor: color.backgroundColor,
diff --git a/animism-align/frontend/app/views/viewer/player/components.inline/inline.gallery.js b/animism-align/frontend/app/views/viewer/player/components.inline/inline.gallery.js
index 44fa751..3ac8fc6 100644
--- a/animism-align/frontend/app/views/viewer/player/components.inline/inline.gallery.js
+++ b/animism-align/frontend/app/views/viewer/player/components.inline/inline.gallery.js
@@ -3,7 +3,7 @@
import { CURTAIN_COLOR_LOOKUP } from 'app/constants'
import { MediaCitation, Vitrine, Gallery, Carousel, Grid } from '../components.media'
-export const InlineVitrine = ({ paragraph, media, currentParagraph, currentAnnotation, onAnnotationClick }) => {
+export const InlineVitrine = ({ paragraph, media, onAnnotationClick }) => {
const annotation = paragraph.annotations[0]
const item = media.lookup[annotation.settings.media_id]
const color = CURTAIN_COLOR_LOOKUP[annotation.settings.color] || CURTAIN_COLOR_LOOKUP.white
@@ -23,7 +23,7 @@ export const InlineVitrine = ({ paragraph, media, currentParagraph, currentAnnot
// <MediaCitation media={item} />
}
-export const InlineGallery = ({ paragraph, media, currentParagraph, currentAnnotation, onAnnotationClick }) => {
+export const InlineGallery = ({ paragraph, media, onAnnotationClick }) => {
const annotation = paragraph.annotations[0]
const item = media.lookup[annotation.settings.media_id]
return (
@@ -35,7 +35,7 @@ export const InlineGallery = ({ paragraph, media, currentParagraph, currentAnnot
)
}
-export const InlineCarousel = ({ paragraph, media, currentParagraph, currentAnnotation, onAnnotationClick }) => {
+export const InlineCarousel = ({ paragraph, media, onAnnotationClick }) => {
const annotation = paragraph.annotations[0]
const item = media.lookup[annotation.settings.media_id]
const color = CURTAIN_COLOR_LOOKUP[annotation.settings.color] || CURTAIN_COLOR_LOOKUP.white
@@ -55,7 +55,7 @@ export const InlineCarousel = ({ paragraph, media, currentParagraph, currentAnno
)
}
-export const InlineGrid = ({ paragraph, media, currentParagraph, currentAnnotation, onAnnotationClick }) => {
+export const InlineGrid = ({ paragraph, media, onAnnotationClick }) => {
const annotation = paragraph.annotations[0]
const item = media.lookup[annotation.settings.media_id]
diff --git a/animism-align/frontend/app/views/viewer/player/components.inline/inline.text.js b/animism-align/frontend/app/views/viewer/player/components.inline/inline.text.js
index 70cf91a..18b026f 100644
--- a/animism-align/frontend/app/views/viewer/player/components.inline/inline.text.js
+++ b/animism-align/frontend/app/views/viewer/player/components.inline/inline.text.js
@@ -5,6 +5,7 @@ import { SpeakerIcon } from '../../nav/viewer.icons'
export const Paragraph = ({ paragraph, currentParagraph, currentAnnotation, onAnnotationClick }) => {
if (paragraph.hidden) return null
+ if (paragraph.annotations.length === 0) return null
let className = paragraph.type
if (className !== 'paragraph') className += ' paragraph'
if (currentParagraph) className += ' current'
diff --git a/animism-align/frontend/app/views/viewer/player/components.media/media.css b/animism-align/frontend/app/views/viewer/player/components.media/media.css
index 2296d73..d2e9910 100644
--- a/animism-align/frontend/app/views/viewer/player/components.media/media.css
+++ b/animism-align/frontend/app/views/viewer/player/components.media/media.css
@@ -242,6 +242,13 @@
justify-content: space-between;
height: calc(45vh - 7.5rem);
}
+.inline-element .vitrine {
+ margin-top: 1rem;
+ margin-bottom: 1rem;
+}
+.inline-element .vitrine-item {
+ margin-bottom: 1rem;
+}
.vitrine-items .vitrine-item .vitrine-image {
display: flex;
justify-content: center;
@@ -276,3 +283,10 @@
.inline-element.vitrine .heading {
padding-top: 8rem;
}
+.black .vitrine-item .zoomPlus {
+ opacity: 0.2;
+ transition: opacity 0.2s;
+}
+.black .vitrine-item:hover .zoomPlus {
+ opacity: 1.0;
+}
diff --git a/animism-align/frontend/app/views/viewer/player/player.container.js b/animism-align/frontend/app/views/viewer/player/player.container.js
index 3379bfe..bbad771 100644
--- a/animism-align/frontend/app/views/viewer/player/player.container.js
+++ b/animism-align/frontend/app/views/viewer/player/player.container.js
@@ -70,7 +70,7 @@ class PlayerContainer extends Component {
}
setCurrentSection() {
- const { audio, sections, currentSection, autoAdvance } = this.props
+ const { audio, currentSection, autoAdvance } = this.props
const { play_ts } = audio
if (floatInRange(currentSection.start_ts, play_ts, currentSection.end_ts)) {
return
diff --git a/animism-align/frontend/app/views/viewer/player/player.fullscreen.js b/animism-align/frontend/app/views/viewer/player/player.fullscreen.js
index 90e4925..23648b9 100644
--- a/animism-align/frontend/app/views/viewer/player/player.fullscreen.js
+++ b/animism-align/frontend/app/views/viewer/player/player.fullscreen.js
@@ -22,7 +22,7 @@ class PlayerFullscreen extends Component {
}
setCurrentElements() {
- const { audio, timeline } = this.props
+ const { audio, timeline, currentSection } = this.props
const { play_ts } = audio
const elements = timeline.filter(element => (
floatInRange(element.start_ts, play_ts, element.fade_out_start_ts + 0.1)
@@ -36,7 +36,7 @@ class PlayerFullscreen extends Component {
actions.viewer.setNavStyle('white')
}
} else {
- actions.viewer.setNavStyle('white')
+ actions.viewer.setNavStyle(currentSection.color)
}
this.setState({ elements })
}
@@ -101,6 +101,7 @@ const FirstChild = (props) => {
}
const mapStateToProps = state => ({
+ currentSection: state.viewer.currentSection,
audio: state.audio,
media: state.media.index,
timeline: state.viewer.currentSection ? state.viewer.currentSection.fullscreenTimeline : [],
diff --git a/animism-align/frontend/app/views/viewer/player/player.transcript.css b/animism-align/frontend/app/views/viewer/player/player.transcript.css
index f34da4a..1de88c7 100644
--- a/animism-align/frontend/app/views/viewer/player/player.transcript.css
+++ b/animism-align/frontend/app/views/viewer/player/player.transcript.css
@@ -7,6 +7,11 @@
overflow-y: scroll;
}
+.player-transcript.black {
+ background: #000;
+ color: #fff;
+}
+
.player-transcript .section_heading,
.player-transcript .paragraph.intro_paragraph {
font-family: "Freight Text", serif;
@@ -162,6 +167,12 @@
.paragraph:hover .speaker-icon {
opacity: 1;
}
+.player-transcript.black .speaker-icon svg {
+ background: white;
+}
+.player-transcript.black .speaker-icon svg path {
+ fill: black;
+}
/* media */
diff --git a/animism-align/frontend/app/views/viewer/player/player.transcript.js b/animism-align/frontend/app/views/viewer/player/player.transcript.js
index 0d0a636..dbc87b5 100644
--- a/animism-align/frontend/app/views/viewer/player/player.transcript.js
+++ b/animism-align/frontend/app/views/viewer/player/player.transcript.js
@@ -54,9 +54,13 @@ class PlayerTranscript extends Component {
}
render() {
- const { paragraphs } = this.props.section
+ const { paragraphs, color } = this.props.section
return (
- <div className="player-transcript" ref={this.containerRef} onScroll={this.handleScroll}>
+ <div
+ className={"player-transcript " + color}
+ ref={this.containerRef}
+ onScroll={this.handleScroll}
+ >
<div className='content'>
<ParagraphList
paragraphs={paragraphs}