account.js 3.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. window.accountObj = {
  2. display: function(){
  3. clearScreen();
  4. document.querySelector("#accountStrand").style.display = "flex";
  5. },
  6. editAccount: function(){
  7. event.preventDefault();
  8. document.querySelector("#accountDisplay").style.display = "none";
  9. document.querySelector("#accountEdit").style.display = "flex";
  10. },
  11. updateAccount: function(){
  12. event.preventDefault();
  13. let data = {
  14. name: document.querySelector("#accountName").value,
  15. email: document.querySelector("#accountEmail").value
  16. }
  17. if(validator.isSanitary(name)){
  18. axios.post("/merchant/update", data)
  19. .then((response)=>{
  20. if(typeof(response.data) === "string"){
  21. banner.createError(response.data);
  22. }else{
  23. merchant.name = data.name;
  24. merchant.email = data.email;
  25. document.querySelector("#accountDisplay").style.display = "flex";
  26. document.querySelector("#accountEdit").style.display = "none";
  27. let labels = document.querySelectorAll("#accountDisplay label");
  28. labels[0].children[0].innerText = merchant.name;
  29. labels[1].children[0].innerText = merchant.email;
  30. }
  31. })
  32. .catch((err)=>{
  33. banner.createError("Error: Your data could not be updated");
  34. });
  35. }
  36. },
  37. editAccountCancel: function(){
  38. event.preventDefault();
  39. document.querySelector("#accountDisplay").style.display = "flex";
  40. document.querySelector("#accountEdit").style.display = "none";
  41. },
  42. editPassword: function(){
  43. document.querySelector("#passwordEdit").style.display = "flex";
  44. document.querySelector("#accountStrand > button").style.display = "none";
  45. },
  46. updatePassword: function(){
  47. event.preventDefault();
  48. let oldPass = document.querySelector("#oldPass").value;
  49. let newPass = document.querySelector("#newPass").value;
  50. let confirmNewPass = document.querySelector("#confirmNewPass").value;
  51. if(validator.merchant.password(newPass, confirmNewPass)){
  52. axios.post("/merchant/password", {oldPass: oldPass, newPass: newPass})
  53. .then((response)=>{
  54. if(typeof(response.data) === "string"){
  55. banner.createError(response.data);
  56. }
  57. document.querySelector("#oldPass").value = "";
  58. document.querySelector("#newPass").value = "";
  59. document.querySelector("#confirmNewPass").value = "";
  60. document.querySelector("#passwordEdit").style.display = "none";
  61. document.querySelector("#accountStrand > button").style.display = "block";
  62. })
  63. .catch((err)=>{
  64. banner.createError("Error: please refresh page to check for updates");
  65. });
  66. }
  67. },
  68. editPasswordCancel: function(){
  69. event.preventDefault();
  70. document.querySelector("#oldPass").value = "";
  71. document.querySelector("#newPass").value = "";
  72. document.querySelector("#confirmNewPass").value = "";
  73. document.querySelector("#passwordEdit").style.display = "none";
  74. document.querySelector("#accountStrand > button").style.display = "block";
  75. }
  76. }