aboutsummaryrefslogtreecommitdiff
path: root/extension
diff options
context:
space:
mode:
authorsowgro <tpoke.ferrari@gmail.com>2024-10-21 11:48:11 -0400
committersowgro <tpoke.ferrari@gmail.com>2024-10-21 11:48:11 -0400
commit39571b5ec59077a8734ae8c571e39cd0a0c003c9 (patch)
treea5afc5e4aed7f13bcefadd4f54837ec85a3f7686 /extension
parent89f822c5a50cde9976786619a75c2ec0dd501450 (diff)
downloadbookmarks-home-39571b5ec59077a8734ae8c571e39cd0a0c003c9.tar.gz
bookmarks-home-39571b5ec59077a8734ae8c571e39cd0a0c003c9.tar.bz2
bookmarks-home-39571b5ec59077a8734ae8c571e39cd0a0c003c9.zip
Support firefox
Diffstat (limited to 'extension')
-rw-r--r--extension/package-lock.json26
-rw-r--r--extension/package.json4
-rw-r--r--extension/public/manifest.json10
-rw-r--r--extension/src/Bookmark.tsx2
-rw-r--r--extension/src/Folder.tsx2
-rw-r--r--extension/src/main.tsx7
6 files changed, 30 insertions, 21 deletions
diff --git a/extension/package-lock.json b/extension/package-lock.json
index a514e6c..a81f7f6 100644
--- a/extension/package-lock.json
+++ b/extension/package-lock.json
@@ -8,12 +8,14 @@
"name": "bookmarks-home",
"version": "0.0.0",
"dependencies": {
+ "@types/chrome": "^0.0.278",
+ "@types/firefox-webext-browser": "^120.0.4",
+ "@types/web": "^0.0.174",
"react": "^18.3.1",
"react-dom": "^18.3.1"
},
"devDependencies": {
"@eslint/js": "^9.9.0",
- "@types/chrome": "^0.0.277",
"@types/react": "^18.3.3",
"@types/react-dom": "^18.3.0",
"@vitejs/plugin-react": "^4.3.1",
@@ -1181,10 +1183,9 @@
}
},
"node_modules/@types/chrome": {
- "version": "0.0.277",
- "resolved": "https://registry.npmjs.org/@types/chrome/-/chrome-0.0.277.tgz",
- "integrity": "sha512-qoTgBcDWblSsX+jvFnpUlLUE3LAuOhZfBh9MyMWMQHDsQiYVgBvdZWu9COrdB9+aNnInEyXcFgfc2HE16sdSYQ==",
- "dev": true,
+ "version": "0.0.278",
+ "resolved": "https://registry.npmjs.org/@types/chrome/-/chrome-0.0.278.tgz",
+ "integrity": "sha512-PDIJodOu7o54PpSOYLybPW/MDZBCjM1TKgf31I3Q/qaEbNpIH09rOM3tSEH3N7Q+FAqb1933LhF8ksUPYeQLNg==",
"license": "MIT",
"dependencies": {
"@types/filesystem": "*",
@@ -1201,7 +1202,6 @@
"version": "0.0.36",
"resolved": "https://registry.npmjs.org/@types/filesystem/-/filesystem-0.0.36.tgz",
"integrity": "sha512-vPDXOZuannb9FZdxgHnqSwAG/jvdGM8Wq+6N4D/d80z+D4HWH+bItqsZaVRQykAn6WEVeEkLm2oQigyHtgb0RA==",
- "dev": true,
"license": "MIT",
"dependencies": {
"@types/filewriter": "*"
@@ -1211,14 +1211,18 @@
"version": "0.0.33",
"resolved": "https://registry.npmjs.org/@types/filewriter/-/filewriter-0.0.33.tgz",
"integrity": "sha512-xFU8ZXTw4gd358lb2jw25nxY9QAgqn2+bKKjKOYfNCzN4DKCFetK7sPtrlpg66Ywe3vWY9FNxprZawAh9wfJ3g==",
- "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@types/firefox-webext-browser": {
+ "version": "120.0.4",
+ "resolved": "https://registry.npmjs.org/@types/firefox-webext-browser/-/firefox-webext-browser-120.0.4.tgz",
+ "integrity": "sha512-lBrpf08xhiZBigrtdQfUaqX1UauwZ+skbFiL8u2Tdra/rklkKadYmIzTwkNZSWtuZ7OKpFqbE2HHfDoFqvZf6w==",
"license": "MIT"
},
"node_modules/@types/har-format": {
"version": "1.2.16",
"resolved": "https://registry.npmjs.org/@types/har-format/-/har-format-1.2.16.tgz",
"integrity": "sha512-fluxdy7ryD3MV6h8pTfTYpy/xQzCFC7m89nOH9y94cNqJ1mDIDPut7MnRHI3F6qRmh/cT2fUjG1MLdCNb4hE9A==",
- "dev": true,
"license": "MIT"
},
"node_modules/@types/json-schema": {
@@ -1252,6 +1256,12 @@
"@types/react": "*"
}
},
+ "node_modules/@types/web": {
+ "version": "0.0.174",
+ "resolved": "https://registry.npmjs.org/@types/web/-/web-0.0.174.tgz",
+ "integrity": "sha512-dT8gX38RUQjy+uruZg49EvloEa2S3gR0z2eRi557eTSFKqUSXkSCWYa0IY9uabX9MZPMGOu+1r8Qn6tsvJ1KnQ==",
+ "license": "Apache-2.0"
+ },
"node_modules/@typescript-eslint/eslint-plugin": {
"version": "8.7.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.7.0.tgz",
diff --git a/extension/package.json b/extension/package.json
index 620e922..2d0745e 100644
--- a/extension/package.json
+++ b/extension/package.json
@@ -15,7 +15,9 @@
},
"devDependencies": {
"@eslint/js": "^9.9.0",
- "@types/chrome": "^0.0.277",
+ "@types/chrome": "^0.0.278",
+ "@types/firefox-webext-browser": "^120.0.4",
+ "@types/web": "^0.0.174",
"@types/react": "^18.3.3",
"@types/react-dom": "^18.3.0",
"@vitejs/plugin-react": "^4.3.1",
diff --git a/extension/public/manifest.json b/extension/public/manifest.json
index cd012dc..79615c5 100644
--- a/extension/public/manifest.json
+++ b/extension/public/manifest.json
@@ -13,14 +13,6 @@
},
"author": "Owen Howell, Tyler Ferrari, Ariel Levy; students at RIT",
"permissions": [
- "bookmarks",
- "favicon"
- ],
- "web_accessible_resources": [
- {
- "resources": ["_favicon/*"],
- "matches": ["<all_urls>"],
- "extension_ids": ["*"]
- }
+ "bookmarks"
]
}
diff --git a/extension/src/Bookmark.tsx b/extension/src/Bookmark.tsx
index fcc6756..4e4476e 100644
--- a/extension/src/Bookmark.tsx
+++ b/extension/src/Bookmark.tsx
@@ -1,4 +1,4 @@
-import BookmarkTreeNode = chrome.bookmarks.BookmarkTreeNode;
+import BookmarkTreeNode = browser.bookmarks.BookmarkTreeNode;
function Bookmark(props: {data: BookmarkTreeNode}) {
return(
diff --git a/extension/src/Folder.tsx b/extension/src/Folder.tsx
index b7da330..37f5cf6 100644
--- a/extension/src/Folder.tsx
+++ b/extension/src/Folder.tsx
@@ -1,4 +1,4 @@
-import BookmarkTreeNode = chrome.bookmarks.BookmarkTreeNode;
+import BookmarkTreeNode = browser.bookmarks.BookmarkTreeNode;
import Bookmark from "./Bookmark.tsx";
function Folder (props: {data: BookmarkTreeNode}) {
diff --git a/extension/src/main.tsx b/extension/src/main.tsx
index 45019a5..d988d72 100644
--- a/extension/src/main.tsx
+++ b/extension/src/main.tsx
@@ -2,7 +2,12 @@ import { createRoot } from 'react-dom/client'
import './index.css'
import Folder from "./Folder.tsx";
-chrome.bookmarks.getTree(tree => {
+// @ts-ignore
+if (typeof browser === "undefined") {
+ var browser = chrome;
+}
+
+browser.bookmarks.getTree().then(tree => {
createRoot(document.getElementById('root')!).render(
// @ts-ignore
<Folder data={tree[0].children[0]} />