Fix eslint errors

This commit is contained in:
Daniel Schädler 2025-03-16 14:03:48 +01:00
parent 30ad58c1d8
commit 65ed8df87f
10 changed files with 51 additions and 45 deletions

View File

@ -3,11 +3,6 @@ import {useRouter} from 'next/router';
import React from 'react';
class LinkButtonComponent extends React.Component {
static defaultProps = {
outline: true,
color: 'secondary'
};
handleClick(e) {
e.preventDefault();
this.props.router.push(this.props.href);
@ -22,7 +17,12 @@ class LinkButtonComponent extends React.Component {
}
}
LinkButtonComponent.defaultProps = {
outline: true,
color: 'secondary'
};
export function LinkButton(props) {
const router = useRouter();
return (<LinkButtonComponent {...props} router={router}/>);
}
}

View File

@ -127,7 +127,11 @@ export class Match extends React.Component {
<Card className={'shadow-sm match '} onClick={this.toggleModal}>
<div className="d-flex flex-row">
<CardBody className={borderClass + ' border py-2 ' + cardClass + ' ' + styles.match_bg}>
<MatchTable match={this.state.match} stageLevel={this.props.stageLevel} borderColor={borderClass}/>
<MatchTable
match={this.state.match}
stageLevel={this.props.stageLevel}
borderColor={borderClass}
/>
</CardBody>
<span className="badge bg-secondary align-items-center">
{groupInformation}

View File

@ -41,9 +41,14 @@ export function MatchTable(props) {
</tbody>
</Table>);
} else {
const team1Id = props.stageLevel !== undefined ? `favorite-team-level-${props.stageLevel}-${props.match.team1.id}` : undefined;
const team2Id = props.stageLevel !== undefined ? `favorite-team-level-${props.stageLevel}-${props.match.team2.id}` : undefined;
let team1Id; let team2Id;
if (props.stageLevel !== undefined) {
team1Id = `favorite-team-level-${props.stageLevel}-${props.match.team1.id}`;
team2Id = `favorite-team-level-${props.stageLevel}-${props.match.team2.id}`;
} else {
team1Id = undefined;
team2Id = undefined;
}
return (<Table className='mb-0'>
<tbody>
<tr id={team1Id}>

View File

@ -43,4 +43,4 @@ export function ScrollToTopButton() {
<FaCircleArrowUp style={{fontSize: '36px'}}/>
</Button>
);
}
}

View File

@ -41,7 +41,13 @@ export function getTournamentMatches(tournamentId, successCallback, errorCallbac
}
getRequest(getState(), '/tournaments/' + tournamentId + '/matches' + matchFilter)
.then(response => {
successCallback(response.status, response.data.sort((a, b) => a.position > b.position).map(match => convertMatch(match)));
successCallback(
response.status, response.data.sort(
(a, b) => a.position > b.position
).map(
match => convertMatch(match)
)
);
})
.catch(errorCallback);
}

View File

