Presupuestador_web/client/src/components/CustomButtons/BackHistoryButton.tsx
2024-06-11 18:48:09 +02:00

32 lines
719 B
TypeScript

import { Button, ButtonProps } from "@/ui";
import { ChevronLeft } from "lucide-react";
import { To, useNavigate } from "react-router-dom";
export interface BackHistoryButtonProps extends ButtonProps {
label?: string;
url?: To;
}
export const BackHistoryButton = ({
label = "Volver atrás",
size,
url = undefined,
...props
}: BackHistoryButtonProps): JSX.Element => {
const navigate = useNavigate();
return (
<Button
variant="ghost"
onClick={() => {
url ? navigate(url) : navigate(-1);
}}
size={size}
{...props}
>
<ChevronLeft className="w-4 h-4" />
<span className={size === "icon" ? "sr-only" : "ml-2"}>{label}</span>
</Button>
);
};