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 @@ - +

© 2023 Password Manager

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
+ +
-

Register

+

Register

+
- +