Просмотр исходного кода

Auto display home page if logged in.

Lee Morgan 11 месяцев назад
Родитель
Сommit
a4f0da5e7c

+ 4 - 0
src/views/css/index.css

@@ -74,6 +74,10 @@ body{
     cursor: pointer;
 }
 
+.button.circle{
+    border-radius: 50%;
+}
+
 .link, .standardForm .link{
     background: none;
     border: none;

+ 1 - 0
src/views/js/EncryptionHandler.js

@@ -5,6 +5,7 @@ export default class EncryptionHandler {
 
     static async create(password, salt){
         const key = await EncryptionHandler.generateEncryptionKey(password, salt);
+        localStorage.setItem("key", key);
         return new EncryptionHandler(key);
     }
 

+ 1 - 0
src/views/js/data/User.js

@@ -6,6 +6,7 @@ export default class User{
         this._name = name;
         this._email = email;
         this._accounts = accounts;
+        this._currentAccount = 0;
     }
 
     static async create(name, email, password){

+ 26 - 1
src/views/js/index.js

@@ -1,3 +1,6 @@
+import EncryptionHandler from "./EncryptionHandler.js";
+import User from "./data/User.js";
+
 import Login from "./pages/Login.js";
 import Register from "./pages/Register.js";
 import Home from "./pages/Home.js";
@@ -17,4 +20,26 @@ window.changePage = (page, data)=>{
     console.timeEnd("change page");
 }
 
-currentPage = new Login();
+fetch("/api/user", {
+    method: "GET",
+    headers: {"Content-Type": "application/json"},
+})
+    .then(r=>r.json())
+    .then((response)=>{
+        if(response.error) throw response;
+        let key = localStorage.getItem("key");
+        if(!key) throw null;
+
+        window.user = new User(
+            response.id,
+            response.name,
+            response.email,
+            response.accounts
+        );
+
+        window.encryptionHandler = new EncryptionHandler(key);
+        currentPage = new Home();
+    })
+    .catch((err)=>{
+        currentPage = new Login();
+    })

+ 6 - 2
src/views/js/pages/Home.js

@@ -9,8 +9,12 @@ export default class Home extends Page{
     }
 
     render(){
-        new Elem("h1")
-            .text("Home page")
+        new Elem("div")
+            .addClass("buttonBox")
+            .append(new Elem("button")
+                .text("+")
+                .addClass("button", "circle")
+            )
             .appendTo(this.container);
     }
 }