Skip to content

Commit e12c991

Browse files
committed
Added Unique Bookmarker Extension
1 parent fa98dbe commit e12c991

File tree

4 files changed

+83
-36
lines changed

4 files changed

+83
-36
lines changed

Bookmarkrr/Nachiket94/index.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@
4040
<div class="overlay hidden"></div>
4141
<div class="new_items_bar">
4242
<button class="btn new_grp" id="new_grp">New Group</button>
43-
<button class="btn new_bkm" id="new_bkm">New Bookmark</button>
43+
<button class="btn new_bkm hidden" id="new_bkm">New Bookmark</button>
4444
</div>
4545
<div class="list">
4646
<ul id="group_list">

Bookmarkrr/Nachiket94/script.js

+63-29
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
const new_bookmark_btn = document.getElementById("new_bkm");
2-
const new_grp = document.getElementById("new_grp");
2+
const new_grp_btn = document.getElementById("new_grp");
33
const overlay = document.querySelector(".overlay");
44
const closeBkmModal = document.querySelector(".closeBkm");
55
const closeGrpModal = document.querySelector(".closeGrp");
@@ -14,9 +14,15 @@ const getBookmarks = JSON.parse(localStorage.getItem("data"));
1414
const getGroups = JSON.parse(localStorage.getItem("groups"));
1515
const display_grp = document.getElementById("group_list");
1616
const display_bkm = document.getElementById("bookmarks_list");
17+
const groups_list_ul = document.querySelector(".list");
18+
const bkm_list_ul = document.querySelector(".bookmarks_block");
1719

20+
let tab_url;
21+
let tab_title;
22+
let list_item = "";
1823
let bookmarks_list = [];
1924
let groups_list = [];
25+
let current_grp;
2026
if(getBookmarks){
2127
bookmarks_list = getBookmarks;
2228
}
@@ -25,21 +31,35 @@ if(getGroups){
2531
groups_list = getGroups;
2632
}
2733

28-
const addBookmark = (name, url, groupName) =>{
29-
bookmarks_list.push({ name: name,
30-
url : url,
31-
grpName : groupName
34+
function addBookmark(name, url, groupName) {
35+
bookmarks_list.push({
36+
name: toTitleCase(name),
37+
url: url,
38+
grpName: groupName
3239
});
33-
};
40+
}
3441

35-
const addGroup = (name) => {
42+
function addGroup(name) {
3643
groups_list.push({
37-
name : name
38-
})
44+
name: toTitleCase(name)
45+
});
3946
}
4047

4148
function grp_name(e){
42-
console.log(e);
49+
let bkm_to_display = [];
50+
let bkm_to_display_url = [];
51+
bkm_names_list = bookmarks_list.map(a => a.name);
52+
bkm_url_list = bookmarks_list.map(a => a.url);
53+
let bkm_grp_list = bookmarks_list.map(a => a.grpName);
54+
console.log(bkm_names_list)
55+
for(let i = 0; i < bookmarks_list.length; i++){
56+
if(bkm_grp_list[i] == e){
57+
bkm_to_display.push(bkm_names_list[i]);
58+
bkm_to_display_url.push(bkm_url_list[i]);
59+
console.log(bkm_to_display)
60+
}
61+
}
62+
render_bkm(bkm_to_display, bkm_to_display_url);
4363
}
4464

4565
function render_grp(){
@@ -49,28 +69,34 @@ function render_grp(){
4969
button.href = element.name;
5070
button.value = element.name;
5171
button.onclick = ()=>{
72+
current_grp = element.name;
5273
grp_name(element.name);
74+
groups_list_ul.classList.add("hidden");
75+
bkm_list_ul.classList.toggle("hidden");
76+
new_bookmark_btn.classList.toggle("hidden");
77+
new_grp_btn.classList.add("hidden");
5378
};
5479
let li = document.createElement('li');
55-
button.innerText = toTitleCase(element.name);
80+
button.innerText = element.name;
5681
li.appendChild(button);
5782
display_grp.appendChild(li);
5883
});
5984
}
6085

