chore(ui): remove unused NewBadge component and its test

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
This commit is contained in:
mateo 2026-09-17 20:03:53 +00:00
parent decbb96382
commit 726c2bb6df
2 changed files with 0 additions and 108 deletions

View file

@ -1,87 +0,0 @@
import { render, screen } from "@testing-library/react";
import { describe, it, expect, vi, beforeEach } from "vitest";
import NewBadge from "./NewBadge";
// Mock the hook directly
vi.mock("@/app/(dashboard)/hooks/useDisableShowNewBadge", () => ({
useDisableShowNewBadge: vi.fn(),
}));
import { useDisableShowNewBadge } from "@/app/(dashboard)/hooks/useDisableShowNewBadge";
const mockUseDisableShowNewBadge = vi.mocked(useDisableShowNewBadge);
describe("NewBadge", () => {
beforeEach(() => {
vi.clearAllMocks();
});
it("should render the badge when disableShowNewBadge is false", () => {
mockUseDisableShowNewBadge.mockReturnValue(false);
render(<NewBadge>Test Content</NewBadge>);
expect(screen.getByText("New")).toBeInTheDocument();
expect(screen.getByText("Test Content")).toBeInTheDocument();
});
it("should render the badge when disableShowNewBadge is not set", () => {
mockUseDisableShowNewBadge.mockReturnValue(false);
render(<NewBadge />);
expect(screen.getByText("New")).toBeInTheDocument();
});
it("should render only children when disableShowNewBadge is true", () => {
mockUseDisableShowNewBadge.mockReturnValue(true);
render(<NewBadge>Test Content</NewBadge>);
expect(screen.queryByText("New")).not.toBeInTheDocument();
expect(screen.getByText("Test Content")).toBeInTheDocument();
});
it("should render nothing when disableShowNewBadge is true and no children", () => {
mockUseDisableShowNewBadge.mockReturnValue(true);
const { container } = render(<NewBadge />);
expect(container).toBeEmptyDOMElement();
});
it("should render badge with dot when dot prop is true", () => {
mockUseDisableShowNewBadge.mockReturnValue(false);
render(<NewBadge dot={true}>Test Content</NewBadge>);
expect(screen.queryByText("New")).not.toBeInTheDocument();
expect(screen.getByText("Test Content")).toBeInTheDocument();
});
it("should render badge with 'New' text when dot prop is false", () => {
mockUseDisableShowNewBadge.mockReturnValue(false);
render(<NewBadge dot={false}>Test Content</NewBadge>);
expect(screen.getByText("New")).toBeInTheDocument();
expect(screen.getByText("Test Content")).toBeInTheDocument();
});
it("should render badge with 'New' text when dot prop is not provided (defaults to false)", () => {
mockUseDisableShowNewBadge.mockReturnValue(false);
render(<NewBadge>Test Content</NewBadge>);
expect(screen.getByText("New")).toBeInTheDocument();
expect(screen.getByText("Test Content")).toBeInTheDocument();
});
it("should render badge with dot when dot is true and no children", () => {
mockUseDisableShowNewBadge.mockReturnValue(false);
render(<NewBadge dot={true} />);
expect(screen.queryByText("New")).not.toBeInTheDocument();
});
});

View file

@ -1,21 +0,0 @@
import { Badge } from "@/components/ui/badge";
import { useDisableShowNewBadge } from "@/app/(dashboard)/hooks/useDisableShowNewBadge";
export default function NewBadge({ children, dot = false }: { children?: React.ReactNode; dot?: boolean }) {
const disableShowNewBadge = useDisableShowNewBadge();
if (disableShowNewBadge) {
return children ? <>{children}</> : null;
}
const badge = dot ? <Badge className="size-1.5 p-0" /> : <Badge>New</Badge>;
return children ? (
<span className="relative inline-flex">
{children}
<span className="absolute -top-0.5 -right-1">{badge}</span>
</span>
) : (
badge
);
}