feat: highlight active main sidebar item
This commit is contained in:
@@ -8,7 +8,7 @@ import {
|
|||||||
SidebarMenuItem,
|
SidebarMenuItem,
|
||||||
SidebarSeparator,
|
SidebarSeparator,
|
||||||
} from "@/components/ui/sidebar.tsx";
|
} from "@/components/ui/sidebar.tsx";
|
||||||
import { Link } from "@tanstack/react-router";
|
import { Link, useRouterState } from "@tanstack/react-router";
|
||||||
import { LayoutPanelLeft, ScrollText } from "lucide-react";
|
import { LayoutPanelLeft, ScrollText } from "lucide-react";
|
||||||
|
|
||||||
function MainSidebar() {
|
function MainSidebar() {
|
||||||
@@ -23,28 +23,39 @@ function MainSidebar() {
|
|||||||
<SidebarSeparator />
|
<SidebarSeparator />
|
||||||
<SidebarContent>
|
<SidebarContent>
|
||||||
<SidebarGroup>
|
<SidebarGroup>
|
||||||
<SidebarMenu>
|
<MainSidebarMenu />
|
||||||
<SidebarMenuItem>
|
|
||||||
<SidebarMenuButton asChild>
|
|
||||||
<Link to="/">
|
|
||||||
<LayoutPanelLeft />
|
|
||||||
Workspaces
|
|
||||||
</Link>
|
|
||||||
</SidebarMenuButton>
|
|
||||||
</SidebarMenuItem>
|
|
||||||
<SidebarMenuItem>
|
|
||||||
<SidebarMenuButton asChild>
|
|
||||||
<Link to="/templates">
|
|
||||||
<ScrollText />
|
|
||||||
Templates
|
|
||||||
</Link>
|
|
||||||
</SidebarMenuButton>
|
|
||||||
</SidebarMenuItem>
|
|
||||||
</SidebarMenu>
|
|
||||||
</SidebarGroup>
|
</SidebarGroup>
|
||||||
</SidebarContent>
|
</SidebarContent>
|
||||||
</Sidebar>
|
</Sidebar>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function MainSidebarMenu() {
|
||||||
|
const router = useRouterState();
|
||||||
|
|
||||||
|
return (
|
||||||
|
<SidebarMenu>
|
||||||
|
<SidebarMenuItem>
|
||||||
|
<SidebarMenuButton asChild isActive={router.location.pathname === "/"}>
|
||||||
|
<Link to="/">
|
||||||
|
<LayoutPanelLeft />
|
||||||
|
Workspaces
|
||||||
|
</Link>
|
||||||
|
</SidebarMenuButton>
|
||||||
|
</SidebarMenuItem>
|
||||||
|
<SidebarMenuItem>
|
||||||
|
<SidebarMenuButton
|
||||||
|
asChild
|
||||||
|
isActive={router.location.pathname === "/templates"}
|
||||||
|
>
|
||||||
|
<Link to="/templates">
|
||||||
|
<ScrollText />
|
||||||
|
Templates
|
||||||
|
</Link>
|
||||||
|
</SidebarMenuButton>
|
||||||
|
</SidebarMenuItem>
|
||||||
|
</SidebarMenu>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
export { MainSidebar };
|
export { MainSidebar };
|
||||||
|
Reference in New Issue
Block a user