From 27d593acaf023ba15b3c81cbe72e90f754523078 Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Wed, 19 Aug 2020 17:22:33 +0200 Subject: vitrine modal --- .../app/views/viewer/modals/modals.vitrine.js | 63 ++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 animism-align/frontend/app/views/viewer/modals/modals.vitrine.js (limited to 'animism-align/frontend/app/views/viewer/modals/modals.vitrine.js') diff --git a/animism-align/frontend/app/views/viewer/modals/modals.vitrine.js b/animism-align/frontend/app/views/viewer/modals/modals.vitrine.js new file mode 100644 index 0000000..88b785c --- /dev/null +++ b/animism-align/frontend/app/views/viewer/modals/modals.vitrine.js @@ -0,0 +1,63 @@ +import React, { Component } from 'react' +import { connect } from 'react-redux' + +import actions from 'app/actions' + +import { EfluxClose } from '../nav/eflux.icons' + +class VitrineModal extends Component { + render() { + const { open, media, index } = this.props.vitrineModal + if (!media) { + return ( +
+ ) + } + const className = open ? 'vitrine-modal open' : 'vitrine-modal' + const id = media.settings.image_order[index] + const image = (media.settings.display_lookup || media.settings.image_lookup)[id] + const caption = media.settings.caption_lookup[id] + return ( +
+
+
+
+
+ {caption.title && } +
+ {caption.long_caption || caption.caption} +
+
+
+
+
actions.viewer.closeVitrineModal()}> + {EfluxClose} +
+
+ ) + } +} + +const VitrineCaption = ({ caption }) => { + return ( +
+ {caption.author && ( + {caption.author} + )} + {caption.title && ( +
{caption.title}
+ )} + {caption.date && ( +
{caption.date}
+ )} +
+ ) +} + +const mapStateToProps = state => ({ + vitrineModal: state.viewer.vitrineModal, +}) + +export default connect(mapStateToProps)(VitrineModal) -- cgit v1.2.3-70-g09d2