index.js 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. import EncryptionHandler from "./EncryptionHandler.js";
  2. import User from "./data/User.js";
  3. import Login from "./pages/Login.js";
  4. import Register from "./pages/Register.js";
  5. import Home from "./pages/Home.js";
  6. const pages = document.querySelector(".page");
  7. let currentPage;
  8. window.changePage = (page, data)=>{
  9. console.time("change page");
  10. currentPage.close();
  11. switch(page){
  12. case "login": currentPage = new Login(); break;
  13. case "register": currentPage = new Register(); break;
  14. case "home": currentPage = new Home(); break;
  15. }
  16. console.timeEnd("change page");
  17. }
  18. fetch("/api/user", {
  19. method: "GET",
  20. headers: {"Content-Type": "application/json"},
  21. })
  22. .then(r=>r.json())
  23. .then((response)=>{
  24. if(response.error) throw response;
  25. let key = localStorage.getItem("key");
  26. if(!key) throw null;
  27. window.user = new User(
  28. response.id,
  29. response.name,
  30. response.email,
  31. response.accounts
  32. );
  33. window.encryptionHandler = new EncryptionHandler(key);
  34. currentPage = new Home();
  35. })
  36. .catch((err)=>{
  37. currentPage = new Login();
  38. })