diff options
Diffstat (limited to 'src/view/com/post/Post.tsx')
-rw-r--r-- | src/view/com/post/Post.tsx | 74 |
1 files changed, 11 insertions, 63 deletions
diff --git a/src/view/com/post/Post.tsx b/src/view/com/post/Post.tsx index 5f19e0d67..91088e21b 100644 --- a/src/view/com/post/Post.tsx +++ b/src/view/com/post/Post.tsx @@ -13,6 +13,7 @@ import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome' import {PostThreadViewModel} from '../../../state/models/post-thread-view' import {Link} from '../util/Link' import {UserInfoText} from '../util/UserInfoText' +import {PostCtrls} from '../util/PostCtrls' import {RichText} from '../util/RichText' import {UserAvatar} from '../util/UserAvatar' import {useStores} from '../../../state' @@ -125,47 +126,16 @@ export const Post = observer(function Post({uri}: {uri: string}) { style={[s.f15, s['lh15-1.3']]} /> </View> - <View style={styles.ctrls}> - <TouchableOpacity style={styles.ctrl} onPress={onPressReply}> - <FontAwesomeIcon - style={styles.ctrlIcon} - icon={['far', 'comment']} - /> - <Text>{item.replyCount}</Text> - </TouchableOpacity> - <TouchableOpacity style={styles.ctrl} onPress={onPressToggleRepost}> - <FontAwesomeIcon - style={ - item.myState.repost - ? styles.ctrlIconReposted - : styles.ctrlIcon - } - icon="retweet" - size={22} - /> - <Text - style={item.myState.repost ? [s.bold, s.green3] : undefined}> - {item.repostCount} - </Text> - </TouchableOpacity> - <TouchableOpacity style={styles.ctrl} onPress={onPressToggleLike}> - <FontAwesomeIcon - style={ - item.myState.like ? styles.ctrlIconLiked : styles.ctrlIcon - } - icon={[item.myState.like ? 'fas' : 'far', 'heart']} - /> - <Text style={item.myState.like ? [s.bold, s.red3] : undefined}> - {item.likeCount} - </Text> - </TouchableOpacity> - <View style={styles.ctrl}> - <FontAwesomeIcon - style={styles.ctrlIcon} - icon="share-from-square" - /> - </View> - </View> + <PostCtrls + replyCount={item.replyCount} + repostCount={item.repostCount} + likeCount={item.likeCount} + isReposted={!!item.myState.repost} + isLiked={!!item.myState.like} + onPressReply={onPressReply} + onPressToggleRepost={onPressToggleRepost} + onPressToggleLike={onPressToggleLike} + /> </View> </View> </Link> @@ -202,26 +172,4 @@ const styles = StyleSheet.create({ flexWrap: 'wrap', paddingBottom: 8, }, - ctrls: { - flexDirection: 'row', - }, - ctrl: { - flexDirection: 'row', - alignItems: 'center', - flex: 1, - paddingLeft: 4, - paddingRight: 4, - }, - ctrlIcon: { - marginRight: 5, - color: colors.gray5, - }, - ctrlIconReposted: { - marginRight: 5, - color: colors.green3, - }, - ctrlIconLiked: { - marginRight: 5, - color: colors.red3, - }, }) |