diff --git a/ui/litellm-dashboard/src/app/(dashboard)/layout.test.tsx b/ui/litellm-dashboard/src/app/(dashboard)/layout.test.tsx index 92a1d40b0e3..f08258900eb 100644 --- a/ui/litellm-dashboard/src/app/(dashboard)/layout.test.tsx +++ b/ui/litellm-dashboard/src/app/(dashboard)/layout.test.tsx @@ -13,8 +13,8 @@ vi.mock("next/navigation", () => ({ usePathname: vi.fn(() => "/ui/guardrails"), })); -vi.mock("@/components/navbar", () => ({ - default: () =>
, +vi.mock("@/components/DashboardHeader", () => ({ + DashboardHeader: () => , })); vi.mock("@/app/(dashboard)/components/SidebarProvider", () => ({ @@ -76,12 +76,12 @@ describe("(dashboard) Layout", () => { await waitFor(() => expect(screen.getByTestId("loading-screen")).toBeTruthy()); expect(screen.queryByTestId("page-content")).toBeNull(); - expect(screen.queryByTestId("navbar")).toBeNull(); + expect(screen.queryByTestId("dashboard-header")).toBeNull(); pendingUiConfig.resolve(); await waitFor(() => expect(screen.getByTestId("page-content")).toBeTruthy()); - expect(screen.getByTestId("navbar")).toBeTruthy(); + expect(screen.getByTestId("dashboard-header")).toBeTruthy(); expect(screen.queryByTestId("loading-screen")).toBeNull(); }); @@ -102,7 +102,7 @@ describe("(dashboard) Layout", () => { expect(replaceMock).toHaveBeenCalledWith(expect.stringContaining("/onboarding?invitation_id=abc123")), ); expect(screen.queryByTestId("page-content")).toBeNull(); - expect(screen.queryByTestId("navbar")).toBeNull(); + expect(screen.queryByTestId("dashboard-header")).toBeNull(); expect(screen.queryByTestId("sidebar")).toBeNull(); }); }); diff --git a/ui/litellm-dashboard/src/app/globals.css b/ui/litellm-dashboard/src/app/globals.css index 3f38b6b0831..0b555fcdd52 100644 --- a/ui/litellm-dashboard/src/app/globals.css +++ b/ui/litellm-dashboard/src/app/globals.css @@ -36,7 +36,7 @@ --chart-3: oklch(0.398 0.07 227.392); --chart-4: oklch(0.828 0.189 84.429); --chart-5: oklch(0.769 0.188 70.08); - --sidebar: oklch(0.985 0.002 247.839); + --sidebar: oklch(1 0 0); --sidebar-foreground: oklch(0.13 0.028 261.692); --sidebar-primary: oklch(0.21 0.034 264.665); --sidebar-primary-foreground: oklch(0.985 0.002 247.839); diff --git a/ui/litellm-dashboard/src/components/DashboardHeader.tsx b/ui/litellm-dashboard/src/components/DashboardHeader.tsx index d765cdd45cb..4f285cefed9 100644 --- a/ui/litellm-dashboard/src/components/DashboardHeader.tsx +++ b/ui/litellm-dashboard/src/components/DashboardHeader.tsx @@ -1,6 +1,13 @@ "use client"; -import { ChevronRight } from "lucide-react"; +import { Button } from "@/components/ui/button"; +import { + Breadcrumb, + BreadcrumbItem, + BreadcrumbList, + BreadcrumbPage, + BreadcrumbSeparator, +} from "@/components/ui/breadcrumb"; import { Separator } from "@/components/ui/separator"; import { getBreadcrumb } from "@/components/leftnav"; import { BlogDropdown } from "@/components/Navbar/BlogDropdown/BlogDropdown"; @@ -35,15 +42,19 @@ export function DashboardHeader({ page }: DashboardHeaderProps) { return (