X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=client%2Fsrc%2Fcomponents%2FUpsertUser.vue;h=2be637c678d0c52331779dcde795f4d40587ca32;hb=f0c68a04e31bb6a4b2f8b94a532ef3ca2eebbe3e;hp=eb8adffc2da8e21b2f086b284f8b2f451f35d96a;hpb=866842c3c310524c034922870234120ed2a16cbf;p=vchess.git diff --git a/client/src/components/UpsertUser.vue b/client/src/components/UpsertUser.vue index eb8adffc..2be637c6 100644 --- a/client/src/components/UpsertUser.vue +++ b/client/src/components/UpsertUser.vue @@ -11,25 +11,25 @@ div .card label.modal-close(for="modalUser") h3.section {{ st.tr[stage] }} - form(@submit.prevent="onSubmit()" @keyup.enter="onSubmit()") + div(@keyup.enter="onSubmit()") div(v-show="stage!='Login'") fieldset - label(for="username") {{ st.tr["User name"] }} - input#username( + label(for="u_username") {{ st.tr["User name"] }} + input#u_username( type="text" - v-model="st.user.name" + v-model="user.name" ) fieldset - label(for="useremail") {{ st.tr["Email"] }} - input#useremail( + label(for="u_useremail") {{ st.tr["Email"] }} + input#u_useremail( type="email" - v-model="st.user.email" + v-model="user.email" ) fieldset label(for="notifyNew") {{ st.tr["Notifications by email"] }} input#notifyNew( type="checkbox" - v-model="st.user.notify" + v-model="user.notify" ) div(v-show="stage=='Login'") fieldset @@ -67,17 +67,18 @@ export default { logStage: "Login", //or Register infoMsg: "", enterTime: Number.MAX_SAFE_INTEGER, //for a basic anti-bot strategy - st: store.state + st: store.state, + user: {} }; }, watch: { nameOrEmail: function(newValue) { if (newValue.indexOf("@") >= 0) { - this.st.user.email = newValue; - this.st.user.name = ""; + this.user.email = newValue; + this.user.name = ""; } else { - this.st.user.name = newValue; - this.st.user.email = ""; + this.user.name = newValue; + this.user.email = ""; } } }, @@ -102,6 +103,12 @@ export default { if (event.target.checked) { this.infoMsg = ""; this.enterTime = Date.now(); + document.getElementById("u_username").focus(); + this.user = { + name: this.st.user.name, + email: this.st.user.email, + notify: this.st.user.notify + }; } }, toggleStage: function() { @@ -135,7 +142,7 @@ export default { case "Login": return "Connection token sent. Check your emails!"; case "Register": - return "Registration complete! Please check your emails"; + return "Registration complete! Please check your emails now"; case "Update": return "Modifications applied!"; } @@ -149,7 +156,7 @@ export default { if (this.stage == "Login") { const type = this.nameOrEmail.indexOf("@") >= 0 ? "email" : "name"; error = checkNameEmail({ [type]: this.nameOrEmail }); - } else error = checkNameEmail(this.st.user); + } else error = checkNameEmail(this.user); if (error) { alert(this.st.tr[error]); return; @@ -160,10 +167,15 @@ export default { this.ajaxMethod(), this.stage == "Login" ? { nameOrEmail: this.nameOrEmail } - : this.st.user, + : this.user, () => { this.infoMsg = this.infoMessage(); if (this.stage != "Update") this.nameOrEmail = ""; + else { + this.st.user.name = this.user.name; + this.st.user.email = this.user.email; + this.st.user.notify = this.user.notify; + } }, err => { this.infoMsg = ""; @@ -181,7 +193,7 @@ export default {