import { forwardRef } from 'react'; import PropTypes from 'prop-types'; import { clsm } from '../../../../utils'; import { useResponsiveDevice } from '../../../../contexts/ResponsiveDevice'; import Button from '../../../../components/Button'; import Tooltip from '../../../../components/Tooltip'; const ACTIVE_BUTTON_COLORS = [ 'bg-darkMode-blue', 'dark:bg-darkMode-blue', 'dark:hover:bg-darkMode-blue-hover', 'focus:bg-darkMode-blue', 'focus:dark:bg-darkMode-blue', 'hover:bg-lightMode-blue-hover', '[&>svg]:fill-white' ]; const INACTIVE_BUTTON_COLORS = [ 'bg-darkMode-red', 'dark:bg-darkMode-red', 'dark:hover:bg-darkMode-red-hover', 'focus:bg-darkMode-red', 'focus:dark:bg-darkMode-red', 'hover:bg-lightMode-red-hover', '[&>svg]:fill-white' ]; const WebBroadcastControl = forwardRef(({ buttons, isOpen }, ref) => { const { isDesktopView, isTouchscreenDevice } = useResponsiveDevice(); return (
{buttons .filter(({ isVisible = true }) => isVisible) .map( ( { ariaLabel, icon, isActive, isDeviceControl = false, isDisabled = false, onClick, tooltip, withRef = undefined }, i ) => ( ) )}
); }); WebBroadcastControl.propTypes = { buttons: PropTypes.array.isRequired, isOpen: PropTypes.bool.isRequired }; export default WebBroadcastControl;