X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=public%2Fjavascripts%2Fcomponents%2FupsertUser.js;fp=public%2Fjavascripts%2Fcomponents%2FupsertUser.js;h=0000000000000000000000000000000000000000;hb=625022fdcf750f0aff8fcd699f7e9b89730e1d10;hp=dde6708e5f5453f61641f8db9fb45ef8d60becfe;hpb=b955c65b942d09d24b5c3bed0d755d4f2f8f71f1;p=vchess.git
diff --git a/public/javascripts/components/upsertUser.js b/public/javascripts/components/upsertUser.js
deleted file mode 100644
index dde6708e..00000000
--- a/public/javascripts/components/upsertUser.js
+++ /dev/null
@@ -1,157 +0,0 @@
-// Logic to login, or create / update a user (and also logout)
-vv = Vue.component('my-upsert-user', {
- data: function() {
- return {
- user: user, //initialized with global user object
- nameOrEmail: "", //for login
- stage: (!user.email ? "Login" : "Update"),
- infoMsg: "",
- enterTime: Number.MAX_SAFE_INTEGER, //for a basic anti-bot strategy
- };
- },
- template: `
-
-
-
-
-
-
{{ stage }}
-
-
-
-
-
-
-
{{ infoMsg }}
-
-
-
- `,
- computed: {
- submitMessage: function() {
- switch (this.stage)
- {
- case "Login":
- return "Go";
- case "Register":
- return "Send";
- case "Update":
- return "Apply";
- }
- },
- displayInfo: function() {
- return (this.infoMsg.length > 0 ? "block" : "none");
- },
- },
- methods: {
- trySetEnterTime: function(event) {
- if (!!event.target.checked)
- this.enterTime = Date.now();
- },
- toggleStage: function() {
- // Loop login <--> register (update is for logged-in users)
- this.stage = (this.stage == "Login" ? "Register" : "Login");
- },
- ajaxUrl: function() {
- switch (this.stage)
- {
- case "Login":
- return "/sendtoken";
- case "Register":
- return "/register";
- case "Update":
- return "/update";
- }
- },
- ajaxMethod: function() {
- switch (this.stage)
- {
- case "Login":
- return "GET";
- case "Register":
- return "POST";
- case "Update":
- return "PUT";
- }
- },
- infoMessage: function() {
- switch (this.stage)
- {
- case "Login":
- return "Connection token sent. Check your emails!";
- case "Register":
- return "Registration complete! Please check your emails.";
- case "Update":
- return "Modifications applied!";
- }
- },
- onSubmit: function() {
- // Basic anti-bot strategy:
- const exitTime = Date.now();
- if (this.stage == "Register" && exitTime - this.enterTime < 5000)
- return; //silently return, in (curious) case of it was legitimate
- let error = undefined;
- if (this.stage == 'Login')
- {
- const type = (this.nameOrEmail.indexOf('@') >= 0 ? "email" : "name");
- error = checkNameEmail({[type]: this.nameOrEmail});
- }
- else
- error = checkNameEmail(this.user);
- if (!!error)
- return alert(error);
- this.infoMsg = "Processing... Please wait";
- ajax(this.ajaxUrl(), this.ajaxMethod(),
- this.stage == "Login" ? { nameOrEmail: this.nameOrEmail } : this.user,
- res => {
- this.infoMsg = this.infoMessage();
- if (this.stage != "Update")
- {
- this.nameOrEmail = "";
- this.user["email"] = "";
- this.user["name"] = "";
- }
- setTimeout(() => {
- this.infoMsg = "";
- if (this.stage == "Register")
- this.stage = "Login";
- document.getElementById("modalUser").checked = false;
- }, 2000);
- },
- err => {
- this.infoMsg = "";
- alert(err);
- }
- );
- },
- }
-});