diff options
| author | Jules Laplace <julescarbon@gmail.com> | 2020-08-19 18:12:51 +0200 |
|---|---|---|
| committer | Jules Laplace <julescarbon@gmail.com> | 2020-08-19 18:12:51 +0200 |
| commit | 270c9d6ddf4c7e1a59e6e955226bfa6bbfe9a781 (patch) | |
| tree | 98285c09765f0277297b2f3ff13d422a484f5a8a /animism-align/frontend/app/views/viewer/modals/modals.vitrine.js | |
| parent | 27d593acaf023ba15b3c81cbe72e90f754523078 (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.js | 22 |
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'> |
