From afc18a4caf7df3c25dbdd3c8b2fad0a9813027c0 Mon Sep 17 00:00:00 2001 From: sowgro Date: Sun, 3 Nov 2024 14:53:42 -0500 Subject: Working root folder drop down --- extension/src/Body.tsx | 2 +- extension/src/SettingsEditor.tsx | 27 +++++++++++++++++++++++---- 2 files changed, 24 insertions(+), 5 deletions(-) (limited to 'extension') diff --git a/extension/src/Body.tsx b/extension/src/Body.tsx index 7d56265..df1c325 100644 --- a/extension/src/Body.tsx +++ b/extension/src/Body.tsx @@ -12,7 +12,7 @@ function Body(props: {tree: BookmarkTreeNode[]}) { - {settingsOpen && ()} + {settingsOpen && ()} diff --git a/extension/src/SettingsEditor.tsx b/extension/src/SettingsEditor.tsx index 3e9fc93..7568bad 100644 --- a/extension/src/SettingsEditor.tsx +++ b/extension/src/SettingsEditor.tsx @@ -1,8 +1,9 @@ import RadioButtonGroup from "./RadioButtonGroup.tsx"; import React, {useState} from "react"; import imageUrl from "./assets/close.svg" +import BookmarkTreeNode = browser.bookmarks.BookmarkTreeNode; -function SettingsEditor(props: {closer: (arg0: boolean) => void}) { +function SettingsEditor(props: {tree: BookmarkTreeNode[], closer: (arg0: boolean) => void}) { const [backgroundType, setBackgroundType] = useState("fromTheme"); const [sort, setSort] = useState("fromBookmarks"); const [rootFolder, setRootFolder] = useState('0'); @@ -21,6 +22,10 @@ function SettingsEditor(props: {closer: (arg0: boolean) => void}) { +

Background Type

setBackgroundType(e)}> @@ -37,9 +42,9 @@ function SettingsEditor(props: {closer: (arg0: boolean) => void}) {

Root folder


@@ -51,4 +56,18 @@ function SettingsEditor(props: {closer: (arg0: boolean) => void}) { ) } +function getFoldersFromTree(tree: BookmarkTreeNode[]) { + let folderList: BookmarkTreeNode[] = []; + rec(tree); + function rec(tree: BookmarkTreeNode[]) { + tree.forEach(item => { + if (item.children) { + folderList.push(item); + rec(item.children); + } + }) + } + return folderList; +} + export default SettingsEditor; \ No newline at end of file -- cgit v1.2.3