Tipp-Formular hinzugefügt
This commit is contained in:
@@ -14,3 +14,4 @@ TODO:
|
|||||||
- Klönkasten ungelesen Punkt (localStorage)
|
- Klönkasten ungelesen Punkt (localStorage)
|
||||||
- Deadline ist gesetzt, als nächstes Tippen
|
- Deadline ist gesetzt, als nächstes Tippen
|
||||||
- Login Formular flexibleres Backend
|
- Login Formular flexibleres Backend
|
||||||
|
- Modal Close Button fixen
|
||||||
|
|||||||
@@ -131,8 +131,8 @@ tr:hover{
|
|||||||
|
|
||||||
span.vs{
|
span.vs{
|
||||||
width: 20px;
|
width: 20px;
|
||||||
/* margin-left: 10%;
|
margin-left: 10px;
|
||||||
margin-right: 10%; */
|
margin-right: 10px;
|
||||||
height: 3px;
|
height: 3px;
|
||||||
background-color: black;
|
background-color: black;
|
||||||
}
|
}
|
||||||
@@ -161,12 +161,12 @@ h2 {
|
|||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
width: 100vw;
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.paarung {
|
.paarung {
|
||||||
margin: 10px 0;
|
margin: 10px 0;
|
||||||
width: 100vw;
|
width: 100%;
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
|
|||||||
@@ -1,12 +1,29 @@
|
|||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import ritzenbergenlib from "../../ritzenbergenlib";
|
import ritzenbergenlib from "../../ritzenbergenlib";
|
||||||
|
import "../../assets/css/bulitipp2.css";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
props: ["token"],
|
props: {
|
||||||
|
token: {
|
||||||
|
type: String,
|
||||||
|
required: false,
|
||||||
|
},
|
||||||
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
spieltag: "",
|
spieltag: "",
|
||||||
vmodelspieltag: "",
|
vmodelspieltag: "",
|
||||||
|
tipps: [
|
||||||
|
new ritzenbergenlib.Tipp(null, null, null),
|
||||||
|
new ritzenbergenlib.Tipp(null, null, null),
|
||||||
|
new ritzenbergenlib.Tipp(null, null, null),
|
||||||
|
new ritzenbergenlib.Tipp(null, null, null),
|
||||||
|
new ritzenbergenlib.Tipp(null, null, null),
|
||||||
|
new ritzenbergenlib.Tipp(null, null, null),
|
||||||
|
new ritzenbergenlib.Tipp(null, null, null),
|
||||||
|
new ritzenbergenlib.Tipp(null, null, null),
|
||||||
|
new ritzenbergenlib.Tipp(null, null, null)
|
||||||
|
]
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
asyncComputed: {
|
asyncComputed: {
|
||||||
@@ -26,52 +43,100 @@ export default {
|
|||||||
},
|
},
|
||||||
default: null,
|
default: null,
|
||||||
},
|
},
|
||||||
|
paarungen: {
|
||||||
|
get() {
|
||||||
|
if (this.spieltag == null) return null;
|
||||||
|
return fetch(
|
||||||
|
ritzenbergenlib.RitzenbergenLib.api(
|
||||||
|
"/bulitipp/paarungen.php?spieltag=" + this.spieltag
|
||||||
|
)
|
||||||
|
)
|
||||||
|
.then((response) => response.json())
|
||||||
|
.then((response) => response.data)
|
||||||
|
.then((response) =>
|
||||||
|
response.map((el) => {
|
||||||
|
return new ritzenbergenlib.Paarung(el[0], el[1], el[2]);
|
||||||
|
})
|
||||||
|
);
|
||||||
|
},
|
||||||
|
default: null,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
emits: ["logout"],
|
||||||
|
methods: {
|
||||||
|
getTeamImage(team: string) {
|
||||||
|
return ritzenbergenlib.RitzenbergenLib.api(
|
||||||
|
"/bulitipp/get-image.php?team=" + team
|
||||||
|
);
|
||||||
|
},
|
||||||
|
async tippen(){
|
||||||
|
this.tipps.forEach((tipp, i) => {
|
||||||
|
tipp.paarung = this.paarungen[i];
|
||||||
|
});
|
||||||
|
|
||||||
|
const params = new URLSearchParams({
|
||||||
|
spieltag: this.spieltag.toString(),
|
||||||
|
tipps: JSON.stringify(this.tipps)
|
||||||
|
});
|
||||||
|
|
||||||
|
let result=await fetch(
|
||||||
|
ritzenbergenlib.RitzenbergenLib.api("/bulitipp/tippeintragen.php?"+params.toString()),
|
||||||
|
{
|
||||||
|
method: "GET",
|
||||||
|
headers: {
|
||||||
|
Authorization: "Bearer " + this.token,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
);
|
||||||
|
console.log(result);
|
||||||
|
}
|
||||||
},
|
},
|
||||||
emits: ["logout"]
|
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
|
<div v-if="(spieltag == '' || spieltag == null) && userinfo != null">
|
||||||
|
<h1>Moin {{ userinfo.username }}!</h1>
|
||||||
|
<br /><br />
|
||||||
|
<form @submit.prevent="spieltag = parseInt(vmodelspieltag)">
|
||||||
|
<input
|
||||||
|
type="text"
|
||||||
|
v-model="vmodelspieltag"
|
||||||
|
placeholder="Spieltag"
|
||||||
|
required
|
||||||
|
/>
|
||||||
|
<input type="submit" value="Tippen" />
|
||||||
|
<br /><br />
|
||||||
|
<input type="button" value="Ausloggen" @click="$emit('logout')" />
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
<div class="tippenEintragen" v-else>
|
||||||
|
<form @submit.prevent="tippen" id="mainform">
|
||||||
|
<span class="paarung" v-for="(paarung,i) in paarungen" :key="paarung.id">
|
||||||
|
<img :src="getTeamImage(paarung.heim)" alt="" />
|
||||||
|
<span class="team-name">{{ paarung.heim }}</span>
|
||||||
|
|
||||||
<div v-if="(spieltag == '' || spieltag == null) && userinfo != null">
|
<input v-model="tipps[i].heim" type="number" min="0" class="score" required />
|
||||||
<h1>Moin {{ userinfo.username }}!</h1>
|
<span class="vs"></span>
|
||||||
<br /><br />
|
<input v-model="tipps[i].gast" type="number" min="0" class="score" required />
|
||||||
<form @submit.prevent="spieltag = parseInt(vmodelspieltag)">
|
<span class="team-name">{{ paarung.gast }}</span>
|
||||||
<input
|
<img :src="getTeamImage(paarung.gast)" alt="" /><br />
|
||||||
type="text"
|
</span>
|
||||||
v-model="vmodelspieltag"
|
<!--<h1>Deadline überschritten!</h1>
|
||||||
placeholder="Spieltag"
|
|
||||||
required
|
|
||||||
/>
|
|
||||||
<input type="submit" value="Tippen" />
|
|
||||||
<br><br>
|
|
||||||
<input type="button" value="Ausloggen" @click="$emit('logout')" />
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
<div class="tippenEintragen" v-else>
|
|
||||||
<form @submit.prevent="" id="mainform">
|
|
||||||
<span class="paarung">
|
|
||||||
<img src="./get-buli-image.php?team=Bremen" alt="" />
|
|
||||||
<span class="team-name">Heim</span>
|
|
||||||
|
|
||||||
<input type="number" min="0" class="score" required />
|
|
||||||
<span class="vs"></span>
|
|
||||||
<input type="number" min="0" class="score" required />
|
|
||||||
<span class="team-name">Gast</span
|
|
||||||
><img src="./get-buli-image.php?team=Bremen" alt="" /><br />
|
|
||||||
</span>
|
|
||||||
<!--<h1>Deadline überschritten!</h1>
|
|
||||||
<h1>
|
<h1>
|
||||||
BuLi-Tipp ist noch nicht für diesen Spieltag vorbereitet worden...
|
BuLi-Tipp ist noch nicht für diesen Spieltag vorbereitet worden...
|
||||||
Versuch es wannanders nochmal!
|
Versuch es wannanders nochmal!
|
||||||
</h1>-->
|
</h1>-->
|
||||||
|
|
||||||
<input type="submit" value="Tippen" />
|
<input type="submit" value="Tippen" />
|
||||||
<br><br>
|
<br /><br />
|
||||||
<input type="button" value="Abbrechen" @click="spieltag=''" />
|
<input type="button" value="Abbrechen" @click="spieltag = ''" />
|
||||||
|
</form>
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
<style>
|
||||||
|
img {
|
||||||
|
width: 30px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|||||||
@@ -64,10 +64,23 @@ class Ergebnis {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
class Tipp{
|
||||||
|
heim: number|null;
|
||||||
|
gast: number|null;
|
||||||
|
paarung: Paarung|null;
|
||||||
|
|
||||||
|
constructor (paarung: Paarung|null, heim: number|null, gast: number|null) {
|
||||||
|
this.heim = heim;
|
||||||
|
this.gast = gast;
|
||||||
|
this.paarung = paarung;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
RitzenbergenLib,
|
RitzenbergenLib,
|
||||||
User,
|
User,
|
||||||
SpieltagSumme,
|
SpieltagSumme,
|
||||||
Paarung,
|
Paarung,
|
||||||
Ergebnis
|
Ergebnis,
|
||||||
|
Tipp
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user