Radarr/frontend/src/Components/Menu/ToolbarMenuButton.js

64 lines
1.3 KiB
JavaScript
Raw Normal View History

import classNames from 'classnames';
2018-11-23 07:04:42 +00:00
import PropTypes from 'prop-types';
import React from 'react';
import Icon from 'Components/Icon';
import MenuButton from 'Components/Menu/MenuButton';
import { icons } from 'Helpers/Props';
2018-11-23 07:04:42 +00:00
import styles from './ToolbarMenuButton.css';
function ToolbarMenuButton(props) {
const {
iconName,
2023-01-24 02:47:02 +00:00
showIndicator,
2018-11-23 07:04:42 +00:00
text,
...otherProps
} = props;
return (
<MenuButton
className={styles.menuButton}
{...otherProps}
>
<div>
<Icon
name={iconName}
size={21}
/>
2019-10-10 02:48:43 +00:00
{
2023-01-24 02:47:02 +00:00
showIndicator &&
2019-10-10 02:48:43 +00:00
<span
className={classNames(
styles.indicatorContainer,
'fa-layers fa-fw'
)}
>
<Icon
name={icons.CIRCLE}
size={9}
2019-10-10 02:48:43 +00:00
/>
</span>
}
<div className={styles.labelContainer}>
<div className={styles.label}>
{text}
</div>
2018-11-23 07:04:42 +00:00
</div>
</div>
</MenuButton>
);
}
ToolbarMenuButton.propTypes = {
iconName: PropTypes.object.isRequired,
2019-10-10 02:48:43 +00:00
text: PropTypes.string,
2023-01-24 02:47:02 +00:00
showIndicator: PropTypes.bool.isRequired
2019-10-10 02:48:43 +00:00
};
ToolbarMenuButton.defaultProps = {
2023-01-24 02:47:02 +00:00
showIndicator: false
2018-11-23 07:04:42 +00:00
};
export default ToolbarMenuButton;