diff --git a/packages/app/src/Pages/settings/Root.css b/packages/app/src/Pages/settings/Root.css index 434ebed1..d9fd3bdc 100644 --- a/packages/app/src/Pages/settings/Root.css +++ b/packages/app/src/Pages/settings/Root.css @@ -49,6 +49,7 @@ } .settings-row:hover, +.settings-row.active, .settings-group-header:hover { color: var(--highlight); } diff --git a/packages/app/src/Pages/settings/Root.tsx b/packages/app/src/Pages/settings/Root.tsx index cd4dd022..f004344d 100644 --- a/packages/app/src/Pages/settings/Root.tsx +++ b/packages/app/src/Pages/settings/Root.tsx @@ -1,7 +1,7 @@ import "./Root.css"; import { useCallback, useEffect } from "react"; import { FormattedMessage } from "react-intl"; -import { Outlet, useLocation, useNavigate } from "react-router-dom"; +import {Outlet, NavLink, useNavigate, useLocation} from "react-router-dom"; import Icon from "@/Icons/Icon"; import { LoginStore, logout } from "@/Login"; import useLogin from "@/Hooks/useLogin"; @@ -16,13 +16,6 @@ const SettingsIndex = () => { const pageWidth = usePageWidth(); const sub = getCurrentSubscription(LoginStore.allSubscriptions()); - const handleNavigate = useCallback( - path => { - navigate(path); - }, - [navigate], - ); - const handleLogout = useCallback(() => { logout(login.id); navigate("/"); @@ -64,16 +57,25 @@ const SettingsIndex = () => { menuItems.push({ icon: "code-circle", message: "Account Switcher", id: "7BX/yC", path: "accounts" }); } + const getNavLinkClass = ({ isActive }: { isActive: boolean }) => { + return isActive ? "settings-row active" : "settings-row"; + }; + return (
{!hideMenu && (
{menuItems.map(({ icon, message, id, path }) => ( -
handleNavigate(path)} key={path}> + -
+ ))}