pixelplanet/src/components/CanvasItem.jsx

67 lines
1.8 KiB
React
Raw Normal View History

/**
*
* @flow
*/
import React from 'react';
2021-01-29 22:48:12 +00:00
import { t } from 'ttag';
import { THREE_CANVAS_HEIGHT } from '../core/constants';
2022-01-04 10:31:10 +00:00
const CanvasItem = ({
canvasId, canvas, selCanvas, online,
}) => (
<div
className="cvbtn"
onClick={() => selCanvas(canvasId)}
role="button"
tabIndex={0}
>
2020-01-25 03:11:36 +00:00
<img
className="cvimg"
2020-01-25 03:11:36 +00:00
alt="preview"
src={`/preview${canvasId}.png`}
/>
<p className="modalcvtext">
<span className="modaltitle">{canvas.title}</span><br />
2022-01-04 10:31:10 +00:00
{(online) && (
<>
{t`Online Users`}:&nbsp;
<span className="modalinfo">{online}</span><br />
</>
)}
<span className="modalinfo">{canvas.desc}</span><br />
2021-01-29 22:48:12 +00:00
{t`Cooldown`}:&nbsp;
<span className="modalinfo">
{(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`}:&nbsp;
<span className="modalinfo"> {canvas.cds / 1000}s</span><br />
2021-01-29 22:48:12 +00:00
{t`Ranked`}:&nbsp;
<span className="modalinfo">{
(canvas.ranked) ? t`Yes` : t`No`
}
</span><br />
2021-01-29 22:48:12 +00:00
{(canvas.req !== -1) ? <span>{t`Requirements`}:<br /></span> : null}
<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`}:&nbsp;
<span className="modalinfo"> {canvas.size} x {canvas.size}
{(canvas.v)
? <span> x {THREE_CANVAS_HEIGHT} Voxels</span>
: <span> Pixels</span>}
</span>
</p>
</div>
);
export default React.memo(CanvasItem);