import { useRouter } from "next/router"; import { MouseEventHandler } from "react"; interface Props { id?: string; className?: string; href?: string; children: React.ReactNode; active?: boolean; locale?: string; target?: "_blank"; onClick?: MouseEventHandler; draggable?: boolean; badgeNumber?: number; } export default function Button(props: Props): JSX.Element { const { draggable, id, onClick, active, className, children, target, href, locale, badgeNumber, } = props; const router = useRouter(); const button = (
{badgeNumber && (
{badgeNumber}
)} {children}
); if (target) { return (
{button}
); } return (
{ if (href || locale) router.push(href ?? router.asPath, href, { locale: locale, }); }} > {button}
); }