61-
function render_bkm(){
86+
function render_bkm(names_list, url_list){
6287
display_bkm.innerText = "";
63-
bookmarks_list.forEach(element =>{
64-
let anchor = document.createElement('a');
65-
anchor.href = `${element.url}`;
66-
let li = document.createElement('li');
67-
li.innerText = toTitleCase(element.name);
68-
anchor.appendChild(li);
69-
display_bkm.appendChild(anchor);
70-
});
88+
list_item = "";
89+
for(let i = 0; i < names_list.length; i++){
90+
list_item += `
91+
<a href="${url_list[i]}" target="_blank">
92+
<li>${names_list[i]}</li>
93+
</a>
94+
<span class="delete">x</span>
95+
`
96+
}
97+
display_bkm.innerHTML = list_item;
7198
}
7299

73-
let grp = "adsf"
74100
// Functions Declaration
75101
function openModal(e){
76102
e.classList.remove("hidden");
@@ -84,13 +110,13 @@ function closeModal(e){
84110
render_grp();
85111
}
86112

113+
87114
new_items_submit.addEventListener('click', ()=>{
88-
if(new_bkm_name.value != "" && new_bkm_url.value != ""){
89-
addBookmark(new_bkm_name.value, new_bkm_url.value, grp);
90-
localStorage.setItem('data', JSON.stringify(bookmarks_list));
91-
new_bkm_name.value = "";
92-
new_bkm_url.value = "";
93-
}
115+
addBookmark(new_bkm_name.value, new_bkm_url.value, current_grp);
116+
localStorage.setItem('data', JSON.stringify(bookmarks_list));
117+
new_bkm_name.value = "";
118+
new_bkm_url.value = "";
119+
grp_name(current_grp);
94120
closeModal(new_items_modal)
95121
});
96122

@@ -104,10 +130,18 @@ new_grp_submit.addEventListener('click', ()=>{
104130
});
105131

106132
// Open and close New bookmarks modal
107-
new_bookmark_btn.addEventListener('click',()=>{openModal(new_items_modal)})
133+
new_bookmark_btn.addEventListener('click',()=>{
134+
chrome.tabs.query({active: true, lastFocusedWindow: true}, (tabs) => {
135+
tab_url = tabs[0].url;
136+
tab_title = tabs[0].title;
137+
new_bkm_name.value = tab_title;
138+
new_bkm_url.value = tab_url;
139+
});
140+
openModal(new_items_modal)
141+
})
108142
closeBkmModal.addEventListener('click',()=>{closeModal(new_items_modal)});
109143
// Open and close New Group Modal
110-
new_grp.addEventListener('click', ()=>{openModal(new_grp_modal)});
144+
new_grp_btn.addEventListener('click', ()=>{openModal(new_grp_modal)});
111145
closeGrpModal.addEventListener('click', ()=>{closeModal(new_grp_modal)});
112146
// Close on clicking on overlay
113147
overlay.addEventListener('click', ()=>{

Bookmarkrr/Nachiket94/style.css

+19-6
Original file line numberDiff line numberDiff line change
@@ -180,11 +180,6 @@ ul{
180180
#group_list li{
181181
list-style-type: none;
182182
}
183-
#group_list li:hover button:hover{
184-
cursor: pointer;
185-
text-decoration: underline;
186-
color: var(--white-clr);
187-
}
188183

189184
#bookmarks_list{
190185
display: grid;
@@ -198,11 +193,24 @@ ul{
198193
}
199194

200195
#bookmarks_list li{
201-
font-size: 1.1rem;
196+
font-size: 0.8rem;
202197
padding: 8px;
198+
color: var(--white-clr);
199+
max-width: 44ch;
203200
white-space: nowrap;
204201
overflow: hidden;
205202
text-overflow: ellipsis;
203+
border-bottom: 1px solid var(--back-clr-d1);
204+
}
205+
206+
#bookmarks_list a{
207+
text-decoration: none;
208+
}
209+
210+
#group_list li:hover button:hover , #bookmarks_list a:hover{
211+
cursor: pointer;
212+
text-decoration: underline;
213+
color: var(--white-clr);
206214
}
207215

208216
#bookmarks_list:first-child {
@@ -213,6 +221,11 @@ ul{
213221
#bookmarks_list:last-child {
214222
border-bottom-left-radius: 8px;
215223
border-bottom-right-radius: 8px;
224+
border-bottom: 0;
225+
}
226+
227+
.delete{
228+
position: absolute;
216229
}
217230

218231
::-webkit-scrollbar {

Bookmarkrr/Nachiket94/svgicon.png

13.2 KB
Loading

0 commit comments

Comments
 (0)