import React from 'react'; import { StyleProp, TextStyle } from 'react-native'; import { CustomIcon } from '../../lib/Icons'; import { STATUS_COLORS } from '../../constants/colors'; interface IStatus { status: string; size: number; style?: StyleProp<TextStyle>; testID?: string; } const Status = React.memo(({ style, status = 'offline', size = 32, ...props }: IStatus) => { const name = `status-${status}`; const isNameValid = CustomIcon.hasIcon(name); const iconName = isNameValid ? name : 'status-offline'; const calculatedStyle: StyleProp<TextStyle> = [ { width: size, height: size, textAlignVertical: 'center' }, style ]; return ( <CustomIcon style={calculatedStyle} size={size} name={iconName} color={STATUS_COLORS[status] ?? STATUS_COLORS.offline} {...props} /> ); }); export default Status;