import React from 'react'; import classNames from 'classnames'; import { Props, SessionIcon } from '../icon'; interface SProps extends Props { onClick: any; notificationCount: number | undefined; isSelected: boolean; } export class SessionIconButton extends React.PureComponent { public static readonly extendedDefaults = { onClick: () => null, notificationCount: undefined, isSelected: false, }; public static readonly defaultProps = { ...SessionIcon.defaultProps, ...SessionIconButton.extendedDefaults, }; constructor(props: any) { super(props); this.clickHandler = this.clickHandler.bind(this); } public render() { const { iconType, iconSize, iconColor, iconRotation, iconPadded, isSelected, } = this.props; let { notificationCount } = this.props; if (notificationCount === 0) { notificationCount = undefined; } else if (notificationCount !== undefined && notificationCount > 9) { notificationCount = 9; } return (
{ this.clickHandler(e); }} > {notificationCount !== undefined && ( {notificationCount} )}
); } private clickHandler(e: any) { if (this.props.onClick) { e.stopPropagation(); this.props.onClick(); } } }