From 2ba36d3cd42201f93ebdf3175e9aa28364fb28c8 Mon Sep 17 00:00:00 2001
From: Modo <yashlaxman@gmail.com>
Date: Tue, 17 Oct 2023 23:44:10 +0530
Subject: [PATCH] Add error message to login, Fix Internal Error 500

Yeah i touched the rest api and fixed the internal favicon error :P
Cleaned up the pages and linked the error messages
---
 backend/rest_api.py        |  10 +-
 backend/static/favicon.ico | Bin 0 -> 67646 bytes
 frontend/arrow.svg         |   1 +
 frontend/dashboard.html    |   2 +-
 frontend/download.svg      |   4 +
 frontend/index.css         |   2 +-
 frontend/index.js          |  25 +---
 frontend/register.css      | 285 ++++++++++++++++++++++++-------------
 frontend/register.html     |  10 +-
 9 files changed, 214 insertions(+), 125 deletions(-)
 create mode 100644 backend/static/favicon.ico
 create mode 100644 frontend/arrow.svg
 create mode 100644 frontend/download.svg

diff --git a/backend/rest_api.py b/backend/rest_api.py
index 2dbd4a1..c0dcf32 100644
--- a/backend/rest_api.py
+++ b/backend/rest_api.py
@@ -13,7 +13,7 @@ def handle_first_launched():
     folder_path: str = appdirs.user_data_dir(appname="Unnamed_Password_Manager")
     if not path.exists(folder_path):
         mkdir(folder_path)
-
+             
 
 @app.get("/")
 @app.get("/<url_path>")
@@ -99,3 +99,11 @@ class QueryHandler:
             )
 
         return Response(status=200)
+
+import os
+from os import path
+
+@app.route('/favicon.ico')
+def favicon():
+    favicon_path = os.path.join(app.root_path, 'static', 'favicon.ico')
+    return send_file(favicon_path, mimetype='image/vnd.microsoft.icon')  
\ No newline at end of file
diff --git a/backend/static/favicon.ico b/backend/static/favicon.ico
new file mode 100644
index 0000000000000000000000000000000000000000..40dd7f5cd69f8a36d476c77784f1b78eb9453f44
GIT binary patch
literal 67646
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
Py?wQ~Cu-o|rh)$lKYBv+

literal 0
HcmV?d00001

diff --git a/frontend/arrow.svg b/frontend/arrow.svg
new file mode 100644
index 0000000..cbd2be9
--- /dev/null
+++ b/frontend/arrow.svg
@@ -0,0 +1 @@
+<?xml version="1.0" ?><!DOCTYPE svg  PUBLIC '-//W3C//DTD SVG 1.1//EN'  'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'><svg height="512px" id="Layer_1" style="enable-background:new 0 0 512 512;" version="1.1" viewBox="0 0 512 512" width="512px" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><polygon points="352,128.4 319.7,96 160,256 160,256 160,256 319.7,416 352,383.6 224.7,256 "/></svg>
\ No newline at end of file
diff --git a/frontend/dashboard.html b/frontend/dashboard.html
index a740708..093fe20 100644
--- a/frontend/dashboard.html
+++ b/frontend/dashboard.html
@@ -12,7 +12,7 @@
 
         </div>
     </div>
-    <script src="index.js"></script>
+    <script src=""></script>
 </body>
 
 <footer><p>© 2023 Password Manager</p></footer>
diff --git a/frontend/download.svg b/frontend/download.svg
new file mode 100644
index 0000000..8877e84
--- /dev/null
+++ b/frontend/download.svg
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg viewBox="0 0 500 500" xmlns="http://www.w3.org/2000/svg">
+  <polygon points="360.098 116.492 319.471 85.615 118.599 238.096 118.599 238.096 118.599 238.096 319.471 390.577 360.098 359.7 199.979 238.096" style="fill: rgb(255, 255, 255);" transform="matrix(1.0000000000000002, 0, 0, 1.0000000000000002, 0, 1.1102230246251565e-16)"/>
+</svg>
\ No newline at end of file
diff --git a/frontend/index.css b/frontend/index.css
index bcc6263..27df6bf 100644
--- a/frontend/index.css
+++ b/frontend/index.css
@@ -9,7 +9,7 @@ body {
   align-items: center;
   justify-content: center;
   background-image: url("bg.jpg");
-  background-size: cover;
+  background-size: 200% auto;
   background-position: center;
   background-repeat: no-repeat;
 }
