import React, { useState } from 'react'; const SocialButton = ({ id, enabled, serverDomain, oauthPath, Icon, label }) => { const [isHovered, setIsHovered] = useState(false); const [isPressed, setIsPressed] = useState(false); const [activeButton, setActiveButton] = useState(null); if (!enabled) { return null; } const handleMouseEnter = () => { setIsHovered(true); }; const handleMouseLeave = () => { setIsHovered(false); }; const handleMouseDown = () => { setIsPressed(true); setActiveButton(id); }; const handleMouseUp = () => { setIsPressed(false); }; const getButtonStyles = () => { // Define Tailwind CSS classes based on state const baseStyles = 'border border-solid border-gray-300 dark:border-gray-800 transition-colors'; const pressedStyles = 'bg-blue-200 border-blue-200 dark:bg-blue-900 dark:border-blue-600'; const hoverStyles = 'bg-gray-100 dark:bg-gray-700'; return `${baseStyles} ${ isPressed && activeButton === id ? pressedStyles : isHovered ? hoverStyles : '' }`; }; return (

{label}

); }; export default SocialButton;