"use client"; import React from "react"; import { motion } from "motion/react"; import { toPersian } from "../lib/utils"; interface HeaderButtonProps { onClick?: () => void; children: React.ReactNode; variant?: "primary" | "secondary" | "outline" | "ghost"; className?: string; badge?: number; icon?: React.ReactNode; } export default function HeaderButton({ onClick, children, variant = "primary", className = "", badge, icon }: HeaderButtonProps) { const baseStyles = "relative flex flex-col items-center justify-center rounded-xl transition-all duration-300 font-vazir select-none cursor-pointer overflow-visible focus-visible:ring-4 focus-visible:ring-canino-blue/30 focus-visible:outline-none"; const variants = { primary: "bg-canino-blue text-white hover:bg-medical-gray-900 shadow-lg shadow-canino-blue/20", secondary: "bg-medical-gray-50 text-medical-gray-600 hover:bg-medical-gray-100", outline: "border-2 border-medical-gray-100 text-medical-gray-700 hover:border-canino-blue hover:text-canino-blue", ghost: "text-medical-gray-600 hover:bg-medical-gray-50 hover:text-canino-blue" }; return ( {icon &&
{icon}
}
{children}
{badge !== undefined && badge > 0 && ( {toPersian(badge.toString())} )}
); }