summaryrefslogtreecommitdiff
path: root/animism-align/frontend/app/views/viewer/player/components.media/media.vitrine.js
blob: 1e5fca2e5070bb9feedfd4d71d8f53e87cf8ef7a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
import React, { Component } from 'react'

import { ZoomPlus } from '../../nav/viewer.icons.js'

import actions from 'app/actions'

export const Vitrine = ({ media, color }) => {
  const { image_order, image_lookup, thumbnail_lookup } = media.settings
  let width = (Math.floor(100 / image_order.length * 2))
  if (image_order.length % 2) {
    width -= 2
  }
  const displayWidth = width + '%'
  // console.log(width)
  return (
    <div className='vitrine-items'>
      {image_order.map(id => {
        const thumbnail = thumbnail_lookup[id]
        return (
          <VitrineItem
            key={id}
            media={media}
            id={id}
            image={thumbnail}
            width={displayWidth}
            color={color}
          />
        )
      })}
    </div>
  )
}

const VitrineItem = ({ media, id, image, width, color }) => {
  return (
    <div className='vitrine-item' style={{ width }} onClick={() => actions.viewer.openVitrineModal(media, color, id)}>
      <div className='vitrine-image'>
        <img src={image.url} />
      </div>
      {ZoomPlus}
    </div>
  )
}