import React from 'react'; // @ts-ignore import { Pressable, Text, View } from 'react-native'; import FastImage from '@rocket.chat/react-native-fast-image'; import Check from '../../containers/Check'; import styles, { ROW_HEIGHT } from './styles'; import { themes } from '../../constants/colors'; import { isIOS } from '../../utils/deviceInfo'; import { withTheme } from '../../theme'; export { ROW_HEIGHT }; interface IServerItem { item: { id: string; iconURL: string; name: string; }; onPress(): void; onLongPress?(): void; hasCheck?: boolean; theme?: string; } const defaultLogo = require('../../static/images/logo.png'); const ServerItem = React.memo(({ item, onPress, onLongPress, hasCheck, theme }: IServerItem) => ( onLongPress?.()} testID={`rooms-list-header-server-${item.id}`} android_ripple={{ color: themes[theme!].bannerBackground }} style={({ pressed }: any) => ({ backgroundColor: isIOS && pressed ? themes[theme!].bannerBackground : themes[theme!].backgroundColor })}> {item.iconURL ? ( console.log('err_loading_server_icon')} /> ) : ( )} {item.name || item.id} {item.id} {hasCheck ? : null} )); export default withTheme(ServerItem);