+ ),
+}));
+
// Create mock functions that can be controlled in tests
let mockUseThemeImpl = () => ({ logoUrl: null as string | null });
let mockUseHealthReadinessImpl = () => ({ data: null as any });
let mockGetLocalStorageItemImpl = (key: string) => null as string | null;
-let mockUseDisableShowPromptsImpl = () => false;
let mockUseAuthorizedImpl = () => ({
userId: "test-user",
userEmail: "test@example.com",
@@ -32,10 +45,6 @@ vi.mock("@/app/(dashboard)/hooks/healthReadiness/useHealthReadiness", () => ({
useHealthReadiness: () => mockUseHealthReadinessImpl(),
}));
-vi.mock("@/app/(dashboard)/hooks/useDisableShowPrompts", () => ({
- useDisableShowPrompts: () => mockUseDisableShowPromptsImpl(),
-}));
-
vi.mock("@/app/(dashboard)/hooks/useAuthorized", () => ({
default: () => mockUseAuthorizedImpl(),
}));
@@ -79,26 +88,6 @@ describe("Navbar", () => {
expect(screen.getByText("User")).toBeInTheDocument();
});
- it("should render Join Slack button with correct link", () => {
- renderWithProviders();
-
- const joinSlackLink = screen.getByRole("link", { name: /join slack/i });
- expect(joinSlackLink).toBeInTheDocument();
- expect(joinSlackLink).toHaveAttribute("href", "https://www.litellm.ai/support");
- expect(joinSlackLink).toHaveAttribute("target", "_blank");
- expect(joinSlackLink).toHaveAttribute("rel", "noopener noreferrer");
- });
-
- it("should render Star us on GitHub button with correct link", () => {
- renderWithProviders();
-
- const starOnGithubLink = screen.getByRole("link", { name: /star us on github/i });
- expect(starOnGithubLink).toBeInTheDocument();
- expect(starOnGithubLink).toHaveAttribute("href", "https://github.com/BerriAI/litellm");
- expect(starOnGithubLink).toHaveAttribute("target", "_blank");
- expect(starOnGithubLink).toHaveAttribute("rel", "noopener noreferrer");
- });
-
it("should display user information in dropdown", async () => {
const user = userEvent.setup();
renderWithProviders();
diff --git a/ui/litellm-dashboard/src/components/navbar.tsx b/ui/litellm-dashboard/src/components/navbar.tsx
index 3649ca76238..2ffa0632f27 100644
--- a/ui/litellm-dashboard/src/components/navbar.tsx
+++ b/ui/litellm-dashboard/src/components/navbar.tsx
@@ -4,16 +4,15 @@ import { useTheme } from "@/contexts/ThemeContext";
import { clearTokenCookies } from "@/utils/cookieUtils";
import { fetchProxySettings } from "@/utils/proxyUtils";
import {
- GithubOutlined,
MenuFoldOutlined,
MenuUnfoldOutlined,
MoonOutlined,
- SlackOutlined,
SunOutlined,
} from "@ant-design/icons";
-import { Button, Switch, Tag } from "antd";
+import { Switch, Tag } from "antd";
import Link from "next/link";
import React, { useEffect, useState } from "react";
+import { CommunityEngagementButtons } from "./Navbar/CommunityEngagementButtons/CommunityEngagementButtons";
import UserDropdown from "./Navbar/UserDropdown/UserDropdown";
interface NavbarProps {
@@ -129,24 +128,7 @@ const Navbar: React.FC = ({
{/* Right side nav items */}
- }
- className="shadow-md shadow-indigo-500/20 hover:shadow-indigo-500/50 transition-shadow"
- >
- Join Slack
-
- }
- >
- Star us on GitHub
-
+
{/* Dark mode is currently a work in progress. To test, you can change 'false' to 'true' below.
Do not set this to true by default until all components are confirmed to support dark mode styles. */}
{false &&