X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=client%2Fclient_OLD%2Fjavascripts%2Fcomponents%2FupsertUser.js;fp=client%2Fclient_OLD%2Fjavascripts%2Fcomponents%2FupsertUser.js;h=0000000000000000000000000000000000000000;hb=8d61fc4ab7373b4a576f3f9108cdf7768ae27096;hp=cca959e50cfa5c337b5ce76a9391a48a1620d4fd;hpb=760865ac92508676c0047b84c5ba3e12d41d7c20;p=vchess.git
diff --git a/client/client_OLD/javascripts/components/upsertUser.js b/client/client_OLD/javascripts/components/upsertUser.js
deleted file mode 100644
index cca959e5..00000000
--- a/client/client_OLD/javascripts/components/upsertUser.js
+++ /dev/null
@@ -1,160 +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"] = "";
- // Store our identifiers in local storage (by little anticipation...)
- localStorage["myid"] = res.id;
- localStorage["myname"] = res.name;
- }
- setTimeout(() => {
- this.infoMsg = "";
- if (this.stage == "Register")
- this.stage = "Login";
- document.getElementById("modalUser").checked = false;
- }, 2000);
- },
- err => {
- this.infoMsg = "";
- alert(err);
- }
- );
- },
- }
-});