diff --git a/frontend/index.js b/frontend/index.js
index 2adb4e5..0c7619b 100644
--- a/frontend/index.js
+++ b/frontend/index.js
@@ -47,32 +47,18 @@ console.log(formData)
     try {
         const response = await fetch('/login', {
             method: "post",
-            /* headers: {
-                'Content-Type': 'application/json'
-            }*/
             body: formData
         });
         
         if(response.ok) {
             window.location.href = "dashboard.html";
         } else if(!response.ok) {
-            if (response.status === 403) {
-                const error = new Error('Access denied: You do not have permission to access this resource.');
-                    document.getElementById("errlabel").innerHTML = "Invalid Details!";
+            const errorMessage = await response.text();
+            document.getElementById("errlabel").innerHTML = errorMessage;
                 setTimeout(()=> {
                     document.getElementById("errlabel").innerHTML = "";
                 },3000)
-                console.log(response)
-                throw error;
-            }
-        }
-
-        //error
-        const errorData = await response.json();
-        if (response.status === 401) {
-            throw new Error('Invalid username or password')
-        } else {
-            throw new Error(errorData.error)    
+            throw new Error(errorMessage);
         }
         
         // const data = await response.json();
@@ -83,10 +69,7 @@ console.log(formData)
 
 
     } catch (error) {
-        console.log(error);
-        if(error instanceof TypeError && error.message === 'Failed to fetch'){
-            console.log("Failed Server")
-        }
+        console.error('Error:', error.message);
     }
 
 }
diff --git a/frontend/register.css b/frontend/register.css
index ac1abf2..aed3c06 100644
--- a/frontend/register.css
+++ b/frontend/register.css
@@ -1,102 +1,189 @@
 * {
-    box-sizing: border-box;
-  }
-  
-  body {
-    background-color: dimgrey;
-    display: flex;
-    margin-top: 25px;
-    align-items: center;
-    justify-content: center;
-    background-image: url("bg.jpg");
-    background-size: cover;
-    background-position: center;
-    background-repeat: no-repeat;
-  }
-  
-  .wrapper {
-    display: flex;
-    width: 90vw;
-    height: 90vh;
-    align-items: center;
-    justify-content: center;
-  }
-  
-  
-  .container {
-    display: flex;
-    background-color: transparent;
-    backdrop-filter: blur(20px);
-    justify-content: center;
-    align-items: center;
-    width: 450px;
-    height: 400px;
-    flex-direction: column;
-    padding: 70px;
-    padding-bottom: 90px;
-    box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.6);
-    row-gap: 8px;
-    border-radius: 50px;
-  }
+  box-sizing: border-box;
+}
 
-  .input {
-    width: 300px;
-    height: 30px;
-    background-color: transparent;
-    color: rgb(255, 255, 255, 0.8);
-    box-shadow: 2px 2px 3px rgb(0, 0, 0, 0.5);
-    border: none;
-    border-top: rgba(255, 255, 255, 0.2) 2px solid;
-    border-left: rgb(255, 255, 255, 0.2) 2px solid;
-    border-radius: 10px;
-    padding-left: 5px;
-  }
-  
-  .idiv p {
-    color: white;
-    font-family: 'Pixelify Sans', cursive;
-    margin-left: 5px;
-  }
-  
-  #username::placeholder {
-    color: rgb(255, 255, 255, 0.5);
-    padding-left: 5px;
-  }
-  
-  #password::placeholder {
-    color: rgb(255, 255, 255, 0.5);
-    padding-left: 5px;
-  }
+body {
+  background-color: dimgrey;
+  display: flex;
+  margin-top: 25px;
+  align-items: center;
+  justify-content: center;
+  background-image: url("bg.jpg");
+  background-size: 200% auto;
+  background-position: center;
+  background-repeat: no-repeat;
+}
 
