diff --git a/frontend/assets/search2.svg b/frontend/assets/search2.svg
new file mode 100644
index 0000000..dedb2cd
--- /dev/null
+++ b/frontend/assets/search2.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/frontend/html/dashboard.html b/frontend/html/dashboard.html
index 1229bf1..59065b4 100644
--- a/frontend/html/dashboard.html
+++ b/frontend/html/dashboard.html
@@ -14,7 +14,7 @@
diff --git a/frontend/html/index.html b/frontend/html/index.html
index 08f8422..77ff60f 100644
--- a/frontend/html/index.html
+++ b/frontend/html/index.html
@@ -8,6 +8,7 @@
+
@@ -41,7 +42,7 @@
-
+
diff --git a/frontend/html/register.html b/frontend/html/register.html
index ac91956..c5f368d 100644
--- a/frontend/html/register.html
+++ b/frontend/html/register.html
@@ -30,7 +30,7 @@
-
+
diff --git a/frontend/scripts/dashboard.js b/frontend/scripts/dashboard.js
index 28b27f7..3bd59eb 100644
--- a/frontend/scripts/dashboard.js
+++ b/frontend/scripts/dashboard.js
@@ -1,17 +1,7 @@
-const search = document.getElementById('search');
+//-----------------------------------------------------------------------------------------(Getting Data)
let globaldata;
-search.addEventListener('keyup', function() {
- let result = search.value;
- if(result == ""){
- updatelist(globaldata)
- } else {
- console.log(result);
- updatelist(globaldata)
- }
-});
-
async function getData() {
try {
let response = await fetch('/get_data', {
@@ -23,9 +13,9 @@ async function getData() {
if(response.ok) {
let userdata = await response.json();
- console.log(userdata)
+ //console.log(userdata)
globaldata = userdata
- updatelist(userdata);
+ getFieldName(userdata)
} else if(!response.ok) {
const errorMessage = await response.text();
throw new Error(errorMessage);
@@ -35,40 +25,110 @@ async function getData() {
}
}
-
-// function addlist(userdata) {
-// let masterdata = [];
-// for (let field in userdata){
-// masterdata.push(userdata[field])
-// }
-// console.log(...masterdata)
-// updatelist(masterdata)
-// }
+//-----------------------------------------------------------------------------------------(Adds Values to Content Box)
const contentbox = document.querySelector('.objcontainer')
-function updatelist(userdata) {
- contentbox.innerHTML = ''
- for(let field in userdata){
- let fields = userdata[field];
- for (let data in fields) {
- if (fields.hasOwnProperty(data)) {
- let value = fields[data];
- updategui(field, data, value)
- console.log(field, data, value)
- }
-
- }
- }
-
+function updateListGui(field) {
+ let content = contentbox.innerHTML.concat(
+ `
+
+

+
${field["fieldname"]}
+
+
+ `
+ )
+ contentbox.innerHTML = content;
+
+ let btns = document.querySelectorAll('.entrybutton')
+ btns.forEach(btn => {
+ btn.addEventListener('click', () => {
+ updateInfoGui(btn.id);
+ });
+ });
}
-function updategui(title, key, value) {
- console.log(`${title},${key},${value}`)
- let content = contentbox.innerHTML.concat(`${title},${key},${value}
`)
- contentbox.innerHTML = content;
+
+// const data = {
+// Amazon: {
+// url: "https://www.amazon.com",
+// Name: "Yash",
+// Password: "123"
+// },
+// Google: {
+// url: "https://www.google.com",
+// Name: "XYZ",
+// Password: "Secret"
+// }
+// }
+
+function getFieldName(data) { //Gets All Field Values
+ let fieldnamearray = []
+ for(let field in data){
+ let fieldname = field
+ fieldnamearray.push(fieldname)
+ }
+ getDisplayList(fieldnamearray,data);
+ //console.log(fieldnamearray)
}
+function getFaviconUrl(fieldname,data) {
+ let fielddata = data[fieldname]
+ let url = fielddata["url"]
+ url = url.replace("https://",'')
+ faviconlink = `http://www.google.com/s2/favicons?domain=${url}`
+ return faviconlink
+}
+
+function getDisplayList(fieldnames,userdata){
+ contentbox.innerHTML = ''
+ for(let i in fieldnames){
+ let faviconurl = getFaviconUrl(fieldnames[i],userdata)
+ let guidata = {
+ fieldname: fieldnames[i],
+ url: faviconurl
+ }
+ updateListGui(guidata)
+ }
+}
+
+//-----------------------------------------------------------------------------------------
+
+const search = document.getElementById('search');
+
+search.addEventListener('keyup', function() {
+ let result = search.value;
+ if(result == ""){
+ getData()
+ } else {
+ getFilterList(result,globaldata)
+ //console.log(result);
+
+ }
+});
+
+function getFilterList(keyword,data) { //Gets Filtered Field Values
+ let filterarray = []
+ for(let field in data){
+ if(field.toLowerCase().indexOf(keyword) !== -1){
+ let fieldname = field
+ filterarray.push(fieldname)
+ }
+ }
+ getDisplayList(filterarray,data);
+ //console.log(filterarray)
+ }
+
+//-----------------------------------------------------------------------------------------
+
+
+function updateInfoGui(call) {
+ console.log(call)
+}
+
+//-----------------------------------------------------------------------------------------
+
window.onload = function() {
getData();
};
\ No newline at end of file
diff --git a/frontend/scripts/index.js b/frontend/scripts/index.js
index 343311c..747f269 100644
--- a/frontend/scripts/index.js
+++ b/frontend/scripts/index.js
@@ -51,7 +51,7 @@ console.log(formData)
});
if(response.ok) {
- window.location.href = "dashboard.html";
+ window.location.href = "../html/dashboard.html";
} else if(!response.ok) {
const errorMessage = await response.text();
document.getElementById("errlabel").innerHTML = errorMessage;
diff --git a/frontend/styles/dashboard.css b/frontend/styles/dashboard.css
index abf9b98..ad1202f 100644
--- a/frontend/styles/dashboard.css
+++ b/frontend/styles/dashboard.css
@@ -29,8 +29,9 @@ body {
background-color: rgb(0, 255, 255,0.2);
backdrop-filter: blur(15px);
border-radius: 30px;
- width: 90vw;
- height: 80vh;
+ position: relative;
+ width: 1100px;
+ height: 600px;
box-shadow: 0px 0px 30px rgba(0, 0, 0, 0.8);
overflow: hidden;
}
@@ -56,6 +57,8 @@ footer p{
border-radius: 20px;
height: 85%;
width: 40%;
+ /* height: 70vh;
+ width: 40vw; */
justify-content: center;
align-items: center;
}
@@ -84,12 +87,35 @@ footer p{
padding-right: 40px;
}
-.searchbar img {
- display: block;
+.searchbar button {
+ background-image: url("../assets/search.svg");
+ background-size: cover;
+ background-position: center;
+ display: inline-block;
position: absolute;
- top: 24%;
+ top: 20%;
right: 25px;
- width: 25px;
+ width: 30px;
+ height: 30px;
+ border: none;
+ background-color: transparent;
+ cursor: pointer;
+}
+
+.searchbar button:hover {
+ background-image: url(../assets/search2.svg);
+}
+
+.searchbar button:not(:hover) {
+ background-image: url(../assets/search.svg);
+}
+
+.searchbar:hover{
+ box-shadow: 0, 0, 5px;
+}
+
+.searchbar:not(:hover){
+ box-shadow: none;
}
.objcontainer {
@@ -109,14 +135,16 @@ footer p{
}
.objcontainer div{
+ display: flex;
padding: 20px;
width: 90%;
- height: 200px;
+ height: 50px;
background-color: rgb(255, 255, 255, 0.5);
- text-align: center;
+ text-align: left;
box-shadow: 0 0 10px black;
border: rgba(0, 255, 255, 0.5) 1px solid;
overflow: hidden;
+ align-items: center;
}
.objcontainer div:hover {
@@ -127,6 +155,35 @@ footer p{
background-color: rgb(255, 255, 255, 0.5);
}
+.objcontainer div button{
+ position: absolute;
+ right: 40px;
+ background-color: hsl(0, 0%, 100%, 0.5);
+ border-radius: 10px;
+ padding: 5px;
+ font-weight: bold;
+ box-shadow: 0 0 5px;
+ cursor: pointer;
+}
+
+.objcontainer div button:hover{
+ background-color: rgb(128, 128, 128, 0.7);
+}
+
+.objcontainer div button:not(:hover){
+ background-color: hsl(0, 0%, 100%, 0.5);
+}
+
+.objcontainer div img{
+ width: 30px;
+}
+
+.objcontainer div p{
+ padding-left: 20px;
+ font-family: 'Trebuchet MS', 'Lucida Sans Unicode', 'Lucida Grande', 'Lucida Sans', Arial, sans-serif;
+ font-weight: bold;
+}
+
.querybox {
display: flex;
justify-content: center;
@@ -171,4 +228,12 @@ footer p{
::-webkit-scrollbar-thumb:hover {
background: hsl(0, 0%, 33%);
+}
+
+@media (max-width: 860px) {
+ .container{
+ position: fixed;
+ width: 774px;
+ }
+
}
\ No newline at end of file
diff --git a/frontend/styles/index.css b/frontend/styles/index.css
index ded948c..e16d9c6 100644
--- a/frontend/styles/index.css
+++ b/frontend/styles/index.css
@@ -119,7 +119,6 @@ body {
}
-
.help div{
display: flex;
width: 50%;