@plusscommunities/pluss-core-app 6.0.5 → 6.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/module/components/CommentSection.js +1 -0
- package/dist/module/components/CommentSection.js.map +1 -1
- package/dist/module/components/PlussChatMessage.js +8 -8
- package/dist/module/components/PlussChatMessage.js.map +1 -1
- package/package.json +1 -1
- package/src/components/CommentSection.js +1 -1
- package/src/components/PlussChatMessage.js +8 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Component","View","Text","TouchableOpacity","Image","StyleSheet","_","moment","connect","Icon","getPluralS","getThumb300","get1400","getSiteSettingFromState","getFirstName","getPluralOptions","getMainBrandingColourFromState","TEXT_DARKEST","BG_GREY","TEXT_LIGHT","LINEGREY","reactionActions","notificationActions","blockUser","unblockUser","ConfirmPopup","ProfilePic","ImagePopup","InlineButton","Spinner","Services","CommentSection","constructor","props","_defineProperty","c","setState","commentToDelete","removeComment","state","Id","then","res","console","log","newComments","filter","comments","commentToReport","commentToBlock","userId","UserId","commentToUnblock","commentId","reportLoading","reportComment","commentReportedStatus","catch","error","comment","navigation","navigate","threadId","entityType","entityId","processing","data","muteEntity","muteExpiry","Expiry","unmuteEntity","actual","duration","diff","asHours","Math","abs","ceil","notificationsForComments","getEntityNotificationSetting","muteLoaded","commentsLoading","includes","blockedUsers","user","uid","isUserBlocked","hideReplyButton","threadComments","innerC","ParentId","content","isEmpty","createElement","style","styles","commentRepliesText","color","colourBrandingMain","User","displayName","profilePics","take","uniqBy","multiReplyContainer","map","i","marginRight","Diameter","profilePic","marginLeft","length","commentReplies","onPress","onOpenThread","addingComment","componentDidMount","getNotificationSate","hidden","getComments","componentWillUnmount","loadTimer","clearTimeout","onPressCommentImage","image","imagePopupSource","imagePopupOpen","onGoToAdd","_this$props$commentRe","commentReply","current","focusInput","getAdjustedSize","size","scaleFont","fontScale","commentsLoadStarted","_this$props$commentRe2","loadingStarted","loadComments","minTime","maxBy","Timestamp","_this$props$commentRe3","sortBy","concat","onCommentsLoaded","loadingCompleted","live","setTimeout","refreshFrequency","startedAddingComment","commentAdded","push","onCommentAdded","canRemoveComment","permissions","adminPermission","closeCommentGallery","renderCommentDeleteConfirm","visible","onConfirm","onPressConfirmDelete","onCancel","onPressCancelDelete","onClose","text","renderCommentReportConfirm","onPressConfirmReport","onPressCancelReport","extraContent","commentReportText","renderCommentBlockConfirm","onPressConfirmBlock","onPressCancelBlock","renderCommentUnblockConfirm","onPressConfirmUnblock","onPressCancelUnblock","renderCommentReportStatus","isSuccess","onPressConfirmReportStatus","hideNo","yesText","renderCommentImage","commentImageContainer","bind","commentImage","source","uri","renderComment","key","commentFlex","commentProfilePic","commentBlock","commentTitleRow","onPressDeleteComment","commentButtonContainer","backgroundColor","name","type","iconStyle","commentButtonIcon","disableFlag","onPressReportComment","canBlockComment","onPressUnblockUser","onPressBlockUser","commentName","fontSize","Comment","commentText","commentBottom","commentTime","utc","local","format","renderReplyText","renderMute","muteSpinnerContainer","isMuted","hours","getMuteRemaining","mutedFor","muteContainer","mutedForText","onUnmute","onMute","borderColor","muteButton","disabled","disabledOpacity","noText","muteButtonInner","muteButtonIcon","muteButtonText","renderComments","commentSection","isNil","placeHolder","commentsEmpty","reverseOrder","reverse","showReplies","commentSectionTitleRow","alignItems","hideAddComment","goToText","commentCount","renderCommentImagePopup","images","ref","renderReportLoading","reportLoadingContainer","render","commentSectionOuter","create","flex","paddingHorizontal","paddingVertical","borderTopColor","borderTopWidth","fontFamily","marginTop","flexDirection","borderRadius","padding","width","height","justifyContent","textAlign","paddingLeft","marginBottom","borderWidth","mapStateToProps","userSettings","forwardRef"],"sources":["CommentSection.js"],"sourcesContent":["import React, { Component } from 'react';\nimport { View, Text, TouchableOpacity, Image, StyleSheet } from 'react-native';\nimport _ from 'lodash';\nimport moment from 'moment';\nimport { connect } from 'react-redux';\nimport { Icon } from 'react-native-elements';\nimport { getPluralS, getThumb300, get1400, getSiteSettingFromState, getFirstName, getPluralOptions } from '../helper';\nimport { getMainBrandingColourFromState, TEXT_DARKEST, BG_GREY, TEXT_LIGHT, LINEGREY } from '../colours';\nimport { reactionActions, notificationActions } from '../apis';\nimport { blockUser, unblockUser } from '../actions';\nimport { ConfirmPopup } from './ConfirmPopup';\nimport { ProfilePic } from './ProfilePic';\nimport { ImagePopup } from './ImagePopup';\nimport { InlineButton } from './InlineButton';\nimport { Spinner } from './Spinner';\nimport { Services } from '../config';\n\nclass CommentSection extends Component {\n constructor(props) {\n super(props);\n this.state = {\n commentsLoading: false,\n comments: [],\n addingComment: false,\n commentToDelete: null,\n commentToReport: null,\n commentReportedStatus: null,\n reportLoading: false,\n processing: false,\n muteExpiry: null,\n muteLoaded: false,\n };\n }\n\n componentDidMount() {\n this.getNotificationSate();\n\n if (!_.includes(this.props.user.hidden, 'viewComment')) {\n this.getComments();\n }\n }\n\n componentWillUnmount() {\n if (this.loadTimer) {\n clearTimeout(this.loadTimer);\n }\n }\n\n onPressDeleteComment = c => {\n this.setState({ commentToDelete: c });\n };\n\n onPressConfirmDelete = () => {\n reactionActions.removeComment(this.state.commentToDelete.Id).then(res => {\n console.log('deleted');\n });\n const newComments = _.filter(this.state.comments, c => {\n return c.Id !== this.state.commentToDelete.Id;\n });\n this.setState({\n comments: newComments,\n commentToDelete: null,\n });\n };\n\n onPressCancelDelete = () => {\n this.setState({ commentToDelete: null });\n };\n\n onPressReportComment = c => {\n this.setState({ commentToReport: c });\n };\n\n onPressBlockUser = c => {\n this.setState({ commentToBlock: c });\n };\n\n onPressConfirmBlock = () => {\n const userId = this.state.commentToBlock.UserId;\n this.props.blockUser(userId);\n this.setState({ commentToBlock: null });\n };\n\n onPressCancelBlock = () => {\n this.setState({ commentToBlock: null });\n };\n\n onPressUnblockUser = c => {\n this.setState({ commentToUnblock: c });\n };\n\n onPressConfirmUnblock = () => {\n const userId = this.state.commentToUnblock.UserId;\n this.props.unblockUser(userId);\n this.setState({ commentToUnblock: null });\n };\n\n onPressCancelUnblock = () => {\n this.setState({ commentToUnblock: null });\n };\n\n onPressConfirmReport = () => {\n const commentId = this.state.commentToReport.Id;\n this.setState({ reportLoading: true, commentToReport: null }, () => {\n reactionActions\n .reportComment(commentId)\n .then(res => {\n this.setState({ commentReportedStatus: 'success', reportLoading: false });\n })\n .catch(error => {\n console.log('reportComment', error);\n this.setState({ commentReportedStatus: 'fail', reportLoading: false });\n });\n });\n };\n\n onPressCancelReport = () => {\n this.setState({ commentToReport: null });\n };\n\n onPressConfirmReportStatus = () => {\n this.setState({ commentReportedStatus: null });\n };\n\n onPressCommentImage(image) {\n this.setState({\n imagePopupSource: [image],\n imagePopupOpen: true,\n });\n }\n\n onGoToAdd() {\n this.props.commentReply?.current?.focusInput();\n }\n\n onOpenThread = comment => {\n Services.navigation.navigate('thread', { ...this.props, threadId: comment.Id });\n };\n\n onMute = () => {\n const { entityType, entityId } = this.props;\n this.setState({ processing: true }, async () => {\n try {\n const { data } = await notificationActions.muteEntity(entityType, entityId);\n // console.log('onMute', data);\n const muteExpiry = moment(data.Expiry);\n this.setState({ muteExpiry, processing: false });\n } catch (error) {\n console.error('onMute', error);\n this.setState({ processing: false });\n }\n });\n };\n\n onUnmute = () => {\n const { entityType, entityId } = this.props;\n this.setState({ processing: true }, async () => {\n try {\n const { data } = await notificationActions.unmuteEntity(entityType, entityId);\n // console.log('onUnmute', data);\n this.setState({ muteExpiry: null, processing: false });\n } catch (error) {\n console.error('onUnmute', error);\n this.setState({ processing: false });\n }\n });\n };\n\n isMuted = () => {\n const { muteExpiry } = this.state;\n return muteExpiry && moment() <= muteExpiry;\n };\n\n getMuteRemaining = () => {\n const { muteExpiry } = this.state;\n const actual = muteExpiry ? moment.duration(muteExpiry.diff(moment())).asHours() : 0;\n return Math.abs(Math.ceil(actual));\n };\n\n getNotificationSate = () => {\n const { processing } = this.state;\n const { entityType, entityId, notificationsForComments } = this.props;\n if (processing || !notificationsForComments) return;\n\n this.setState({ processing: true }, async () => {\n try {\n const { data } = await notificationActions.getEntityNotificationSetting(entityType, entityId);\n // console.log('getNotificationSate', data);\n const muteExpiry = data ? moment(data.Expiry) : null;\n this.setState({ muteExpiry, muteLoaded: true, processing: false });\n } catch (error) {\n console.error('getNotificationSate', error);\n this.setState({ processing: false });\n }\n });\n };\n\n getAdjustedSize(size) {\n if (this.props.scaleFont) {\n return size + this.props.user.fontScale;\n }\n return size;\n }\n\n getComments() {\n if (!this.state.commentsLoadStarted) {\n this.setState({\n commentsLoadStarted: true,\n commentsLoading: true,\n });\n this.props.commentReply?.current?.loadingStarted();\n\n this.loadComments();\n }\n }\n\n isEmpty() {\n return _.isEmpty(this.state.comments);\n }\n\n loadComments() {\n const minTime = this.isEmpty()\n ? 0\n : _.maxBy(this.state.comments, c => {\n return c.Timestamp;\n }).Timestamp;\n reactionActions.getComments(this.props.entityId, this.props.entityType, minTime).then(res => {\n this.setState(\n {\n comments: _.sortBy(\n _.uniqBy(\n _.filter(_.concat(this.state.comments, res.data), c => {\n if (!this.props.threadId) {\n return true;\n }\n return c.Id === this.props.threadId || c.ParentId === this.props.threadId;\n }),\n c => {\n return c.Id;\n },\n ),\n 'Timestamp',\n ),\n commentsLoading: false,\n },\n () => {\n if (this.props.onCommentsLoaded) {\n this.props.onCommentsLoaded(this.state.comments.length);\n }\n },\n );\n //if (this.props.commentReply) {\n this.props.commentReply?.current?.loadingCompleted();\n //}\n if (this.props.live) {\n this.loadTimer = setTimeout(() => {\n this.loadComments();\n }, this.props.refreshFrequency || 2000);\n }\n });\n }\n\n isLoading = () => {\n return this.state.commentsLoading;\n };\n\n startedAddingComment() {\n this.setState({\n addingComment: true,\n });\n }\n\n commentAdded(comment) {\n const newComments = this.state.comments;\n newComments.push(comment);\n this.setState(\n {\n addingComment: false,\n comments: newComments,\n },\n () => {\n if (this.props.onCommentAdded) {\n this.props.onCommentAdded();\n }\n },\n );\n }\n\n isUserBlocked = c => {\n return _.includes(this.props.blockedUsers, c.UserId);\n };\n\n canBlockComment = c => {\n return this.props.user.uid !== c.UserId;\n };\n\n canRemoveComment(c) {\n if (this.props.user.uid === c.UserId) {\n return true;\n }\n return _.includes(this.props.user.permissions, this.props.adminPermission);\n }\n\n closeCommentGallery() {\n this.setState({\n imagePopupSource: [],\n imagePopupOpen: false,\n });\n }\n\n renderCommentDeleteConfirm() {\n return (\n <ConfirmPopup\n visible={!!this.state.commentToDelete}\n onConfirm={this.onPressConfirmDelete}\n onCancel={this.onPressCancelDelete}\n onClose={this.onPressCancelDelete}\n text=\"Are you sure you want to delete this comment?\"\n />\n );\n }\n\n renderCommentReportConfirm() {\n return (\n <ConfirmPopup\n visible={!!this.state.commentToReport}\n onConfirm={this.onPressConfirmReport}\n onCancel={this.onPressCancelReport}\n onClose={this.onPressCancelReport}\n text=\"Are you sure you want to report this comment?\"\n extraContent={<Text style={styles.commentReportText}>This comment will be reported to our team and considered for deletion</Text>}\n />\n );\n }\n\n renderCommentBlockConfirm() {\n return (\n <ConfirmPopup\n visible={!!this.state.commentToBlock}\n onConfirm={this.onPressConfirmBlock}\n onCancel={this.onPressCancelBlock}\n onClose={this.onPressCancelBlock}\n text=\"Are you sure you want to block this user?\"\n extraContent={<Text style={styles.commentReportText}>You will no longer see comments made by this user</Text>}\n />\n );\n }\n\n renderCommentUnblockConfirm() {\n return (\n <ConfirmPopup\n visible={!!this.state.commentToUnblock}\n onConfirm={this.onPressConfirmUnblock}\n onCancel={this.onPressCancelUnblock}\n onClose={this.onPressCancelUnblock}\n text=\"Are you sure you want to unblock this user?\"\n extraContent={<Text style={styles.commentReportText}>You will once again see comments made by this user</Text>}\n />\n );\n }\n\n renderCommentReportStatus() {\n const { commentReportedStatus } = this.state;\n const isSuccess = commentReportedStatus === 'success';\n return (\n <ConfirmPopup\n visible={!!commentReportedStatus}\n onConfirm={this.onPressConfirmReportStatus}\n text={isSuccess ? 'Thank you for reporting' : 'Unable to report'}\n extraContent={\n <Text style={styles.commentReportText}>\n {isSuccess ? 'We will review the comment within 24 hours' : 'There was a problem reporting the comment please try again later'}\n </Text>\n }\n hideNo\n yesText={'Done'}\n />\n );\n }\n\n renderCommentImage(c) {\n if (_.isEmpty(c.Image)) {\n return null;\n }\n return (\n <TouchableOpacity style={styles.commentImageContainer} onPress={this.onPressCommentImage.bind(this, get1400(c.Image))}>\n <Image style={styles.commentImage} source={{ uri: getThumb300(c.Image) }} />\n </TouchableOpacity>\n );\n }\n\n renderReplyText = (c, isUserBlocked) => {\n if (this.props.threadId || this.props.hideReplyButton) {\n return null;\n }\n\n const threadComments = _.filter(this.state.comments, innerC => {\n return innerC.ParentId === c.Id;\n });\n\n let content = null;\n\n if (_.isEmpty(threadComments)) {\n // no replies\n content = (\n <Text style={[styles.commentRepliesText, { color: this.props.colourBrandingMain }]}>{`Reply to ${getFirstName(\n !isUserBlocked && c.User ? c.User.displayName : 'comment',\n )}`}</Text>\n );\n } else {\n // existing replies\n const profilePics = _.take(\n _.uniqBy(threadComments, c => c.UserId),\n 3,\n );\n content = (\n <View style={styles.multiReplyContainer}>\n {profilePics.map((c, i) => {\n return <ProfilePic style={{ marginRight: -10 }} Diameter={20} ProfilePic={c.User.profilePic} />;\n })}\n <Text style={[styles.commentRepliesText, { marginLeft: 20, color: this.props.colourBrandingMain }]}>{`${\n threadComments.length\n } repl${getPluralOptions(threadComments.length, 'y', 'ies')}`}</Text>\n </View>\n );\n }\n\n return (\n <View style={styles.commentReplies}>\n <TouchableOpacity\n onPress={() => {\n this.onOpenThread(c);\n }}\n >\n {content}\n </TouchableOpacity>\n </View>\n );\n };\n\n renderComment(c) {\n const isUserBlocked = this.isUserBlocked(c);\n return (\n <View style={styles.comment} key={c.Id}>\n <View style={styles.commentFlex}>\n <ProfilePic ProfilePic={isUserBlocked ? null : c.User.profilePic} Diameter={40} style={styles.commentProfilePic} />\n <View style={styles.commentBlock}>\n <View style={styles.commentTitleRow}>\n {this.canRemoveComment(c) ? (\n <TouchableOpacity onPress={this.onPressDeleteComment.bind(this, c)}>\n <View style={[styles.commentButtonContainer, { backgroundColor: this.props.colourBrandingMain }]}>\n <Icon name=\"trash\" type=\"font-awesome\" iconStyle={styles.commentButtonIcon} />\n </View>\n </TouchableOpacity>\n ) : (\n !this.props.disableFlag && (\n <TouchableOpacity onPress={this.onPressReportComment.bind(this, c)}>\n <View style={[styles.commentButtonContainer, { backgroundColor: this.props.colourBrandingMain }]}>\n <Icon name=\"flag\" type=\"font-awesome\" iconStyle={styles.commentButtonIcon} />\n </View>\n </TouchableOpacity>\n )\n )}\n {!this.props.disableFlag &&\n this.canBlockComment(c) &&\n (isUserBlocked ? (\n <TouchableOpacity style={{ marginRight: 8 }} onPress={this.onPressUnblockUser.bind(this, c)}>\n <View style={[styles.commentButtonContainer, { backgroundColor: this.props.colourBrandingMain }]}>\n <Icon name=\"user-plus\" type=\"font-awesome\" iconStyle={styles.commentButtonIcon} />\n </View>\n </TouchableOpacity>\n ) : (\n <TouchableOpacity style={{ marginRight: 8 }} onPress={this.onPressBlockUser.bind(this, c)}>\n <View style={[styles.commentButtonContainer, { backgroundColor: this.props.colourBrandingMain }]}>\n <Icon name=\"user-times\" type=\"font-awesome\" iconStyle={styles.commentButtonIcon} />\n </View>\n </TouchableOpacity>\n ))}\n <Text style={[styles.commentName, { fontSize: this.getAdjustedSize(13) }]}>\n {isUserBlocked ? '[blocked user]' : c.User.displayName}\n </Text>\n </View>\n {!_.isEmpty(c.Comment) && (\n <Text style={[styles.commentText, { fontSize: this.getAdjustedSize(13) }]}>{isUserBlocked ? '[hidden]' : c.Comment}</Text>\n )}\n {!isUserBlocked && this.renderCommentImage(c)}\n </View>\n </View>\n <View style={styles.commentBottom}>\n <Text style={[styles.commentTime, { fontSize: this.getAdjustedSize(13) }]}>\n {moment\n .utc(c.Timestamp)\n .local()\n .format('D MMM • h:mma')}\n </Text>\n {this.renderReplyText(c, isUserBlocked)}\n </View>\n </View>\n );\n }\n\n renderMute() {\n const { notificationsForComments } = this.props;\n const { muteLoaded, muteExpiry, processing } = this.state;\n if (!notificationsForComments || !muteLoaded) return null;\n\n if (processing)\n return (\n <View style={styles.muteSpinnerContainer}>\n <Spinner size={'small'} color={this.props.colourBrandingMain} />\n </View>\n );\n\n const isMuted = this.isMuted();\n const hours = this.getMuteRemaining();\n const mutedFor = `Muted for ${hours} hour${getPluralS(hours)}`;\n // console.log(muteExpiry.format('DD MMM YYYY hh:mm a'));\n\n return (\n <View style={styles.muteContainer}>\n {isMuted && muteExpiry ? <Text style={[{ color: this.props.colourBrandingMain }, styles.mutedForText]}>{mutedFor}</Text> : null}\n <InlineButton\n onPress={isMuted ? this.onUnmute : this.onMute}\n color=\"#fff\"\n style={[{ borderColor: this.props.colourBrandingMain }, styles.muteButton]}\n disabled={processing}\n disabledOpacity\n noText\n >\n <View style={styles.muteButtonInner}>\n <Icon\n name={isMuted ? 'bell-o' : 'bell-slash-o'}\n type={'font-awesome'}\n iconStyle={[{ color: this.props.colourBrandingMain }, styles.muteButtonIcon]}\n />\n <Text style={[{ color: this.props.colourBrandingMain }, styles.muteButtonText]}>{isMuted ? 'Unmute' : 'Mute'}</Text>\n </View>\n </InlineButton>\n </View>\n );\n }\n\n renderComments() {\n if (this.state.commentsLoading) {\n return (\n <View style={styles.commentSection}>\n <Spinner color={this.props.colourBrandingMain} />\n </View>\n );\n }\n if (this.isEmpty() && !this.state.addingComment) {\n if (_.includes(this.props.user.hidden, 'addComment')) {\n return null;\n }\n if (!_.isNil(this.props.placeHolder) && _.isEmpty(this.props.placeHolder)) return null;\n return (\n <View style={styles.commentSection}>\n <Text style={[styles.commentsEmpty, { fontSize: this.getAdjustedSize(15) }]}>\n {_.isNil(this.props.placeHolder) ? 'Be the first to add a comment!' : this.props.placeHolder}\n </Text>\n </View>\n );\n }\n let source = [...this.state.comments];\n if (this.props.reverseOrder) {\n source = source.reverse();\n }\n if (!this.props.showReplies && !this.props.threadId) {\n source = _.filter(source, c => {\n return !c.ParentId;\n });\n }\n return (\n <View style={styles.commentSection}>\n {!this.isEmpty() && (\n <View style={styles.commentSectionTitleRow}>\n <View style={{ alignItems: 'flex-end' }}>\n {this.renderMute()}\n {!this.props.hideAddComment && this.state.comments.length > 2 && (\n <TouchableOpacity onPress={this.onGoToAdd.bind(this)}>\n <Text style={[styles.goToText, { color: this.props.colourBrandingMain }]}>Add a comment</Text>\n </TouchableOpacity>\n )}\n </View>\n <Text style={[styles.commentCount, { fontSize: this.getAdjustedSize(15) }]}>\n {this.state.comments.length}\n {` comment${getPluralS(this.state.comments.length)}`}\n </Text>\n </View>\n )}\n {this.props.reverseOrder && this.state.addingComment && <Spinner color={this.props.colourBrandingMain} />}\n {source.map(c => {\n return this.renderComment(c);\n })}\n {!this.props.reverseOrder && this.state.addingComment && <Spinner color={this.props.colourBrandingMain} />}\n </View>\n );\n }\n\n renderCommentImagePopup() {\n return (\n <ImagePopup\n visible={this.state.imagePopupOpen}\n images={this.state.imagePopupSource}\n onClose={this.closeCommentGallery.bind(this)}\n ref=\"commentImagePopup\"\n />\n );\n }\n\n renderReportLoading() {\n if (!this.state.reportLoading) return null;\n return (\n <View style={styles.reportLoadingContainer}>\n <Spinner color={this.props.colourBrandingMain} />\n </View>\n );\n }\n\n render() {\n if (_.includes(this.props.user.hidden, 'viewComment')) {\n return null;\n }\n return (\n <View style={[styles.commentSectionOuter, this.props.style]}>\n {this.renderComments()}\n {this.renderReportLoading()}\n {this.renderCommentDeleteConfirm()}\n {this.renderCommentReportConfirm()}\n {this.renderCommentBlockConfirm()}\n {this.renderCommentUnblockConfirm()}\n {this.renderCommentReportStatus()}\n {this.renderCommentImagePopup()}\n </View>\n );\n }\n}\n\nconst styles = StyleSheet.create({\n commentSectionOuter: {\n flex: 1,\n paddingHorizontal: 16,\n },\n commentSection: {\n flex: 1,\n paddingVertical: 12,\n borderTopColor: LINEGREY,\n borderTopWidth: 1,\n },\n commentCount: {\n fontFamily: 'sf-semibold',\n color: TEXT_DARKEST,\n flex: 1,\n marginTop: 4,\n },\n comment: {\n marginTop: 16,\n },\n commentFlex: {\n flexDirection: 'row',\n },\n commentProfilePic: {\n marginRight: 8,\n },\n commentBlock: {\n flex: 1,\n backgroundColor: BG_GREY,\n borderRadius: 5,\n padding: 8,\n },\n commentTitleRow: {\n flexDirection: 'row-reverse',\n alignItems: 'center',\n },\n commentButtonContainer: {\n width: 24,\n height: 24,\n borderRadius: 12,\n alignItems: 'center',\n justifyContent: 'center',\n },\n commentButtonIcon: {\n fontSize: 13,\n color: '#fff',\n },\n commentName: {\n fontFamily: 'sf-semibold',\n color: TEXT_DARKEST,\n flex: 1,\n },\n commentText: {\n marginTop: 8,\n fontFamily: 'sf-regular',\n color: TEXT_DARKEST,\n },\n commentBottom: {\n flexDirection: 'row-reverse',\n justifyContent: 'space-between',\n alignItems: 'center',\n },\n commentTime: {\n fontFamily: 'sf-regular',\n marginTop: 4,\n color: TEXT_LIGHT,\n textAlign: 'right',\n },\n commentReplies: {\n flex: 1,\n paddingLeft: 48,\n },\n commentRepliesText: {\n fontFamily: 'sf-semibold',\n fontSize: 15,\n },\n multiReplyContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n paddingVertical: 4,\n },\n commentImageContainer: {\n marginTop: 8,\n width: 60,\n height: 60,\n },\n commentImage: {\n width: 60,\n height: 60,\n borderRadius: 2,\n },\n commentsEmpty: {\n fontFamily: 'sf-semibold',\n color: TEXT_DARKEST,\n },\n commentSectionTitleRow: {\n flexDirection: 'row-reverse',\n },\n commentReportText: {\n fontFamily: 'sf-regular',\n fontSize: 14,\n paddingHorizontal: 22,\n textAlign: 'center',\n },\n reportLoadingContainer: {\n paddingVertical: 10,\n },\n goToText: {\n marginTop: 4,\n },\n muteSpinnerContainer: {\n width: 100,\n marginBottom: 6,\n },\n muteContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'flex-end',\n marginBottom: 6,\n },\n mutedForText: {\n fontFamily: 'sf-semibold',\n fontSize: 13,\n marginRight: 8,\n },\n muteButton: {\n borderWidth: 1,\n paddingHorizontal: 8,\n },\n muteButtonInner: {\n flexDirection: 'row',\n alignItems: 'center',\n },\n muteButtonIcon: {\n fontSize: 14,\n },\n muteButtonText: {\n fontFamily: 'sf-semibold',\n fontSize: 14,\n marginLeft: 6,\n },\n});\n\nconst mapStateToProps = state => {\n return {\n colourBrandingMain: getMainBrandingColourFromState(state),\n user: state.user,\n notificationsForComments: getSiteSettingFromState(state, 'NotificationsForComments', false),\n blockedUsers: state.userSettings.blockedUsers || [],\n };\n};\n\nconst commentSection = connect(mapStateToProps, { blockUser, unblockUser }, null, { forwardRef: true })(CommentSection);\nexport { commentSection as CommentSection };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["React","Component","View","Text","TouchableOpacity","Image","StyleSheet","_","moment","connect","Icon","getPluralS","getThumb300","get1400","getSiteSettingFromState","getFirstName","getPluralOptions","getMainBrandingColourFromState","TEXT_DARKEST","BG_GREY","TEXT_LIGHT","LINEGREY","reactionActions","notificationActions","blockUser","unblockUser","ConfirmPopup","ProfilePic","ImagePopup","InlineButton","Spinner","Services","CommentSection","constructor","props","_defineProperty","c","setState","commentToDelete","removeComment","state","Id","then","res","console","log","newComments","filter","comments","commentToReport","commentToBlock","userId","UserId","commentToUnblock","commentId","reportLoading","reportComment","commentReportedStatus","catch","error","comment","navigation","navigate","threadId","entityType","entityId","processing","data","muteEntity","muteExpiry","Expiry","unmuteEntity","actual","duration","diff","asHours","Math","abs","ceil","notificationsForComments","getEntityNotificationSetting","muteLoaded","commentsLoading","includes","blockedUsers","user","uid","isUserBlocked","hideReplyButton","threadComments","innerC","ParentId","content","isEmpty","createElement","style","styles","commentRepliesText","color","colourBrandingMain","User","displayName","profilePics","take","uniqBy","multiReplyContainer","map","i","key","marginRight","Diameter","profilePic","marginLeft","length","commentReplies","onPress","onOpenThread","addingComment","componentDidMount","getNotificationSate","hidden","getComments","componentWillUnmount","loadTimer","clearTimeout","onPressCommentImage","image","imagePopupSource","imagePopupOpen","onGoToAdd","_this$props$commentRe","commentReply","current","focusInput","getAdjustedSize","size","scaleFont","fontScale","commentsLoadStarted","_this$props$commentRe2","loadingStarted","loadComments","minTime","maxBy","Timestamp","_this$props$commentRe3","sortBy","concat","onCommentsLoaded","loadingCompleted","live","setTimeout","refreshFrequency","startedAddingComment","commentAdded","push","onCommentAdded","canRemoveComment","permissions","adminPermission","closeCommentGallery","renderCommentDeleteConfirm","visible","onConfirm","onPressConfirmDelete","onCancel","onPressCancelDelete","onClose","text","renderCommentReportConfirm","onPressConfirmReport","onPressCancelReport","extraContent","commentReportText","renderCommentBlockConfirm","onPressConfirmBlock","onPressCancelBlock","renderCommentUnblockConfirm","onPressConfirmUnblock","onPressCancelUnblock","renderCommentReportStatus","isSuccess","onPressConfirmReportStatus","hideNo","yesText","renderCommentImage","commentImageContainer","bind","commentImage","source","uri","renderComment","commentFlex","commentProfilePic","commentBlock","commentTitleRow","onPressDeleteComment","commentButtonContainer","backgroundColor","name","type","iconStyle","commentButtonIcon","disableFlag","onPressReportComment","canBlockComment","onPressUnblockUser","onPressBlockUser","commentName","fontSize","Comment","commentText","commentBottom","commentTime","utc","local","format","renderReplyText","renderMute","muteSpinnerContainer","isMuted","hours","getMuteRemaining","mutedFor","muteContainer","mutedForText","onUnmute","onMute","borderColor","muteButton","disabled","disabledOpacity","noText","muteButtonInner","muteButtonIcon","muteButtonText","renderComments","commentSection","isNil","placeHolder","commentsEmpty","reverseOrder","reverse","showReplies","commentSectionTitleRow","alignItems","hideAddComment","goToText","commentCount","renderCommentImagePopup","images","ref","renderReportLoading","reportLoadingContainer","render","commentSectionOuter","create","flex","paddingHorizontal","paddingVertical","borderTopColor","borderTopWidth","fontFamily","marginTop","flexDirection","borderRadius","padding","width","height","justifyContent","textAlign","paddingLeft","marginBottom","borderWidth","mapStateToProps","userSettings","forwardRef"],"sources":["CommentSection.js"],"sourcesContent":["import React, { Component } from 'react';\nimport { View, Text, TouchableOpacity, Image, StyleSheet } from 'react-native';\nimport _ from 'lodash';\nimport moment from 'moment';\nimport { connect } from 'react-redux';\nimport { Icon } from 'react-native-elements';\nimport { getPluralS, getThumb300, get1400, getSiteSettingFromState, getFirstName, getPluralOptions } from '../helper';\nimport { getMainBrandingColourFromState, TEXT_DARKEST, BG_GREY, TEXT_LIGHT, LINEGREY } from '../colours';\nimport { reactionActions, notificationActions } from '../apis';\nimport { blockUser, unblockUser } from '../actions';\nimport { ConfirmPopup } from './ConfirmPopup';\nimport { ProfilePic } from './ProfilePic';\nimport { ImagePopup } from './ImagePopup';\nimport { InlineButton } from './InlineButton';\nimport { Spinner } from './Spinner';\nimport { Services } from '../config';\n\nclass CommentSection extends Component {\n constructor(props) {\n super(props);\n this.state = {\n commentsLoading: false,\n comments: [],\n addingComment: false,\n commentToDelete: null,\n commentToReport: null,\n commentReportedStatus: null,\n reportLoading: false,\n processing: false,\n muteExpiry: null,\n muteLoaded: false,\n };\n }\n\n componentDidMount() {\n this.getNotificationSate();\n\n if (!_.includes(this.props.user.hidden, 'viewComment')) {\n this.getComments();\n }\n }\n\n componentWillUnmount() {\n if (this.loadTimer) {\n clearTimeout(this.loadTimer);\n }\n }\n\n onPressDeleteComment = c => {\n this.setState({ commentToDelete: c });\n };\n\n onPressConfirmDelete = () => {\n reactionActions.removeComment(this.state.commentToDelete.Id).then(res => {\n console.log('deleted');\n });\n const newComments = _.filter(this.state.comments, c => {\n return c.Id !== this.state.commentToDelete.Id;\n });\n this.setState({\n comments: newComments,\n commentToDelete: null,\n });\n };\n\n onPressCancelDelete = () => {\n this.setState({ commentToDelete: null });\n };\n\n onPressReportComment = c => {\n this.setState({ commentToReport: c });\n };\n\n onPressBlockUser = c => {\n this.setState({ commentToBlock: c });\n };\n\n onPressConfirmBlock = () => {\n const userId = this.state.commentToBlock.UserId;\n this.props.blockUser(userId);\n this.setState({ commentToBlock: null });\n };\n\n onPressCancelBlock = () => {\n this.setState({ commentToBlock: null });\n };\n\n onPressUnblockUser = c => {\n this.setState({ commentToUnblock: c });\n };\n\n onPressConfirmUnblock = () => {\n const userId = this.state.commentToUnblock.UserId;\n this.props.unblockUser(userId);\n this.setState({ commentToUnblock: null });\n };\n\n onPressCancelUnblock = () => {\n this.setState({ commentToUnblock: null });\n };\n\n onPressConfirmReport = () => {\n const commentId = this.state.commentToReport.Id;\n this.setState({ reportLoading: true, commentToReport: null }, () => {\n reactionActions\n .reportComment(commentId)\n .then(res => {\n this.setState({ commentReportedStatus: 'success', reportLoading: false });\n })\n .catch(error => {\n console.log('reportComment', error);\n this.setState({ commentReportedStatus: 'fail', reportLoading: false });\n });\n });\n };\n\n onPressCancelReport = () => {\n this.setState({ commentToReport: null });\n };\n\n onPressConfirmReportStatus = () => {\n this.setState({ commentReportedStatus: null });\n };\n\n onPressCommentImage(image) {\n this.setState({\n imagePopupSource: [image],\n imagePopupOpen: true,\n });\n }\n\n onGoToAdd() {\n this.props.commentReply?.current?.focusInput();\n }\n\n onOpenThread = comment => {\n Services.navigation.navigate('thread', { ...this.props, threadId: comment.Id });\n };\n\n onMute = () => {\n const { entityType, entityId } = this.props;\n this.setState({ processing: true }, async () => {\n try {\n const { data } = await notificationActions.muteEntity(entityType, entityId);\n // console.log('onMute', data);\n const muteExpiry = moment(data.Expiry);\n this.setState({ muteExpiry, processing: false });\n } catch (error) {\n console.error('onMute', error);\n this.setState({ processing: false });\n }\n });\n };\n\n onUnmute = () => {\n const { entityType, entityId } = this.props;\n this.setState({ processing: true }, async () => {\n try {\n const { data } = await notificationActions.unmuteEntity(entityType, entityId);\n // console.log('onUnmute', data);\n this.setState({ muteExpiry: null, processing: false });\n } catch (error) {\n console.error('onUnmute', error);\n this.setState({ processing: false });\n }\n });\n };\n\n isMuted = () => {\n const { muteExpiry } = this.state;\n return muteExpiry && moment() <= muteExpiry;\n };\n\n getMuteRemaining = () => {\n const { muteExpiry } = this.state;\n const actual = muteExpiry ? moment.duration(muteExpiry.diff(moment())).asHours() : 0;\n return Math.abs(Math.ceil(actual));\n };\n\n getNotificationSate = () => {\n const { processing } = this.state;\n const { entityType, entityId, notificationsForComments } = this.props;\n if (processing || !notificationsForComments) return;\n\n this.setState({ processing: true }, async () => {\n try {\n const { data } = await notificationActions.getEntityNotificationSetting(entityType, entityId);\n // console.log('getNotificationSate', data);\n const muteExpiry = data ? moment(data.Expiry) : null;\n this.setState({ muteExpiry, muteLoaded: true, processing: false });\n } catch (error) {\n console.error('getNotificationSate', error);\n this.setState({ processing: false });\n }\n });\n };\n\n getAdjustedSize(size) {\n if (this.props.scaleFont) {\n return size + this.props.user.fontScale;\n }\n return size;\n }\n\n getComments() {\n if (!this.state.commentsLoadStarted) {\n this.setState({\n commentsLoadStarted: true,\n commentsLoading: true,\n });\n this.props.commentReply?.current?.loadingStarted();\n\n this.loadComments();\n }\n }\n\n isEmpty() {\n return _.isEmpty(this.state.comments);\n }\n\n loadComments() {\n const minTime = this.isEmpty()\n ? 0\n : _.maxBy(this.state.comments, c => {\n return c.Timestamp;\n }).Timestamp;\n reactionActions.getComments(this.props.entityId, this.props.entityType, minTime).then(res => {\n this.setState(\n {\n comments: _.sortBy(\n _.uniqBy(\n _.filter(_.concat(this.state.comments, res.data), c => {\n if (!this.props.threadId) {\n return true;\n }\n return c.Id === this.props.threadId || c.ParentId === this.props.threadId;\n }),\n c => {\n return c.Id;\n },\n ),\n 'Timestamp',\n ),\n commentsLoading: false,\n },\n () => {\n if (this.props.onCommentsLoaded) {\n this.props.onCommentsLoaded(this.state.comments.length);\n }\n },\n );\n //if (this.props.commentReply) {\n this.props.commentReply?.current?.loadingCompleted();\n //}\n if (this.props.live) {\n this.loadTimer = setTimeout(() => {\n this.loadComments();\n }, this.props.refreshFrequency || 2000);\n }\n });\n }\n\n isLoading = () => {\n return this.state.commentsLoading;\n };\n\n startedAddingComment() {\n this.setState({\n addingComment: true,\n });\n }\n\n commentAdded(comment) {\n const newComments = this.state.comments;\n newComments.push(comment);\n this.setState(\n {\n addingComment: false,\n comments: newComments,\n },\n () => {\n if (this.props.onCommentAdded) {\n this.props.onCommentAdded();\n }\n },\n );\n }\n\n isUserBlocked = c => {\n return _.includes(this.props.blockedUsers, c.UserId);\n };\n\n canBlockComment = c => {\n return this.props.user.uid !== c.UserId;\n };\n\n canRemoveComment(c) {\n if (this.props.user.uid === c.UserId) {\n return true;\n }\n return _.includes(this.props.user.permissions, this.props.adminPermission);\n }\n\n closeCommentGallery() {\n this.setState({\n imagePopupSource: [],\n imagePopupOpen: false,\n });\n }\n\n renderCommentDeleteConfirm() {\n return (\n <ConfirmPopup\n visible={!!this.state.commentToDelete}\n onConfirm={this.onPressConfirmDelete}\n onCancel={this.onPressCancelDelete}\n onClose={this.onPressCancelDelete}\n text=\"Are you sure you want to delete this comment?\"\n />\n );\n }\n\n renderCommentReportConfirm() {\n return (\n <ConfirmPopup\n visible={!!this.state.commentToReport}\n onConfirm={this.onPressConfirmReport}\n onCancel={this.onPressCancelReport}\n onClose={this.onPressCancelReport}\n text=\"Are you sure you want to report this comment?\"\n extraContent={<Text style={styles.commentReportText}>This comment will be reported to our team and considered for deletion</Text>}\n />\n );\n }\n\n renderCommentBlockConfirm() {\n return (\n <ConfirmPopup\n visible={!!this.state.commentToBlock}\n onConfirm={this.onPressConfirmBlock}\n onCancel={this.onPressCancelBlock}\n onClose={this.onPressCancelBlock}\n text=\"Are you sure you want to block this user?\"\n extraContent={<Text style={styles.commentReportText}>You will no longer see comments made by this user</Text>}\n />\n );\n }\n\n renderCommentUnblockConfirm() {\n return (\n <ConfirmPopup\n visible={!!this.state.commentToUnblock}\n onConfirm={this.onPressConfirmUnblock}\n onCancel={this.onPressCancelUnblock}\n onClose={this.onPressCancelUnblock}\n text=\"Are you sure you want to unblock this user?\"\n extraContent={<Text style={styles.commentReportText}>You will once again see comments made by this user</Text>}\n />\n );\n }\n\n renderCommentReportStatus() {\n const { commentReportedStatus } = this.state;\n const isSuccess = commentReportedStatus === 'success';\n return (\n <ConfirmPopup\n visible={!!commentReportedStatus}\n onConfirm={this.onPressConfirmReportStatus}\n text={isSuccess ? 'Thank you for reporting' : 'Unable to report'}\n extraContent={\n <Text style={styles.commentReportText}>\n {isSuccess ? 'We will review the comment within 24 hours' : 'There was a problem reporting the comment please try again later'}\n </Text>\n }\n hideNo\n yesText={'Done'}\n />\n );\n }\n\n renderCommentImage(c) {\n if (_.isEmpty(c.Image)) {\n return null;\n }\n return (\n <TouchableOpacity style={styles.commentImageContainer} onPress={this.onPressCommentImage.bind(this, get1400(c.Image))}>\n <Image style={styles.commentImage} source={{ uri: getThumb300(c.Image) }} />\n </TouchableOpacity>\n );\n }\n\n renderReplyText = (c, isUserBlocked) => {\n if (this.props.threadId || this.props.hideReplyButton) {\n return null;\n }\n\n const threadComments = _.filter(this.state.comments, innerC => {\n return innerC.ParentId === c.Id;\n });\n\n let content = null;\n\n if (_.isEmpty(threadComments)) {\n // no replies\n content = (\n <Text style={[styles.commentRepliesText, { color: this.props.colourBrandingMain }]}>{`Reply to ${getFirstName(\n !isUserBlocked && c.User ? c.User.displayName : 'comment',\n )}`}</Text>\n );\n } else {\n // existing replies\n const profilePics = _.take(\n _.uniqBy(threadComments, c => c.UserId),\n 3,\n );\n content = (\n <View style={styles.multiReplyContainer}>\n {profilePics.map((c, i) => {\n return <ProfilePic key={c.Id} style={{ marginRight: -10 }} Diameter={20} ProfilePic={c.User.profilePic} />;\n })}\n <Text style={[styles.commentRepliesText, { marginLeft: 20, color: this.props.colourBrandingMain }]}>{`${\n threadComments.length\n } repl${getPluralOptions(threadComments.length, 'y', 'ies')}`}</Text>\n </View>\n );\n }\n\n return (\n <View style={styles.commentReplies}>\n <TouchableOpacity\n onPress={() => {\n this.onOpenThread(c);\n }}\n >\n {content}\n </TouchableOpacity>\n </View>\n );\n };\n\n renderComment(c) {\n const isUserBlocked = this.isUserBlocked(c);\n return (\n <View style={styles.comment} key={c.Id}>\n <View style={styles.commentFlex}>\n <ProfilePic ProfilePic={isUserBlocked ? null : c.User.profilePic} Diameter={40} style={styles.commentProfilePic} />\n <View style={styles.commentBlock}>\n <View style={styles.commentTitleRow}>\n {this.canRemoveComment(c) ? (\n <TouchableOpacity onPress={this.onPressDeleteComment.bind(this, c)}>\n <View style={[styles.commentButtonContainer, { backgroundColor: this.props.colourBrandingMain }]}>\n <Icon name=\"trash\" type=\"font-awesome\" iconStyle={styles.commentButtonIcon} />\n </View>\n </TouchableOpacity>\n ) : (\n !this.props.disableFlag && (\n <TouchableOpacity onPress={this.onPressReportComment.bind(this, c)}>\n <View style={[styles.commentButtonContainer, { backgroundColor: this.props.colourBrandingMain }]}>\n <Icon name=\"flag\" type=\"font-awesome\" iconStyle={styles.commentButtonIcon} />\n </View>\n </TouchableOpacity>\n )\n )}\n {!this.props.disableFlag &&\n this.canBlockComment(c) &&\n (isUserBlocked ? (\n <TouchableOpacity style={{ marginRight: 8 }} onPress={this.onPressUnblockUser.bind(this, c)}>\n <View style={[styles.commentButtonContainer, { backgroundColor: this.props.colourBrandingMain }]}>\n <Icon name=\"user-plus\" type=\"font-awesome\" iconStyle={styles.commentButtonIcon} />\n </View>\n </TouchableOpacity>\n ) : (\n <TouchableOpacity style={{ marginRight: 8 }} onPress={this.onPressBlockUser.bind(this, c)}>\n <View style={[styles.commentButtonContainer, { backgroundColor: this.props.colourBrandingMain }]}>\n <Icon name=\"user-times\" type=\"font-awesome\" iconStyle={styles.commentButtonIcon} />\n </View>\n </TouchableOpacity>\n ))}\n <Text style={[styles.commentName, { fontSize: this.getAdjustedSize(13) }]}>\n {isUserBlocked ? '[blocked user]' : c.User.displayName}\n </Text>\n </View>\n {!_.isEmpty(c.Comment) && (\n <Text style={[styles.commentText, { fontSize: this.getAdjustedSize(13) }]}>{isUserBlocked ? '[hidden]' : c.Comment}</Text>\n )}\n {!isUserBlocked && this.renderCommentImage(c)}\n </View>\n </View>\n <View style={styles.commentBottom}>\n <Text style={[styles.commentTime, { fontSize: this.getAdjustedSize(13) }]}>\n {moment\n .utc(c.Timestamp)\n .local()\n .format('D MMM • h:mma')}\n </Text>\n {this.renderReplyText(c, isUserBlocked)}\n </View>\n </View>\n );\n }\n\n renderMute() {\n const { notificationsForComments } = this.props;\n const { muteLoaded, muteExpiry, processing } = this.state;\n if (!notificationsForComments || !muteLoaded) return null;\n\n if (processing)\n return (\n <View style={styles.muteSpinnerContainer}>\n <Spinner size={'small'} color={this.props.colourBrandingMain} />\n </View>\n );\n\n const isMuted = this.isMuted();\n const hours = this.getMuteRemaining();\n const mutedFor = `Muted for ${hours} hour${getPluralS(hours)}`;\n // console.log(muteExpiry.format('DD MMM YYYY hh:mm a'));\n\n return (\n <View style={styles.muteContainer}>\n {isMuted && muteExpiry ? <Text style={[{ color: this.props.colourBrandingMain }, styles.mutedForText]}>{mutedFor}</Text> : null}\n <InlineButton\n onPress={isMuted ? this.onUnmute : this.onMute}\n color=\"#fff\"\n style={[{ borderColor: this.props.colourBrandingMain }, styles.muteButton]}\n disabled={processing}\n disabledOpacity\n noText\n >\n <View style={styles.muteButtonInner}>\n <Icon\n name={isMuted ? 'bell-o' : 'bell-slash-o'}\n type={'font-awesome'}\n iconStyle={[{ color: this.props.colourBrandingMain }, styles.muteButtonIcon]}\n />\n <Text style={[{ color: this.props.colourBrandingMain }, styles.muteButtonText]}>{isMuted ? 'Unmute' : 'Mute'}</Text>\n </View>\n </InlineButton>\n </View>\n );\n }\n\n renderComments() {\n if (this.state.commentsLoading) {\n return (\n <View style={styles.commentSection}>\n <Spinner color={this.props.colourBrandingMain} />\n </View>\n );\n }\n if (this.isEmpty() && !this.state.addingComment) {\n if (_.includes(this.props.user.hidden, 'addComment')) {\n return null;\n }\n if (!_.isNil(this.props.placeHolder) && _.isEmpty(this.props.placeHolder)) return null;\n return (\n <View style={styles.commentSection}>\n <Text style={[styles.commentsEmpty, { fontSize: this.getAdjustedSize(15) }]}>\n {_.isNil(this.props.placeHolder) ? 'Be the first to add a comment!' : this.props.placeHolder}\n </Text>\n </View>\n );\n }\n let source = [...this.state.comments];\n if (this.props.reverseOrder) {\n source = source.reverse();\n }\n if (!this.props.showReplies && !this.props.threadId) {\n source = _.filter(source, c => {\n return !c.ParentId;\n });\n }\n return (\n <View style={styles.commentSection}>\n {!this.isEmpty() && (\n <View style={styles.commentSectionTitleRow}>\n <View style={{ alignItems: 'flex-end' }}>\n {this.renderMute()}\n {!this.props.hideAddComment && this.state.comments.length > 2 && (\n <TouchableOpacity onPress={this.onGoToAdd.bind(this)}>\n <Text style={[styles.goToText, { color: this.props.colourBrandingMain }]}>Add a comment</Text>\n </TouchableOpacity>\n )}\n </View>\n <Text style={[styles.commentCount, { fontSize: this.getAdjustedSize(15) }]}>\n {this.state.comments.length}\n {` comment${getPluralS(this.state.comments.length)}`}\n </Text>\n </View>\n )}\n {this.props.reverseOrder && this.state.addingComment && <Spinner color={this.props.colourBrandingMain} />}\n {source.map(c => {\n return this.renderComment(c);\n })}\n {!this.props.reverseOrder && this.state.addingComment && <Spinner color={this.props.colourBrandingMain} />}\n </View>\n );\n }\n\n renderCommentImagePopup() {\n return (\n <ImagePopup\n visible={this.state.imagePopupOpen}\n images={this.state.imagePopupSource}\n onClose={this.closeCommentGallery.bind(this)}\n ref=\"commentImagePopup\"\n />\n );\n }\n\n renderReportLoading() {\n if (!this.state.reportLoading) return null;\n return (\n <View style={styles.reportLoadingContainer}>\n <Spinner color={this.props.colourBrandingMain} />\n </View>\n );\n }\n\n render() {\n if (_.includes(this.props.user.hidden, 'viewComment')) {\n return null;\n }\n return (\n <View style={[styles.commentSectionOuter, this.props.style]}>\n {this.renderComments()}\n {this.renderReportLoading()}\n {this.renderCommentDeleteConfirm()}\n {this.renderCommentReportConfirm()}\n {this.renderCommentBlockConfirm()}\n {this.renderCommentUnblockConfirm()}\n {this.renderCommentReportStatus()}\n {this.renderCommentImagePopup()}\n </View>\n );\n }\n}\n\nconst styles = StyleSheet.create({\n commentSectionOuter: {\n flex: 1,\n paddingHorizontal: 16,\n },\n commentSection: {\n flex: 1,\n paddingVertical: 12,\n borderTopColor: LINEGREY,\n borderTopWidth: 1,\n },\n commentCount: {\n fontFamily: 'sf-semibold',\n color: TEXT_DARKEST,\n flex: 1,\n marginTop: 4,\n },\n comment: {\n marginTop: 16,\n },\n commentFlex: {\n flexDirection: 'row',\n },\n commentProfilePic: {\n marginRight: 8,\n },\n commentBlock: {\n flex: 1,\n backgroundColor: BG_GREY,\n borderRadius: 5,\n padding: 8,\n },\n commentTitleRow: {\n flexDirection: 'row-reverse',\n alignItems: 'center',\n },\n commentButtonContainer: {\n width: 24,\n height: 24,\n borderRadius: 12,\n alignItems: 'center',\n justifyContent: 'center',\n },\n commentButtonIcon: {\n fontSize: 13,\n color: '#fff',\n },\n commentName: {\n fontFamily: 'sf-semibold',\n color: TEXT_DARKEST,\n flex: 1,\n },\n commentText: {\n marginTop: 8,\n fontFamily: 'sf-regular',\n color: TEXT_DARKEST,\n },\n commentBottom: {\n flexDirection: 'row-reverse',\n justifyContent: 'space-between',\n alignItems: 'center',\n },\n commentTime: {\n fontFamily: 'sf-regular',\n marginTop: 4,\n color: TEXT_LIGHT,\n textAlign: 'right',\n },\n commentReplies: {\n flex: 1,\n paddingLeft: 48,\n },\n commentRepliesText: {\n fontFamily: 'sf-semibold',\n fontSize: 15,\n },\n multiReplyContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n paddingVertical: 4,\n },\n commentImageContainer: {\n marginTop: 8,\n width: 60,\n height: 60,\n },\n commentImage: {\n width: 60,\n height: 60,\n borderRadius: 2,\n },\n commentsEmpty: {\n fontFamily: 'sf-semibold',\n color: TEXT_DARKEST,\n },\n commentSectionTitleRow: {\n flexDirection: 'row-reverse',\n },\n commentReportText: {\n fontFamily: 'sf-regular',\n fontSize: 14,\n paddingHorizontal: 22,\n textAlign: 'center',\n },\n reportLoadingContainer: {\n paddingVertical: 10,\n },\n goToText: {\n marginTop: 4,\n },\n muteSpinnerContainer: {\n width: 100,\n marginBottom: 6,\n },\n muteContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'flex-end',\n marginBottom: 6,\n },\n mutedForText: {\n fontFamily: 'sf-semibold',\n fontSize: 13,\n marginRight: 8,\n },\n muteButton: {\n borderWidth: 1,\n paddingHorizontal: 8,\n },\n muteButtonInner: {\n flexDirection: 'row',\n alignItems: 'center',\n },\n muteButtonIcon: {\n fontSize: 14,\n },\n muteButtonText: {\n fontFamily: 'sf-semibold',\n fontSize: 14,\n marginLeft: 6,\n },\n});\n\nconst mapStateToProps = state => {\n return {\n colourBrandingMain: getMainBrandingColourFromState(state),\n user: state.user,\n notificationsForComments: getSiteSettingFromState(state, 'NotificationsForComments', false),\n blockedUsers: state.userSettings.blockedUsers || [],\n };\n};\n\nconst commentSection = connect(mapStateToProps, { blockUser, unblockUser }, null, { forwardRef: true })(CommentSection);\nexport { commentSection as CommentSection };\n"],"mappings":"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"}
|
|
@@ -13,7 +13,7 @@ import { View, StyleSheet, Text, TouchableOpacity } from 'react-native';
|
|
|
13
13
|
import { ViewPropTypes } from 'deprecated-react-native-prop-types';
|
|
14
14
|
import _ from 'lodash';
|
|
15
15
|
import { Avatar, Bubble, SystemMessage, Day, utils } from 'react-native-gifted-chat';
|
|
16
|
-
import { TEXT_MID, TEXT_LIGHT } from '../colours';
|
|
16
|
+
import { TEXT_MID, TEXT_LIGHT, TEXT_DARK, TEXT_SUPER_LIGHT } from '../colours';
|
|
17
17
|
import { getFirstName } from '../helper';
|
|
18
18
|
import { TextStyle } from './TextStyle';
|
|
19
19
|
const isSameUser = utils.isSameUser;
|
|
@@ -117,9 +117,7 @@ export default class PlussChatMessage extends React.Component {
|
|
|
117
117
|
return /*#__PURE__*/React.createElement(View, {
|
|
118
118
|
style: styles[this.props.position].replyBubble
|
|
119
119
|
}, /*#__PURE__*/React.createElement(View, {
|
|
120
|
-
style:
|
|
121
|
-
backgroundColor: this.props.colourBrandingMain
|
|
122
|
-
}]
|
|
120
|
+
style: styles[this.props.position].replyBubbleInner
|
|
123
121
|
}, /*#__PURE__*/React.createElement(Text, {
|
|
124
122
|
style: styles[this.props.position].replyBubbleText
|
|
125
123
|
}, (this.props.currentMessage.replyingTo.text || '').substr(0, 100))));
|
|
@@ -175,11 +173,12 @@ const styles = {
|
|
|
175
173
|
paddingBottom: 16,
|
|
176
174
|
marginBottom: -12,
|
|
177
175
|
borderRadius: 4,
|
|
178
|
-
opacity: 0.
|
|
176
|
+
opacity: 0.7,
|
|
177
|
+
backgroundColor: TEXT_SUPER_LIGHT
|
|
179
178
|
},
|
|
180
179
|
replyBubbleText: {
|
|
181
180
|
fontFamily: 'sf-regular',
|
|
182
|
-
color:
|
|
181
|
+
color: TEXT_DARK,
|
|
183
182
|
fontSize: 13,
|
|
184
183
|
textAlign: 'left'
|
|
185
184
|
},
|
|
@@ -214,11 +213,12 @@ const styles = {
|
|
|
214
213
|
paddingBottom: 16,
|
|
215
214
|
marginBottom: -12,
|
|
216
215
|
borderRadius: 4,
|
|
217
|
-
opacity: 0.
|
|
216
|
+
opacity: 0.7,
|
|
217
|
+
backgroundColor: TEXT_SUPER_LIGHT
|
|
218
218
|
},
|
|
219
219
|
replyBubbleText: {
|
|
220
220
|
fontFamily: 'sf-regular',
|
|
221
|
-
color:
|
|
221
|
+
color: TEXT_DARK,
|
|
222
222
|
fontSize: 13,
|
|
223
223
|
textAlign: 'right'
|
|
224
224
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["PropTypes","React","View","StyleSheet","Text","TouchableOpacity","ViewPropTypes","_","Avatar","Bubble","SystemMessage","Day","utils","TEXT_MID","TEXT_LIGHT","getFirstName","TextStyle","isSameUser","isSameDay","PlussChatMessage","Component","getInnerComponentProps","containerStyle","props","isCurrentUser","user","_id","currentMessage","renderDay","createdAt","dayProps","createElement","renderBubble","bubbleProps","renderSystemMessage","systemMessageProps","renderAvatar","showUserAvatar","avatarProps","avatar","isEmpty","_extends","imageStyle","left","width","height","borderRadius","right","marginRight","marginLeft","renderName","nameProps","name","nameText","replyingTo","style","styles","position","renderReply","replyBubble","replyBubbleInner","backgroundColor","colourBrandingMain","replyBubbleText","text","substr","renderReplyButton","replyContainer","onPress","onPressReply","type","color","render","sameUserAsLast","previousMessage","sameUser","nextMessage","system","container","marginBottom","inverted","create","flexDirection","alignItems","justifyContent","fontFamily","fontSize","textAlign","paddingLeft","padding","paddingBottom","opacity","paddingRight","alignSelf","defaultProps","undefined","propTypes","func","bool","oneOf","object","shape"],"sources":["PlussChatMessage.js"],"sourcesContent":["/* eslint no-use-before-define: [\"error\", { \"variables\": false }], react-native/no-inline-styles: 0 */\n\n// NOTE:\n// This is a modified version of react-native-gifted-chat Message component\n\n// Original source:\n// https://github.com/FaridSafi/react-native-gifted-chat/blob/master/src/Message.js\n\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { View, StyleSheet, Text, TouchableOpacity } from 'react-native';\nimport { ViewPropTypes } from 'deprecated-react-native-prop-types';\nimport _ from 'lodash';\n\nimport { Avatar, Bubble, SystemMessage, Day, utils } from 'react-native-gifted-chat';\nimport { TEXT_MID, TEXT_LIGHT } from '../colours';\nimport { getFirstName } from '../helper';\nimport { TextStyle } from './TextStyle';\n\nconst isSameUser = utils.isSameUser;\nconst isSameDay = utils.isSameDay;\n\nexport default class PlussChatMessage extends React.Component {\n getInnerComponentProps() {\n const { containerStyle, ...props } = this.props;\n return {\n ...props,\n isSameUser,\n isSameDay,\n };\n }\n\n isCurrentUser() {\n if (this.props.user._id === this.props.currentMessage.user._id) {\n return true;\n }\n return false;\n }\n\n renderDay() {\n if (this.props.currentMessage.createdAt) {\n const dayProps = this.getInnerComponentProps();\n if (this.props.renderDay) {\n return this.props.renderDay(dayProps);\n }\n return <Day {...dayProps} />;\n }\n return null;\n }\n\n renderBubble() {\n const bubbleProps = this.getInnerComponentProps();\n if (this.props.renderBubble) {\n return this.props.renderBubble(bubbleProps);\n }\n return <Bubble {...bubbleProps} />;\n }\n\n renderSystemMessage() {\n const systemMessageProps = this.getInnerComponentProps();\n if (this.props.renderSystemMessage) {\n return this.props.renderSystemMessage(systemMessageProps);\n }\n return <SystemMessage {...systemMessageProps} />;\n }\n\n renderAvatar() {\n if (this.isCurrentUser() && !this.props.showUserAvatar) {\n return null;\n }\n const avatarProps = this.getInnerComponentProps();\n const { currentMessage } = avatarProps;\n if (currentMessage.user.avatar === null || _.isEmpty(currentMessage.user.avatar)) {\n return null;\n }\n return (\n <Avatar\n {...avatarProps}\n imageStyle={{\n left: {\n width: 30,\n height: 30,\n borderRadius: 15,\n },\n right: {\n width: 30,\n height: 30,\n borderRadius: 15,\n },\n }}\n containerStyle={{\n left: {\n marginRight: 10,\n },\n right: {\n marginLeft: 10,\n },\n }}\n />\n );\n }\n\n renderName() {\n const nameProps = this.getInnerComponentProps();\n const { currentMessage } = nameProps;\n if (currentMessage.user.name === null) {\n return null;\n }\n let nameText = this.isCurrentUser() ? 'Me' : getFirstName(currentMessage.user.name);\n if (\n this.props.currentMessage &&\n this.props.currentMessage.replyingTo &&\n this.props.currentMessage.replyingTo.user &&\n !_.isEmpty(this.props.currentMessage.replyingTo.user.name)\n ) {\n nameText = `${nameText} replying to ${this.props.currentMessage.replyingTo.user.name}`;\n }\n return <Text style={[styles[this.props.position].name]}>{nameText}</Text>;\n }\n\n renderReply() {\n if (!this.props.currentMessage || !this.props.currentMessage.replyingTo) {\n return null;\n }\n return (\n <View style={styles[this.props.position].replyBubble}>\n <View style={[styles[this.props.position].replyBubbleInner, { backgroundColor: this.props.colourBrandingMain }]}>\n <Text style={styles[this.props.position].replyBubbleText}>\n {(this.props.currentMessage.replyingTo.text || '').substr(0, 100)}\n </Text>\n </View>\n </View>\n );\n }\n\n renderReplyButton() {\n return (\n <TouchableOpacity style={styles[this.props.position].replyContainer} onPress={this.props.onPressReply}>\n <TextStyle type=\"button\" style={{ color: this.props.colourBrandingMain }}>\n Reply\n </TextStyle>\n </TouchableOpacity>\n );\n }\n\n render() {\n const sameUserAsLast = isSameUser(this.props.currentMessage, this.props.previousMessage);\n const sameUser = isSameUser(this.props.currentMessage, this.props.nextMessage);\n return (\n <View>\n {this.renderDay()}\n {this.props.currentMessage.system ? (\n this.renderSystemMessage()\n ) : (\n <View>\n {sameUserAsLast ? null : this.renderName()}\n <View\n style={[\n styles[this.props.position].container,\n { marginBottom: sameUser ? 2 : 10 },\n !this.props.inverted && { marginBottom: 2 },\n this.props.containerStyle[this.props.position],\n ]}\n >\n {this.props.position === 'left' ? this.renderAvatar() : null}\n <View>\n {this.renderReply()}\n {this.renderBubble()}\n {this.renderReplyButton()}\n </View>\n {this.props.position === 'right' ? this.renderAvatar() : null}\n </View>\n </View>\n )}\n </View>\n );\n }\n}\n\nconst styles = {\n left: StyleSheet.create({\n container: {\n flexDirection: 'row',\n alignItems: 'flex-end',\n justifyContent: 'flex-start',\n marginLeft: 10,\n marginRight: 0,\n },\n name: {\n fontFamily: 'sf-regular',\n color: TEXT_LIGHT,\n fontSize: 14,\n textAlign: 'left',\n marginLeft: 50,\n marginBottom: 5,\n },\n replyBubble: {\n flexDirection: 'row',\n alignItems: 'flex-end',\n justifyContent: 'flex-start',\n paddingLeft: 20,\n },\n replyBubbleInner: {\n padding: 4,\n paddingBottom: 16,\n marginBottom: -12,\n borderRadius: 4,\n opacity: 0.5,\n },\n replyBubbleText: {\n fontFamily: 'sf-regular',\n color: TEXT_MID,\n fontSize: 13,\n textAlign: 'left',\n },\n replyContainer: {\n paddingLeft: 20,\n },\n }),\n right: StyleSheet.create({\n container: {\n flexDirection: 'row',\n alignItems: 'flex-end',\n justifyContent: 'flex-end',\n marginLeft: 0,\n marginRight: 10,\n },\n name: {\n fontFamily: 'sf-regular',\n color: TEXT_LIGHT,\n fontSize: 14,\n textAlign: 'right',\n marginRight: 10,\n marginBottom: 5,\n },\n replyBubble: {\n flexDirection: 'row',\n alignItems: 'flex-end',\n justifyContent: 'flex-end',\n paddingRight: 10,\n },\n replyBubbleInner: {\n padding: 4,\n paddingBottom: 16,\n marginBottom: -12,\n borderRadius: 4,\n opacity: 0.5,\n },\n replyBubbleText: {\n fontFamily: 'sf-regular',\n color: TEXT_MID,\n fontSize: 13,\n textAlign: 'right',\n },\n replyContainer: {\n alignSelf: 'flex-end',\n paddingRight: 10,\n },\n }),\n};\n\nPlussChatMessage.defaultProps = {\n renderAvatar: undefined,\n renderBubble: null,\n renderDay: null,\n renderSystemMessage: null,\n position: 'left',\n currentMessage: {},\n nextMessage: {},\n previousMessage: {},\n user: {},\n containerStyle: {},\n showUserAvatar: true,\n inverted: true,\n};\n\nPlussChatMessage.propTypes = {\n renderAvatar: PropTypes.func,\n showUserAvatar: PropTypes.bool,\n renderBubble: PropTypes.func,\n renderDay: PropTypes.func,\n renderSystemMessage: PropTypes.func,\n position: PropTypes.oneOf(['left', 'right']),\n currentMessage: PropTypes.object,\n nextMessage: PropTypes.object,\n previousMessage: PropTypes.object,\n user: PropTypes.object,\n inverted: PropTypes.bool,\n containerStyle: PropTypes.shape({\n left: ViewPropTypes.style,\n right: ViewPropTypes.style,\n }),\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["PropTypes","React","View","StyleSheet","Text","TouchableOpacity","ViewPropTypes","_","Avatar","Bubble","SystemMessage","Day","utils","TEXT_MID","TEXT_LIGHT","TEXT_DARK","TEXT_SUPER_LIGHT","getFirstName","TextStyle","isSameUser","isSameDay","PlussChatMessage","Component","getInnerComponentProps","containerStyle","props","isCurrentUser","user","_id","currentMessage","renderDay","createdAt","dayProps","createElement","renderBubble","bubbleProps","renderSystemMessage","systemMessageProps","renderAvatar","showUserAvatar","avatarProps","avatar","isEmpty","_extends","imageStyle","left","width","height","borderRadius","right","marginRight","marginLeft","renderName","nameProps","name","nameText","replyingTo","style","styles","position","renderReply","replyBubble","replyBubbleInner","replyBubbleText","text","substr","renderReplyButton","replyContainer","onPress","onPressReply","type","color","colourBrandingMain","render","sameUserAsLast","previousMessage","sameUser","nextMessage","system","container","marginBottom","inverted","create","flexDirection","alignItems","justifyContent","fontFamily","fontSize","textAlign","paddingLeft","padding","paddingBottom","opacity","backgroundColor","paddingRight","alignSelf","defaultProps","undefined","propTypes","func","bool","oneOf","object","shape"],"sources":["PlussChatMessage.js"],"sourcesContent":["/* eslint no-use-before-define: [\"error\", { \"variables\": false }], react-native/no-inline-styles: 0 */\n\n// NOTE:\n// This is a modified version of react-native-gifted-chat Message component\n\n// Original source:\n// https://github.com/FaridSafi/react-native-gifted-chat/blob/master/src/Message.js\n\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { View, StyleSheet, Text, TouchableOpacity } from 'react-native';\nimport { ViewPropTypes } from 'deprecated-react-native-prop-types';\nimport _ from 'lodash';\n\nimport { Avatar, Bubble, SystemMessage, Day, utils } from 'react-native-gifted-chat';\nimport { TEXT_MID, TEXT_LIGHT, TEXT_DARK, TEXT_SUPER_LIGHT } from '../colours';\nimport { getFirstName } from '../helper';\nimport { TextStyle } from './TextStyle';\n\nconst isSameUser = utils.isSameUser;\nconst isSameDay = utils.isSameDay;\n\nexport default class PlussChatMessage extends React.Component {\n getInnerComponentProps() {\n const { containerStyle, ...props } = this.props;\n return {\n ...props,\n isSameUser,\n isSameDay,\n };\n }\n\n isCurrentUser() {\n if (this.props.user._id === this.props.currentMessage.user._id) {\n return true;\n }\n return false;\n }\n\n renderDay() {\n if (this.props.currentMessage.createdAt) {\n const dayProps = this.getInnerComponentProps();\n if (this.props.renderDay) {\n return this.props.renderDay(dayProps);\n }\n return <Day {...dayProps} />;\n }\n return null;\n }\n\n renderBubble() {\n const bubbleProps = this.getInnerComponentProps();\n if (this.props.renderBubble) {\n return this.props.renderBubble(bubbleProps);\n }\n return <Bubble {...bubbleProps} />;\n }\n\n renderSystemMessage() {\n const systemMessageProps = this.getInnerComponentProps();\n if (this.props.renderSystemMessage) {\n return this.props.renderSystemMessage(systemMessageProps);\n }\n return <SystemMessage {...systemMessageProps} />;\n }\n\n renderAvatar() {\n if (this.isCurrentUser() && !this.props.showUserAvatar) {\n return null;\n }\n const avatarProps = this.getInnerComponentProps();\n const { currentMessage } = avatarProps;\n if (currentMessage.user.avatar === null || _.isEmpty(currentMessage.user.avatar)) {\n return null;\n }\n return (\n <Avatar\n {...avatarProps}\n imageStyle={{\n left: {\n width: 30,\n height: 30,\n borderRadius: 15,\n },\n right: {\n width: 30,\n height: 30,\n borderRadius: 15,\n },\n }}\n containerStyle={{\n left: {\n marginRight: 10,\n },\n right: {\n marginLeft: 10,\n },\n }}\n />\n );\n }\n\n renderName() {\n const nameProps = this.getInnerComponentProps();\n const { currentMessage } = nameProps;\n if (currentMessage.user.name === null) {\n return null;\n }\n let nameText = this.isCurrentUser() ? 'Me' : getFirstName(currentMessage.user.name);\n if (\n this.props.currentMessage &&\n this.props.currentMessage.replyingTo &&\n this.props.currentMessage.replyingTo.user &&\n !_.isEmpty(this.props.currentMessage.replyingTo.user.name)\n ) {\n nameText = `${nameText} replying to ${this.props.currentMessage.replyingTo.user.name}`;\n }\n return <Text style={[styles[this.props.position].name]}>{nameText}</Text>;\n }\n\n renderReply() {\n if (!this.props.currentMessage || !this.props.currentMessage.replyingTo) {\n return null;\n }\n return (\n <View style={styles[this.props.position].replyBubble}>\n <View style={styles[this.props.position].replyBubbleInner}>\n <Text style={styles[this.props.position].replyBubbleText}>\n {(this.props.currentMessage.replyingTo.text || '').substr(0, 100)}\n </Text>\n </View>\n </View>\n );\n }\n\n renderReplyButton() {\n return (\n <TouchableOpacity style={styles[this.props.position].replyContainer} onPress={this.props.onPressReply}>\n <TextStyle type=\"button\" style={{ color: this.props.colourBrandingMain }}>\n Reply\n </TextStyle>\n </TouchableOpacity>\n );\n }\n\n render() {\n const sameUserAsLast = isSameUser(this.props.currentMessage, this.props.previousMessage);\n const sameUser = isSameUser(this.props.currentMessage, this.props.nextMessage);\n return (\n <View>\n {this.renderDay()}\n {this.props.currentMessage.system ? (\n this.renderSystemMessage()\n ) : (\n <View>\n {sameUserAsLast ? null : this.renderName()}\n <View\n style={[\n styles[this.props.position].container,\n { marginBottom: sameUser ? 2 : 10 },\n !this.props.inverted && { marginBottom: 2 },\n this.props.containerStyle[this.props.position],\n ]}\n >\n {this.props.position === 'left' ? this.renderAvatar() : null}\n <View>\n {this.renderReply()}\n {this.renderBubble()}\n {this.renderReplyButton()}\n </View>\n {this.props.position === 'right' ? this.renderAvatar() : null}\n </View>\n </View>\n )}\n </View>\n );\n }\n}\n\nconst styles = {\n left: StyleSheet.create({\n container: {\n flexDirection: 'row',\n alignItems: 'flex-end',\n justifyContent: 'flex-start',\n marginLeft: 10,\n marginRight: 0,\n },\n name: {\n fontFamily: 'sf-regular',\n color: TEXT_LIGHT,\n fontSize: 14,\n textAlign: 'left',\n marginLeft: 50,\n marginBottom: 5,\n },\n replyBubble: {\n flexDirection: 'row',\n alignItems: 'flex-end',\n justifyContent: 'flex-start',\n paddingLeft: 20,\n },\n replyBubbleInner: {\n padding: 4,\n paddingBottom: 16,\n marginBottom: -12,\n borderRadius: 4,\n opacity: 0.7,\n backgroundColor: TEXT_SUPER_LIGHT,\n },\n replyBubbleText: {\n fontFamily: 'sf-regular',\n color: TEXT_DARK,\n fontSize: 13,\n textAlign: 'left',\n },\n replyContainer: {\n paddingLeft: 20,\n },\n }),\n right: StyleSheet.create({\n container: {\n flexDirection: 'row',\n alignItems: 'flex-end',\n justifyContent: 'flex-end',\n marginLeft: 0,\n marginRight: 10,\n },\n name: {\n fontFamily: 'sf-regular',\n color: TEXT_LIGHT,\n fontSize: 14,\n textAlign: 'right',\n marginRight: 10,\n marginBottom: 5,\n },\n replyBubble: {\n flexDirection: 'row',\n alignItems: 'flex-end',\n justifyContent: 'flex-end',\n paddingRight: 10,\n },\n replyBubbleInner: {\n padding: 4,\n paddingBottom: 16,\n marginBottom: -12,\n borderRadius: 4,\n opacity: 0.7,\n backgroundColor: TEXT_SUPER_LIGHT,\n },\n replyBubbleText: {\n fontFamily: 'sf-regular',\n color: TEXT_DARK,\n fontSize: 13,\n textAlign: 'right',\n },\n replyContainer: {\n alignSelf: 'flex-end',\n paddingRight: 10,\n },\n }),\n};\n\nPlussChatMessage.defaultProps = {\n renderAvatar: undefined,\n renderBubble: null,\n renderDay: null,\n renderSystemMessage: null,\n position: 'left',\n currentMessage: {},\n nextMessage: {},\n previousMessage: {},\n user: {},\n containerStyle: {},\n showUserAvatar: true,\n inverted: true,\n};\n\nPlussChatMessage.propTypes = {\n renderAvatar: PropTypes.func,\n showUserAvatar: PropTypes.bool,\n renderBubble: PropTypes.func,\n renderDay: PropTypes.func,\n renderSystemMessage: PropTypes.func,\n position: PropTypes.oneOf(['left', 'right']),\n currentMessage: PropTypes.object,\n nextMessage: PropTypes.object,\n previousMessage: PropTypes.object,\n user: PropTypes.object,\n inverted: PropTypes.bool,\n containerStyle: PropTypes.shape({\n left: ViewPropTypes.style,\n right: ViewPropTypes.style,\n }),\n};\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -416,7 +416,7 @@ class CommentSection extends Component {
|
|
|
416
416
|
content = (
|
|
417
417
|
<View style={styles.multiReplyContainer}>
|
|
418
418
|
{profilePics.map((c, i) => {
|
|
419
|
-
return <ProfilePic style={{ marginRight: -10 }} Diameter={20} ProfilePic={c.User.profilePic} />;
|
|
419
|
+
return <ProfilePic key={c.Id} style={{ marginRight: -10 }} Diameter={20} ProfilePic={c.User.profilePic} />;
|
|
420
420
|
})}
|
|
421
421
|
<Text style={[styles.commentRepliesText, { marginLeft: 20, color: this.props.colourBrandingMain }]}>{`${
|
|
422
422
|
threadComments.length
|
|
@@ -13,7 +13,7 @@ import { ViewPropTypes } from 'deprecated-react-native-prop-types';
|
|
|
13
13
|
import _ from 'lodash';
|
|
14
14
|
|
|
15
15
|
import { Avatar, Bubble, SystemMessage, Day, utils } from 'react-native-gifted-chat';
|
|
16
|
-
import { TEXT_MID, TEXT_LIGHT } from '../colours';
|
|
16
|
+
import { TEXT_MID, TEXT_LIGHT, TEXT_DARK, TEXT_SUPER_LIGHT } from '../colours';
|
|
17
17
|
import { getFirstName } from '../helper';
|
|
18
18
|
import { TextStyle } from './TextStyle';
|
|
19
19
|
|
|
@@ -124,7 +124,7 @@ export default class PlussChatMessage extends React.Component {
|
|
|
124
124
|
}
|
|
125
125
|
return (
|
|
126
126
|
<View style={styles[this.props.position].replyBubble}>
|
|
127
|
-
<View style={
|
|
127
|
+
<View style={styles[this.props.position].replyBubbleInner}>
|
|
128
128
|
<Text style={styles[this.props.position].replyBubbleText}>
|
|
129
129
|
{(this.props.currentMessage.replyingTo.text || '').substr(0, 100)}
|
|
130
130
|
</Text>
|
|
@@ -205,11 +205,12 @@ const styles = {
|
|
|
205
205
|
paddingBottom: 16,
|
|
206
206
|
marginBottom: -12,
|
|
207
207
|
borderRadius: 4,
|
|
208
|
-
opacity: 0.
|
|
208
|
+
opacity: 0.7,
|
|
209
|
+
backgroundColor: TEXT_SUPER_LIGHT,
|
|
209
210
|
},
|
|
210
211
|
replyBubbleText: {
|
|
211
212
|
fontFamily: 'sf-regular',
|
|
212
|
-
color:
|
|
213
|
+
color: TEXT_DARK,
|
|
213
214
|
fontSize: 13,
|
|
214
215
|
textAlign: 'left',
|
|
215
216
|
},
|
|
@@ -244,11 +245,12 @@ const styles = {
|
|
|
244
245
|
paddingBottom: 16,
|
|
245
246
|
marginBottom: -12,
|
|
246
247
|
borderRadius: 4,
|
|
247
|
-
opacity: 0.
|
|
248
|
+
opacity: 0.7,
|
|
249
|
+
backgroundColor: TEXT_SUPER_LIGHT,
|
|
248
250
|
},
|
|
249
251
|
replyBubbleText: {
|
|
250
252
|
fontFamily: 'sf-regular',
|
|
251
|
-
color:
|
|
253
|
+
color: TEXT_DARK,
|
|
252
254
|
fontSize: 13,
|
|
253
255
|
textAlign: 'right',
|
|
254
256
|
},
|