From f24cfc32734a168254f0c0e4889a989bb69ee444 Mon Sep 17 00:00:00 2001 From: sowgro Date: Tue, 15 Oct 2024 23:20:33 -0400 Subject: populate widgets with actual bookmarks --- extension/src/Bookmark.tsx | 16 ++++++++++++++++ extension/src/Folder.tsx | 17 +++++++++++++++++ extension/src/index.css | 14 ++++++++++++++ extension/src/main.tsx | 45 +++++++++++++++++++++++++++++++++++++++++++++ extension/src/vite-env.d.ts | 1 + 5 files changed, 93 insertions(+) create mode 100644 extension/src/Bookmark.tsx create mode 100644 extension/src/Folder.tsx create mode 100644 extension/src/index.css create mode 100644 extension/src/main.tsx create mode 100644 extension/src/vite-env.d.ts (limited to 'extension/src') diff --git a/extension/src/Bookmark.tsx b/extension/src/Bookmark.tsx new file mode 100644 index 0000000..d9652a4 --- /dev/null +++ b/extension/src/Bookmark.tsx @@ -0,0 +1,16 @@ +interface BookmarkProps { + name: string; + url: string; + icon: string; +} + +function Bookmark(props: BookmarkProps) { + return( + + Bookmark icon + {props.name} + + ); +} + +export default Bookmark; \ No newline at end of file diff --git a/extension/src/Folder.tsx b/extension/src/Folder.tsx new file mode 100644 index 0000000..e831e62 --- /dev/null +++ b/extension/src/Folder.tsx @@ -0,0 +1,17 @@ +interface FolderProps { + name: string; + children?: React.ReactNode; +} + +function Folder (props: FolderProps) { + return ( +
+ {props.name} +
+ {props.children} +
+
+ ) +} + +export default Folder; \ No newline at end of file diff --git a/extension/src/index.css b/extension/src/index.css new file mode 100644 index 0000000..63a2a92 --- /dev/null +++ b/extension/src/index.css @@ -0,0 +1,14 @@ +.folder { + display: flex; + flex-direction: column; + border-width: 2px; + border-style: solid; + border-color: black; + padding: 2px; + margin: 2px; +} + +.folder > div { + display: flex; + flex-direction: column; +} \ No newline at end of file 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 ( + + { + lev.children ? lev.children.map(item => { + if (item.children) { + return createFolder(item) + } else { + return + } + }) : err + } + + ) +} + +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 diff --git a/extension/src/vite-env.d.ts b/extension/src/vite-env.d.ts new file mode 100644 index 0000000..11f02fe --- /dev/null +++ b/extension/src/vite-env.d.ts @@ -0,0 +1 @@ +/// -- cgit v1.2.3