From 65eb8ea7317c84820b8406332f40eaa86710549e Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Wed, 18 Nov 2020 18:21:10 +0100 Subject: speaker icons in gallery --- .../components.fullscreen/fullscreen.gallery.js | 20 +++++++++++------ .../player/components.inline/inline.gallery.js | 25 +++++++++++----------- .../player/components.media/media.carousel.js | 21 +++++++++--------- .../frontend/app/views/viewer/viewer.actions.js | 7 +++--- 4 files changed, 41 insertions(+), 32 deletions(-) (limited to 'animism-align/frontend/app') diff --git a/animism-align/frontend/app/views/viewer/player/components.fullscreen/fullscreen.gallery.js b/animism-align/frontend/app/views/viewer/player/components.fullscreen/fullscreen.gallery.js index 530048d..25b6bc0 100644 --- a/animism-align/frontend/app/views/viewer/player/components.fullscreen/fullscreen.gallery.js +++ b/animism-align/frontend/app/views/viewer/player/components.fullscreen/fullscreen.gallery.js @@ -5,7 +5,7 @@ import { MediaCitation, Vitrine, Gallery, Carousel, Grid } from '../components.m export const FullscreenVitrine = ({ element, media, transitionDuration }) => { const { color } = element - const item = media.lookup[element.settings.media_id] + const mediaItem = media.lookup[element.settings.media_id] const style = { backgroundColor: color.backgroundColor, color: color.textColor, @@ -17,15 +17,15 @@ export const FullscreenVitrine = ({ element, media, transitionDuration }) => { style={style} > {element.settings.title &&
{element.settings.title}
} - - + + ) } export const FullscreenGallery = ({ element, media, transitionDuration }) => { const { color } = element - const item = media.lookup[element.settings.media_id] + const mediaItem = media.lookup[element.settings.media_id] const style = { backgroundColor: color.backgroundColor, color: color.textColor, @@ -40,8 +40,8 @@ export const FullscreenGallery = ({ element, media, transitionDuration }) => { ) } -export const FullscreenCarousel = ({ element, media, transitionDuration }) => { - const item = media.lookup[element.settings.media_id] +export const FullscreenCarousel = ({ element, media, currentSection, transitionDuration }) => { + const mediaItem = media.lookup[element.settings.media_id] const color = element.color || CURTAIN_COLOR_LOOKUP.white const style = { backgroundColor: color.backgroundColor, @@ -54,7 +54,13 @@ export const FullscreenCarousel = ({ element, media, transitionDuration }) => { style={style} > {element.settings.title &&
{element.settings.title}
} - + ) } 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 20dedd2..f113abf 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 @@ -5,7 +5,7 @@ import { MediaCitation, Vitrine, Gallery, Carousel, Grid } from '../components.m export const InlineVitrine = ({ paragraph, media, currentSection, onAnnotationClick }) => { const annotation = paragraph.annotations[0] - const item = media.lookup[annotation.settings.media_id] + const mediaItem = media.lookup[annotation.settings.media_id] const color = CURTAIN_COLOR_LOOKUP[annotation.settings.color] || CURTAIN_COLOR_LOOKUP.white const style = { backgroundColor: color.backgroundColor, @@ -17,39 +17,41 @@ export const InlineVitrine = ({ paragraph, media, currentSection, onAnnotationCl style={style} > {annotation.settings.title &&
{annotation.settings.title}
} - + ) - // + // } export const InlineGallery = ({ paragraph, media, currentSection, onAnnotationClick }) => { const annotation = paragraph.annotations[0] - const item = media.lookup[annotation.settings.media_id] + const mediaItem = media.lookup[annotation.settings.media_id] return (
- +
) } export const InlineCarousel = ({ paragraph, media, currentSection, onAnnotationClick }) => { const annotation = paragraph.annotations[0] - const item = media.lookup[annotation.settings.media_id] + const mediaItem = media.lookup[annotation.settings.media_id] const color = CURTAIN_COLOR_LOOKUP[annotation.settings.color] || CURTAIN_COLOR_LOOKUP.white const style = { backgroundColor: color.backgroundColor, color: color.textColor, } - return (
- +
) @@ -57,15 +59,14 @@ export const InlineCarousel = ({ paragraph, media, currentSection, onAnnotationC export const InlineGrid = ({ paragraph, media, currentSection, onAnnotationClick }) => { const annotation = paragraph.annotations[0] - const item = media.lookup[annotation.settings.media_id] - + const mediaItem = media.lookup[annotation.settings.media_id] return (
- +
) } -// +// diff --git a/animism-align/frontend/app/views/viewer/player/components.media/media.carousel.js b/animism-align/frontend/app/views/viewer/player/components.media/media.carousel.js index 60907e5..143c97d 100644 --- a/animism-align/frontend/app/views/viewer/player/components.media/media.carousel.js +++ b/animism-align/frontend/app/views/viewer/player/components.media/media.carousel.js @@ -15,7 +15,7 @@ const SLIDES_PER_VIEW = 2 let slideChangedHook = slider => console.log(slider) let slideChanged = slider => slideChangedHook(slider) -const CarouselContainer = ({ element, media, play_ts, withMouseWheel }) => { +const CarouselContainer = ({ element, media, cues, play_ts, withMouseWheel }) => { const { image_order, caption_lookup } = media.settings const [currentSlide, setCurrentSlide] = React.useState(0) @@ -57,18 +57,18 @@ const CarouselContainer = ({ element, media, play_ts, withMouseWheel }) => { sliderRef={sliderRef} currentSlide={currentSlide} currentCaption={currentCaption} - timelineLookup={element && element.timelineLookup} + cues={cues} /> ) } -const CarouselComponent = ({ media, slider, sliderRef, currentSlide, currentCaption, timelineLookup }) => { +const CarouselComponent = ({ media, slider, sliderRef, currentSlide, currentCaption, cues }) => { const { image_order, display_lookup } = media.settings return (
- {image_order.map((id, idx) => { + {image_order.map((id, index) => { const image = display_lookup[id] // console.log(image) return ( @@ -76,7 +76,7 @@ const CarouselComponent = ({ media, slider, sliderRef, currentSlide, currentCapt key={id} image={image} slider={slider} - seekAnnotation={timelineLookup && timelineLookup[idx]} + seekAnnotation={cues && cues.lookup[index]} /> ) })} @@ -124,17 +124,18 @@ const CarouselArrow = ({ disabled, type, onClick }) => ((
)) + const CarouselDots = ({ slides, currentSlide, onPick }) => ((
- {[...slides.keys()].map(idx => { + {[...slides.keys()].map(index => { return (
{ - onPick(idx) + onPick(index) }} - tabIndex={idx} - className={"dot-item" + (Math.round(currentSlide) === idx ? " active" : "")} + tabIndex={index} + className={"dot-item" + (Math.round(currentSlide) === index ? " active" : "")} >
diff --git a/animism-align/frontend/app/views/viewer/viewer.actions.js b/animism-align/frontend/app/views/viewer/viewer.actions.js index a5ac4a2..43c40da 100644 --- a/animism-align/frontend/app/views/viewer/viewer.actions.js +++ b/animism-align/frontend/app/views/viewer/viewer.actions.js @@ -118,8 +118,9 @@ export const loadSections = () => dispatch => { if (annotation.type === 'gallery_advance') { annotation.settings.frame_index = parseInt(annotation.settings.frame_index) annotation.settings.seek_index = annotation.settings.half_frame ? annotation.settings.frame_index + 0.5 : annotation.settings.frame_index - currentSection.mediaCues[annotation.settings.media_id] = currentSection.mediaCues[annotation.settings.media_id] || [] - currentSection.mediaCues[annotation.settings.media_id].push(annotation) + currentSection.mediaCues[annotation.settings.media_id] = currentSection.mediaCues[annotation.settings.media_id] || { cues: [], lookup: {} } + currentSection.mediaCues[annotation.settings.media_id].cues.push(annotation) + currentSection.mediaCues[annotation.settings.media_id].lookup[annotation.settings.frame_index] = annotation } else { currentSection.cues.push(annotation) @@ -251,7 +252,7 @@ export const makeFullscreenEvent = (index, annotation, currentSection) => { settings: annotation.settings, type: annotation.type, timeline: [], - timelineLookup: {}, + // timelineLookup: {}, } if (annotation.settings.color) { if (annotation.settings.color.name) { -- cgit v1.2.3-70-g09d2