Skip to content

Commit

Permalink
Bold tabs when a note is present
Browse files Browse the repository at this point in the history
  • Loading branch information
Rayquaza01 committed Sep 16, 2018
1 parent a0e0a7c commit 866d495
Show file tree
Hide file tree
Showing 3 changed files with 42 additions and 7 deletions.
2 changes: 1 addition & 1 deletion extension/notes.html
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
</div>
</div>
<div id="tabstrip" class="row header" data-active-tab="0">
<span class="tab active" data-tab="0">Tab 1</span>
<span class="tab active">Tab 1</span>
</div>
<div class="row content">
<textarea id="textarea" autofocus tabindex="1"></textarea>
Expand Down
45 changes: 40 additions & 5 deletions extension/notes.js
Original file line number Diff line number Diff line change
Expand Up @@ -54,13 +54,42 @@ async function saveGeneralNotes() {

async function saveSiteNotes() {
var res = await browser.storage.local.get("site_notes");
if (!res.site_notes.hasOwnProperty(DOM.back.innerText)) {
res.site_notes[DOM.back.innerText] = []
if (!res.site_notes.hasOwnProperty(DOM.back.dataset.currentSite)) {
res.site_notes[DOM.back.dataset.currentSite] = []
}
res.site_notes[DOM.back.innerText][DOM.tabstrip.dataset.activeTab] = DOM.textarea.value || "";
res.site_notes[DOM.back.dataset.currentSite][DOM.tabstrip.dataset.activeTab] = DOM.textarea.value || "";
browser.storage.local.set({site_notes: res.site_notes});
}

function bold(tab_ele, tab) {
if (tab !== "" && tab !== null) {
tab_ele.style.fontWeight = "bold";
} else {
tab_ele.style.fontWeight = "normal";
}
}

async function emboldenNotes(note) {
let res = await browser.storage.local.get();
let tabstrip = Array.from(DOM.tabstrip.children);
if (note === "general_notes") {
var parent = res;
} else {
var parent = res.site_notes;
}
if (parent.hasOwnProperty(note)) {
for (let index = 0; index < parent[note].length; index++) {
if (parent[note].hasOwnProperty(index)){
bold(tabstrip[index], parent[note][index]);
}
}
} else {
for (let tab of tabstrip) {
tab.style.fontWeight = "normal";
}
}
}

async function loadGeneralNotes() {
DOM.textarea.focus();
DOM.toggle.value = "general_notes";
Expand All @@ -71,6 +100,8 @@ async function loadGeneralNotes() {
DOM.textarea.value = res.general_notes[DOM.tabstrip.dataset.activeTab] || "";
DOM.back.innerText = "General Notes";
DOM.back.title = "General Notes";
DOM.back.dataset.currentSite = "general_notes"
emboldenNotes("general_notes")
DOM.textarea.addEventListener("input", saveGeneralNotes);
}

Expand All @@ -90,6 +121,8 @@ async function siteNoteSetup(site) {
DOM.textarea.value = text;
DOM.back.innerText = site;
DOM.back.title = site;
DOM.back.dataset.currentSite = site;
emboldenNotes(site)
DOM.textarea.addEventListener("input", saveSiteNotes);
}

Expand Down Expand Up @@ -355,12 +388,14 @@ function listUpdate(changes) {
}
}
}
emboldenNotes(DOM.back.dataset.currentSite)
}

async function tabSwitch(e) {
Array.from(DOM.tabstrip.children)[DOM.tabstrip.dataset.activeTab].className = "tab"
let tabstrip = Array.from(DOM.tabstrip.children);
tabstrip[DOM.tabstrip.dataset.activeTab].className = "tab";
e.target.className = "tab active";
DOM.tabstrip.dataset.activeTab = Array.from(DOM.tabstrip.children).indexOf(e.target);
DOM.tabstrip.dataset.activeTab = tabstrip.indexOf(e.target);
switch (DOM.toggle.value) {
case "domain":
case "url":
Expand Down
2 changes: 1 addition & 1 deletion extension/setup.js
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@ async function setBadgeSite(tab) {
if (site === "general_notes") {
setBadgeGeneral(tab);
} else if (!tab.incognito || (res.options.private_browsing && tab.incognito)) {
if (res.site_notes.hasOwnProperty(site)) {
if (res.site_notes.hasOwnProperty(site) && res.site_notes[site].hasOwnProperty(0)) {
setBadge(res.options.bullet_types, res.options.notification_badge, res.site_notes[site][0], tab.id);
} else {
browser.browserAction.setBadgeText({text: "", tabId: tab.id});
Expand Down

0 comments on commit 866d495

Please sign in to comment.