Newer
Older
My-Portfolio / frontend / src / components / Button.jsx
  1. import ButtonSvg from "../assets/svg/ButtonSvg";
  2. const Button = ({ className, href, onClick, children, px, white }) => {
  3. const classes = `button relative inline-flex items-center justify-center h-11 transition-colors hover:text-color-1 ${
  4. px || "px-7"
  5. } ${white ? "text-n-8" : "text-n-1"} ${className || ""}`;
  6. const spanClasses = "relative z-10";
  7. const renderButton = () => (
  8. <button className={classes} onClick={onClick}>
  9. <span className={spanClasses}>{children}</span>
  10. {ButtonSvg(white)}
  11. </button>
  12. );
  13. const renderLink = () => (
  14. <a href={href} className={classes}>
  15. <span className={spanClasses}>{children}</span>
  16. {ButtonSvg(white)}
  17. </a>
  18. );
  19. return href ? renderLink() : renderButton();
  20. };
  21. export default Button;