login.js 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. export default {
  2. rendered: false,
  3. render: function(){
  4. document.getElementById("loginEmail").focus();
  5. this.checkUser();
  6. if(!this.rendered){
  7. this.buttons();
  8. this.createSubmit();
  9. this.rendered = true;
  10. }
  11. },
  12. buttons: function(){
  13. document.getElementById("loginToRegister").addEventListener("click", ()=>{
  14. changePage("register");
  15. });
  16. },
  17. createSubmit: function(){
  18. document.getElementById("loginForm").addEventListener("submit", (event)=>{
  19. event.preventDefault();
  20. fetch("/user/login", {
  21. method: "put",
  22. headers: {
  23. "Content-Type": "application/json"
  24. },
  25. body: JSON.stringify({
  26. email: document.getElementById("loginEmail").value,
  27. pass: document.getElementById("loginPass").value
  28. })
  29. })
  30. .then(r=>r.json())
  31. .then((response)=>{
  32. if(response.error){
  33. notify("error", response.error.message);
  34. }else{
  35. changePage("home", response);
  36. }
  37. })
  38. .catch((err)=>{
  39. console.log(err);
  40. notify("error", "Something went wrong, try refreshing the page");
  41. });
  42. });
  43. },
  44. checkUser: function(){
  45. fetch("/user", {
  46. method: "GET",
  47. headers: {
  48. "Content-Type": "application/json"
  49. }
  50. })
  51. .then(r=>r.json())
  52. .then((response)=>{
  53. if(!response.error){
  54. changePage("home", response);
  55. }
  56. })
  57. .catch((err)=>{});
  58. }
  59. }