summaryrefslogtreecommitdiff
path: root/opendc-web/opendc-web-ui/src/components/app/map/groups/TileGroup.js
blob: 2a108b93134ea43188b39a952e67d8be481893fc (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
import PropTypes from 'prop-types'
import React from 'react'
import { Group } from 'react-konva'
import RackContainer from '../../../../containers/app/map/RackContainer'
import { Tile } from '../../../../shapes'
import { ROOM_DEFAULT_COLOR, ROOM_IN_CONSTRUCTION_COLOR } from '../../../../util/colors'
import RoomTile from '../elements/RoomTile'

const TileGroup = ({ tile, newTile, onClick }) => {
    let tileObject
    if (tile.rackId) {
        tileObject = <RackContainer tile={tile} />
    } else {
        tileObject = null
    }

    let color = ROOM_DEFAULT_COLOR
    if (newTile) {
        color = ROOM_IN_CONSTRUCTION_COLOR
    }

    return (
        <Group onClick={() => onClick(tile)}>
            <RoomTile tile={tile} color={color} />
            {tileObject}
        </Group>
    )
}

TileGroup.propTypes = {
    tile: Tile,
    newTile: PropTypes.bool,
    onClick: PropTypes.func,
}

export default TileGroup