import React from 'react'; import { Image, View, } from 'react-native'; import { RkComponent, RkText, RkTheme, } from 'react-native-ui-kitten'; import { FontAwesome } from '../../assets/icons'; export class Avatar extends RkComponent { componentName = 'Avatar'; typeMapping = { container: {}, image: {}, badge: {}, badgeText: {}, }; getBadgeStyle = (badgeProps) => { switch (badgeProps) { case 'like': return { symbol: FontAwesome.heart, backgroundColor: RkTheme.current.colors.badge.likeBackground, color: RkTheme.current.colors.badge.likeForeground, }; case 'follow': return { symbol: FontAwesome.plus, backgroundColor: RkTheme.current.colors.badge.plusBackground, color: RkTheme.current.colors.badge.plusForeground, }; default: return {}; } }; renderImg = (styles) => ( { this.props.badge && this.renderBadge(styles.badge)} ); renderBadge = (style, textStyle) => { const badgeStyle = this.getBadgeStyle(this.props.badge); return ( {badgeStyle.symbol} ); }; render() { const { container, ...other } = this.defineStyles(); return ( {this.renderImg(other)} ); } }