summaryrefslogtreecommitdiff
path: root/animism-align/frontend/app/views/viewer/modals/modals.vitrine.js
diff options
context:
space:
mode:
authorJules Laplace <julescarbon@gmail.com>2020-08-19 18:12:51 +0200
committerJules Laplace <julescarbon@gmail.com>2020-08-19 18:12:51 +0200
commit270c9d6ddf4c7e1a59e6e955226bfa6bbfe9a781 (patch)
tree98285c09765f0277297b2f3ff13d422a484f5a8a /animism-align/frontend/app/views/viewer/modals/modals.vitrine.js
parent27d593acaf023ba15b3c81cbe72e90f754523078 (diff)
vitrine modal
Diffstat (limited to 'animism-align/frontend/app/views/viewer/modals/modals.vitrine.js')
-rw-r--r--animism-align/frontend/app/views/viewer/modals/modals.vitrine.js22
1 files changed, 22 insertions, 0 deletions
diff --git a/animism-align/frontend/app/views/viewer/modals/modals.vitrine.js b/animism-align/frontend/app/views/viewer/modals/modals.vitrine.js
index 88b785c..070fafd 100644
--- a/animism-align/frontend/app/views/viewer/modals/modals.vitrine.js
+++ b/animism-align/frontend/app/views/viewer/modals/modals.vitrine.js
@@ -3,7 +3,9 @@ import { connect } from 'react-redux'
import actions from 'app/actions'
+import { mod } from 'app/utils'
import { EfluxClose } from '../nav/eflux.icons'
+import { Arrow } from '../nav/viewer.icons'
class VitrineModal extends Component {
render() {
@@ -35,11 +37,31 @@ class VitrineModal extends Component {
<div className='vitrine-close' onClick={() => actions.viewer.closeVitrineModal()}>
{EfluxClose}
</div>
+ <VitrineNavigation media={media} index={index} direction={-1} />
+ <VitrineNavigation media={media} index={index} direction={+1} />
</div>
)
}
}
+const VitrineNavigation = ({ media, index, direction }) => {
+ const isPrev = direction === -1
+ const className = isPrev ? 'vitrine-nav prev' : 'vitrine-nav next'
+ const targetIndex = mod(index + direction, media.settings.image_order.length)
+ const id = media.settings.image_order[targetIndex]
+ const thumbnail = media.settings.thumbnail_lookup[id]
+ return (
+ <div className={className} onClick={() => actions.viewer.setVitrineIndex(targetIndex)}>
+ <div className='vitrine-nav-content'>
+ {isPrev && <Arrow type='left'/>}
+ {isPrev ? 'Previous' : 'Next'}
+ {!isPrev && <Arrow type='right'/>}
+ </div>
+ <div className='vitrine-nav-thumbnail' style={{ backgroundImage: 'url(' + thumbnail.url + ')' }} />
+ </div>
+ )
+}
+
const VitrineCaption = ({ caption }) => {
return (
<div className='vitrine-caption'>