]> git.localhorst.tv Git - alttp.git/blobdiff - resources/js/components/tournament/Detail.js
open tournament type
[alttp.git] / resources / js / components / tournament / Detail.js
index b6afe902c5b3acc5fb0210424728e3a099602ab9..bb9b9284461ebe85ea7c4a818cb417c8c7df43f6 100644 (file)
@@ -3,19 +3,25 @@ import React from 'react';
 import { Button, Col, Container, Row } from 'react-bootstrap';
 import { withTranslation } from 'react-i18next';
 
+import ApplyButton from './ApplyButton';
 import Scoreboard from './Scoreboard';
+import ScoreChartButton from './ScoreChartButton';
+import SettingsButton from './SettingsButton';
+import ApplicationsButton from '../applications/Button';
 import Protocol from '../protocol/Protocol';
 import Rounds from '../rounds/List';
 import Box from '../users/Box';
 import {
        isRunner,
        mayAddRounds,
+       mayUpdateTournament,
        mayViewProtocol,
 } from '../../helpers/permissions';
 import {
        getTournamentAdmins,
        getTournamentMonitors,
        hasRunners,
+       hasScoreboard,
        hasTournamentAdmins,
        hasTournamentMonitors,
 } from '../../helpers/Tournament';
@@ -44,21 +50,33 @@ const Detail = ({
                <Col lg={8} xl={9}>
                        <div className="d-flex align-items-center justify-content-between">
                                <h1>{tournament.title}</h1>
-                               {mayViewProtocol(user, tournament) ?
-                                       <Protocol id={tournament.id} />
-                               : null}
+                               <div className="button-bar">
+                                       <ApplicationsButton tournament={tournament} />
+                                       <ApplyButton tournament={tournament} />
+                                       {mayUpdateTournament(user, tournament) ?
+                                               <SettingsButton tournament={tournament} />
+                                       : null}
+                                       {mayViewProtocol(user, tournament) ?
+                                               <Protocol id={tournament.id} />
+                                       : null}
+                               </div>
                        </div>
                </Col>
        </Row>
        <Row>
                <Col lg={{ order: 2, span: 4 }} xl={{ order: 2, span: 3 }}>
                        <div className="tournament-sidebar">
-                               <div className="d-flex align-items-center justify-content-between">
-                                       <h2>{i18n.t('tournaments.scoreboard')}</h2>
-                               </div>
-                               {hasRunners(tournament) ?
-                                       <Scoreboard tournament={tournament} />
-                               : null}
+                               {hasScoreboard(tournament) ? <>
+                                       <div className="d-flex align-items-center justify-content-between">
+                                               <h2>{i18n.t('tournaments.scoreboard')}</h2>
+                                               {hasRunners(tournament) && tournament.rounds.length > 2 ?
+                                                       <ScoreChartButton tournament={tournament} />
+                                               : null}
+                                       </div>
+                                       {hasRunners(tournament) ?
+                                               <Scoreboard tournament={tournament} />
+                                       : null}
+                               </> : null}
                                {hasTournamentAdmins(tournament) ?
                                        <>
                                                <div className="d-flex align-items-center justify-content-between">