-  .idiv {
-    display: flex;
-    flex-direction: column;
-    row-gap: 10px;
-    justify-content: center;
-    padding: 7px;
-  }
-  
-  .idiv p{
-    padding: none;
-    margin: none;
-    display: absolute;
-    translate: 0px 12px;
-  }
-  
-  #loginb {
-    background-color: transparent;
-    color: rgb(255, 255, 255, 0.8);
-    padding: 7px;
-    margin-top: 20px;
-    margin-bottom: 20px;
-    width: 150px;
-    box-shadow: 2px 2px 5px rgb(0, 0, 0, 0.5);
-    translate: 0px -5px;
-    font-family: 'Pixelify Sans', cursive;
-    font-size: 20px;
-    border-radius: 10px;
-  }
-  
-  #loginb:active {
-    background-color: rgb(155, 155, 155, 0.3);
-  }
\ No newline at end of file
+.wrapper {
+  display: flex;
+  width: 90vw;
+  height: 90vh;
+  align-items: center;
+  justify-content: center;
+}
+
+
+.container {
+  display: flex;
+  background-color: transparent;
+  backdrop-filter: blur(20px);
+  justify-content: center;
+  align-items: center;
+  width: 450px;
+  height: 400px;
+  flex-direction: column;
+  padding: 70px;
+  padding-bottom: 90px;
+  box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.6);
+  row-gap: 8px;
+  border-radius: 50px;
+}
+
+#register {
+  display: block;
+  text-align: center;
+  font-family: 'Pixelify Sans', cursive;
+  font-size: 50px;
+  text-shadow: 2px 2px 5px rgb(0, 0, 0);
+  color: white;
+  translate: 0px 10px;
+}
+
+.input {
+  width: 300px;
+  height: 30px;
+  background-color: transparent;
+  color: rgb(255, 255, 255, 0.8);
+  box-shadow: 2px 2px 3px rgb(0, 0, 0, 0.5);
+  border: none;
+  border-top: rgba(255, 255, 255, 0.2) 2px solid;
+  border-left: rgb(255, 255, 255, 0.2) 2px solid;
+  border-radius: 10px;
+  padding-left: 5px;
+}
+
+.idiv p {
+  color: white;
+  font-family: 'Pixelify Sans', cursive;
+  margin-left: 5px;
+}
+
+#username::placeholder {
+  color: rgb(255, 255, 255, 0.5);
+  padding-left: 5px;
+}
+
+#password::placeholder {
+  color: rgb(255, 255, 255, 0.5);
+  padding-left: 5px;
+}
+
+#conpassword::placeholder {
+  color: rgb(255, 255, 255, 0.5);
+  padding-left: 5px;
+}
+
+.idiv input {
+  translate: 0px -20px;
+}
+
+.idiv {
+  display: flex;
+  flex-direction: column;
+  row-gap: 10px;
+  justify-content: center;
+  padding: 7px;
+}
+
+.idiv p{
+  padding: none;
+  margin: none;
+  display: absolute;
+  translate: 0px 12px;
+}
+
+#loginb {
+  background-color: transparent;
+  color: rgb(255, 255, 255, 0.8);
+  padding: 7px;
+  margin-top: 20px;
+  margin-bottom: 20px;
+  width: 150px;
+  box-shadow: 2px 2px 5px rgb(0, 0, 0, 0.5);
+  translate: 0px -5px;
+  font-family: 'Pixelify Sans', cursive;
+  font-size: 20px;
+  border-radius: 10px;
+}
+
+#loginb:active {
+  background-color: rgb(155, 155, 155, 0.3);
+}
+
+.help {
+  width: 100%;
+  display: flex;
+  justify-content: space-between;
+  align-items: center;
+
+}
+
+
+.help div{
+  display: flex;
+  width: 50%;
+  justify-content: center;
+}
+
+.error label {
+  position: absolute;
+  display: block;
+  justify-content: center;
+  translate: -50% 3px;
+  color: rgba(184, 156, 255, 0.9);
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 12px;
+  font-style: bold;
+  font-weight: bold;
+}
+
+a {
+  text-decoration: none;
+  color: rgba(255, 255, 255, 0.5);
+  text-align: center;
+  font-family: 'Poppins', sans-serif;
+  font-size: 12px;
+}
+
+a:active {
+  color: rgb(196, 196, 196, 10);
+}
+
+footer{
+  position: fixed;
+  bottom: 0px;
+  background-color: rgb(12, 12, 12);
+  height: 50px;
+  width: 100vw;
+}
+
+footer p{
+  color: white;
+  text-align: center;
+}
+
+#returnb {
+  position: absolute;
+  top: 30px;
+  left: 30px;
+  width: 35px;
+  height: 35px;
+  border-radius: 15px;
+  font-family: 'Pixelify Sans', cursive;
+  color: white;
+  background-color: transparent;
+  background-image: url('download.svg');
+  background-size: cover;
+
+  box-shadow: rgb(0, 0, 0) 0px 0px 10px;
+}
\ No newline at end of file
diff --git a/frontend/register.html b/frontend/register.html
index 94b19d8..9beca2f 100644
--- a/frontend/register.html
+++ b/frontend/register.html
@@ -4,22 +4,28 @@
 <head>
   <meta http-equiv="CONTENT-TYPE" content="text/html; charset=UTF-8">
   <link rel="stylesheet" href="register.css"/>
+  <link rel="preconnect" href="https://fonts.googleapis.com">
+  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+  <link href="https://fonts.googleapis.com/css2?family=Pixelify+Sans:wght@500&display=swap" rel="stylesheet">
   <title>Register</title>
 <body>
   <div class="wrapper">
        <div class="container">
 
+            <button onclick="location.href = 'index.html'" id="returnb"></button>
+
             <div>
-                <p id="login">Register</p>
+                <p id="register">Register</p>
             </div>
 
             <div class="idiv">
                 <input class="input" id="username" type="text" placeholder="Username">
                 <input class="input" id="password" type="password" placeholder="Pasword">
+                <input class="input" id="conpassword" type="password" placeholder="Confirm Pasword">
             </div>
 
             <div class="buttons">
-                <button id="loginb">Login</button>
+                <button id="loginb">Sign Up</button>
             </div>
 
         </div>