X-Git-Url: https://git.localhorst.tv/?a=blobdiff_plain;ds=sidebyside;f=resources%2Fjs%2Fcomponents%2Fresults%2FReportButton.js;h=9db944ee79ace429eed3928e6d4b5bcd10440768;hb=2730f0f38f5c6d52079c2bae7515ee5896e4de81;hp=d88c1a11285ee5ed72543f70f65421b5a6100fc2;hpb=d748feb96453d74aeffec648d6f5f68d9ef3b520;p=alttp.git
diff --git a/resources/js/components/results/ReportButton.js b/resources/js/components/results/ReportButton.js
index d88c1a1..9db944e 100644
--- a/resources/js/components/results/ReportButton.js
+++ b/resources/js/components/results/ReportButton.js
@@ -5,37 +5,59 @@ import { withTranslation } from 'react-i18next';
import ReportDialog from './ReportDialog';
import Icon from '../common/Icon';
-import { findResult } from '../../helpers/Participant';
+import { findResult } from '../../helpers/User';
import i18n from '../../i18n';
-const ReportButton = ({ participant, round }) => {
+const getButtonLabel = (user, round) => {
+ const result = findResult(user, round);
+ if (round.locked) {
+ if (result && result.comment) {
+ return i18n.t('results.editComment');
+ } else {
+ return i18n.t('results.addComment');
+ }
+ } else {
+ if (result && (result.time || result.forfeit)) {
+ return i18n.t('results.edit');
+ } else {
+ return i18n.t('results.report');
+ }
+ }
+};
+
+const ReportButton = ({ round, user }) => {
const [showDialog, setShowDialog] = useState(false);
+ if (round.locked && !findResult(user, round)) {
+ return null;
+ }
+
return <>
setShowDialog(false)}
- participant={participant}
round={round}
show={showDialog}
+ user={user}
/>
>;
};
ReportButton.propTypes = {
- participant: PropTypes.shape({
- }),
round: PropTypes.shape({
+ locked: PropTypes.bool,
}),
tournament: PropTypes.shape({
}),
+ user: PropTypes.shape({
+ }),
};
export default withTranslation()(ReportButton);