From d7982e1e82337b309cd742e8dfcb6a46da4628e5 Mon Sep 17 00:00:00 2001
From: Modo
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 | 5 +
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, 210 insertions(+), 124 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 7628ed3..a30d825 100644
--- a/backend/rest_api.py
+++ b/backend/rest_api.py
@@ -18,7 +18,12 @@ def handle_first_launched():
folder_path = path.join(folder_path, "Unnamed_Password_Manager")
if not path.exists(folder_path):
mkdir(folder_path)
+
+@app.route('/favicon.ico')
+def favicon():
+ favicon_path = path.join(app.root_path, '../frontend/static', 'favicon.ico')
+ return send_file(favicon_path, mimetype='image/vnd.microsoft.icon')
@app.get("/")
@app.get("/")
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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
\ 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 @@
-
+
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 @@
+
+
\ 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 @@
+
+
+
Register