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 November 2020.'}
Episodes
{episodes.order.map(id => { const episode = episodes.lookup[id] const isOpen = episode.id === open const hasTitle = !!episode.title && episode.title !== "TBD" 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} {hasTitle && ': '} {hasTitle && {episode.title}}
{episode.is_live && }
) })}
) } const mapStateToProps = state => ({ episodes: state.episode.index, venues: state.venue.index, }) export const Schedule = connect(mapStateToProps)(ScheduleComponent)