// @flow import * as React from 'react'; import {Badge, IconButton, withTheme} from 'react-native-paper'; import {View} from "react-native"; import type {CustomTheme} from "../../managers/ThemeManager"; import * as Animatable from "react-native-animatable"; type Props = { color: string, icon: string, clickAction: () => void, isAvailable: boolean, badgeNumber: number, theme: CustomTheme, }; const AnimatableBadge = Animatable.createAnimatableComponent(Badge); /** * Component used to render a small dashboard item */ class SmallDashboardItem extends React.Component { shouldComponentUpdate(nextProps: Props) { return (nextProps.theme.dark !== this.props.theme.dark) || (nextProps.isAvailable !== this.props.isAvailable) || (nextProps.badgeNumber !== this.props.badgeNumber); } render() { const props = this.props; const colors = props.theme.colors; return ( { props.badgeNumber > 0 ? {props.badgeNumber} : null } ); } } export default withTheme(SmallDashboardItem);