diff options
| author | jules@lens <julescarbon@gmail.com> | 2019-04-18 16:55:14 +0200 |
|---|---|---|
| committer | jules@lens <julescarbon@gmail.com> | 2019-04-18 16:55:14 +0200 |
| commit | 2e4daed06264f3dc3bbabd8fa4fc0d8ceed4c5af (patch) | |
| tree | 1a17bb4459776ac91f7006a2a407ca12edd3471e /client/modalImage/modalImage.container.js | |
| parent | 3d32e5b4ddbfbfe5d4abeda57ff200adf1532f4c (diff) | |
| parent | f8012f88641b0bb378ba79393f277c8918ebe452 (diff) | |
Merge branch 'master' of asdf.us:megapixels_dev
Diffstat (limited to 'client/modalImage/modalImage.container.js')
| -rw-r--r-- | client/modalImage/modalImage.container.js | 18 |
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> ) } |