@ -141,8 +141,8 @@ class CreateTournamentForm extends React.Component {
</Col>
</Row>
<WarningPopup
text={'Füge bitte noch ' + (this.state.groupAdvance - this.state.teams.length)
+ ' Team(s) hinzu, um ' + this.state.groupAdvance + ' Team(s) im Playoff zu haben.'}
text={'Füge bitte noch ' + (this.state.groupAdvance - this.state.teams.length) +
' Team(s) hinzu, um ' + this.state.groupAdvance + ' Team(s) im Playoff zu haben.'}
shown={this.state.teams.length < this.state.groupAdvance}/>
</FormGroup>
</Collapse>

View File

@ -9,8 +9,6 @@ import {TurniereNavigation} from '../js/components/Navigation';
import {BigImage} from '../js/components/BigImage';
import {Footer} from '../js/components/Footer';
config.autoAddCss = false;
function Main() {
return (<div className="main">
<Marketing/>
@ -73,8 +71,8 @@ function MainBottomSummary() {
<div className="col-lg-6">
<h2>Ich habe einen Turniercode bekommen. Was nun?</h2>
<p>
Der Turniercode führt dich direkt zu einem Turnier. Gebe dafür den Code <a className="text-success"
href="#turniercode-form">oben</a> ein,
Der Turniercode führt dich direkt zu einem Turnier. Gebe dafür den Code
<a className="text-success" href="#turniercode-form">oben</a> ein,
dann wirst du sofort weitergeleitet. </p>
</div>
</div>

View File

@ -9,11 +9,11 @@ import {Footer} from '../js/components/Footer';
import TournamentList from '../js/components/TournamentList';
import RequireLogin from '../js/components/RequireLogin';
import { LinkButton } from '../js/components/LinkButton';
import {LinkButton} from '../js/components/LinkButton';
class PrivateTournamentsPage extends React.Component {
render() {
return (<RequireLogin loginMessage='Sie müssen angemeldet sein, um Ihre privaten Turniere zu sehen.'>
return (<RequireLogin loginMessage="Sie müssen angemeldet sein, um Ihre privaten Turniere zu sehen.">
<div className="main generic-fullpage-bg">
<Head>
<title>Private Turniere: turnie.re</title>
@ -42,10 +42,10 @@ function PrivateTournamentsPageContent(props) {
</Container>
<Container className="pb-5 pt-3">
<ButtonGroup>
<LinkButton href="/list" outline={false} color='primary'>zu den öffentlichen Turnieren</LinkButton>
<LinkButton href="/list" outline={false} color="primary">zu den öffentlichen Turnieren</LinkButton>
{
props.isSignedIn &&
<LinkButton href="/create" outline={false} color='success'>neues Turnier erstellen</LinkButton>
<LinkButton href="/create" outline={false} color="success">neues Turnier erstellen</LinkButton>
}
</ButtonGroup>
</Container>
@ -57,7 +57,7 @@ class PrivateTournamentsCard extends React.Component {
return (<Card className="shadow">
<CardBody>
<h1 className="custom-font">Private Turniere</h1>
<TournamentList type='private'/>
<TournamentList type="private"/>
</CardBody>
</Card>);
}

View File

@ -4,7 +4,7 @@ import {ErrorPageComponent} from '../js/components/ErrorComponents';
import {getTournament} from '../js/redux/tournamentApi';
import {
Col,
Container, Navbar, NavbarBrand, NavItem, Row, Spinner
Container, Row, Spinner
} from 'reactstrap';
import {QRCodeSVG} from 'qrcode.react';
import {Group} from '../js/components/GroupStage';
@ -14,22 +14,22 @@ function FullscreenPage(props) {
let logo;
if (props.showLogo) {
logo = <Col>
<div className="d-flex justify-content-center align-items-center">
<img height='300' width='300' src='/static/images/bpwstr_logo.png'></img>
</div>
</Col>;
<div className="d-flex justify-content-center align-items-center">
<img height="300" width="300" src="/static/images/bpwstr_logo.png"></img>
</div>
</Col>;
} else {
logo = <div />;
logo = <div/>;
}
return (<div>
<Container className='fs-5' fluid>
<Row className='row-cols-4'>
{props.groups.map(group => <Col className='mb-2'><Group group={group} key={group.id}/></Col>)}
<Container className="fs-5" fluid>
<Row className="row-cols-4">
{props.groups.map(group => <Col className="mb-2"><Group group={group} key={group.id}/></Col>)}
<Col>
<div className="d-flex justify-content-center align-items-center">
<QRCodeSVG
className='shadow mx-auto'
value='https://qr.bpwstr.de/2'
className="shadow mx-auto"
value="https://qr.bpwstr.de/2"
size="300"
/>
</div>
@ -40,13 +40,6 @@ function FullscreenPage(props) {
</div>);
}
function FullscreenPageHeader(props) {
return (<Navbar color='light' className='mb-4 border-bottom py-0'>
<NavbarBrand>{props.title}</NavbarBrand>
{props.page}/{props.maxPage}
</Navbar>);
}
class Main extends React.Component {
static async getInitialProps({query}) {
@ -121,9 +114,9 @@ class Main extends React.Component {
<Head>
<title>Vollbild-Ansicht: turnie.re</title>
</Head>
<Container className='p-5 text-center text-secondary'>
<Spinner size='sm'/>
<span className='ml-3'>lade Vollbild-Ansicht</span>
<Container className="p-5 text-center text-secondary">
<Spinner size="sm"/>
<span className="ml-3">lade Vollbild-Ansicht</span>
</Container>
</div>);
}

View File

@ -3,7 +3,7 @@ import React from 'react';
import {ErrorPageComponent} from '../js/components/ErrorComponents';
import {getTournamentMatches, getTournamentMeta} from '../js/redux/tournamentApi';
import {
Col, Container, DropdownItem, DropdownMenu, DropdownToggle, Navbar, NavbarBrand, NavItem, Row, UncontrolledDropdown,
Col, Container, DropdownItem, DropdownMenu, DropdownToggle, Navbar, NavbarBrand, Row, UncontrolledDropdown,
Spinner
} from 'reactstrap';
import {Match} from '../js/components/Match';