X-Git-Url: https://git.localhorst.tv/?a=blobdiff_plain;f=resources%2Fjs%2Fcomponents%2Fresults%2FItem.js;h=a2ee8e392b82a392b76236b8bab92e4e7806d6f7;hb=f446d5bcf3b87bd9443a060e27e9c0601c96fbb9;hp=0d73105edd21ac13268223742196ca9bbdfe3daa;hpb=855decfd62b51ed500c8a5903f4b263c4c9afb5c;p=alttp.git diff --git a/resources/js/components/results/Item.js b/resources/js/components/results/Item.js index 0d73105..a2ee8e3 100644 --- a/resources/js/components/results/Item.js +++ b/resources/js/components/results/Item.js @@ -1,46 +1,14 @@ import PropTypes from 'prop-types'; -import React from 'react'; -import { withTranslation } from 'react-i18next'; +import React, { useState } from 'react'; +import { Button } from 'react-bootstrap'; -import Icon from '../common/Icon'; +import DetailDialog from './DetailDialog'; import Box from '../users/Box'; -import { formatTime } from '../../helpers/Result'; +import { getIcon, getTime } from '../../helpers/Result'; import { findResult } from '../../helpers/Participant'; import { maySeeResults } from '../../helpers/permissions'; import { withUser } from '../../helpers/UserContext'; -const getIcon = (result, maySee) => { - if (!result || !result.has_finished) { - return ; - } - if (result.forfeit && maySee) { - return ; - } - if (result.placement === 1 && maySee) { - return ; - } - if (result.placement === 2 && maySee) { - return ; - } - if (result.placement === 3 && maySee) { - return ; - } - return ; -}; - -const getTime = (result, maySee) => { - if (!result || !maySee) { - return null; - } - if (result.time) { - return formatTime(result); - } - if (result.forfeit) { - return 'DNF'; - } - return '?'; -}; - const getClassName = result => { const classNames = ['status']; if (result && result.has_finished) { @@ -60,19 +28,28 @@ const Item = ({ tournament, user, }) => { + const [showDialog, setShowDialog] = useState(false); const result = findResult(participant, round); const maySee = maySeeResults(user, tournament, round); return
-
setShowDialog(true)} title={maySee && result && result.comment ? result.comment : null} > {getTime(result, maySee)} {getIcon(result, maySee)} -
+ + setShowDialog(false)} + participant={participant} + round={round} + show={showDialog} + tournament={tournament} + />
; }; @@ -89,4 +66,4 @@ Item.propTypes = { }), }; -export default withTranslation()(withUser(Item)); +export default withUser(Item);