From 47dc83f360b2a351d2322a80416f18630ecdf51f Mon Sep 17 00:00:00 2001 From: jeffvli Date: Fri, 22 Sep 2023 17:55:03 -0700 Subject: [PATCH] Make collapsed sidebar navigation configurable --- .../components/general/sidebar-settings.tsx | 19 +++++++++ .../sidebar/components/collapsed-sidebar.tsx | 42 ++++++++++--------- src/renderer/store/settings.store.ts | 2 + 3 files changed, 43 insertions(+), 20 deletions(-) diff --git a/src/renderer/features/settings/components/general/sidebar-settings.tsx b/src/renderer/features/settings/components/general/sidebar-settings.tsx index e966c4e6..cb9952f1 100644 --- a/src/renderer/features/settings/components/general/sidebar-settings.tsx +++ b/src/renderer/features/settings/components/general/sidebar-settings.tsx @@ -87,6 +87,15 @@ export const SidebarSettings = () => { }); }; + const handleSetSidebarCollapsedNavigation = (e: ChangeEvent) => { + setSettings({ + general: { + ...settings, + sidebarCollapsedNavigation: e.target.checked, + }, + }); + }; + const isSaveButtonDisabled = isEqual(settings.sidebarItems, localSidebarItems); return ( @@ -101,6 +110,16 @@ export const SidebarSettings = () => { description="Show playlist list in sidebar" title="Sidebar playlist list" /> + + } + description="Show navigation buttons in the collapsed sidebar" + title="Sidebar (collapsed) navigation" + /> { const navigate = useNavigate(); const { windowBarStyle } = useWindowSettings(); - const { sidebarItems } = useGeneralSettings(); + const { sidebarItems, sidebarCollapsedNavigation } = useGeneralSettings(); const sidebarItemsWithRoute: (SidebarItemType & { activeIcon: IconType; @@ -119,26 +119,28 @@ export const CollapsedSidebar = () => { scrollHideDelay={0} scrollbarSize={8} > - - navigate(-1)} + {sidebarCollapsedNavigation && ( + - - - navigate(1)} - > - - - + navigate(-1)} + > + + + navigate(1)} + > + + + + )}