import React, { Component } from 'react' import { CURTAIN_COLOR_LOOKUP } from 'app/constants' import { SpeakerIcon } from '../../nav/viewer.icons' import { MediaCitation } from '../components.media' export const MediaImage = ({ paragraph, media, currentParagraph, currentAnnotation, onAnnotationClick }) => { if (!media.lookup) return
const annotation = paragraph.annotations[0] const item = media.lookup[annotation.settings.media_id] if (!item) return
Media not found: {annotation.settings.media_id}
let url, captionItem, colorName; if (item.type === 'gallery') { const index = parseInt(annotation.settings.frame_index) const frame_id = item.settings.image_order[index] const frame = item.settings.display_lookup[frame_id] if (!frame) { console.error("Slide not found:", annotation.settings.frame_index) return
} url = frame.url captionItem = item.settings.caption_lookup[frame_id] if (!captionItem.caption) { captionItem = item } colorName = annotation.settings.inline_color || annotation.settings.color || 'white' } else { url = item.settings.display.url captionItem = item colorName = annotation.settings.inline_color || annotation.settings.color || 'white' } if (annotation.settings.hide_caption) { captionItem = null } const color = CURTAIN_COLOR_LOOKUP[colorName] const style = { backgroundColor: color.backgroundColor, } // "fullscreen-style inline images" if (annotation.settings.inline_size === 'fullscreen') { return (
onAnnotationClick(e, paragraph, annotation)}>
{SpeakerIcon}
) } else { const imageClassName = "image-container " + (annotation.settings.inline_size || "") return (
onAnnotationClick(e, paragraph, annotation)}>
{!annotation.settings.hide_speaker_icon &&
{SpeakerIcon}
}
{captionItem && }
) } }