Merge branch 'ticket/TURNIERE-243' into ticket/TURNIERE-135

This commit is contained in:
Felix Hamme 2019-06-06 18:26:56 +02:00
commit 4854847454
3 changed files with 55 additions and 61 deletions

View File

@ -0,0 +1,31 @@
import React from 'react';
import {connect} from 'react-redux';
import Head from 'next/head';
import {TurniereNavigation} from './Navigation';
import {Login} from './Login';
import {Footer} from './Footer';
class RequireLogin extends React.Component {
render() {
if (this.props.isSignedIn) {
return this.props.children;
}
const loginHint = this.props.loginMessage === undefined ?
'Sie müssen angemeldet sein, um diesen Inhalt anzuzeigen!' : this.props.loginMessage;
return (<div className="main generic-fullpage-bg">
<Head>
<title>Anmeldung</title>
</Head>
<TurniereNavigation/>
<div>
<Login hint={loginHint}/>
</div>
<Footer/>
</div>);
}
}
export default connect(state => {
return {isSignedIn: state.userinfo.isSignedIn};
})(RequireLogin);

View File

@ -4,25 +4,19 @@ import {notify} from 'react-notify-toast';
import {connect} from 'react-redux'; import {connect} from 'react-redux';
import posed from 'react-pose'; import posed from 'react-pose';
import { import {Button, Card, CardBody, Container, CustomInput, Form, FormGroup, Input, Label} from 'reactstrap';
Button, Card, CardBody, Container, CustomInput, Form, FormGroup, Input, Label
} from 'reactstrap';
import {TurniereNavigation} from '../js/components/Navigation'; import {TurniereNavigation} from '../js/components/Navigation';
import {Footer} from '../js/components/Footer'; import {Footer} from '../js/components/Footer';
import {UserRestrictor, Option} from '../js/components/UserRestrictor';
import {Login} from '../js/components/Login';
import EditableStringList from '../js/components/EditableStringList'; import EditableStringList from '../js/components/EditableStringList';
import {createTournament} from '../js/api'; import {createTournament} from '../js/api';
import '../static/css/everypage.css'; import '../static/css/everypage.css';
import RequireLogin from '../js/components/RequireLogin';
class CreatePage extends React.Component { class CreatePage extends React.Component {
render() { render() {
const {isSignedIn} = this.props; return (<RequireLogin loginMessage='Sie müssen angemeldet sein, um ein neues Turnier zu erstellen.'>
return (<UserRestrictor>
<Option condition={isSignedIn}>
<div className="main generic-fullpage-bg"> <div className="main generic-fullpage-bg">
<Head> <Head>
<title>Turnier erstellen: turnie.re</title> <title>Turnier erstellen: turnie.re</title>
@ -33,20 +27,7 @@ class CreatePage extends React.Component {
</div> </div>
<Footer/> <Footer/>
</div> </div>
</Option> </RequireLogin>);
<Option condition={true}>
<div className="main generic-fullpage-bg">
<Head>
<title>Anmeldung</title>
</Head>
<TurniereNavigation/>
<div>
<Login hint="Sie müssen angemeldet sein, um diesen Inhalt anzuzeigen!"/>
</div>
<Footer/>
</div>
</Option>
</UserRestrictor>);
} }
} }

View File

@ -6,18 +6,14 @@ import {Card, CardBody, Container} from 'reactstrap';
import {TurniereNavigation} from '../js/components/Navigation'; import {TurniereNavigation} from '../js/components/Navigation';
import {Footer} from '../js/components/Footer'; import {Footer} from '../js/components/Footer';
import {Option, UserRestrictor} from '../js/components/UserRestrictor';
import {Login} from '../js/components/Login';
import '../static/css/everypage.css'; import '../static/css/everypage.css';
import TournamentList from '../js/components/TournamentList'; import TournamentList from '../js/components/TournamentList';
import RequireLogin from '../js/components/RequireLogin';
class PrivateTournamentsPage extends React.Component { class PrivateTournamentsPage extends React.Component {
render() { render() {
const {isSignedIn} = this.props; return (<RequireLogin loginMessage='Sie müssen angemeldet sein, um Ihre privaten Turniere zu sehen.'>
return (<UserRestrictor>
<Option condition={isSignedIn}>
<div className="main generic-fullpage-bg"> <div className="main generic-fullpage-bg">
<Head> <Head>
<title>Private Turniere: turnie.re</title> <title>Private Turniere: turnie.re</title>
@ -26,21 +22,7 @@ class PrivateTournamentsPage extends React.Component {
<PrivateTournamentsPageContent/> <PrivateTournamentsPageContent/>
<Footer/> <Footer/>
</div> </div>
</Option> </RequireLogin>);
<Option condition={true}>
<div className="main generic-fullpage-bg">
<Head>
<title>Anmeldung</title>
</Head>
<TurniereNavigation/>
<div>
<Login
hint="Sie müssen angemeldet sein, um diesen Inhalt anzuzeigen!"/>
</div>
<Footer/>
</div>
</Option>
</UserRestrictor>);
} }
} }