From 39c37d3a7993cf1b726ee8ab80ac286f453c90b2 Mon Sep 17 00:00:00 2001 From: sowgro Date: Sun, 3 Nov 2024 14:23:06 -0500 Subject: Settings sidebar works now --- extension/src/Body.tsx | 23 +++++++++++++++++++++++ extension/src/SettingsEditor.tsx | 32 ++++++++++++++++++++++---------- extension/src/assets/close.svg | 1 + extension/src/assets/settings.svg | 1 + extension/src/index.css | 24 ++++++++++++++++++++---- extension/src/main.tsx | 14 ++------------ 6 files changed, 69 insertions(+), 26 deletions(-) create mode 100644 extension/src/Body.tsx create mode 100644 extension/src/assets/close.svg create mode 100644 extension/src/assets/settings.svg (limited to 'extension') diff --git a/extension/src/Body.tsx b/extension/src/Body.tsx new file mode 100644 index 0000000..7d56265 --- /dev/null +++ b/extension/src/Body.tsx @@ -0,0 +1,23 @@ +import React, {useState} from "react"; +import SettingsEditor from "./SettingsEditor.tsx"; +import Folder from "./Folder.tsx"; +import imageUrl from "./assets/settings.svg" +import BookmarkTreeNode = browser.bookmarks.BookmarkTreeNode; + +function Body(props: {tree: BookmarkTreeNode[]}) { + const [settingsOpen, setSettingsOpen] = useState(false); + + return ( + <> + + {settingsOpen && ()} + + + ) +} + +export default Body \ No newline at end of file diff --git a/extension/src/SettingsEditor.tsx b/extension/src/SettingsEditor.tsx index 7335a18..3e9fc93 100644 --- a/extension/src/SettingsEditor.tsx +++ b/extension/src/SettingsEditor.tsx @@ -1,19 +1,18 @@ import RadioButtonGroup from "./RadioButtonGroup.tsx"; import React, {useState} from "react"; +import imageUrl from "./assets/close.svg" -function SettingsEditor() { +function SettingsEditor(props: {closer: (arg0: boolean) => void}) { const [backgroundType, setBackgroundType] = useState("fromTheme"); const [sort, setSort] = useState("fromBookmarks"); const [rootFolder, setRootFolder] = useState('0'); return ( -
-

Background Type

- setBackgroundType(e)}> - - - - +
+ +

Settings

Sort

setSort(e)}> @@ -23,6 +22,19 @@ function SettingsEditor() { +

Background Type

+ setBackgroundType(e)}> + + + + + +

Edit mode

+ +

Root folder

- + +
) } diff --git a/extension/src/assets/close.svg b/extension/src/assets/close.svg new file mode 100644 index 0000000..8c71124 --- /dev/null +++ b/extension/src/assets/close.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/extension/src/assets/settings.svg b/extension/src/assets/settings.svg new file mode 100644 index 0000000..551161c --- /dev/null +++ b/extension/src/assets/settings.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/extension/src/index.css b/extension/src/index.css index 79b8adb..a0d71b1 100644 --- a/extension/src/index.css +++ b/extension/src/index.css @@ -23,9 +23,6 @@ body { padding: 10px; right: 0; animation: slideIn 0.3s ease-in-out; -} - -#settings-menu form { display: flex; flex-direction: column; place-items: flex-start; @@ -49,7 +46,6 @@ body { border-style: solid; border-width: 1px; border-color: #393939; - padding: 2px; margin: 5px; padding: 10px; } @@ -67,6 +63,11 @@ body { user-select: none } +body > .folder { + margin: 0; + border-style: none; +} + /* Bookmark */ .bookmark { display: flex; @@ -97,4 +98,19 @@ a { text-decoration: none; } +#settings-close, #settings-button { + border-style: none; + background: none; + color: white; + padding: 5px; + margin: 5px; + position: absolute; + top: 0; + right: 0; +} + +#settings-close:hover, #settings-button:hover { + background-color: rgba(0, 0, 0, 0.3); +} + diff --git a/extension/src/main.tsx b/extension/src/main.tsx index e545526..0b6d9de 100644 --- a/extension/src/main.tsx +++ b/extension/src/main.tsx @@ -1,7 +1,6 @@ import { createRoot } from 'react-dom/client' import './index.css' -import Folder from "./Folder.tsx"; -import SettingsEditor from "./SettingsEditor.tsx"; +import Body from "./Body.tsx"; // @ts-ignore if (typeof browser === "undefined") { @@ -9,16 +8,7 @@ if (typeof browser === "undefined") { } browser.bookmarks.getTree().then(tree => { - createRoot(document.body).render( - <> -
- -
- - - ) + createRoot(document.body).render() }); // chrome.bookmarks.create( -- cgit v1.2.3