UNPKG

@livelike/react-native

Version:

LiveLike React Native package

67 lines 2.02 kB
import React, { useCallback } from 'react'; import { StyleSheet, TouchableOpacity, Image, View } from 'react-native'; import { abbrevNum } from '../../utils'; import { useStyles } from '../../hooks'; import { LLText } from '../LLText'; export const LLUserReactionCountDetail = _ref => { let { reaction, styles: stylesProp, onPress } = _ref; const reactionItemStyles = useStyles({ componentStylesFn: getUserReactionCountDetailStyles, stylesProp }); const onItemPress = useCallback(() => { onPress(reaction.reaction_id); }, [onPress]); return /*#__PURE__*/React.createElement(TouchableOpacity, { key: reaction.reaction_id, onPress: onItemPress, accessibilityLabel: "Reaction item" }, /*#__PURE__*/React.createElement(View, { style: [reactionItemStyles.container, reaction.self_reacted_user_reaction_id && reactionItemStyles.selfReactionContainer] }, /*#__PURE__*/React.createElement(Image, { style: reactionItemStyles.reactionIcon, source: { uri: reaction.imageSrc } }), /*#__PURE__*/React.createElement(LLText, { style: [reactionItemStyles.reactionCountText, reaction.self_reacted_user_reaction_id && reactionItemStyles.selfReactionCountText] }, abbrevNum(reaction.count)))); }; const getUserReactionCountDetailStyles = _ref2 => { let { theme } = _ref2; return StyleSheet.create({ container: { flexDirection: 'row', alignItems: 'center', backgroundColor: theme.popoverBackground, marginHorizontal: 5, marginBottom: 4, paddingHorizontal: 5, paddingVertical: 2, borderRadius: 4 }, reactionIcon: { height: 22, width: 22 }, reactionCountText: { marginLeft: 5, color: theme.text, fontSize: 11, fontWeight: 'bold' }, selfReactionContainer: { backgroundColor: theme.primaryButtonBackground }, selfReactionCountText: { color: '#000000' } }); }; //# sourceMappingURL=LLUserReactionCountDetail.js.map