aboutsummaryrefslogtreecommitdiff
path: root/extension/src/main.tsx
diff options
context:
space:
mode:
authorsowgro <tpoke.ferrari@gmail.com>2024-10-15 23:20:33 -0400
committersowgro <tpoke.ferrari@gmail.com>2024-10-15 23:20:33 -0400
commitf24cfc32734a168254f0c0e4889a989bb69ee444 (patch)
tree629f0eddce0442283084e2e1910f661ed0e8a1c0 /extension/src/main.tsx
parent0eb5b8dcd94453e0aed45001e29761bd1d6c0b0e (diff)
downloadbookmarks-home-f24cfc32734a168254f0c0e4889a989bb69ee444.tar.gz
bookmarks-home-f24cfc32734a168254f0c0e4889a989bb69ee444.tar.bz2
bookmarks-home-f24cfc32734a168254f0c0e4889a989bb69ee444.zip
populate widgets with actual bookmarks
Diffstat (limited to 'extension/src/main.tsx')
-rw-r--r--extension/src/main.tsx45
1 files changed, 45 insertions, 0 deletions
diff --git a/extension/src/main.tsx b/extension/src/main.tsx
new file mode 100644
index 0000000..36df6f6
--- /dev/null
+++ b/extension/src/main.tsx
@@ -0,0 +1,45 @@
+import { createRoot } from 'react-dom/client'
+import './index.css'
+import Folder from "./Folder.tsx";
+import BookmarkTreeNode = chrome.bookmarks.BookmarkTreeNode;
+import Bookmark from "./Bookmark.tsx";
+
+chrome.bookmarks.getTree((tree) => {
+ createRoot(document.getElementById('root')!).render(createFolder(tree[0]))
+});
+
+function createFolder(lev: BookmarkTreeNode) {
+ return (
+ <Folder name={lev.title}>
+ {
+ lev.children ? lev.children.map(item => {
+ if (item.children) {
+ return createFolder(item)
+ } else {
+ return <Bookmark name={item.title} url={item.url ? item.url : ""} icon={faviconURL(item.url)} />
+ }
+ }) : <span>err</span>
+ }
+ </Folder>
+ )
+}
+
+function faviconURL(u: string | undefined) {
+ if (!u) {
+ return "";
+ }
+ u = new URL(u).origin.toString();
+ const url = new URL(chrome.runtime.getURL("/_favicon/"));
+ url.searchParams.set("pageUrl", u);
+ url.searchParams.set("size", "32");
+ console.log(u)
+ return url.toString();
+}
+
+
+// chrome.bookmarks.create(
+// {'parentId': '0', 'title': 'Bookmarks Extension'},
+// function (newFolder) {
+// console.log("added folder: " + newFolder.title);
+// },
+// ); \ No newline at end of file