import React from 'react' import { connect } from 'react-redux' import { Player } from 'video-react' import marked from 'marked' import MediaOverlay from './Overlay/Media' import falogo from '../assets/fa-logo.png' import bcatlogo from '../assets/bellingcat-logo.png' const MEDIA_HIDDEN = -2 /** * Manages the presentation of props that come in from the store's app.cover. * These are documented in docs/custom-cover.md. * The component is a bit of a mess, keeping a lot of internal state and using * a couple of weird offset calculations... but it works for the time being. */ class TemplateCover extends React.Component { constructor (props) { super(props) this.state = { video: MEDIA_HIDDEN, featureLang: 0 } } getVideo (index, headerEndIndex) { if (index < headerEndIndex) { return this.props.cover.headerVideos[index] } else if (index >= 0) { return this.props.cover.videos[index - headerEndIndex] } else { return null } } onVideoClickHandler (index) { const buffer = this.props.cover.headerVideos ? this.props.cover.headerVideos.length : 0 return () => { this.setState({ video: index + buffer }) } } renderFeature () { const { featureVideo } = this.props.cover const { featureLang } = this.state const { translations } = featureVideo const source = featureLang === 0 ? featureVideo : { ...translations[featureLang - 1], poster: featureVideo.poster } return (
app.cover