From 8c0646ffa14019b2647e3ccc8129903ac6ca0282 Mon Sep 17 00:00:00 2001 From: 7w1 Date: Wed, 1 Apr 2026 16:27:16 -0500 Subject: [PATCH 1/2] add setting to collapse folders by default --- .changeset/feat-collpase-folder-setting.md | 5 +++++ src/app/features/settings/cosmetics/Themes.tsx | 18 ++++++++++++++++++ src/app/state/openedSidebarFolder.ts | 5 +++++ src/app/state/settings.ts | 5 ++--- 4 files changed, 30 insertions(+), 3 deletions(-) create mode 100644 .changeset/feat-collpase-folder-setting.md diff --git a/.changeset/feat-collpase-folder-setting.md b/.changeset/feat-collpase-folder-setting.md new file mode 100644 index 000000000..b49339c45 --- /dev/null +++ b/.changeset/feat-collpase-folder-setting.md @@ -0,0 +1,5 @@ +--- +default: minor +--- + +Add a setting to collapse sidebar folders by default. diff --git a/src/app/features/settings/cosmetics/Themes.tsx b/src/app/features/settings/cosmetics/Themes.tsx index 707bab42c..1e449c65a 100644 --- a/src/app/features/settings/cosmetics/Themes.tsx +++ b/src/app/features/settings/cosmetics/Themes.tsx @@ -468,6 +468,10 @@ function PageZoomInput() { export function Appearance() { const [twitterEmoji, setTwitterEmoji] = useSetting(settingsAtom, 'twitterEmoji'); const [showEasterEggs, setShowEasterEggs] = useSetting(settingsAtom, 'showEasterEggs'); + const [closeFoldersByDefault, setCloseFoldersByDefault] = useSetting( + settingsAtom, + 'closeFoldersByDefault' + ); return ( @@ -485,6 +489,20 @@ export function Appearance() { /> + + + } + /> + + >( storeKey, (key) => { + const settings = getSettings(); + if (settings.closeFoldersByDefault) { + return new Set(); + } const arrayValue = getLocalStorageItem(key, []); return new Set(arrayValue); }, diff --git a/src/app/state/settings.ts b/src/app/state/settings.ts index 85ca08500..d8e56e9d2 100644 --- a/src/app/state/settings.ts +++ b/src/app/state/settings.ts @@ -110,13 +110,11 @@ export interface Settings { alwaysShowCallButton: boolean; faviconForMentionsOnly: boolean; highlightMentions: boolean; - /** - * whether to enable pk compat - */ pkCompat: boolean; pmpProxying: boolean; mentionInReplies: boolean; showPersonaSetting: boolean; + closeFoldersByDefault: boolean; // furry stuff renderAnimals: boolean; @@ -214,6 +212,7 @@ const defaultSettings: Settings = { pmpProxying: false, mentionInReplies: true, showPersonaSetting: false, + closeFoldersByDefault: false, // furry stuff renderAnimals: true, From 81b0233c78fa3eef7fd98b814a873beb55402cb4 Mon Sep 17 00:00:00 2001 From: 7w1 Date: Wed, 1 Apr 2026 17:31:48 -0500 Subject: [PATCH 2/2] add focusId to setting --- src/app/features/settings/cosmetics/Themes.tsx | 1 + 1 file changed, 1 insertion(+) diff --git a/src/app/features/settings/cosmetics/Themes.tsx b/src/app/features/settings/cosmetics/Themes.tsx index e2868b61b..3e5c8cac1 100644 --- a/src/app/features/settings/cosmetics/Themes.tsx +++ b/src/app/features/settings/cosmetics/Themes.tsx @@ -507,6 +507,7 @@ export function Appearance() {