From 22323591c9a8bd97c61fc4f21aabd3b4b3d8d1fd Mon Sep 17 00:00:00 2001 From: Gigi Date: Mon, 6 Oct 2025 20:46:33 +0100 Subject: [PATCH] feat: add default highlight visibility settings - Add defaultHighlightVisibilityNostrverse/Friends/Mine to UserSettings interface - Add toggle controls in Settings page under Startup Preferences section - Apply default visibility settings on app startup in Bookmarks component - Users can now set which highlight levels (nostrverse/friends/mine) should be visible by default --- src/components/Bookmarks.tsx | 6 +++++ src/components/Settings.tsx | 42 +++++++++++++++++++++++++++++++++ src/services/settingsService.ts | 4 ++++ 3 files changed, 52 insertions(+) diff --git a/src/components/Bookmarks.tsx b/src/components/Bookmarks.tsx index e2ac0845..c3a38a8a 100644 --- a/src/components/Bookmarks.tsx +++ b/src/components/Bookmarks.tsx @@ -125,6 +125,12 @@ const Bookmarks: React.FC = ({ relayPool, onLogout }) => { useEffect(() => { if (settings.defaultViewMode) setViewMode(settings.defaultViewMode) if (settings.showHighlights !== undefined) setShowHighlights(settings.showHighlights) + // Apply default highlight visibility settings + setHighlightVisibility({ + nostrverse: settings.defaultHighlightVisibilityNostrverse !== false, + friends: settings.defaultHighlightVisibilityFriends !== false, + mine: settings.defaultHighlightVisibilityMine !== false + }) // Always start with both panels collapsed on initial load // Don't apply saved collapse settings on initial load - let user control them }, [settings]) diff --git a/src/components/Settings.tsx b/src/components/Settings.tsx index 448340da..01c4e84d 100644 --- a/src/components/Settings.tsx +++ b/src/components/Settings.tsx @@ -20,6 +20,9 @@ const DEFAULT_SETTINGS: UserSettings = { highlightColorNostrverse: '#9333ea', highlightColorFriends: '#f97316', highlightColorMine: '#ffff00', + defaultHighlightVisibilityNostrverse: true, + defaultHighlightVisibilityFriends: true, + defaultHighlightVisibilityMine: true, } interface SettingsProps { @@ -256,6 +259,45 @@ const Settings: React.FC = ({ settings, onSave, onClose }) => { Start with highlights panel collapsed + +
+ +
+ +
+ +
+ +
+ +
diff --git a/src/services/settingsService.ts b/src/services/settingsService.ts index c7b0a7b6..1cb1571a 100644 --- a/src/services/settingsService.ts +++ b/src/services/settingsService.ts @@ -22,6 +22,10 @@ export interface UserSettings { highlightColorNostrverse?: string highlightColorFriends?: string highlightColorMine?: string + // Default highlight visibility toggles + defaultHighlightVisibilityNostrverse?: boolean + defaultHighlightVisibilityFriends?: boolean + defaultHighlightVisibilityMine?: boolean } export async function loadSettings(