refactor bookmarks.js

This commit is contained in:
idk
2023-06-20 10:37:28 -04:00
parent 6e420bbb3c
commit 5bf171f266

View File

@@ -1,236 +1,122 @@
function bookmarksSetup() {
var gettingInfo = browser.runtime.getPlatformInfo();
gettingInfo.then((got) => {
if (got.os != "android") {
function bookmarks(bookmarkToolbar) {
console.log("(bookmarks)", bookmarkToolbar);
console.log("Setting up bookmark toolbar", bookmarkToolbar);
function bookHome(bookmarkItems) {
if (!bookmarkItems.length) {
function gotProxyInfo(info) {
let port = info.value.http.split(":")[1];
if (port == "7644") {
let createRhizomeBookmark = browser.bookmarks.create({
url: "about:I2p",
title: "I2P Extension Home Page",
parentId: bookmarkToolbar[0].id,
});
createRhizomeBookmark.then(onCreated);
} else {
let createBookmark = browser.bookmarks.create({
url: browser.runtime.getURL("home.html"),
title: "I2P Extension Home Page",
parentId: bookmarkToolbar[0].id,
});
createBookmark.then(onCreated);
}
console.log("(bookmarks) adding home page bookmark");
}
console.log(
"(bookmarks) checking if we're running in an I2P Browser"
);
let gettingProxyInfo = browser.proxy.settings.get({});
gettingProxyInfo.then(gotProxyInfo);
}
}
function bookTorrent(bookmarkItems) {
if (!bookmarkItems.length) {
function gotProxyInfo(info) {
let port = info.value.http.split(":")[1];
if (port == "7644") {
let createBookmark = browser.bookmarks.create({
url: "http://localhost:7657/i2psnark",
title: "Bittorrent",
parentId: bookmarkToolbar[0].id,
});
createBookmark.then(onCreated);
} else {
let createRhizomeBookmark = browser.bookmarks.create({
url:
"http://" +
control_host() +
":" +
control_port() +
"/i2psnark",
title: "Bittorrent",
parentId: bookmarkToolbar[0].id,
});
createRhizomeBookmark.then(onCreated);
}
}
console.log(
"(bookmarks) checking if we're running in an I2P Browser"
);
let gettingProxyInfo = browser.proxy.settings.get({});
gettingProxyInfo.then(gotProxyInfo);
}
}
function bookConsole(bookmarkItems) {
if (!bookmarkItems.length) {
function gotProxyInfo(info) {
let port = info.value.http.split(":")[1];
if (port == "7644") {
let createBookmark = browser.bookmarks.create({
url: "http://localhost:7657/home",
title: "I2P Console",
parentId: bookmarkToolbar[0].id,
});
createBookmark.then(onCreated);
} else {
let createRhizomeBookmark = browser.bookmarks.create({
url:
"http://" + control_host() + ":" + control_port() + "/home",
title: "I2P Console",
parentId: bookmarkToolbar[0].id,
});
createRhizomeBookmark.then(onCreated);
}
}
console.log(
"(bookmarks) checking if we're running in an I2P Browser"
);
let gettingProxyInfo = browser.proxy.settings.get({});
gettingProxyInfo.then(gotProxyInfo);
}
}
function bookMail(bookmarkItems) {
if (!bookmarkItems.length) {
function gotProxyInfo(info) {
let port = info.value.http.split(":")[1];
if (port == "7644") {
let createBookmark = browser.bookmarks.create({
url: "http://localhost:7657/webmail",
title: "Web Mail",
parentId: bookmarkToolbar[0].id,
});
createBookmark.then(onCreated);
} else {
let createRhizomeBookmark = browser.bookmarks.create({
url:
"http://" +
control_host() +
":" +
control_port() +
"/webmail",
title: "Web Mail",
parentId: bookmarkToolbar[0].id,
});
createRhizomeBookmark.then(onCreated);
}
console.log("(bookmarks) adding webmail bookmark");
}
console.log(
"(bookmarks) checking if we're running in an I2P Browser"
);
let gettingProxyInfo = browser.proxy.settings.get({});
gettingProxyInfo.then(gotProxyInfo);
}
}
function bookI2PTunnel(bookmarkItems) {
if (!bookmarkItems.length) {
function gotProxyInfo(info) {
let port = info.value.http.split(":")[1];
if (port == "7644") {
var createBookmark = browser.bookmarks.create({
url: "http://localhost:7657/i2ptunnel",
title: "Hidden Services Manager",
parentId: bookmarkToolbar[0].id,
});
createBookmark.then(onCreated);
} else {
var createRhizomeBookmark = browser.bookmarks.create({
url:
"http://" +
control_host() +
":" +
control_port() +
"/i2ptunnel",
title: "Hidden Services Manager",
parentId: bookmarkToolbar[0].id,
});
createRhizomeBookmark.then(onCreated);
}
console.log("(bookmarks) adding i2ptunnel bookmark");
}
console.log(
"(bookmarks) checking if we're running in an I2P Browser"
);
var gettingProxyInfo = browser.proxy.settings.get({});
gettingProxyInfo.then(gotProxyInfo);
}
}
async function createI2PToolbar(bookmarkToolbar) {
const ibbt = await browser.bookmarks.search("I2P Toolbar");
function onRejected(error) {
console.log(`An error : ${error}`);
}
function onCreated(node) {
console.log("Bookmarked", node);
}
async function onToolbarCreated(node) {
const ibt = await browser.bookmarks.search("I2P Toolbar");
await bookmarks(ibt[0]);
}
var b0 = browser.bookmarks.search({
title: "I2P Extension Home Page",
});
b0.then(bookHome, onRejected);
var b1 = browser.bookmarks.search({
title: "Bittorrent",
});
b1.then(bookTorrent, onRejected);
var b2 = browser.bookmarks.search({
title: "Hidden Services Manager",
});
b2.then(bookI2PTunnel, onRejected);
var b3 = browser.bookmarks.search({
title: "Web Mail",
});
b3.then(bookMail, onRejected);
var b4 = browser.bookmarks.search({
title: "I2P Console",
});
b4.then(bookConsole, onRejected);
defaultSettings["bookmarks_state"] = true;
}
var bt = browser.bookmarks.search({
query: "Toolbar",
async function setupDir(ibbt) {
if (!ibbt.length) {
const createBookmark = await browser.bookmarks.create({
title: "I2P Toolbar",
parentId: bookmarkToolbar.id,
});
function toolDir(bookmarkToolbar) {
let defaultSettings = {};
chrome.storage.local.set(defaultSettings);
console.log("(bookmarks) created");
var ibbt = browser.bookmarks.search("I2P Toolbar");
function setupDir(ibbt) {
function onToolbarCreated(node) {
var ibt = browser.bookmarks.search("I2P Toolbar");
ibt.then(bookmarks);
}
if (ibbt[0] == null) {
let createBookmark = browser.bookmarks.create({
title: "I2P Toolbar",
parentId: bookmarkToolbar[0].id,
});
createBookmark.then(onToolbarCreated);
}
}
ibbt.then(setupDir);
}
bt.then(toolDir);
function handleCreated(id, bookmarkInfo) {
//var propValue;
for (var propName in bookmarkInfo) {
let propValue = bookmarkInfo[propName];
console.log(propName, propValue);
}
}
browser.bookmarks.onCreated.addListener(handleCreated);
await onToolbarCreated(createBookmark);
}
}
await setupDir(ibbt);
}
async function bookmarks(bookmarkToolbar) {
const controlHost = control_host();
const controlPort = control_port();
async function createBookmark({ url, title, parentId }) {
const createRhizomeBookmark = await browser.bookmarks.create({
url,
title,
parentId,
});
console.log("Bookmarked", createRhizomeBookmark);
}
async function createHomeBookmark() {
const bookmarkItems = await browser.bookmarks.search({
title: "I2P Extension Home Page",
});
if (!bookmarkItems.length) {
await createBookmark({
url: browser.runtime.getURL("home.html"),
title: "I2P Extension Home Page",
parentId: bookmarkToolbar.id,
});
}
}
async function createTorrentBookmark() {
const bookmarkItems = await browser.bookmarks.search({
title: "Bittorrent",
});
if (!bookmarkItems.length) {
await createBookmark({
url: `http://${controlHost}:${controlPort}/i2psnark`,
title: "Bittorrent",
parentId: bookmarkToolbar.id,
});
}
}
async function createConsoleBookmark() {
const bookmarkItems = await browser.bookmarks.search({
title: "I2P Console",
});
if (!bookmarkItems.length) {
await createBookmark({
url: `http://${controlHost}:${controlPort}/home`,
title: "I2P Console",
parentId: bookmarkToolbar.id,
});
}
}
async function createMailBookmark() {
const bookmarkItems = await browser.bookmarks.search({
title: "Web Mail",
});
if (!bookmarkItems.length) {
await createBookmark({
url: `http://${controlHost}:${controlPort}/webmail`,
title: "Web Mail",
parentId: bookmarkToolbar.id,
});
}
}
async function createI2PTunnelBookmark() {
const bookmarkItems = await browser.bookmarks.search({
title: "Hidden Services Manager",
});
if (!bookmarkItems.length) {
await createBookmark({
url: `http://${controlHost}:${controlPort}/i2ptunnel`,
title: "Hidden Services Manager",
parentId: bookmarkToolbar.id,
});
}
}
await createHomeBookmark();
await createTorrentBookmark();
await createI2PTunnelBookmark();
await createMailBookmark();
await createConsoleBookmark();
defaultSettings.bookmarks_state = true;
}
async function bookmarksSetup() {
const gettingInfo = await browser.runtime.getPlatformInfo();
if (gettingInfo.os === "android") {
return;
}
const bookmarkToolbar = await browser.bookmarks.search({
query: "Toolbar",
});
await createI2PToolbar(bookmarkToolbar[0]);
}
function conditionalBookmarksSetup(obj) {