123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141 |
- import {setCookie} from "./cookiehelper.js";
- import {_serverUrl} from "./setting.js";
-
- const serverUrl = _serverUrl();
-
- const emailInputEl = document.getElementById("email");
- const passwordInputEl = document.getElementById("password");
- const emailErrEl = document.getElementById("emailErrMsg");
- const passwordErrEl = document.getElementById("passwordErrMsg");
- const emailContainerEl = document.getElementById("emailBox");
- const passwordContainerEl = document.getElementById("passwordBox");
- const showPasswordChk = document.getElementById("showPassword");
- const emailNextBtn = document.getElementById("emailNextBtn");
- const renterEmailLink = document.getElementById("renterEmail");
- const loginSubmitBtn = document.getElementById("loginSubmitBtn");
-
- passwordContainerEl.style.display = "none";
- emailInputEl.focus();
-
- function showPasswordBox() {
- const email = emailInputEl.value;
- if (validateEmailOrPhone()) {
- emailContainerEl.style.display = "none";
- passwordContainerEl.style.display = "block";
- document.getElementById("entered-email").innerHTML = email;
- passwordInputEl.focus();
- emailInputEl.classList.remove("error");
- emailErrEl.innerText = "";
- } else {
- emailInputEl.classList.add("error");
- emailErrEl.innerText = "Please enter valid email or phone";
- }
- }
-
- function validateEmailOrPhone() {
- const value = emailInputEl.value.trim();
- const regx = /^[6-9]\d{9}$/;
- if (value.includes("@") || regx.test(value)) {
- return true;
- }
- return false;
- }
-
- function togglePassword() {
- const ele = document.getElementById("showPassword");
- const password = passwordInputEl;
-
- if (password.value.length > 0) {
- passwordInputEl.value = password.value;
- password.focus();
- if (ele.checked) {
- password.setAttribute("type", "text");
- } else {
- password.setAttribute("type", "password");
- }
- }
- }
-
- function onPasswordFocusOut() {
- const passwordLabel = document.getElementById("passwordLabel");
- if (passwordInputEl.value.length > 0) {
- passwordLabel.classList.add("password-fixed");
- } else {
- passwordLabel.classList.remove("password-fixed");
- }
- }
-
- function onEmailFocusOut() {
- const emailLabel = document.getElementById("emailLabel");
- if (emailInputEl.value.trim()) {
- emailLabel.classList.add("password-fixed");
- } else {
- emailLabel.classList.remove("password-fixed");
- }
- }
-
- function loginUser(email, password) {
- const postData = JSON.stringify({
- UserName: email,
- Password: password,
- UnibaseId: "",
- RememberMe: false,
- });
-
- const requestOptions = {
- method: "POST",
- headers: {
- "Content-Type": "application/json",
- },
- body: postData,
- redirect: "follow",
- };
-
- fetch(serverUrl + "account/login", requestOptions)
- .then((response) => response.text())
- .then((result) => {
- const data = JSON.parse(result);
- if (data.status === 0) {
- setCookie("_idty", JSON.stringify(data.result), 1);
- window.location = "../authentication";
- } else {
- passwordErrEl.innerText = data.message;
- }
- })
- .catch((error) => {
- passwordErrEl.innerText = error;
- });
- }
-
- function validateLogin() {
- const email = emailInputEl.value;
- const password = passwordInputEl.value;
- if (password.trim().length !== 0) {
- loginUser(email, password);
- } else {
- passwordInputEl.classList.add("error");
- passwordErrEl.innerText = "Please enter valid password";
- }
- }
-
- function reEnterEmailClickHandler() {
- emailContainerEl.style.display = "block";
- passwordContainerEl.style.display = "none";
- emailInputEl.focus();
- }
-
- function initializeEventListeners() {
- emailNextBtn.addEventListener("click", showPasswordBox);
-
- showPasswordChk.addEventListener("click", togglePassword);
-
- passwordInputEl.addEventListener("focusout", onPasswordFocusOut);
-
- emailInputEl.addEventListener("focusout", onEmailFocusOut);
-
- loginSubmitBtn.addEventListener("click", validateLogin);
-
- renterEmailLink.addEventListener("click", reEnterEmailClickHandler);
- }
-
- initializeEventListeners();
|