diff --git a/surfsense_web/components/layout/ui/sidebar/NavSection.tsx b/surfsense_web/components/layout/ui/sidebar/NavSection.tsx index 3eb66f3cd..9b0a115c6 100644 --- a/surfsense_web/components/layout/ui/sidebar/NavSection.tsx +++ b/surfsense_web/components/layout/ui/sidebar/NavSection.tsx @@ -97,6 +97,7 @@ export function NavSection({ items, onItemClick, isCollapsed = false }: NavSecti label={item.title} onClick={() => onItemClick?.(item)} isCollapsed={isCollapsed} + isActive={item.isActive} badge={item.badge} collapsedOverlay={} expandedIconNode={ diff --git a/surfsense_web/components/layout/ui/sidebar/SidebarButton.tsx b/surfsense_web/components/layout/ui/sidebar/SidebarButton.tsx index b40919eae..1247849f6 100644 --- a/surfsense_web/components/layout/ui/sidebar/SidebarButton.tsx +++ b/surfsense_web/components/layout/ui/sidebar/SidebarButton.tsx @@ -10,6 +10,7 @@ interface SidebarButtonProps { label: string; onClick?: () => void; isCollapsed?: boolean; + isActive?: boolean; badge?: React.ReactNode; /** Overlay in the top-right corner of the collapsed icon (e.g. status badge) */ collapsedOverlay?: React.ReactNode; @@ -37,12 +38,15 @@ export function SidebarButton({ label, onClick, isCollapsed = false, + isActive = false, badge, collapsedOverlay, expandedIconNode, className, buttonProps, }: SidebarButtonProps) { + const activeClassName = "bg-accent text-accent-foreground"; + if (isCollapsed) { return ( @@ -50,7 +54,7 @@ export function SidebarButton({