summaryrefslogtreecommitdiff
path: root/animism-align/frontend/app
diff options
context:
space:
mode:
Diffstat (limited to 'animism-align/frontend/app')
-rw-r--r--animism-align/frontend/app/views/site/site.actions.js3
-rw-r--r--animism-align/frontend/app/views/viewer/player/components.inline/inline.utility.js66
-rw-r--r--animism-align/frontend/app/views/viewer/player/player.transcript.css6
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;