summaryrefslogtreecommitdiff
path: root/client/modalImage/modalImage.container.js
diff options
context:
space:
mode:
Diffstat (limited to 'client/modalImage/modalImage.container.js')
-rw-r--r--client/modalImage/modalImage.container.js18
1 files changed, 13 insertions, 5 deletions
diff --git a/client/modalImage/modalImage.container.js b/client/modalImage/modalImage.container.js
index a637deb6..d6271d61 100644
--- a/client/modalImage/modalImage.container.js
+++ b/client/modalImage/modalImage.container.js
@@ -10,7 +10,7 @@ import csv from 'parse-csv'
class ModalImage extends Component {
state = {
- visible: true,
+ visible: false,
images: [],
index: 0,
}
@@ -26,8 +26,11 @@ class ModalImage extends Component {
if (document.activeElement && document.activeElement !== document.body) {
return null
}
- // console.log(e.keyCode)
+ console.log(e.keyCode)
switch (e.keyCode) {
+ case 27: // esc
+ this.close()
+ break
case 37: // left
this.prev()
break
@@ -41,16 +44,21 @@ class ModalImage extends Component {
}
loadImage(index) {
+ const { images } = this.state
+ if (!images.length) return
+ if (index < 0 || index >= images.length) return
this.setState({ visible: true, index })
}
prev() {
const { index, images } = this.state
+ if (!images.length) return
this.setState({ index: (images.length + index - 1) % images.length })
}
next() {
const { index, images } = this.state
+ if (!images.length) return
this.setState({ index: (index + 1) % images.length })
}
@@ -75,9 +83,9 @@ class ModalImage extends Component {
{caption && <div class='caption'>{caption}</div>}
</div>
</div>
- <div onClick={() => this.prev()}className='prev'>{'<'}</div>
- <div onClick={() => this.next()} className='next'>{'>'}</div>
- <div onClick={() => this.close()} className='close'>{'x'}</div>
+ <div onClick={() => this.prev()} className='prev' aria-label='Previous image' alt='Previous image'><img src='/assets/img/arrow-left.png' /></div>
+ <div onClick={() => this.next()} className='next' aria-label='Next image' alt='Next image'><img src='/assets/img/arrow-right.png' /></div>
+ <div onClick={() => this.close()} className='close' aria-label='Close' alt='Close'><img src='/assets/img/close.png' /></div>
</div>
)
}