import React, { Component } from 'react' import { connect } from 'react-redux' import { MediaCitation } from '../components.media' import { Arrow } from 'app/views/viewer/nav/viewer.icons' import { CreditsColumns, ArtistColumns } from 'app/views/viewer/checklist/credits.components' export const Intro = ({ paragraph, media, onAnnotationClick }) => { const annotation = paragraph.annotations[0] const item = media.lookup[annotation.settings.media_id] // console.log(item) const style = { backgroundImage: 'url(' + item.settings.file.url + ')', } let lines = [] if (annotation.settings.title) { lines = lines.concat(annotation.settings.title.split(/]*>/)) } if (annotation.settings.subtitle) { lines = lines.concat(annotation.settings.subtitle.split(/]*>/)) } return (
{lines.map((line, i) => ( ))}
) } const ScheduleComponent = ({ episodes }) => { const [ open, setOpen ] = React.useState(-1) const currentEpisode = episodes.lookup[episodes.order[0]].settings return (
Animism {' on '} e-flux.com {' is the ninth iteration of the exhibition and overall '} {'research project presented at Museum of Contemporary Art Antwerp (M HKA) and Extra City, '} {'Antwerp, 2010, Kunsthalle Bern, 2010, '} {'Generali Foundation, Vienna, 2011, Haus der Kulturen der Welt, '} {'Berlin, 2012, e-flux, New York, 2012, OCT Contemporary Art Terminal (OCAT) Shenzhen, 2013, '} {'Ilmin Museum of Art, Seoul, 2013, '} {'and Ashkal Alwan, Beirut, 2014.'}

{'Presented here in its digital iteration, '} {'the exhibition will be released in four episodes starting October 2020.'}
Episodes
{episodes.order.map(id => { const episode = episodes.lookup[id] const isOpen = episode.id === open let className = 'schedule-row' if (episode.is_live) { className += ' active' } else { className += ' inactive' } if (open === episode.id) { className += ' open' } return (
episode.is_live && setOpen(isOpen ? -1 : episode.id)} >
{episode.release_date}
{'Episode '}{episode.episode_number}{': '} {episode.title}
{episode.is_live && }
{isOpen && }
) })}
) } const mapStateToProps = state => ({ episodes: state.episode.index, venues: state.venue.index, }) export const Schedule = connect(mapStateToProps)(ScheduleComponent)