From 86274ec42a1338cfe97478025deef04cfb8c79a0 Mon Sep 17 00:00:00 2001 From: Thor77 Date: Fri, 10 Jun 2022 23:41:15 +0200 Subject: [PATCH] Fix buttons in tournament view --- js/components/LinkButton.js | 14 ++++++++++++++ js/components/TournamentBigImage.js | 2 +- js/components/TournamentStatusBar.js | 14 +++++--------- pages/tournament-statistics.js | 16 ++++++++-------- pages/tournament.js | 15 ++++++++------- 5 files changed, 36 insertions(+), 25 deletions(-) create mode 100644 js/components/LinkButton.js diff --git a/js/components/LinkButton.js b/js/components/LinkButton.js new file mode 100644 index 0000000..d2bb19a --- /dev/null +++ b/js/components/LinkButton.js @@ -0,0 +1,14 @@ +import {Button} from 'reactstrap'; +import {useRouter} from 'next/router'; +import React from 'react'; + +export function LinkButton(props) { + const router = useRouter(); + + const handleClick = e => { + e.preventDefault(); + router.push(props.href); + }; + + return (); +} diff --git a/js/components/TournamentBigImage.js b/js/components/TournamentBigImage.js index ed304f0..a7609ed 100644 --- a/js/components/TournamentBigImage.js +++ b/js/components/TournamentBigImage.js @@ -11,7 +11,7 @@ export function TournamentBigImage(props) { } function TournamentProperties(props) { - return ( + return ( {props.description && {props.description}} {props.isPublic ? 'Das Turnier ist öffentlich.' : 'Das Turnier ist privat.'} diff --git a/js/components/TournamentStatusBar.js b/js/components/TournamentStatusBar.js index 0fd018a..d9b9c11 100644 --- a/js/components/TournamentStatusBar.js +++ b/js/components/TournamentStatusBar.js @@ -1,6 +1,8 @@ +import React from 'react'; import Navbar from 'react-bootstrap/Navbar'; import {Container} from 'reactstrap'; -import React from 'react'; + +import {LinkButton} from './LinkButton'; export function TournamentStatusBar(props) { return ( @@ -10,19 +12,13 @@ export function TournamentStatusBar(props) { ); } -export function TournamentStatusBarButton(props) { - return ( - {props.children} - ); -} - export function EditButton(props) { const {tournamentId, isOwner, isSignedIn} = props; if (isSignedIn && isOwner) { - return ( + return ( Turnier bearbeiten - ); + ); } else { return null; } diff --git a/pages/tournament-statistics.js b/pages/tournament-statistics.js index afbfbc2..7b8c74e 100644 --- a/pages/tournament-statistics.js +++ b/pages/tournament-statistics.js @@ -1,15 +1,15 @@ import Head from 'next/head'; import React from 'react'; import {connect} from 'react-redux'; -import {Col, Container, Row} from 'reactstrap'; +import {ButtonGroup, Col, Container, Row, NavbarBrand} from 'reactstrap'; import {TurniereNavigation} from '../js/components/Navigation'; import {StandingsTable} from '../js/components/StandingsTable'; import {DominanceShower} from '../js/components/DominanceShower'; import {Footer} from '../js/components/Footer'; import {requestTournamentStatistics} from '../js/api'; -import {EditButton, TournamentStatusBar, TournamentStatusBarButton} from '../js/components/TournamentStatusBar'; -import Navbar from 'react-bootstrap/Navbar'; +import {EditButton, TournamentStatusBar} from '../js/components/TournamentStatusBar'; +import {LinkButton} from '../js/components/LinkButton'; import {TournamentBigImage} from '../js/components/TournamentBigImage'; import {LoadingPage} from '../js/components/LoadingPage'; @@ -37,15 +37,15 @@ class StatisticsTournamentPage extends React.Component { - - {tournamentStatistics.name} + {tournamentStatistics.name} + - + zurück zum Turnier - - + +
diff --git a/pages/tournament.js b/pages/tournament.js index ba45281..e16495d 100644 --- a/pages/tournament.js +++ b/pages/tournament.js @@ -1,7 +1,7 @@ import Head from 'next/head'; import React from 'react'; import {connect} from 'react-redux'; -import Navbar from 'react-bootstrap/Navbar'; +import {ButtonGroup, NavbarBrand} from 'reactstrap'; import {ErrorPageComponent} from '../js/components/ErrorComponents'; @@ -11,7 +11,8 @@ import {TurniereNavigation} from '../js/components/Navigation'; import {PlayoffStages} from '../js/components/PlayoffStages'; import GroupStage from '../js/components/GroupStage'; import {TournamentBigImage} from '../js/components/TournamentBigImage'; -import {EditButton, TournamentStatusBar, TournamentStatusBarButton} from '../js/components/TournamentStatusBar'; +import {EditButton, TournamentStatusBar} from '../js/components/TournamentStatusBar'; +import {LinkButton} from '../js/components/LinkButton'; import {LoadingPage} from '../js/components/LoadingPage'; import {getTournament} from '../js/redux/tournamentApi'; @@ -37,18 +38,18 @@ class PrivateTournamentPage extends React.Component { function StatusBar(props) { return ( - - {props.tournament.name} + {props.tournament.name} + - + ); } function StatisticsButton(props) { - return ( + return ( Statistiken - ); + ); }