login.js 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. export default {
  2. rendered: false,
  3. render: function(){
  4. document.getElementById("loginEmail").focus();
  5. if(!this.rendered){
  6. this.buttons();
  7. this.createSubmit();
  8. this.rendered = true;
  9. }
  10. },
  11. buttons: function(){
  12. document.getElementById("loginToRegister").addEventListener("click", ()=>{
  13. changePage("register");
  14. });
  15. },
  16. createSubmit: function(){
  17. document.getElementById("loginForm").addEventListener("submit", (event)=>{
  18. event.preventDefault();
  19. fetch("/user/login", {
  20. method: "put",
  21. headers: {
  22. "Content-Type": "application/json"
  23. },
  24. body: JSON.stringify({
  25. email: document.getElementById("loginEmail").value,
  26. pass: document.getElementById("loginPass").value
  27. })
  28. })
  29. .then(r=>r.json())
  30. .then((response)=>{
  31. if(response.error){
  32. notify("error", response.error.message);
  33. }else{
  34. localStorage.setItem("loggedIn", "true");
  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. }