consertando problema com as pastas
All checks were successful
Frontend Build and Deploy / build (push) Successful in 22s
All checks were successful
Frontend Build and Deploy / build (push) Successful in 22s
This commit is contained in:
66
src/shared/Button.tsx
Normal file
66
src/shared/Button.tsx
Normal file
@@ -0,0 +1,66 @@
|
||||
import React from 'react';
|
||||
|
||||
interface ButtonProps {
|
||||
children: React.ReactNode;
|
||||
className?: string;
|
||||
hasAnimation?: boolean;
|
||||
disableCursor?: boolean;
|
||||
onClick?: () => void;
|
||||
href?: string;
|
||||
type?: 'button' | 'submit' | 'reset';
|
||||
}
|
||||
|
||||
const Button: React.FC<ButtonProps> = ({
|
||||
children,
|
||||
className = "",
|
||||
hasAnimation = true,
|
||||
disableCursor = false,
|
||||
onClick,
|
||||
href,
|
||||
type = 'button'
|
||||
}) => {
|
||||
const animationClasses = hasAnimation ? `hover:shadow-xl
|
||||
transform
|
||||
hover:scale-[1.01]`
|
||||
: "";
|
||||
const cursorClasses = disableCursor ? "hover:cursor-default"
|
||||
: "hover:cursor-pointer";
|
||||
|
||||
const baseClasses = `bg-gray-800/30
|
||||
px-4 py-2
|
||||
rounded-full
|
||||
backdrop-blur-xs
|
||||
shadow-xl
|
||||
ring-1
|
||||
transition-all
|
||||
duration-200
|
||||
hover:ring-indigo-400/20
|
||||
hover:bg-gray-700/40
|
||||
ring-gray-900
|
||||
text-white
|
||||
transition-colors
|
||||
${animationClasses} ${cursorClasses} ${className}`;
|
||||
|
||||
if (href) {
|
||||
return (
|
||||
<a
|
||||
href={href}
|
||||
className={baseClasses}
|
||||
>
|
||||
{children}
|
||||
</a>
|
||||
);
|
||||
}
|
||||
|
||||
return (
|
||||
<button
|
||||
type={type}
|
||||
onClick={onClick}
|
||||
className={baseClasses}
|
||||
>
|
||||
{children}
|
||||
</button>
|
||||
);
|
||||
};
|
||||
|
||||
export default Button;
|
Reference in New Issue
Block a user