diff --git a/frontend/src/pages/Profile.vue b/frontend/src/pages/Profile.vue index 7de88cd..29e472a 100644 --- a/frontend/src/pages/Profile.vue +++ b/frontend/src/pages/Profile.vue @@ -20,124 +20,120 @@
- -

Persönliche Daten

- + +
+

{{userName}}

+

{{email}}

+

Mein Rang: {{userRanking}}

+

Mein Team: {{teamName}}

+
+
+ + + + + + + + + + + + +
+ +
+
- -
- - - - - - - - - - - - - - Offene Teameinladungen - - - - - - - - - Neues Team erstellen - Neues Team erstellen
(Team verlassen um Option zu - nutzen) -
-
-
-
-
+ +
+

{{teamName}}

+

Unser Rang: {{teamRanking}}

+

+ {{currentTeamStatus}} + +

+ +
+ + +
-

Teamstatus

-

{{currentTeamStatus}}

- -
- -
-
-

Teammitglieder

- -
-

Einladungen

- -
- +

Teammitglieder

+ +
+
+ +
+
+ + +
+
+ +
+
-
-
- -
- - - - - - - - - - - -
@@ -175,55 +171,17 @@ teamName: null, boolAlreadyInTeam: false, teamRanking: null, - dropDownSelectedItem: null, - boolMyTeam: true, - boolInvites: false, - boolCreateTeam: false, newTeamName: "", leaveTeamCheck: "", teamMembers: [], teamInvites: [], - columns: [ - { - name: 'desc', - required: true, - align: 'left', - field: row => row.name, - format: val => `${val}`, - }, - { - name: 'userData', - required: true, - align: 'left', - field: 'userData', - } - ], - data: [ - { - name: 'Benutzername', - userData: this.userName, - }, - { - name: 'E-Mail', - userData: this.email, - }, - { - name: 'Rang', - userData: this.userRanking, - }, - { - name: 'Team', - userData: this.teamName, - }, - { - name: 'Team-Rang', - userData: this.teamRanking, - }, - ], + inviteActivated: false, + boolStatus: false, + boolMemberTableUpdating: false, teamColumns: [ { name: 'desc', - label: 'Benutzername', + label: 'Name', required: true, align: 'left', field: row => row.name, @@ -244,7 +202,6 @@ descending: false, page: 1, rowsPerPage: 10 - // rowsNumber: xx if getting data from a server }, } }, @@ -283,14 +240,40 @@ this.$store.commit('auth/SET_AUTHENTICATED'); this.$store.commit('auth/SET_USER'); this.userName = JSON.parse(localStorage.getItem('userToken')).name; - this.data[0].userData = this.userName; this.email = JSON.parse(localStorage.getItem('userMail')); - this.data[1].userData = this.email; this.getPersonalRanking(); this.getTeamData(); this.fetchTeamInvites(); }, methods: { + confirmLeave() { + this.$q.dialog({ + title: 'Verlassen...', + message: 'Willst du dein aktuelles Team wirklich verlassen?', + persistent: true, + cancel: true, + }).onOk(() => { + console.log('>>>> OK'); + this.leaveTeam(); + }).onCancel(() => { + console.log('>>>> Cancel') + }).onDismiss(() => { + }) + }, + activateInvite() { + if (this.inviteActivated) { + this.inviteActivated = false; + } else { + this.inviteActivated = true; + } + }, + updateStatus() { + if (this.boolStatus) { + this.boolStatus = false; + } else { + this.boolStatus = true; + } + }, validateEmail(email) { let 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()); @@ -300,7 +283,6 @@ this.$axios.get('/api/getRankingPlace', {params: {email}}) .then((response) => { this.userRanking = response.data; - this.data[2].userData = this.userRanking; }).catch((error) => { this.handleError(error); }) @@ -324,35 +306,12 @@ this.boolAlreadyInTeam = true; this.teamName = response.data.name; this.currentTeamStatus = response.data.teamStatus; - //this.teamRanking = response.data.teamRanking; this.fetchTeamMembers(); } - this.data[3].userData = this.teamName; - this.dropDownSelectedItem = this.teamName; - this.data[4].userData = this.teamRanking; console.log("getTeam: " + response); }).catch((error) => { this.handleError(error); - }) - }, - - dropDownSelectItem(item) { - if (item === 'team') { - this.dropDownSelectedItem = this.teamName; - this.boolMyTeam = true; - this.boolInvites = false; - this.boolCreateTeam = false; - } else if (item === 'Offene Teameinladungen') { - this.dropDownSelectedItem = item; - this.boolMyTeam = false; - this.boolInvites = true; - this.boolCreateTeam = false; - } else { - this.dropDownSelectedItem = item; - this.boolMyTeam = false; - this.boolInvites = false; - this.boolCreateTeam = true; - } + }); }, createTeam() { let params = {}; @@ -395,6 +354,7 @@ }) }, fetchTeamMembers() { + this.teamData = []; let name = this.teamName; this.$axios.get('/api/getTeamMembers', {params: {name}}) .then((response) => { @@ -510,6 +470,7 @@ }).catch((error) => { this.handleError(error); }) + this.updateStatus(); }, handleError(error) { // Error