Merge branch 'develop' into backend/michael

This commit is contained in:
Michael 2019-04-29 10:24:36 +02:00
commit 31d7bf3c51
2 changed files with 170 additions and 21 deletions

View File

@ -68,6 +68,7 @@ module.exports = function (ctx) {
'QEditor', 'QEditor',
'QSelect', 'QSelect',
'QField', 'QField',
'QBtnDropdown',
], ],
directives: [ directives: [

View File

@ -1,20 +1,21 @@
<template> <template>
<q-page class="column no-wrap"> <q-page class="column no-wrap">
<div class="bg-red col col-shrink" style=""> <div class="bg-red col col-shrink" style="">
<q-tabs <q-tabs
v-model="tab" v-model="tab"
class="bg-grey-2" class="bg-grey-2"
inline-label inline-label
align="justify" align="justify"
active-bg-color="bg-grey-1" active-bg-color="bg-grey-1"
active-color="cyan-14" active-color="cyan-14"
indicator-color="cyan-14" indicator-color="cyan-14"
switch-indicator switch-indicator
> >
<q-tab name="profile" label="Profil" icon="perm_identity"/> <q-tab name="profile" label="Profil" icon="perm_identity"/>
<q-tab name="startedCaches" label="Angefangene Caches" icon="playlist_play"/> <q-tab name="teams" label="Teams" icon="group"/>
<q-tab name="finishedCaches" label="Beendete Caches" icon="playlist_add_check"/> <q-tab name="startedCaches" label="Angefangene Caches" icon="playlist_play"/>
</q-tabs> <q-tab name="finishedCaches" label="Beendete Caches" icon="playlist_add_check"/>
</q-tabs>
<q-separator color="grey-4"/> <q-separator color="grey-4"/>
</div> </div>
@ -22,6 +23,145 @@
<q-tab-panels v-model="tab" animated swipeable class="col"> <q-tab-panels v-model="tab" animated swipeable class="col">
<q-tab-panel name="profile" class=" fit"> <q-tab-panel name="profile" class=" fit">
<div class="row">
<div class="col" align="center">
<b>
Mein Nutzername
</b>
</div>
<div class="col" align="center">
BuGaCacher2019
</div>
</div>
<hr/>
<div class="row text-center">
<div class="col">
<b>
Meine Email
</b>
</div>
<div class="col" align="center">
muster.mail@muster.de
</div>
</div>
<hr/>
<div class="row">
<div class="col" align="center">
<b>
Meine Ranglistenposition
</b>
</div>
<div class="col" align="center">
1234
</div>
</div>
<hr/>
<div class="row">
<div class="col" align="center">
<b>
Mein Team
</b>
</div>
<div class="col" align="center">
BuGa19Community
</div>
</div>
<hr/>
<div class="row">
<div class="col" align="center">
<b>
Teamranglistenposition
</b>
</div>
<div class="col" align="center">
2019
</div>
</div>
<hr/>
</q-tab-panel>
<q-tab-panel name="teams">
<div class="q-pa-md" align="center">
<q-btn-dropdown color="primary" label="BuGa19Community" size="20px">
<q-list>
<q-item clickable v-close-popup>
<q-item-section>
<q-item-label>BuGa19Community</q-item-label>
</q-item-section>
</q-item>
<q-item clickable v-close-popup>
<q-item-section avatar>
<q-avatar icon="group_add" color="primary" text-color="white"/>
</q-item-section>
<q-item-section>
<q-item-label>Offene Teameinladungen</q-item-label>
</q-item-section>
</q-item>
<q-item clickable v-close-popup>
<q-item-section avatar>
<q-avatar icon="add" color="primary" text-color="white"/>
</q-item-section>
<q-item-section>
<q-item-label>Neues Team erstellen</q-item-label>
</q-item-section>
</q-item>
</q-list>
</q-btn-dropdown>
</div>
<hr/>
<div align="center">
<b>
Teammitglieder
</b>
</div>
<br/>
<div align="center">
BuGaCacher2019
<br/>
Max
<br/>
Timo
<br/>
Katharina
<br/>
Michael
<br/>
Robin
</div>
<br/>
<div class="row">
<div class="col" align="center">
<q-input outlined filled stack-label v-model="inviteMail"
type="text" label="Email des Nutzers"
:rules="[val=>validateEmail(val)||'Bitte Email verwenden']"/>
</div>
<div class="col" align="center">
<q-btn label="Einladung versenden"
color="primary"
type="submit"/>
</div>
</div>
<hr/>
<div align="center">
<b>
Aktueller Teamstatus
</b>
</div>
<br/>
<div>
Dienstag 15:00 Treffen zum Blumencache.
</div>
<br/>
<q-input outlined filled stack-label v-model="teamStatus"
type="text" label="Neuer Teamstatus"/>
<div align="center">
<q-btn label="Teamstatus aktualisieren"
color="primary"
type="submit"/>
</div>
</q-tab-panel> </q-tab-panel>
<q-tab-panel name="startedCaches" class=" fit"> <q-tab-panel name="startedCaches" class=" fit">
@ -76,7 +216,9 @@
<!--<q-icon rounded color="cyan-14" name="location_on" size="3rem"/>--> <!--<q-icon rounded color="cyan-14" name="location_on" size="3rem"/>-->
</q-item-section> </q-item-section>
<q-item-section> <q-item-section>
<q-item-label caption>{{'Erhaltene Punkte für diesen Cache: ' + startedCache.cache.rankingPoints }}</q-item-label> <q-item-label caption>{{'Erhaltene Punkte für diesen Cache: ' + startedCache.cache.rankingPoints
}}
</q-item-label>
</q-item-section> </q-item-section>
<q-item-section side top class="self-center"> <q-item-section side top class="self-center">
@ -107,6 +249,8 @@
return { return {
tab: 'profile', tab: 'profile',
startedCaches: [], startedCaches: [],
inviteMail: "",
teamStatus: "",
} }
}, },
mounted: function () { mounted: function () {
@ -116,17 +260,17 @@
return this.$store.getters['auth/GET_ADMINSTATE']; return this.$store.getters['auth/GET_ADMINSTATE'];
} }
}, },
created: function() { created: function () {
this.fetchUserCaches(); this.fetchUserCaches();
this.$store.commit('auth/SET_AUTHENTICATED'); this.$store.commit('auth/SET_AUTHENTICATED');
this.$store.commit('auth/SET_USER'); this.$store.commit('auth/SET_USER');
}, },
methods: { methods: {
fetchUserCaches: function() { fetchUserCaches: function () {
const token = JSON.parse(localStorage.getItem('userToken')).token; const token = JSON.parse(localStorage.getItem('userToken')).token;
this.$axios.get('/api/getMyCaches', { params: {token}} ) this.$axios.get('/api/getMyCaches', {params: {token}})
.then((response) => { .then((response) => {
this.startedCaches = response.data; this.startedCaches = response.data;
}).catch((error) => { }).catch((error) => {
// Error // Error
let msg; let msg;
@ -147,11 +291,15 @@
console.log('Error', error.message); console.log('Error', error.message);
} }
console.log(error.config); console.log(error.config);
this.$store.commit('dialog/NEW_MESSAGE_DIALOG', { message: msg, title: title, }); this.$store.commit('dialog/NEW_MESSAGE_DIALOG', {message: msg, title: title,});
}) })
}, },
continueCache(cacheID) { continueCache(cacheID) {
} },
validateEmail(email) {
var re = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
return re.test(String(email).toLowerCase());
},
} }
} }
</script> </script>