import React, {useEffect, useState} from "react"; import SettingsEditor from "./SettingsEditor.tsx"; import Folder from "./Folder.tsx"; import imageUrl from "./assets/settings.svg" import BookmarkTreeNode = browser.bookmarks.BookmarkTreeNode; // @ts-ignore if (typeof browser === "undefined") { var browser = chrome; } export const RootFolder = React.createContext({ rootFolder: '0', setRootFolder: (arg0: string) => {} }); export const BookmarkTree = React.createContext({ bookmarkTree: [] as BookmarkTreeNode[], setBookmarkTree: (arg0: BookmarkTreeNode[]) => {} }) function Body() { const [settingsOpen, setSettingsOpen] = useState(false); const [rootFolder, setRootFolder] = useState('1') const [bookmarkTree, setBookmarkTree] = useState([]) const [ogBookmarkTree, setOgBookmarkTree] = useState([]) useEffect(() => { browser.bookmarks.getTree().then(t => { setOgBookmarkTree(t); }) }, []) useEffect(() => { browser.bookmarks.getSubTree(rootFolder).then(t => { setBookmarkTree(t); }); }, [rootFolder]); console.log("Body re-render") return ( {settingsOpen && ()} {bookmarkTree[0] && ()} ) } export default Body