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 0000000..40dd7f5 Binary files /dev/null and b/backend/static/favicon.ico differ 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 @@ + \ 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
+ +
-

Register

+

Register

+
- +