"use client"; import type { MouseEventHandler, ReactNode } from "react"; import Link from "next/link"; import { cn } from "@/lib/utils"; import { Tooltip, TooltipContent, TooltipTrigger, } from "@/components/ui/tooltip"; export interface SidebarItemProps { href: string; icon: ReactNode; label: string; active?: boolean; collapsed?: boolean; badge?: number; dotColor?: string; onClick?: MouseEventHandler; } export function SidebarItem({ href, icon, label, active, collapsed, badge, dotColor, onClick, }: SidebarItemProps) { const inner = ( {icon} {dotColor && !collapsed ? ( ) : null} {label} {badge != null && badge > 0 && !collapsed ? ( {badge > 99 ? "99+" : badge} ) : null} ); if (collapsed) { return ( {inner} {label} ); } return inner; }