diff options
| author | Jules Laplace <julescarbon@gmail.com> | 2020-10-01 02:51:25 +0200 |
|---|---|---|
| committer | Jules Laplace <julescarbon@gmail.com> | 2020-10-01 02:51:25 +0200 |
| commit | 2b6faa507945100a04a0d63a0d93627411e68632 (patch) | |
| tree | 8f0297a3e0820665a70c910b07a3446c2862c590 /animism-align/frontend | |
| parent | 958b818fa46604043e78567fb68b276c167d2aa6 (diff) | |
schedule from db
Diffstat (limited to 'animism-align/frontend')
3 files changed, 43 insertions, 32 deletions
diff --git a/animism-align/frontend/app/views/site/site.actions.js b/animism-align/frontend/app/views/site/site.actions.js index ee6c523..d1c1e66 100644 --- a/animism-align/frontend/app/views/site/site.actions.js +++ b/animism-align/frontend/app/views/site/site.actions.js @@ -9,6 +9,8 @@ export const loadProject = () => dispatch => { actions.annotation.index(), actions.paragraph.index(), actions.media.index(), + actions.episode.index(), + actions.venue.index(), ]).then(() => { actions.viewer.loadSections() }).catch(err => { @@ -27,4 +29,3 @@ export const loadText = (asdf) => dispatch => ( export const updateText = text => dispatch => ( dispatch({ type: types.text.loaded, data: text }) ) - diff --git a/animism-align/frontend/app/views/viewer/player/components.inline/inline.utility.js b/animism-align/frontend/app/views/viewer/player/components.inline/inline.utility.js index d2e434f..486b8e5 100644 --- a/animism-align/frontend/app/views/viewer/player/components.inline/inline.utility.js +++ b/animism-align/frontend/app/views/viewer/player/components.inline/inline.utility.js @@ -1,4 +1,5 @@ import React, { Component } from 'react' +import { connect } from 'react-redux' import { MediaCitation } from '../components.media' @@ -35,26 +36,35 @@ export const Intro = ({ paragraph, media, onAnnotationClick }) => { ) } -export const Schedule = ({ media }) => { - const nameLookup = Object.values(media.lookup).reduce((a,b) => { - a.add(b.author) - return a - }, new Set) +const ScheduleComponent = ({ episodes, venues }) => { + console.log(episodes.lookup[episodes.order[0]]) + const currentEpisode = episodes.lookup[episodes.order[0]].settings return ( <div> + <div className="schedule-about"> + {'Animism on e-flux.com is the ninth iteration of the exhibition and overall '} + {'research project presented at Extra City and MuHKA, Antwerp, 2010; Kunsthalle '} + {'Bern, 2010; Generali Foundation, Vienna, 2011; the Haus der Kulturen der Welt, '} + {'Berlin, 2012; e-flux, New York, 2012; OCAT Shenzhen, 2013; Times Museum Seoul, '} + {'2013; and Ashkal Alwan, Beirut, 2014. Presented here in its digital iteration, '} + {'the exhibition will be released in four episodes starting October 2020.'} + </div> <div className='schedule'> <div className='schedule-title'>Schedule</div> - {SCHEDULE.map(row => ( - <div className={row.active ? 'schedule-row active' : 'schedule-row inactive'} key={row.id}> - <div className='schedule-date'> - {row.date} - </div> - <div className='schedule-title'> - {'Episode '}{row.id}{': '} - <i>{row.title}</i> + {episodes.order.map(id => { + const episode = episodes.lookup[id] + return ( + <div className={episode.is_live ? 'schedule-row active' : 'schedule-row inactive'} key={episode.id}> + <div className='schedule-date'> + {episode.release_date} + </div> + <div className='schedule-title'> + {'Episode '}{episode.episode_number}{': '} + <i>{episode.title}</i> + </div> </div> - </div> - ))} + ) + })} </div> <div className='credits'> <div> @@ -62,15 +72,15 @@ export const Schedule = ({ media }) => { Curator </div> <div className='credits-info'> - {ABOUT.curator} + {currentEpisode.curator} </div> </div> <div> <div className='credits-title'> - Authors + Author </div> <div className='credits-info'> - {ABOUT.authors} + {currentEpisode.author} </div> </div> <div> @@ -78,7 +88,7 @@ export const Schedule = ({ media }) => { Artists </div> <div className='credits-info'> - {Array.from(nameLookup).sort().join("\n")} + {currentEpisode.artists} </div> </div> </div> @@ -86,16 +96,10 @@ export const Schedule = ({ media }) => { ) } -const SCHEDULE = [ - { id: 1, active: true, date: 'Mon 00-00, 2020', title: 'Animist Origins & Export Projections' }, - { id: 2, active: false, date: 'Mon 00-00, 2020', title: 'Animation & The Mummy Complex: The Museum' }, - { id: 3, active: false, date: 'Mon 00-00, 2020', title: 'The Extirpation of Animism' }, - { id: 4, active: false, date: 'Mon 00-00, 2020', title: 'Media History & Animism\'s Continuous Displacement' }, - { id: 5, active: false, date: 'Mon 00-00, 2020', title: 'Soul-Design or Liminal Cosmologies' }, - { id: 6, active: false, date: 'Mon 00-00, 2020', title: 'Animal, Mythic and Other' }, -] +const mapStateToProps = state => ({ + episodes: state.episode.index, + episode: state.episode.show.res || {}, + venues: state.venue.index, +}) -const ABOUT = { - curator: "Anselm Franke", - authors: "Anselm Franke\nAmal Issa", -} +export const Schedule = connect(mapStateToProps)(ScheduleComponent)
\ No newline at end of file diff --git a/animism-align/frontend/app/views/viewer/player/player.transcript.css b/animism-align/frontend/app/views/viewer/player/player.transcript.css index 03a73ac..4ea459b 100644 --- a/animism-align/frontend/app/views/viewer/player/player.transcript.css +++ b/animism-align/frontend/app/views/viewer/player/player.transcript.css @@ -274,6 +274,12 @@ /* schedule */ +.schedule-about { + width: 45rem; + margin: 0 auto; + margin-top: 1rem; + line-height: 1.3; +} .schedule { width: 45rem; display: flex; |
