summaryrefslogtreecommitdiff
path: root/animism-align/frontend/app/views/editor/footnotes/footnotes.container.js
diff options
context:
space:
mode:
Diffstat (limited to 'animism-align/frontend/app/views/editor/footnotes/footnotes.container.js')
-rw-r--r--animism-align/frontend/app/views/editor/footnotes/footnotes.container.js39
1 files changed, 39 insertions, 0 deletions
diff --git a/animism-align/frontend/app/views/editor/footnotes/footnotes.container.js b/animism-align/frontend/app/views/editor/footnotes/footnotes.container.js
new file mode 100644
index 0000000..d17f2eb
--- /dev/null
+++ b/animism-align/frontend/app/views/editor/footnotes/footnotes.container.js
@@ -0,0 +1,39 @@
+import React, { Component } from 'react'
+import { connect } from 'react-redux'
+
+import './footnotes.css'
+
+import FootnoteForm from './components/footnote.form'
+
+class FootnotesContainer extends Component {
+ render() {
+ const { annotation } = this.props
+ const { order, lookup } = annotation
+ const footnote_ids = order.filter(id => lookup[id].type === 'footnote')
+
+ return (
+ <div className='overview'>
+ <div className='project-top'>
+ <div className='project-heading'>
+ <h2>Footnotes</h2>
+ </div>
+ {footnote_ids.map((footnote_id, index) => (
+ <FootnoteForm
+ key={footnote_id}
+ footnote={lookup[footnote_id]}
+ index={index + 1}
+ />
+ ))}
+ </div>
+ </div>
+ )
+ }
+}
+
+const mapStateToProps = state => ({
+ project: state.site.project,
+ episode: state.site.episode,
+ annotation: state.annotation.index,
+})
+
+export default connect(mapStateToProps)(FootnotesContainer)