2020-01-22 14:34:46 +00:00
|
|
|
/**
|
|
|
|
*
|
|
|
|
* @flow
|
|
|
|
*/
|
|
|
|
|
|
|
|
import React from 'react';
|
|
|
|
import { connect } from 'react-redux';
|
2021-01-29 22:48:12 +00:00
|
|
|
import { t } from 'ttag';
|
2020-01-22 14:34:46 +00:00
|
|
|
|
|
|
|
import { THREE_CANVAS_HEIGHT } from '../core/constants';
|
|
|
|
import { selectCanvas } from '../actions';
|
|
|
|
|
|
|
|
|
|
|
|
const buttonStyle = {
|
2020-01-25 03:11:36 +00:00
|
|
|
marginTop: 8,
|
|
|
|
marginBottom: 8,
|
2020-01-22 14:34:46 +00:00
|
|
|
border: '#c5c5c5',
|
|
|
|
borderStyle: 'solid',
|
2020-01-25 03:11:36 +00:00
|
|
|
borderRadius: 8,
|
2020-01-22 14:34:46 +00:00
|
|
|
cursor: 'pointer',
|
|
|
|
};
|
|
|
|
|
2020-01-25 03:11:36 +00:00
|
|
|
const imageStyle = {
|
|
|
|
maxWidth: '20%',
|
|
|
|
opacity: 0.3,
|
|
|
|
padding: 2,
|
|
|
|
display: 'inline-block',
|
|
|
|
verticalAlign: 'middle',
|
|
|
|
};
|
|
|
|
|
2020-01-22 14:34:46 +00:00
|
|
|
const CanvasItem = ({ canvasId, canvas, changeCanvas }) => (
|
|
|
|
<div
|
|
|
|
style={buttonStyle}
|
|
|
|
onClick={() => { changeCanvas(canvasId); }}
|
|
|
|
role="button"
|
|
|
|
tabIndex={0}
|
|
|
|
>
|
2020-01-25 03:11:36 +00:00
|
|
|
<img
|
|
|
|
style={imageStyle}
|
|
|
|
alt="preview"
|
|
|
|
src={`/preview${canvasId}.png`}
|
|
|
|
/>
|
2020-05-10 08:43:43 +00:00
|
|
|
<p className="modalcvtext">
|
|
|
|
<span className="modaltitle">{canvas.title}</span><br />
|
|
|
|
<span className="modalinfo">{canvas.desc}</span><br />
|
2021-01-29 22:48:12 +00:00
|
|
|
{t`Cooldown`}:
|
2020-05-10 08:43:43 +00:00
|
|
|
<span className="modalinfo">
|
2020-01-22 14:34:46 +00:00
|
|
|
{(canvas.bcd !== canvas.pcd)
|
|
|
|
? <span> {canvas.bcd / 1000}s / {canvas.pcd / 1000}s</span>
|
|
|
|
: <span> {canvas.bcd / 1000}s</span>}
|
|
|
|
</span><br />
|
2021-01-29 22:48:12 +00:00
|
|
|
{t`Stacking till`}:
|
2020-05-10 08:43:43 +00:00
|
|
|
<span className="modalinfo"> {canvas.cds / 1000}s</span><br />
|
2021-01-29 22:48:12 +00:00
|
|
|
{t`Ranked`}:
|
2020-05-10 08:43:43 +00:00
|
|
|
<span className="modalinfo">{(canvas.ranked) ? 'Yes' : 'No'}</span><br />
|
2021-01-29 22:48:12 +00:00
|
|
|
{(canvas.req !== -1) ? <span>{t`Requirements`}:<br /></span> : null}
|
2020-05-10 08:43:43 +00:00
|
|
|
<span className="modalinfo">
|
2021-01-29 22:48:12 +00:00
|
|
|
{(canvas.req !== -1) ? <span>{t`User Account`} </span> : null}
|
|
|
|
{(canvas.req > 0)
|
|
|
|
? <span> {t`and ${canvas.req} Pixels set`}</span>
|
|
|
|
: null}
|
2020-01-25 03:11:36 +00:00
|
|
|
</span>
|
|
|
|
{(canvas.req !== -1) ? <br /> : null}
|
2021-01-29 22:48:12 +00:00
|
|
|
{t`Dimensions`}:
|
2020-05-10 08:43:43 +00:00
|
|
|
<span className="modalinfo"> {canvas.size} x {canvas.size}
|
2020-01-22 14:34:46 +00:00
|
|
|
{(canvas.v)
|
|
|
|
? <span> x {THREE_CANVAS_HEIGHT} Voxels</span>
|
|
|
|
: <span> Pixels</span>}
|
|
|
|
</span>
|
|
|
|
</p>
|
|
|
|
</div>
|
|
|
|
);
|
|
|
|
|
|
|
|
function mapDispatchToProps(dispatch) {
|
|
|
|
return {
|
|
|
|
changeCanvas(canvasId) {
|
|
|
|
dispatch(selectCanvas(canvasId));
|
|
|
|
},
|
|
|
|
};
|
|
|
|
}
|
|
|
|
|
|
|
|
export default connect(null, mapDispatchToProps)(CanvasItem);
|