diff --git a/surfsense_web/components/layout/ui/sidebar/NavSection.tsx b/surfsense_web/components/layout/ui/sidebar/NavSection.tsx index dc730bc4a..d58f52612 100644 --- a/surfsense_web/components/layout/ui/sidebar/NavSection.tsx +++ b/surfsense_web/components/layout/ui/sidebar/NavSection.tsx @@ -1,5 +1,6 @@ "use client"; +import { Check } from "lucide-react"; import { Tooltip, TooltipContent, TooltipTrigger } from "@/components/ui/tooltip"; import { cn } from "@/lib/utils"; import type { NavItem } from "../../types/layout.types"; @@ -34,12 +35,14 @@ export function NavSection({ items, onItemClick, isCollapsed = false }: NavSecti className={cn( "relative flex h-10 w-10 items-center justify-center rounded-md transition-colors", "hover:bg-accent hover:text-accent-foreground", - "focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring", - item.isActive && "bg-accent text-accent-foreground" + "focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring" )} {...joyrideAttr} > + {item.isActive && ( + + )} {item.badge && ( {item.badge} @@ -64,13 +67,15 @@ export function NavSection({ items, onItemClick, isCollapsed = false }: NavSecti className={cn( "flex items-center gap-2 rounded-md mx-2 px-2 py-1.5 text-sm transition-colors text-left", "hover:bg-accent hover:text-accent-foreground", - "focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring", - item.isActive && "bg-accent text-accent-foreground" + "focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring" )} {...joyrideAttr} > {item.title} + {item.isActive && ( + + )} {item.badge && ( {item.badge} diff --git a/surfsense_web/components/layout/ui/sidebar/SidebarUserProfile.tsx b/surfsense_web/components/layout/ui/sidebar/SidebarUserProfile.tsx index 982d88e8b..66fe24565 100644 --- a/surfsense_web/components/layout/ui/sidebar/SidebarUserProfile.tsx +++ b/surfsense_web/components/layout/ui/sidebar/SidebarUserProfile.tsx @@ -1,6 +1,6 @@ "use client"; -import { ChevronUp, Languages, Laptop, LogOut, Moon, Settings, Sun } from "lucide-react"; +import { Check, ChevronUp, Languages, Laptop, LogOut, Moon, Settings, Sun } from "lucide-react"; import { useTranslations } from "next-intl"; import { DropdownMenu, @@ -197,11 +197,14 @@ export function SidebarUserProfile({ className={cn( "mb-1 last:mb-0 transition-all", "hover:bg-accent/50", - isSelected && "bg-accent/80" + isSelected && "text-primary" )} > {t(themeOption.value)} + {isSelected && ( + + )} ); })} @@ -226,11 +229,14 @@ export function SidebarUserProfile({ className={cn( "mb-1 last:mb-0 transition-all", "hover:bg-accent/50", - isSelected && "bg-accent/80" + isSelected && "text-primary" )} > {language.flag} {language.name} + {isSelected && ( + + )} ); })} @@ -302,26 +308,29 @@ export function SidebarUserProfile({ {t("theme")} - - {THEMES.map((themeOption) => { - const Icon = themeOption.icon; - const isSelected = theme === themeOption.value; - return ( - handleThemeChange(themeOption.value)} - className={cn( - "mb-1 last:mb-0 transition-all", - "hover:bg-accent/50", - isSelected && "bg-accent/80" - )} - > - - {t(themeOption.value)} - - ); - })} - + + {THEMES.map((themeOption) => { + const Icon = themeOption.icon; + const isSelected = theme === themeOption.value; + return ( + handleThemeChange(themeOption.value)} + className={cn( + "mb-1 last:mb-0 transition-all", + "hover:bg-accent/50", + isSelected && "text-primary" + )} + > + + {t(themeOption.value)} + {isSelected && ( + + )} + + ); + })} + )} @@ -342,11 +351,14 @@ export function SidebarUserProfile({ className={cn( "mb-1 last:mb-0 transition-all", "hover:bg-accent/50", - isSelected && "bg-accent/80" + isSelected && "text-primary" )} > {language.flag} {language.name} + {isSelected && ( + + )} ); })}