account.js 3.6 KB

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