-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.js
64 lines (57 loc) · 1.82 KB
/
index.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
let myLeads = [];
let inputValue = document.getElementById("inputValue");
let saveBtn = document.getElementById("saveButton");
let ul = document.getElementById("ul-el");
let clearBtn = document.getElementById("clearButton")
let saveTabs = document.getElementById("saveTabs")
let leadStorage = JSON.parse(localStorage.getItem("myLeads")) //getting stored values in Local Storage
let listItems = "";
saveTabs.addEventListener("click", () => {
chrome.tabs.query({
active: true,
currentWindow: true
}, function (tabs) {
let currentUrl = tabs[0].url;
let currentUrlTittle = tabs[0].title;
const maxLength = 30;
if (currentUrl.length > maxLength) {
currentUrl = currentUrlTittle.substring(0, maxLength) + "....";
}
myLeads.push(currentUrl);
localStorage.setItem("myLeads", JSON.stringify(myLeads));
renderData(myLeads);
});
});
let renderData = (lead) => {
listItems = ""; // reset listItems to avoid duplicates
for (let i = 0; i < lead.length; i++) {
listItems += `
<li>
<a target="_blank" href="${lead[i]}">${lead[i]}</a>
</li>`
}
ul.innerHTML = listItems;
};
if (leadStorage) {
myLeads = leadStorage
renderData(myLeads)
}
saveBtn.addEventListener("click", () => {
let lead = inputValue.value.trim(); // remove any leading or trailing whitespace
if (lead === "") {
return;
}
if (myLeads.includes(lead)) { // check if lead already exists
alert("This lead already exists.");
} else {
myLeads.push(lead);
inputValue.value = "";
localStorage.setItem("myLeads", JSON.stringify(myLeads))
renderData(myLeads);
}
});
clearBtn.addEventListener("dblclick", () => {
localStorage.clear()
myLeads = []
renderData(myLeads)
});