@plusscommunities/pluss-core-app 8.0.2 → 8.0.3

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.
@@ -49,6 +49,7 @@ class CommentReply extends Component {
49
49
  commentsLoading: true,
50
50
  addingComment: false
51
51
  };
52
+ this.replyInputRef = /*#__PURE__*/React.createRef();
52
53
  }
53
54
  componentDidMount() {
54
55
  if (this.props.commentSection && this.props.commentSection.current) {
@@ -58,7 +59,7 @@ class CommentReply extends Component {
58
59
  }
59
60
  }
60
61
  focusInput() {
61
- this.refs.replyInput.focus();
62
+ this.replyInputRef.current.focus();
62
63
  }
63
64
  loadingStarted() {
64
65
  this.setState({
@@ -188,7 +189,7 @@ class CommentReply extends Component {
188
189
  marginRight: _.isEmpty(this.state.commentInput) && _.isEmpty(this.state.commentImageInput) ? 40 : 80
189
190
  }]
190
191
  }, /*#__PURE__*/React.createElement(TextInput, {
191
- ref: "replyInput",
192
+ ref: this.replyInputRef,
192
193
  placeholder: "Enter your comment here",
193
194
  value: this.state.commentInput,
194
195
  onFocus: () => {
@@ -1 +1 @@
1
- {"version":3,"names":["React","Component","connect","Keyboard","TextInput","View","ImageBackground","TouchableOpacity","Dimensions","Icon","getBottomSpace","_","getApiError","getShadowStyle","TEXT_BLUEGREY","TEXT_DARKEST","BG_GREY","Spinner","ImageUploader","reactionActions","SCREEN_HEIGHT","get","height","CommentReply","constructor","props","_defineProperty","setState","uploadingCommentImage","setTimeout","noScroll","_this$props$scrollVie","scrollView","current","scrollToEnd","animated","uri","commentImageInput","replace","state","commentInput","commentsLoading","addingComment","componentDidMount","commentSection","isLoading","focusInput","refs","replyInput","focus","loadingStarted","loadingCompleted","shouldShowImageInput","isEmpty","addComment","_this$props$scrollVie2","text","image","dismiss","_this$props$commentSe","startedAddingComment","entityId","entityType","entityName","site","threadId","then","res","_this$props$commentSe2","commentAdded","data","_this$props$scrollVie3","catch","err","console","log","removeImage","showUploadMenu","commentImageUploader","renderImageAttachment","createElement","style","styles","accessoryImage","accessoryImageBorder","borderWidth","borderColor","imageStyle","source","accessoryImageClose","onPress","bind","hitSlop","top","right","bottom","left","name","type","iconStyle","accessoryImageCloseIcon","accessoryImageCloseIconContainer","renderImageUploader","ref","onUploadStarted","onUploadSuccess","onUploadFailed","onLibrarySelected","quality","allowsEditing","fileName","popupTitle","userId","user","uid","hideLibrary","render","includes","hidden","inputContainer","input","marginRight","placeholder","value","onFocus","_this$props$scrollVie4","onChangeText","_this$props$scrollVie5","inputText","autoCapitalize","multiline","autoCorrect","autoGrow","sendContainer","padding","width","send","marginTop","borderRadius","position","backgroundColor","alignItems","justifyContent","fontSize","color","textAlign","paddingVertical","paddingHorizontal","paddingBottom","flexGrow","fontFamily","margin","maxHeight","mapStateToProps","commentReply","forwardRef"],"sources":["CommentReply.js"],"sourcesContent":["import React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport { Keyboard, TextInput, View, ImageBackground, TouchableOpacity, Dimensions } from 'react-native';\nimport { Icon } from '@rneui/themed';\nimport { getBottomSpace } from 'react-native-iphone-x-helper';\nimport _ from 'lodash';\nimport { getApiError } from '../session';\nimport { getShadowStyle } from '../helper';\nimport { TEXT_BLUEGREY, TEXT_DARKEST, BG_GREY } from '../colours';\nimport { Spinner } from './Spinner';\nimport ImageUploader from './ImageUploader';\nimport { reactionActions } from '../apis';\n\nconst SCREEN_HEIGHT = Dimensions.get('window').height;\n\nclass CommentReply extends Component {\n constructor(props) {\n super(props);\n\n this.state = {\n commentImageInput: '',\n commentInput: '',\n uploadingCommentImage: false,\n commentsLoading: true,\n addingComment: false,\n };\n }\n\n componentDidMount() {\n if (this.props.commentSection && this.props.commentSection.current) {\n this.setState({\n commentsLoading: this.props.commentSection.current.isLoading(),\n });\n }\n }\n\n onUploadStarted = () => {\n this.setState({\n uploadingCommentImage: true,\n });\n setTimeout(() => {\n if (!this.props.noScroll) {\n this.props.scrollView?.current?.scrollToEnd({ animated: true });\n }\n }, 500);\n };\n\n onUploadSuccess = uri => {\n this.setState({\n uploadingCommentImage: false,\n commentImageInput: uri.replace('/general/', '/general1400/'),\n });\n };\n\n onUploadFailed = () => {\n this.setState({\n uploadingCommentImage: false,\n commentImageInput: null,\n });\n };\n\n focusInput() {\n this.refs.replyInput.focus();\n }\n\n loadingStarted() {\n this.setState({\n commentsLoading: true,\n });\n }\n\n loadingCompleted() {\n this.setState({\n commentsLoading: false,\n });\n }\n\n shouldShowImageInput() {\n return this.state.uploadingCommentImage || !_.isEmpty(this.state.commentImageInput);\n }\n\n addComment() {\n setTimeout(() => {\n if (!this.props.noScroll) {\n this.props.scrollView?.current?.scrollToEnd({ animated: true });\n }\n }, 500);\n const text = this.state.commentInput;\n const image = this.state.commentImageInput;\n this.setState({\n addingComment: true,\n commentInput: '',\n commentImageInput: '',\n });\n Keyboard.dismiss();\n if (this.props.commentSection) {\n this.props.commentSection?.current?.startedAddingComment();\n }\n reactionActions\n .addComment(this.props.entityId, this.props.entityType, this.props.entityName, this.props.site, text, image, this.props.threadId)\n .then(res => {\n if (this.props.commentSection) {\n this.props.commentSection?.current?.commentAdded(res.data);\n }\n this.setState({\n addingComment: false,\n });\n setTimeout(() => {\n if (!this.props.noScroll) {\n this.props.scrollView?.current?.scrollToEnd({ animated: true });\n }\n }, 500);\n })\n .catch(err => {\n console.log(getApiError(err));\n });\n }\n\n removeImage() {\n this.setState({\n commentImageInput: null,\n });\n }\n\n showUploadMenu() {\n if (this.state.uploadingCommentImage || !_.isEmpty(this.state.commentImageInput)) {\n return;\n }\n this.commentImageUploader.showUploadMenu();\n }\n\n renderImageAttachment() {\n if (_.isEmpty(this.state.commentImageInput) && !this.state.uploadingCommentImage) {\n return null;\n }\n if (this.state.uploadingCommentImage) {\n return (\n <View style={[styles.accessoryImage, styles.accessoryImageBorder, { borderWidth: 1, borderColor: BG_GREY }]}>\n <Spinner />\n </View>\n );\n }\n return (\n <ImageBackground\n style={styles.accessoryImage}\n imageStyle={styles.accessoryImageBorder}\n source={{ uri: this.state.commentImageInput }}\n >\n <TouchableOpacity\n style={styles.accessoryImageClose}\n onPress={this.removeImage.bind(this)}\n hitSlop={{ top: 8, right: 8, bottom: 8, left: 8 }}\n >\n <Icon\n name=\"remove\"\n type=\"font-awesome\"\n iconStyle={styles.accessoryImageCloseIcon}\n style={styles.accessoryImageCloseIconContainer}\n />\n </TouchableOpacity>\n </ImageBackground>\n );\n }\n\n renderImageUploader() {\n return (\n <ImageUploader\n ref={ref => (this.commentImageUploader = ref)}\n onUploadStarted={this.onUploadStarted}\n onUploadSuccess={this.onUploadSuccess}\n onUploadFailed={this.onUploadFailed}\n onLibrarySelected={this.onUploadSuccess}\n quality={0.8}\n allowsEditing={false}\n fileName=\"commentImage\"\n popupTitle=\"Add Image\"\n userId={this.props.user.uid}\n hideLibrary\n />\n );\n }\n\n render() {\n if (_.includes(this.props.user.hidden, 'addComment')) {\n return null;\n }\n if (this.state.commentsLoading) {\n return null;\n }\n return (\n <View style={[styles.inputContainer, getShadowStyle(), this.props.style]}>\n <View\n style={[\n styles.input,\n {\n marginRight: _.isEmpty(this.state.commentInput) && _.isEmpty(this.state.commentImageInput) ? 40 : 80,\n },\n ]}\n >\n <TextInput\n ref=\"replyInput\"\n placeholder=\"Enter your comment here\"\n value={this.state.commentInput}\n onFocus={() => {\n if (!this.props.noScroll) {\n this.props.scrollView?.current?.scrollToEnd({ animated: true });\n }\n }}\n onChangeText={value => {\n if (!this.props.noScroll) {\n this.props.scrollView?.current?.scrollToEnd({ animated: false });\n }\n this.setState({\n commentInput: value,\n });\n }}\n style={styles.inputText}\n autoCapitalize=\"sentences\"\n multiline\n autoCorrect\n autoGrow\n />\n </View>\n {(!_.isEmpty(this.state.commentInput) || !_.isEmpty(this.state.commentImageInput)) && !this.state.addingComment && (\n <TouchableOpacity\n onPress={this.addComment.bind(this)}\n style={[\n styles.sendContainer,\n {\n right: 4,\n padding: 4,\n width: 40,\n height: 40,\n },\n ]}\n >\n <Icon name=\"paper-plane\" type=\"font-awesome\" iconStyle={[styles.send, { width: 40 }]} />\n </TouchableOpacity>\n )}\n <TouchableOpacity\n onPress={this.showUploadMenu.bind(this)}\n style={[\n styles.sendContainer,\n {\n right: _.isEmpty(this.state.commentInput) && _.isEmpty(this.state.commentImageInput) ? 4 : 44,\n padding: 4,\n width: 40,\n height: 40,\n },\n ]}\n >\n <Icon name=\"picture-o\" type=\"font-awesome\" iconStyle={[styles.send, { width: 40 }]} />\n </TouchableOpacity>\n {this.renderImageAttachment()}\n {this.renderImageUploader()}\n </View>\n );\n }\n}\n\nconst styles = {\n accessoryImage: {\n marginTop: 8,\n width: 60,\n height: 60,\n },\n accessoryImageBorder: {\n borderRadius: 2,\n },\n accessoryImageClose: {\n width: 14,\n height: 14,\n borderRadius: 7,\n position: 'absolute',\n top: -7,\n right: -7,\n backgroundColor: TEXT_BLUEGREY,\n },\n accessoryImageCloseIconContainer: {\n width: 14,\n height: 14,\n alignItems: 'center',\n justifyContent: 'center',\n },\n accessoryImageCloseIcon: {\n fontSize: 10,\n color: '#fff',\n textAlign: 'center',\n },\n inputContainer: {\n backgroundColor: '#fff',\n paddingVertical: 8,\n paddingHorizontal: 8,\n paddingBottom: 8 + getBottomSpace(),\n flexGrow: 1,\n },\n inputText: {\n color: TEXT_DARKEST,\n fontSize: 14,\n fontFamily: 'sf-medium',\n },\n input: {\n fontSize: 14,\n color: TEXT_DARKEST,\n fontFamily: 'sf-medium',\n margin: 0,\n backgroundColor: BG_GREY,\n borderRadius: 5,\n padding: 8,\n maxHeight: SCREEN_HEIGHT / 3,\n },\n sendContainer: {\n position: 'absolute',\n top: 8,\n right: 8,\n height: 30,\n width: 30,\n alignItems: 'center',\n justifyContent: 'center',\n backgroundColor: '#fff',\n },\n send: {\n color: TEXT_BLUEGREY,\n fontSize: 24,\n textAlign: 'center',\n },\n};\n\nconst mapStateToProps = state => {\n const { user } = state;\n return { user };\n};\n\nconst commentReply = connect(mapStateToProps, {}, null, { forwardRef: true })(CommentReply);\nexport { commentReply as CommentReply };\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","Component","connect","Keyboard","TextInput","View","ImageBackground","TouchableOpacity","Dimensions","Icon","getBottomSpace","_","getApiError","getShadowStyle","TEXT_BLUEGREY","TEXT_DARKEST","BG_GREY","Spinner","ImageUploader","reactionActions","SCREEN_HEIGHT","get","height","CommentReply","constructor","props","_defineProperty","setState","uploadingCommentImage","setTimeout","noScroll","_this$props$scrollVie","scrollView","current","scrollToEnd","animated","uri","commentImageInput","replace","state","commentInput","commentsLoading","addingComment","replyInputRef","createRef","componentDidMount","commentSection","isLoading","focusInput","focus","loadingStarted","loadingCompleted","shouldShowImageInput","isEmpty","addComment","_this$props$scrollVie2","text","image","dismiss","_this$props$commentSe","startedAddingComment","entityId","entityType","entityName","site","threadId","then","res","_this$props$commentSe2","commentAdded","data","_this$props$scrollVie3","catch","err","console","log","removeImage","showUploadMenu","commentImageUploader","renderImageAttachment","createElement","style","styles","accessoryImage","accessoryImageBorder","borderWidth","borderColor","imageStyle","source","accessoryImageClose","onPress","bind","hitSlop","top","right","bottom","left","name","type","iconStyle","accessoryImageCloseIcon","accessoryImageCloseIconContainer","renderImageUploader","ref","onUploadStarted","onUploadSuccess","onUploadFailed","onLibrarySelected","quality","allowsEditing","fileName","popupTitle","userId","user","uid","hideLibrary","render","includes","hidden","inputContainer","input","marginRight","placeholder","value","onFocus","_this$props$scrollVie4","onChangeText","_this$props$scrollVie5","inputText","autoCapitalize","multiline","autoCorrect","autoGrow","sendContainer","padding","width","send","marginTop","borderRadius","position","backgroundColor","alignItems","justifyContent","fontSize","color","textAlign","paddingVertical","paddingHorizontal","paddingBottom","flexGrow","fontFamily","margin","maxHeight","mapStateToProps","commentReply","forwardRef"],"sources":["CommentReply.js"],"sourcesContent":["import React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport { Keyboard, TextInput, View, ImageBackground, TouchableOpacity, Dimensions } from 'react-native';\nimport { Icon } from '@rneui/themed';\nimport { getBottomSpace } from 'react-native-iphone-x-helper';\nimport _ from 'lodash';\nimport { getApiError } from '../session';\nimport { getShadowStyle } from '../helper';\nimport { TEXT_BLUEGREY, TEXT_DARKEST, BG_GREY } from '../colours';\nimport { Spinner } from './Spinner';\nimport ImageUploader from './ImageUploader';\nimport { reactionActions } from '../apis';\n\nconst SCREEN_HEIGHT = Dimensions.get('window').height;\n\nclass CommentReply extends Component {\n constructor(props) {\n super(props);\n\n this.state = {\n commentImageInput: '',\n commentInput: '',\n uploadingCommentImage: false,\n commentsLoading: true,\n addingComment: false,\n };\n this.replyInputRef = React.createRef();\n }\n\n componentDidMount() {\n if (this.props.commentSection && this.props.commentSection.current) {\n this.setState({\n commentsLoading: this.props.commentSection.current.isLoading(),\n });\n }\n }\n\n onUploadStarted = () => {\n this.setState({\n uploadingCommentImage: true,\n });\n setTimeout(() => {\n if (!this.props.noScroll) {\n this.props.scrollView?.current?.scrollToEnd({ animated: true });\n }\n }, 500);\n };\n\n onUploadSuccess = uri => {\n this.setState({\n uploadingCommentImage: false,\n commentImageInput: uri.replace('/general/', '/general1400/'),\n });\n };\n\n onUploadFailed = () => {\n this.setState({\n uploadingCommentImage: false,\n commentImageInput: null,\n });\n };\n\n focusInput() {\n this.replyInputRef.current.focus();\n }\n\n loadingStarted() {\n this.setState({\n commentsLoading: true,\n });\n }\n\n loadingCompleted() {\n this.setState({\n commentsLoading: false,\n });\n }\n\n shouldShowImageInput() {\n return this.state.uploadingCommentImage || !_.isEmpty(this.state.commentImageInput);\n }\n\n addComment() {\n setTimeout(() => {\n if (!this.props.noScroll) {\n this.props.scrollView?.current?.scrollToEnd({ animated: true });\n }\n }, 500);\n const text = this.state.commentInput;\n const image = this.state.commentImageInput;\n this.setState({\n addingComment: true,\n commentInput: '',\n commentImageInput: '',\n });\n Keyboard.dismiss();\n if (this.props.commentSection) {\n this.props.commentSection?.current?.startedAddingComment();\n }\n reactionActions\n .addComment(this.props.entityId, this.props.entityType, this.props.entityName, this.props.site, text, image, this.props.threadId)\n .then(res => {\n if (this.props.commentSection) {\n this.props.commentSection?.current?.commentAdded(res.data);\n }\n this.setState({\n addingComment: false,\n });\n setTimeout(() => {\n if (!this.props.noScroll) {\n this.props.scrollView?.current?.scrollToEnd({ animated: true });\n }\n }, 500);\n })\n .catch(err => {\n console.log(getApiError(err));\n });\n }\n\n removeImage() {\n this.setState({\n commentImageInput: null,\n });\n }\n\n showUploadMenu() {\n if (this.state.uploadingCommentImage || !_.isEmpty(this.state.commentImageInput)) {\n return;\n }\n this.commentImageUploader.showUploadMenu();\n }\n\n renderImageAttachment() {\n if (_.isEmpty(this.state.commentImageInput) && !this.state.uploadingCommentImage) {\n return null;\n }\n if (this.state.uploadingCommentImage) {\n return (\n <View style={[styles.accessoryImage, styles.accessoryImageBorder, { borderWidth: 1, borderColor: BG_GREY }]}>\n <Spinner />\n </View>\n );\n }\n return (\n <ImageBackground\n style={styles.accessoryImage}\n imageStyle={styles.accessoryImageBorder}\n source={{ uri: this.state.commentImageInput }}\n >\n <TouchableOpacity\n style={styles.accessoryImageClose}\n onPress={this.removeImage.bind(this)}\n hitSlop={{ top: 8, right: 8, bottom: 8, left: 8 }}\n >\n <Icon\n name=\"remove\"\n type=\"font-awesome\"\n iconStyle={styles.accessoryImageCloseIcon}\n style={styles.accessoryImageCloseIconContainer}\n />\n </TouchableOpacity>\n </ImageBackground>\n );\n }\n\n renderImageUploader() {\n return (\n <ImageUploader\n ref={ref => (this.commentImageUploader = ref)}\n onUploadStarted={this.onUploadStarted}\n onUploadSuccess={this.onUploadSuccess}\n onUploadFailed={this.onUploadFailed}\n onLibrarySelected={this.onUploadSuccess}\n quality={0.8}\n allowsEditing={false}\n fileName=\"commentImage\"\n popupTitle=\"Add Image\"\n userId={this.props.user.uid}\n hideLibrary\n />\n );\n }\n\n render() {\n if (_.includes(this.props.user.hidden, 'addComment')) {\n return null;\n }\n if (this.state.commentsLoading) {\n return null;\n }\n return (\n <View style={[styles.inputContainer, getShadowStyle(), this.props.style]}>\n <View\n style={[\n styles.input,\n {\n marginRight: _.isEmpty(this.state.commentInput) && _.isEmpty(this.state.commentImageInput) ? 40 : 80,\n },\n ]}\n >\n <TextInput\n ref={this.replyInputRef}\n placeholder=\"Enter your comment here\"\n value={this.state.commentInput}\n onFocus={() => {\n if (!this.props.noScroll) {\n this.props.scrollView?.current?.scrollToEnd({ animated: true });\n }\n }}\n onChangeText={value => {\n if (!this.props.noScroll) {\n this.props.scrollView?.current?.scrollToEnd({ animated: false });\n }\n this.setState({\n commentInput: value,\n });\n }}\n style={styles.inputText}\n autoCapitalize=\"sentences\"\n multiline\n autoCorrect\n autoGrow\n />\n </View>\n {(!_.isEmpty(this.state.commentInput) || !_.isEmpty(this.state.commentImageInput)) && !this.state.addingComment && (\n <TouchableOpacity\n onPress={this.addComment.bind(this)}\n style={[\n styles.sendContainer,\n {\n right: 4,\n padding: 4,\n width: 40,\n height: 40,\n },\n ]}\n >\n <Icon name=\"paper-plane\" type=\"font-awesome\" iconStyle={[styles.send, { width: 40 }]} />\n </TouchableOpacity>\n )}\n <TouchableOpacity\n onPress={this.showUploadMenu.bind(this)}\n style={[\n styles.sendContainer,\n {\n right: _.isEmpty(this.state.commentInput) && _.isEmpty(this.state.commentImageInput) ? 4 : 44,\n padding: 4,\n width: 40,\n height: 40,\n },\n ]}\n >\n <Icon name=\"picture-o\" type=\"font-awesome\" iconStyle={[styles.send, { width: 40 }]} />\n </TouchableOpacity>\n {this.renderImageAttachment()}\n {this.renderImageUploader()}\n </View>\n );\n }\n}\n\nconst styles = {\n accessoryImage: {\n marginTop: 8,\n width: 60,\n height: 60,\n },\n accessoryImageBorder: {\n borderRadius: 2,\n },\n accessoryImageClose: {\n width: 14,\n height: 14,\n borderRadius: 7,\n position: 'absolute',\n top: -7,\n right: -7,\n backgroundColor: TEXT_BLUEGREY,\n },\n accessoryImageCloseIconContainer: {\n width: 14,\n height: 14,\n alignItems: 'center',\n justifyContent: 'center',\n },\n accessoryImageCloseIcon: {\n fontSize: 10,\n color: '#fff',\n textAlign: 'center',\n },\n inputContainer: {\n backgroundColor: '#fff',\n paddingVertical: 8,\n paddingHorizontal: 8,\n paddingBottom: 8 + getBottomSpace(),\n flexGrow: 1,\n },\n inputText: {\n color: TEXT_DARKEST,\n fontSize: 14,\n fontFamily: 'sf-medium',\n },\n input: {\n fontSize: 14,\n color: TEXT_DARKEST,\n fontFamily: 'sf-medium',\n margin: 0,\n backgroundColor: BG_GREY,\n borderRadius: 5,\n padding: 8,\n maxHeight: SCREEN_HEIGHT / 3,\n },\n sendContainer: {\n position: 'absolute',\n top: 8,\n right: 8,\n height: 30,\n width: 30,\n alignItems: 'center',\n justifyContent: 'center',\n backgroundColor: '#fff',\n },\n send: {\n color: TEXT_BLUEGREY,\n fontSize: 24,\n textAlign: 'center',\n },\n};\n\nconst mapStateToProps = state => {\n const { user } = state;\n return { user };\n};\n\nconst commentReply = connect(mapStateToProps, {}, null, { forwardRef: true })(CommentReply);\nexport { commentReply as CommentReply };\n"],"mappings":"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","ignoreList":[]}
@@ -642,8 +642,7 @@ class CommentSection extends Component {
642
642
  return /*#__PURE__*/React.createElement(ImagePopup, {
643
643
  visible: this.state.imagePopupOpen,
644
644
  images: this.state.imagePopupSource,
645
- onClose: this.closeCommentGallery.bind(this),
646
- ref: "commentImagePopup"
645
+ onClose: this.closeCommentGallery.bind(this)
647
646
  });
648
647
  }
649
648
  renderReportLoading() {
@@ -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","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 '@rneui/themed';\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 }]}>{`${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":";;;AAAA,OAAOA,KAAK,IAAIC,SAAS,QAAQ,OAAO;AACxC,SAASC,IAAI,EAAEC,IAAI,EAAEC,gBAAgB,EAAEC,KAAK,EAAEC,UAAU,QAAQ,cAAc;AAC9E,OAAOC,CAAC,MAAM,QAAQ;AACtB,OAAOC,MAAM,MAAM,QAAQ;AAC3B,SAASC,OAAO,QAAQ,aAAa;AACrC,SAASC,IAAI,QAAQ,eAAe;AACpC,SAASC,UAAU,EAAEC,WAAW,EAAEC,OAAO,EAAEC,uBAAuB,EAAEC,YAAY,EAAEC,gBAAgB,QAAQ,WAAW;AACrH,SAASC,8BAA8B,EAAEC,YAAY,EAAEC,OAAO,EAAEC,UAAU,EAAEC,QAAQ,QAAQ,YAAY;AACxG,SAASC,eAAe,EAAEC,mBAAmB,QAAQ,SAAS;AAC9D,SAASC,SAAS,EAAEC,WAAW,QAAQ,YAAY;AACnD,SAASC,YAAY,QAAQ,gBAAgB;AAC7C,SAASC,UAAU,QAAQ,cAAc;AACzC,SAASC,UAAU,QAAQ,cAAc;AACzC,SAASC,YAAY,QAAQ,gBAAgB;AAC7C,SAASC,OAAO,QAAQ,WAAW;AACnC,SAASC,QAAQ,QAAQ,WAAW;AAEpC,MAAMC,cAAc,SAAS/B,SAAS,CAAC;EACrCgC,WAAWA,CAACC,KAAK,EAAE;IACjB,KAAK,CAACA,KAAK,CAAC;IAACC,eAAA,+BA6BQC,CAAC,IAAI;MAC1B,IAAI,CAACC,QAAQ,CAAC;QAAEC,eAAe,EAAEF;MAAE,CAAC,CAAC;IACvC,CAAC;IAAAD,eAAA,+BAEsB,MAAM;MAC3Bb,eAAe,CAACiB,aAAa,CAAC,IAAI,CAACC,KAAK,CAACF,eAAe,CAACG,EAAE,CAAC,CAACC,IAAI,CAACC,GAAG,IAAI;QACvEC,OAAO,CAACC,GAAG,CAAC,SAAS,CAAC;MACxB,CAAC,CAAC;MACF,MAAMC,WAAW,GAAGvC,CAAC,CAACwC,MAAM,CAAC,IAAI,CAACP,KAAK,CAACQ,QAAQ,EAAEZ,CAAC,IAAI;QACrD,OAAOA,CAAC,CAACK,EAAE,KAAK,IAAI,CAACD,KAAK,CAACF,eAAe,CAACG,EAAE;MAC/C,CAAC,CAAC;MACF,IAAI,CAACJ,QAAQ,CAAC;QACZW,QAAQ,EAAEF,WAAW;QACrBR,eAAe,EAAE;MACnB,CAAC,CAAC;IACJ,CAAC;IAAAH,eAAA,8BAEqB,MAAM;MAC1B,IAAI,CAACE,QAAQ,CAAC;QAAEC,eAAe,EAAE;MAAK,CAAC,CAAC;IAC1C,CAAC;IAAAH,eAAA,+BAEsBC,CAAC,IAAI;MAC1B,IAAI,CAACC,QAAQ,CAAC;QAAEY,eAAe,EAAEb;MAAE,CAAC,CAAC;IACvC,CAAC;IAAAD,eAAA,2BAEkBC,CAAC,IAAI;MACtB,IAAI,CAACC,QAAQ,CAAC;QAAEa,cAAc,EAAEd;MAAE,CAAC,CAAC;IACtC,CAAC;IAAAD,eAAA,8BAEqB,MAAM;MAC1B,MAAMgB,MAAM,GAAG,IAAI,CAACX,KAAK,CAACU,cAAc,CAACE,MAAM;MAC/C,IAAI,CAAClB,KAAK,CAACV,SAAS,CAAC2B,MAAM,CAAC;MAC5B,IAAI,CAACd,QAAQ,CAAC;QAAEa,cAAc,EAAE;MAAK,CAAC,CAAC;IACzC,CAAC;IAAAf,eAAA,6BAEoB,MAAM;MACzB,IAAI,CAACE,QAAQ,CAAC;QAAEa,cAAc,EAAE;MAAK,CAAC,CAAC;IACzC,CAAC;IAAAf,eAAA,6BAEoBC,CAAC,IAAI;MACxB,IAAI,CAACC,QAAQ,CAAC;QAAEgB,gBAAgB,EAAEjB;MAAE,CAAC,CAAC;IACxC,CAAC;IAAAD,eAAA,gCAEuB,MAAM;MAC5B,MAAMgB,MAAM,GAAG,IAAI,CAACX,KAAK,CAACa,gBAAgB,CAACD,MAAM;MACjD,IAAI,CAAClB,KAAK,CAACT,WAAW,CAAC0B,MAAM,CAAC;MAC9B,IAAI,CAACd,QAAQ,CAAC;QAAEgB,gBAAgB,EAAE;MAAK,CAAC,CAAC;IAC3C,CAAC;IAAAlB,eAAA,+BAEsB,MAAM;MAC3B,IAAI,CAACE,QAAQ,CAAC;QAAEgB,gBAAgB,EAAE;MAAK,CAAC,CAAC;IAC3C,CAAC;IAAAlB,eAAA,+BAEsB,MAAM;MAC3B,MAAMmB,SAAS,GAAG,IAAI,CAACd,KAAK,CAACS,eAAe,CAACR,EAAE;MAC/C,IAAI,CAACJ,QAAQ,CAAC;QAAEkB,aAAa,EAAE,IAAI;QAAEN,eAAe,EAAE;MAAK,CAAC,EAAE,MAAM;QAClE3B,eAAe,CACZkC,aAAa,CAACF,SAAS,CAAC,CACxBZ,IAAI,CAACC,GAAG,IAAI;UACX,IAAI,CAACN,QAAQ,CAAC;YAAEoB,qBAAqB,EAAE,SAAS;YAAEF,aAAa,EAAE;UAAM,CAAC,CAAC;QAC3E,CAAC,CAAC,CACDG,KAAK,CAACC,KAAK,IAAI;UACdf,OAAO,CAACC,GAAG,CAAC,eAAe,EAAEc,KAAK,CAAC;UACnC,IAAI,CAACtB,QAAQ,CAAC;YAAEoB,qBAAqB,EAAE,MAAM;YAAEF,aAAa,EAAE;UAAM,CAAC,CAAC;QACxE,CAAC,CAAC;MACN,CAAC,CAAC;IACJ,CAAC;IAAApB,eAAA,8BAEqB,MAAM;MAC1B,IAAI,CAACE,QAAQ,CAAC;QAAEY,eAAe,EAAE;MAAK,CAAC,CAAC;IAC1C,CAAC;IAAAd,eAAA,qCAE4B,MAAM;MACjC,IAAI,CAACE,QAAQ,CAAC;QAAEoB,qBAAqB,EAAE;MAAK,CAAC,CAAC;IAChD,CAAC;IAAAtB,eAAA,uBAacyB,OAAO,IAAI;MACxB7B,QAAQ,CAAC8B,UAAU,CAACC,QAAQ,CAAC,QAAQ,EAAE;QAAE,GAAG,IAAI,CAAC5B,KAAK;QAAE6B,QAAQ,EAAEH,OAAO,CAACnB;MAAG,CAAC,CAAC;IACjF,CAAC;IAAAN,eAAA,iBAEQ,MAAM;MACb,MAAM;QAAE6B,UAAU;QAAEC;MAAS,CAAC,GAAG,IAAI,CAAC/B,KAAK;MAC3C,IAAI,CAACG,QAAQ,CAAC;QAAE6B,UAAU,EAAE;MAAK,CAAC,EAAE,YAAY;QAC9C,IAAI;UACF,MAAM;YAAEC;UAAK,CAAC,GAAG,MAAM5C,mBAAmB,CAAC6C,UAAU,CAACJ,UAAU,EAAEC,QAAQ,CAAC;UAC3E;UACA,MAAMI,UAAU,GAAG7D,MAAM,CAAC2D,IAAI,CAACG,MAAM,CAAC;UACtC,IAAI,CAACjC,QAAQ,CAAC;YAAEgC,UAAU;YAAEH,UAAU,EAAE;UAAM,CAAC,CAAC;QAClD,CAAC,CAAC,OAAOP,KAAK,EAAE;UACdf,OAAO,CAACe,KAAK,CAAC,QAAQ,EAAEA,KAAK,CAAC;UAC9B,IAAI,CAACtB,QAAQ,CAAC;YAAE6B,UAAU,EAAE;UAAM,CAAC,CAAC;QACtC;MACF,CAAC,CAAC;IACJ,CAAC;IAAA/B,eAAA,mBAEU,MAAM;MACf,MAAM;QAAE6B,UAAU;QAAEC;MAAS,CAAC,GAAG,IAAI,CAAC/B,KAAK;MAC3C,IAAI,CAACG,QAAQ,CAAC;QAAE6B,UAAU,EAAE;MAAK,CAAC,EAAE,YAAY;QAC9C,IAAI;UACF,MAAM;YAAEC;UAAK,CAAC,GAAG,MAAM5C,mBAAmB,CAACgD,YAAY,CAACP,UAAU,EAAEC,QAAQ,CAAC;UAC7E;UACA,IAAI,CAAC5B,QAAQ,CAAC;YAAEgC,UAAU,EAAE,IAAI;YAAEH,UAAU,EAAE;UAAM,CAAC,CAAC;QACxD,CAAC,CAAC,OAAOP,KAAK,EAAE;UACdf,OAAO,CAACe,KAAK,CAAC,UAAU,EAAEA,KAAK,CAAC;UAChC,IAAI,CAACtB,QAAQ,CAAC;YAAE6B,UAAU,EAAE;UAAM,CAAC,CAAC;QACtC;MACF,CAAC,CAAC;IACJ,CAAC;IAAA/B,eAAA,kBAES,MAAM;MACd,MAAM;QAAEkC;MAAW,CAAC,GAAG,IAAI,CAAC7B,KAAK;MACjC,OAAO6B,UAAU,IAAI7D,MAAM,CAAC,CAAC,IAAI6D,UAAU;IAC7C,CAAC;IAAAlC,eAAA,2BAEkB,MAAM;MACvB,MAAM;QAAEkC;MAAW,CAAC,GAAG,IAAI,CAAC7B,KAAK;MACjC,MAAMgC,MAAM,GAAGH,UAAU,GAAG7D,MAAM,CAACiE,QAAQ,CAACJ,UAAU,CAACK,IAAI,CAAClE,MAAM,CAAC,CAAC,CAAC,CAAC,CAACmE,OAAO,CAAC,CAAC,GAAG,CAAC;MACpF,OAAOC,IAAI,CAACC,GAAG,CAACD,IAAI,CAACE,IAAI,CAACN,MAAM,CAAC,CAAC;IACpC,CAAC;IAAArC,eAAA,8BAEqB,MAAM;MAC1B,MAAM;QAAE+B;MAAW,CAAC,GAAG,IAAI,CAAC1B,KAAK;MACjC,MAAM;QAAEwB,UAAU;QAAEC,QAAQ;QAAEc;MAAyB,CAAC,GAAG,IAAI,CAAC7C,KAAK;MACrE,IAAIgC,UAAU,IAAI,CAACa,wBAAwB,EAAE;MAE7C,IAAI,CAAC1C,QAAQ,CAAC;QAAE6B,UAAU,EAAE;MAAK,CAAC,EAAE,YAAY;QAC9C,IAAI;UACF,MAAM;YAAEC;UAAK,CAAC,GAAG,MAAM5C,mBAAmB,CAACyD,4BAA4B,CAAChB,UAAU,EAAEC,QAAQ,CAAC;UAC7F;UACA,MAAMI,UAAU,GAAGF,IAAI,GAAG3D,MAAM,CAAC2D,IAAI,CAACG,MAAM,CAAC,GAAG,IAAI;UACpD,IAAI,CAACjC,QAAQ,CAAC;YAAEgC,UAAU;YAAEY,UAAU,EAAE,IAAI;YAAEf,UAAU,EAAE;UAAM,CAAC,CAAC;QACpE,CAAC,CAAC,OAAOP,KAAK,EAAE;UACdf,OAAO,CAACe,KAAK,CAAC,qBAAqB,EAAEA,KAAK,CAAC;UAC3C,IAAI,CAACtB,QAAQ,CAAC;YAAE6B,UAAU,EAAE;UAAM,CAAC,CAAC;QACtC;MACF,CAAC,CAAC;IACJ,CAAC;IAAA/B,eAAA,oBAmEW,MAAM;MAChB,OAAO,IAAI,CAACK,KAAK,CAAC0C,eAAe;IACnC,CAAC;IAAA/C,eAAA,wBAwBeC,CAAC,IAAI;MACnB,OAAO7B,CAAC,CAAC4E,QAAQ,CAAC,IAAI,CAACjD,KAAK,CAACkD,YAAY,EAAEhD,CAAC,CAACgB,MAAM,CAAC;IACtD,CAAC;IAAAjB,eAAA,0BAEiBC,CAAC,IAAI;MACrB,OAAO,IAAI,CAACF,KAAK,CAACmD,IAAI,CAACC,GAAG,KAAKlD,CAAC,CAACgB,MAAM;IACzC,CAAC;IAAAjB,eAAA,0BAiGiB,CAACC,CAAC,EAAEmD,aAAa,KAAK;MACtC,IAAI,IAAI,CAACrD,KAAK,CAAC6B,QAAQ,IAAI,IAAI,CAAC7B,KAAK,CAACsD,eAAe,EAAE;QACrD,OAAO,IAAI;MACb;MAEA,MAAMC,cAAc,GAAGlF,CAAC,CAACwC,MAAM,CAAC,IAAI,CAACP,KAAK,CAACQ,QAAQ,EAAE0C,MAAM,IAAI;QAC7D,OAAOA,MAAM,CAACC,QAAQ,KAAKvD,CAAC,CAACK,EAAE;MACjC,CAAC,CAAC;MAEF,IAAImD,OAAO,GAAG,IAAI;MAElB,IAAIrF,CAAC,CAACsF,OAAO,CAACJ,cAAc,CAAC,EAAE;QAC7B;QACAG,OAAO,gBACL5F,KAAA,CAAA8F,aAAA,CAAC3F,IAAI;UAAC4F,KAAK,EAAE,CAACC,MAAM,CAACC,kBAAkB,EAAE;YAAEC,KAAK,EAAE,IAAI,CAAChE,KAAK,CAACiE;UAAmB,CAAC;QAAE,GAAE,YAAYpF,YAAY,CAC3G,CAACwE,aAAa,IAAInD,CAAC,CAACgE,IAAI,GAAGhE,CAAC,CAACgE,IAAI,CAACC,WAAW,GAAG,SAClD,CAAC,EAAS,CACX;MACH,CAAC,MAAM;QACL;QACA,MAAMC,WAAW,GAAG/F,CAAC,CAACgG,IAAI,CACxBhG,CAAC,CAACiG,MAAM,CAACf,cAAc,EAAErD,CAAC,IAAIA,CAAC,CAACgB,MAAM,CAAC,EACvC,CACF,CAAC;QACDwC,OAAO,gBACL5F,KAAA,CAAA8F,aAAA,CAAC5F,IAAI;UAAC6F,KAAK,EAAEC,MAAM,CAACS;QAAoB,GACrCH,WAAW,CAACI,GAAG,CAAC,CAACtE,CAAC,EAAEuE,CAAC,KAAK;UACzB,oBAAO3G,KAAA,CAAA8F,aAAA,CAACnE,UAAU;YAACiF,GAAG,EAAExE,CAAC,CAACK,EAAG;YAACsD,KAAK,EAAE;cAAEc,WAAW,EAAE,CAAC;YAAG,CAAE;YAACC,QAAQ,EAAE,EAAG;YAACnF,UAAU,EAAES,CAAC,CAACgE,IAAI,CAACW;UAAW,CAAE,CAAC;QAC5G,CAAC,CAAC,eACF/G,KAAA,CAAA8F,aAAA,CAAC3F,IAAI;UAAC4F,KAAK,EAAE,CAACC,MAAM,CAACC,kBAAkB,EAAE;YAAEe,UAAU,EAAE,EAAE;YAAEd,KAAK,EAAE,IAAI,CAAChE,KAAK,CAACiE;UAAmB,CAAC;QAAE,GAAE,GAAGV,cAAc,CAACwB,MAAM,QACnHjG,gBAAgB,CAACyE,cAAc,CAACwB,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,EAAS,CAClE,CACP;MACH;MAEA,oBACEjH,KAAA,CAAA8F,aAAA,CAAC5F,IAAI;QAAC6F,KAAK,EAAEC,MAAM,CAACkB;MAAe,gBACjClH,KAAA,CAAA8F,aAAA,CAAC1F,gBAAgB;QACf+G,OAAO,EAAEA,CAAA,KAAM;UACb,IAAI,CAACC,YAAY,CAAChF,CAAC,CAAC;QACtB;MAAE,GAEDwD,OACe,CACd,CAAC;IAEX,CAAC;IAjaC,IAAI,CAACpD,KAAK,GAAG;MACX0C,eAAe,EAAE,KAAK;MACtBlC,QAAQ,EAAE,EAAE;MACZqE,aAAa,EAAE,KAAK;MACpB/E,eAAe,EAAE,IAAI;MACrBW,eAAe,EAAE,IAAI;MACrBQ,qBAAqB,EAAE,IAAI;MAC3BF,aAAa,EAAE,KAAK;MACpBW,UAAU,EAAE,KAAK;MACjBG,UAAU,EAAE,IAAI;MAChBY,UAAU,EAAE;IACd,CAAC;EACH;EAEAqC,iBAAiBA,CAAA,EAAG;IAClB,IAAI,CAACC,mBAAmB,CAAC,CAAC;IAE1B,IAAI,CAAChH,CAAC,CAAC4E,QAAQ,CAAC,IAAI,CAACjD,KAAK,CAACmD,IAAI,CAACmC,MAAM,EAAE,aAAa,CAAC,EAAE;MACtD,IAAI,CAACC,WAAW,CAAC,CAAC;IACpB;EACF;EAEAC,oBAAoBA,CAAA,EAAG;IACrB,IAAI,IAAI,CAACC,SAAS,EAAE;MAClBC,YAAY,CAAC,IAAI,CAACD,SAAS,CAAC;IAC9B;EACF;EA8EAE,mBAAmBA,CAACC,KAAK,EAAE;IACzB,IAAI,CAACzF,QAAQ,CAAC;MACZ0F,gBAAgB,EAAE,CAACD,KAAK,CAAC;MACzBE,cAAc,EAAE;IAClB,CAAC,CAAC;EACJ;EAEAC,SAASA,CAAA,EAAG;IAAA,IAAAC,qBAAA;IACV,CAAAA,qBAAA,OAAI,CAAChG,KAAK,CAACiG,YAAY,cAAAD,qBAAA,gBAAAA,qBAAA,GAAvBA,qBAAA,CAAyBE,OAAO,cAAAF,qBAAA,eAAhCA,qBAAA,CAAkCG,UAAU,CAAC,CAAC;EAChD;EAgEAC,eAAeA,CAACC,IAAI,EAAE;IACpB,IAAI,IAAI,CAACrG,KAAK,CAACsG,SAAS,EAAE;MACxB,OAAOD,IAAI,GAAG,IAAI,CAACrG,KAAK,CAACmD,IAAI,CAACoD,SAAS;IACzC;IACA,OAAOF,IAAI;EACb;EAEAd,WAAWA,CAAA,EAAG;IACZ,IAAI,CAAC,IAAI,CAACjF,KAAK,CAACkG,mBAAmB,EAAE;MAAA,IAAAC,sBAAA;MACnC,IAAI,CAACtG,QAAQ,CAAC;QACZqG,mBAAmB,EAAE,IAAI;QACzBxD,eAAe,EAAE;MACnB,CAAC,CAAC;MACF,CAAAyD,sBAAA,OAAI,CAACzG,KAAK,CAACiG,YAAY,cAAAQ,sBAAA,gBAAAA,sBAAA,GAAvBA,sBAAA,CAAyBP,OAAO,cAAAO,sBAAA,eAAhCA,sBAAA,CAAkCC,cAAc,CAAC,CAAC;MAElD,IAAI,CAACC,YAAY,CAAC,CAAC;IACrB;EACF;EAEAhD,OAAOA,CAAA,EAAG;IACR,OAAOtF,CAAC,CAACsF,OAAO,CAAC,IAAI,CAACrD,KAAK,CAACQ,QAAQ,CAAC;EACvC;EAEA6F,YAAYA,CAAA,EAAG;IACb,MAAMC,OAAO,GAAG,IAAI,CAACjD,OAAO,CAAC,CAAC,GAC1B,CAAC,GACDtF,CAAC,CAACwI,KAAK,CAAC,IAAI,CAACvG,KAAK,CAACQ,QAAQ,EAAEZ,CAAC,IAAI;MAClC,OAAOA,CAAC,CAAC4G,SAAS;IACpB,CAAC,CAAC,CAACA,SAAS;IACd1H,eAAe,CAACmG,WAAW,CAAC,IAAI,CAACvF,KAAK,CAAC+B,QAAQ,EAAE,IAAI,CAAC/B,KAAK,CAAC8B,UAAU,EAAE8E,OAAO,CAAC,CAACpG,IAAI,CAACC,GAAG,IAAI;MAAA,IAAAsG,sBAAA;MAC3F,IAAI,CAAC5G,QAAQ,CACX;QACEW,QAAQ,EAAEzC,CAAC,CAAC2I,MAAM,CAChB3I,CAAC,CAACiG,MAAM,CACNjG,CAAC,CAACwC,MAAM,CAACxC,CAAC,CAAC4I,MAAM,CAAC,IAAI,CAAC3G,KAAK,CAACQ,QAAQ,EAAEL,GAAG,CAACwB,IAAI,CAAC,EAAE/B,CAAC,IAAI;UACrD,IAAI,CAAC,IAAI,CAACF,KAAK,CAAC6B,QAAQ,EAAE;YACxB,OAAO,IAAI;UACb;UACA,OAAO3B,CAAC,CAACK,EAAE,KAAK,IAAI,CAACP,KAAK,CAAC6B,QAAQ,IAAI3B,CAAC,CAACuD,QAAQ,KAAK,IAAI,CAACzD,KAAK,CAAC6B,QAAQ;QAC3E,CAAC,CAAC,EACF3B,CAAC,IAAI;UACH,OAAOA,CAAC,CAACK,EAAE;QACb,CACF,CAAC,EACD,WACF,CAAC;QACDyC,eAAe,EAAE;MACnB,CAAC,EACD,MAAM;QACJ,IAAI,IAAI,CAAChD,KAAK,CAACkH,gBAAgB,EAAE;UAC/B,IAAI,CAAClH,KAAK,CAACkH,gBAAgB,CAAC,IAAI,CAAC5G,KAAK,CAACQ,QAAQ,CAACiE,MAAM,CAAC;QACzD;MACF,CACF,CAAC;MACD;MACA,CAAAgC,sBAAA,OAAI,CAAC/G,KAAK,CAACiG,YAAY,cAAAc,sBAAA,gBAAAA,sBAAA,GAAvBA,sBAAA,CAAyBb,OAAO,cAAAa,sBAAA,eAAhCA,sBAAA,CAAkCI,gBAAgB,CAAC,CAAC;MACpD;MACA,IAAI,IAAI,CAACnH,KAAK,CAACoH,IAAI,EAAE;QACnB,IAAI,CAAC3B,SAAS,GAAG4B,UAAU,CAAC,MAAM;UAChC,IAAI,CAACV,YAAY,CAAC,CAAC;QACrB,CAAC,EAAE,IAAI,CAAC3G,KAAK,CAACsH,gBAAgB,IAAI,IAAI,CAAC;MACzC;IACF,CAAC,CAAC;EACJ;EAMAC,oBAAoBA,CAAA,EAAG;IACrB,IAAI,CAACpH,QAAQ,CAAC;MACZgF,aAAa,EAAE;IACjB,CAAC,CAAC;EACJ;EAEAqC,YAAYA,CAAC9F,OAAO,EAAE;IACpB,MAAMd,WAAW,GAAG,IAAI,CAACN,KAAK,CAACQ,QAAQ;IACvCF,WAAW,CAAC6G,IAAI,CAAC/F,OAAO,CAAC;IACzB,IAAI,CAACvB,QAAQ,CACX;MACEgF,aAAa,EAAE,KAAK;MACpBrE,QAAQ,EAAEF;IACZ,CAAC,EACD,MAAM;MACJ,IAAI,IAAI,CAACZ,KAAK,CAAC0H,cAAc,EAAE;QAC7B,IAAI,CAAC1H,KAAK,CAAC0H,cAAc,CAAC,CAAC;MAC7B;IACF,CACF,CAAC;EACH;EAUAC,gBAAgBA,CAACzH,CAAC,EAAE;IAClB,IAAI,IAAI,CAACF,KAAK,CAACmD,IAAI,CAACC,GAAG,KAAKlD,CAAC,CAACgB,MAAM,EAAE;MACpC,OAAO,IAAI;IACb;IACA,OAAO7C,CAAC,CAAC4E,QAAQ,CAAC,IAAI,CAACjD,KAAK,CAACmD,IAAI,CAACyE,WAAW,EAAE,IAAI,CAAC5H,KAAK,CAAC6H,eAAe,CAAC;EAC5E;EAEAC,mBAAmBA,CAAA,EAAG;IACpB,IAAI,CAAC3H,QAAQ,CAAC;MACZ0F,gBAAgB,EAAE,EAAE;MACpBC,cAAc,EAAE;IAClB,CAAC,CAAC;EACJ;EAEAiC,0BAA0BA,CAAA,EAAG;IAC3B,oBACEjK,KAAA,CAAA8F,aAAA,CAACpE,YAAY;MACXwI,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC1H,KAAK,CAACF,eAAgB;MACtC6H,SAAS,EAAE,IAAI,CAACC,oBAAqB;MACrCC,QAAQ,EAAE,IAAI,CAACC,mBAAoB;MACnCC,OAAO,EAAE,IAAI,CAACD,mBAAoB;MAClCE,IAAI,EAAC;IAA+C,CACrD,CAAC;EAEN;EAEAC,0BAA0BA,CAAA,EAAG;IAC3B,oBACEzK,KAAA,CAAA8F,aAAA,CAACpE,YAAY;MACXwI,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC1H,KAAK,CAACS,eAAgB;MACtCkH,SAAS,EAAE,IAAI,CAACO,oBAAqB;MACrCL,QAAQ,EAAE,IAAI,CAACM,mBAAoB;MACnCJ,OAAO,EAAE,IAAI,CAACI,mBAAoB;MAClCH,IAAI,EAAC,+CAA+C;MACpDI,YAAY,eAAE5K,KAAA,CAAA8F,aAAA,CAAC3F,IAAI;QAAC4F,KAAK,EAAEC,MAAM,CAAC6E;MAAkB,GAAC,uEAA2E;IAAE,CACnI,CAAC;EAEN;EAEAC,yBAAyBA,CAAA,EAAG;IAC1B,oBACE9K,KAAA,CAAA8F,aAAA,CAACpE,YAAY;MACXwI,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC1H,KAAK,CAACU,cAAe;MACrCiH,SAAS,EAAE,IAAI,CAACY,mBAAoB;MACpCV,QAAQ,EAAE,IAAI,CAACW,kBAAmB;MAClCT,OAAO,EAAE,IAAI,CAACS,kBAAmB;MACjCR,IAAI,EAAC,2CAA2C;MAChDI,YAAY,eAAE5K,KAAA,CAAA8F,aAAA,CAAC3F,IAAI;QAAC4F,KAAK,EAAEC,MAAM,CAAC6E;MAAkB,GAAC,mDAAuD;IAAE,CAC/G,CAAC;EAEN;EAEAI,2BAA2BA,CAAA,EAAG;IAC5B,oBACEjL,KAAA,CAAA8F,aAAA,CAACpE,YAAY;MACXwI,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC1H,KAAK,CAACa,gBAAiB;MACvC8G,SAAS,EAAE,IAAI,CAACe,qBAAsB;MACtCb,QAAQ,EAAE,IAAI,CAACc,oBAAqB;MACpCZ,OAAO,EAAE,IAAI,CAACY,oBAAqB;MACnCX,IAAI,EAAC,6CAA6C;MAClDI,YAAY,eAAE5K,KAAA,CAAA8F,aAAA,CAAC3F,IAAI;QAAC4F,KAAK,EAAEC,MAAM,CAAC6E;MAAkB,GAAC,oDAAwD;IAAE,CAChH,CAAC;EAEN;EAEAO,yBAAyBA,CAAA,EAAG;IAC1B,MAAM;MAAE3H;IAAsB,CAAC,GAAG,IAAI,CAACjB,KAAK;IAC5C,MAAM6I,SAAS,GAAG5H,qBAAqB,KAAK,SAAS;IACrD,oBACEzD,KAAA,CAAA8F,aAAA,CAACpE,YAAY;MACXwI,OAAO,EAAE,CAAC,CAACzG,qBAAsB;MACjC0G,SAAS,EAAE,IAAI,CAACmB,0BAA2B;MAC3Cd,IAAI,EAAEa,SAAS,GAAG,yBAAyB,GAAG,kBAAmB;MACjET,YAAY,eACV5K,KAAA,CAAA8F,aAAA,CAAC3F,IAAI;QAAC4F,KAAK,EAAEC,MAAM,CAAC6E;MAAkB,GACnCQ,SAAS,GAAG,4CAA4C,GAAG,kEACxD,CACP;MACDE,MAAM;MACNC,OAAO,EAAE;IAAO,CACjB,CAAC;EAEN;EAEAC,kBAAkBA,CAACrJ,CAAC,EAAE;IACpB,IAAI7B,CAAC,CAACsF,OAAO,CAACzD,CAAC,CAAC/B,KAAK,CAAC,EAAE;MACtB,OAAO,IAAI;IACb;IACA,oBACEL,KAAA,CAAA8F,aAAA,CAAC1F,gBAAgB;MAAC2F,KAAK,EAAEC,MAAM,CAAC0F,qBAAsB;MAACvE,OAAO,EAAE,IAAI,CAACU,mBAAmB,CAAC8D,IAAI,CAAC,IAAI,EAAE9K,OAAO,CAACuB,CAAC,CAAC/B,KAAK,CAAC;IAAE,gBACpHL,KAAA,CAAA8F,aAAA,CAACzF,KAAK;MAAC0F,KAAK,EAAEC,MAAM,CAAC4F,YAAa;MAACC,MAAM,EAAE;QAAEC,GAAG,EAAElL,WAAW,CAACwB,CAAC,CAAC/B,KAAK;MAAE;IAAE,CAAE,CAC3D,CAAC;EAEvB;EAkDA0L,aAAaA,CAAC3J,CAAC,EAAE;IACf,MAAMmD,aAAa,GAAG,IAAI,CAACA,aAAa,CAACnD,CAAC,CAAC;IAC3C,oBACEpC,KAAA,CAAA8F,aAAA,CAAC5F,IAAI;MAAC6F,KAAK,EAAEC,MAAM,CAACpC,OAAQ;MAACgD,GAAG,EAAExE,CAAC,CAACK;IAAG,gBACrCzC,KAAA,CAAA8F,aAAA,CAAC5F,IAAI;MAAC6F,KAAK,EAAEC,MAAM,CAACgG;IAAY,gBAC9BhM,KAAA,CAAA8F,aAAA,CAACnE,UAAU;MAACA,UAAU,EAAE4D,aAAa,GAAG,IAAI,GAAGnD,CAAC,CAACgE,IAAI,CAACW,UAAW;MAACD,QAAQ,EAAE,EAAG;MAACf,KAAK,EAAEC,MAAM,CAACiG;IAAkB,CAAE,CAAC,eACnHjM,KAAA,CAAA8F,aAAA,CAAC5F,IAAI;MAAC6F,KAAK,EAAEC,MAAM,CAACkG;IAAa,gBAC/BlM,KAAA,CAAA8F,aAAA,CAAC5F,IAAI;MAAC6F,KAAK,EAAEC,MAAM,CAACmG;IAAgB,GACjC,IAAI,CAACtC,gBAAgB,CAACzH,CAAC,CAAC,gBACvBpC,KAAA,CAAA8F,aAAA,CAAC1F,gBAAgB;MAAC+G,OAAO,EAAE,IAAI,CAACiF,oBAAoB,CAACT,IAAI,CAAC,IAAI,EAAEvJ,CAAC;IAAE,gBACjEpC,KAAA,CAAA8F,aAAA,CAAC5F,IAAI;MAAC6F,KAAK,EAAE,CAACC,MAAM,CAACqG,sBAAsB,EAAE;QAAEC,eAAe,EAAE,IAAI,CAACpK,KAAK,CAACiE;MAAmB,CAAC;IAAE,gBAC/FnG,KAAA,CAAA8F,aAAA,CAACpF,IAAI;MAAC6L,IAAI,EAAC,OAAO;MAACC,IAAI,EAAC,cAAc;MAACC,SAAS,EAAEzG,MAAM,CAAC0G;IAAkB,CAAE,CACzE,CACU,CAAC,GAEnB,CAAC,IAAI,CAACxK,KAAK,CAACyK,WAAW,iBACrB3M,KAAA,CAAA8F,aAAA,CAAC1F,gBAAgB;MAAC+G,OAAO,EAAE,IAAI,CAACyF,oBAAoB,CAACjB,IAAI,CAAC,IAAI,EAAEvJ,CAAC;IAAE,gBACjEpC,KAAA,CAAA8F,aAAA,CAAC5F,IAAI;MAAC6F,KAAK,EAAE,CAACC,MAAM,CAACqG,sBAAsB,EAAE;QAAEC,eAAe,EAAE,IAAI,CAACpK,KAAK,CAACiE;MAAmB,CAAC;IAAE,gBAC/FnG,KAAA,CAAA8F,aAAA,CAACpF,IAAI;MAAC6L,IAAI,EAAC,MAAM;MAACC,IAAI,EAAC,cAAc;MAACC,SAAS,EAAEzG,MAAM,CAAC0G;IAAkB,CAAE,CACxE,CACU,CAErB,EACA,CAAC,IAAI,CAACxK,KAAK,CAACyK,WAAW,IACtB,IAAI,CAACE,eAAe,CAACzK,CAAC,CAAC,KACtBmD,aAAa,gBACZvF,KAAA,CAAA8F,aAAA,CAAC1F,gBAAgB;MAAC2F,KAAK,EAAE;QAAEc,WAAW,EAAE;MAAE,CAAE;MAACM,OAAO,EAAE,IAAI,CAAC2F,kBAAkB,CAACnB,IAAI,CAAC,IAAI,EAAEvJ,CAAC;IAAE,gBAC1FpC,KAAA,CAAA8F,aAAA,CAAC5F,IAAI;MAAC6F,KAAK,EAAE,CAACC,MAAM,CAACqG,sBAAsB,EAAE;QAAEC,eAAe,EAAE,IAAI,CAACpK,KAAK,CAACiE;MAAmB,CAAC;IAAE,gBAC/FnG,KAAA,CAAA8F,aAAA,CAACpF,IAAI;MAAC6L,IAAI,EAAC,WAAW;MAACC,IAAI,EAAC,cAAc;MAACC,SAAS,EAAEzG,MAAM,CAAC0G;IAAkB,CAAE,CAC7E,CACU,CAAC,gBAEnB1M,KAAA,CAAA8F,aAAA,CAAC1F,gBAAgB;MAAC2F,KAAK,EAAE;QAAEc,WAAW,EAAE;MAAE,CAAE;MAACM,OAAO,EAAE,IAAI,CAAC4F,gBAAgB,CAACpB,IAAI,CAAC,IAAI,EAAEvJ,CAAC;IAAE,gBACxFpC,KAAA,CAAA8F,aAAA,CAAC5F,IAAI;MAAC6F,KAAK,EAAE,CAACC,MAAM,CAACqG,sBAAsB,EAAE;QAAEC,eAAe,EAAE,IAAI,CAACpK,KAAK,CAACiE;MAAmB,CAAC;IAAE,gBAC/FnG,KAAA,CAAA8F,aAAA,CAACpF,IAAI;MAAC6L,IAAI,EAAC,YAAY;MAACC,IAAI,EAAC,cAAc;MAACC,SAAS,EAAEzG,MAAM,CAAC0G;IAAkB,CAAE,CAC9E,CACU,CACnB,CAAC,eACJ1M,KAAA,CAAA8F,aAAA,CAAC3F,IAAI;MAAC4F,KAAK,EAAE,CAACC,MAAM,CAACgH,WAAW,EAAE;QAAEC,QAAQ,EAAE,IAAI,CAAC3E,eAAe,CAAC,EAAE;MAAE,CAAC;IAAE,GACvE/C,aAAa,GAAG,gBAAgB,GAAGnD,CAAC,CAACgE,IAAI,CAACC,WACvC,CACF,CAAC,EACN,CAAC9F,CAAC,CAACsF,OAAO,CAACzD,CAAC,CAAC8K,OAAO,CAAC,iBACpBlN,KAAA,CAAA8F,aAAA,CAAC3F,IAAI;MAAC4F,KAAK,EAAE,CAACC,MAAM,CAACmH,WAAW,EAAE;QAAEF,QAAQ,EAAE,IAAI,CAAC3E,eAAe,CAAC,EAAE;MAAE,CAAC;IAAE,GAAE/C,aAAa,GAAG,UAAU,GAAGnD,CAAC,CAAC8K,OAAc,CAC1H,EACA,CAAC3H,aAAa,IAAI,IAAI,CAACkG,kBAAkB,CAACrJ,CAAC,CACxC,CACF,CAAC,eACPpC,KAAA,CAAA8F,aAAA,CAAC5F,IAAI;MAAC6F,KAAK,EAAEC,MAAM,CAACoH;IAAc,gBAChCpN,KAAA,CAAA8F,aAAA,CAAC3F,IAAI;MAAC4F,KAAK,EAAE,CAACC,MAAM,CAACqH,WAAW,EAAE;QAAEJ,QAAQ,EAAE,IAAI,CAAC3E,eAAe,CAAC,EAAE;MAAE,CAAC;IAAE,GACvE9H,MAAM,CACJ8M,GAAG,CAAClL,CAAC,CAAC4G,SAAS,CAAC,CAChBuE,KAAK,CAAC,CAAC,CACPC,MAAM,CAAC,eAAe,CACrB,CAAC,EACN,IAAI,CAACC,eAAe,CAACrL,CAAC,EAAEmD,aAAa,CAClC,CACF,CAAC;EAEX;EAEAmI,UAAUA,CAAA,EAAG;IACX,MAAM;MAAE3I;IAAyB,CAAC,GAAG,IAAI,CAAC7C,KAAK;IAC/C,MAAM;MAAE+C,UAAU;MAAEZ,UAAU;MAAEH;IAAW,CAAC,GAAG,IAAI,CAAC1B,KAAK;IACzD,IAAI,CAACuC,wBAAwB,IAAI,CAACE,UAAU,EAAE,OAAO,IAAI;IAEzD,IAAIf,UAAU,EACZ,oBACElE,KAAA,CAAA8F,aAAA,CAAC5F,IAAI;MAAC6F,KAAK,EAAEC,MAAM,CAAC2H;IAAqB,gBACvC3N,KAAA,CAAA8F,aAAA,CAAChE,OAAO;MAACyG,IAAI,EAAE,OAAQ;MAACrC,KAAK,EAAE,IAAI,CAAChE,KAAK,CAACiE;IAAmB,CAAE,CAC3D,CAAC;IAGX,MAAMyH,OAAO,GAAG,IAAI,CAACA,OAAO,CAAC,CAAC;IAC9B,MAAMC,KAAK,GAAG,IAAI,CAACC,gBAAgB,CAAC,CAAC;IACrC,MAAMC,QAAQ,GAAG,aAAaF,KAAK,QAAQlN,UAAU,CAACkN,KAAK,CAAC,EAAE;IAC9D;;IAEA,oBACE7N,KAAA,CAAA8F,aAAA,CAAC5F,IAAI;MAAC6F,KAAK,EAAEC,MAAM,CAACgI;IAAc,GAC/BJ,OAAO,IAAIvJ,UAAU,gBAAGrE,KAAA,CAAA8F,aAAA,CAAC3F,IAAI;MAAC4F,KAAK,EAAE,CAAC;QAAEG,KAAK,EAAE,IAAI,CAAChE,KAAK,CAACiE;MAAmB,CAAC,EAAEH,MAAM,CAACiI,YAAY;IAAE,GAAEF,QAAe,CAAC,GAAG,IAAI,eAC/H/N,KAAA,CAAA8F,aAAA,CAACjE,YAAY;MACXsF,OAAO,EAAEyG,OAAO,GAAG,IAAI,CAACM,QAAQ,GAAG,IAAI,CAACC,MAAO;MAC/CjI,KAAK,EAAC,MAAM;MACZH,KAAK,EAAE,CAAC;QAAEqI,WAAW,EAAE,IAAI,CAAClM,KAAK,CAACiE;MAAmB,CAAC,EAAEH,MAAM,CAACqI,UAAU,CAAE;MAC3EC,QAAQ,EAAEpK,UAAW;MACrBqK,eAAe;MACfC,MAAM;IAAA,gBAENxO,KAAA,CAAA8F,aAAA,CAAC5F,IAAI;MAAC6F,KAAK,EAAEC,MAAM,CAACyI;IAAgB,gBAClCzO,KAAA,CAAA8F,aAAA,CAACpF,IAAI;MACH6L,IAAI,EAAEqB,OAAO,GAAG,QAAQ,GAAG,cAAe;MAC1CpB,IAAI,EAAE,cAAe;MACrBC,SAAS,EAAE,CAAC;QAAEvG,KAAK,EAAE,IAAI,CAAChE,KAAK,CAACiE;MAAmB,CAAC,EAAEH,MAAM,CAAC0I,cAAc;IAAE,CAC9E,CAAC,eACF1O,KAAA,CAAA8F,aAAA,CAAC3F,IAAI;MAAC4F,KAAK,EAAE,CAAC;QAAEG,KAAK,EAAE,IAAI,CAAChE,KAAK,CAACiE;MAAmB,CAAC,EAAEH,MAAM,CAAC2I,cAAc;IAAE,GAAEf,OAAO,GAAG,QAAQ,GAAG,MAAa,CAC/G,CACM,CACV,CAAC;EAEX;EAEAgB,cAAcA,CAAA,EAAG;IACf,IAAI,IAAI,CAACpM,KAAK,CAAC0C,eAAe,EAAE;MAC9B,oBACElF,KAAA,CAAA8F,aAAA,CAAC5F,IAAI;QAAC6F,KAAK,EAAEC,MAAM,CAAC6I;MAAe,gBACjC7O,KAAA,CAAA8F,aAAA,CAAChE,OAAO;QAACoE,KAAK,EAAE,IAAI,CAAChE,KAAK,CAACiE;MAAmB,CAAE,CAC5C,CAAC;IAEX;IACA,IAAI,IAAI,CAACN,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAACrD,KAAK,CAAC6E,aAAa,EAAE;MAC/C,IAAI9G,CAAC,CAAC4E,QAAQ,CAAC,IAAI,CAACjD,KAAK,CAACmD,IAAI,CAACmC,MAAM,EAAE,YAAY,CAAC,EAAE;QACpD,OAAO,IAAI;MACb;MACA,IAAI,CAACjH,CAAC,CAACuO,KAAK,CAAC,IAAI,CAAC5M,KAAK,CAAC6M,WAAW,CAAC,IAAIxO,CAAC,CAACsF,OAAO,CAAC,IAAI,CAAC3D,KAAK,CAAC6M,WAAW,CAAC,EAAE,OAAO,IAAI;MACtF,oBACE/O,KAAA,CAAA8F,aAAA,CAAC5F,IAAI;QAAC6F,KAAK,EAAEC,MAAM,CAAC6I;MAAe,gBACjC7O,KAAA,CAAA8F,aAAA,CAAC3F,IAAI;QAAC4F,KAAK,EAAE,CAACC,MAAM,CAACgJ,aAAa,EAAE;UAAE/B,QAAQ,EAAE,IAAI,CAAC3E,eAAe,CAAC,EAAE;QAAE,CAAC;MAAE,GACzE/H,CAAC,CAACuO,KAAK,CAAC,IAAI,CAAC5M,KAAK,CAAC6M,WAAW,CAAC,GAAG,gCAAgC,GAAG,IAAI,CAAC7M,KAAK,CAAC6M,WAC7E,CACF,CAAC;IAEX;IACA,IAAIlD,MAAM,GAAG,CAAC,GAAG,IAAI,CAACrJ,KAAK,CAACQ,QAAQ,CAAC;IACrC,IAAI,IAAI,CAACd,KAAK,CAAC+M,YAAY,EAAE;MAC3BpD,MAAM,GAAGA,MAAM,CAACqD,OAAO,CAAC,CAAC;IAC3B;IACA,IAAI,CAAC,IAAI,CAAChN,KAAK,CAACiN,WAAW,IAAI,CAAC,IAAI,CAACjN,KAAK,CAAC6B,QAAQ,EAAE;MACnD8H,MAAM,GAAGtL,CAAC,CAACwC,MAAM,CAAC8I,MAAM,EAAEzJ,CAAC,IAAI;QAC7B,OAAO,CAACA,CAAC,CAACuD,QAAQ;MACpB,CAAC,CAAC;IACJ;IACA,oBACE3F,KAAA,CAAA8F,aAAA,CAAC5F,IAAI;MAAC6F,KAAK,EAAEC,MAAM,CAAC6I;IAAe,GAChC,CAAC,IAAI,CAAChJ,OAAO,CAAC,CAAC,iBACd7F,KAAA,CAAA8F,aAAA,CAAC5F,IAAI;MAAC6F,KAAK,EAAEC,MAAM,CAACoJ;IAAuB,gBACzCpP,KAAA,CAAA8F,aAAA,CAAC5F,IAAI;MAAC6F,KAAK,EAAE;QAAEsJ,UAAU,EAAE;MAAW;IAAE,GACrC,IAAI,CAAC3B,UAAU,CAAC,CAAC,EACjB,CAAC,IAAI,CAACxL,KAAK,CAACoN,cAAc,IAAI,IAAI,CAAC9M,KAAK,CAACQ,QAAQ,CAACiE,MAAM,GAAG,CAAC,iBAC3DjH,KAAA,CAAA8F,aAAA,CAAC1F,gBAAgB;MAAC+G,OAAO,EAAE,IAAI,CAACc,SAAS,CAAC0D,IAAI,CAAC,IAAI;IAAE,gBACnD3L,KAAA,CAAA8F,aAAA,CAAC3F,IAAI;MAAC4F,KAAK,EAAE,CAACC,MAAM,CAACuJ,QAAQ,EAAE;QAAErJ,KAAK,EAAE,IAAI,CAAChE,KAAK,CAACiE;MAAmB,CAAC;IAAE,GAAC,eAAmB,CAC7E,CAEhB,CAAC,eACPnG,KAAA,CAAA8F,aAAA,CAAC3F,IAAI;MAAC4F,KAAK,EAAE,CAACC,MAAM,CAACwJ,YAAY,EAAE;QAAEvC,QAAQ,EAAE,IAAI,CAAC3E,eAAe,CAAC,EAAE;MAAE,CAAC;IAAE,GACxE,IAAI,CAAC9F,KAAK,CAACQ,QAAQ,CAACiE,MAAM,EAC1B,WAAWtG,UAAU,CAAC,IAAI,CAAC6B,KAAK,CAACQ,QAAQ,CAACiE,MAAM,CAAC,EAC9C,CACF,CACP,EACA,IAAI,CAAC/E,KAAK,CAAC+M,YAAY,IAAI,IAAI,CAACzM,KAAK,CAAC6E,aAAa,iBAAIrH,KAAA,CAAA8F,aAAA,CAAChE,OAAO;MAACoE,KAAK,EAAE,IAAI,CAAChE,KAAK,CAACiE;IAAmB,CAAE,CAAC,EACxG0F,MAAM,CAACnF,GAAG,CAACtE,CAAC,IAAI;MACf,OAAO,IAAI,CAAC2J,aAAa,CAAC3J,CAAC,CAAC;IAC9B,CAAC,CAAC,EACD,CAAC,IAAI,CAACF,KAAK,CAAC+M,YAAY,IAAI,IAAI,CAACzM,KAAK,CAAC6E,aAAa,iBAAIrH,KAAA,CAAA8F,aAAA,CAAChE,OAAO;MAACoE,KAAK,EAAE,IAAI,CAAChE,KAAK,CAACiE;IAAmB,CAAE,CACrG,CAAC;EAEX;EAEAsJ,uBAAuBA,CAAA,EAAG;IACxB,oBACEzP,KAAA,CAAA8F,aAAA,CAAClE,UAAU;MACTsI,OAAO,EAAE,IAAI,CAAC1H,KAAK,CAACwF,cAAe;MACnC0H,MAAM,EAAE,IAAI,CAAClN,KAAK,CAACuF,gBAAiB;MACpCwC,OAAO,EAAE,IAAI,CAACP,mBAAmB,CAAC2B,IAAI,CAAC,IAAI,CAAE;MAC7CgE,GAAG,EAAC;IAAmB,CACxB,CAAC;EAEN;EAEAC,mBAAmBA,CAAA,EAAG;IACpB,IAAI,CAAC,IAAI,CAACpN,KAAK,CAACe,aAAa,EAAE,OAAO,IAAI;IAC1C,oBACEvD,KAAA,CAAA8F,aAAA,CAAC5F,IAAI;MAAC6F,KAAK,EAAEC,MAAM,CAAC6J;IAAuB,gBACzC7P,KAAA,CAAA8F,aAAA,CAAChE,OAAO;MAACoE,KAAK,EAAE,IAAI,CAAChE,KAAK,CAACiE;IAAmB,CAAE,CAC5C,CAAC;EAEX;EAEA2J,MAAMA,CAAA,EAAG;IACP,IAAIvP,CAAC,CAAC4E,QAAQ,CAAC,IAAI,CAACjD,KAAK,CAACmD,IAAI,CAACmC,MAAM,EAAE,aAAa,CAAC,EAAE;MACrD,OAAO,IAAI;IACb;IACA,oBACExH,KAAA,CAAA8F,aAAA,CAAC5F,IAAI;MAAC6F,KAAK,EAAE,CAACC,MAAM,CAAC+J,mBAAmB,EAAE,IAAI,CAAC7N,KAAK,CAAC6D,KAAK;IAAE,GACzD,IAAI,CAAC6I,cAAc,CAAC,CAAC,EACrB,IAAI,CAACgB,mBAAmB,CAAC,CAAC,EAC1B,IAAI,CAAC3F,0BAA0B,CAAC,CAAC,EACjC,IAAI,CAACQ,0BAA0B,CAAC,CAAC,EACjC,IAAI,CAACK,yBAAyB,CAAC,CAAC,EAChC,IAAI,CAACG,2BAA2B,CAAC,CAAC,EAClC,IAAI,CAACG,yBAAyB,CAAC,CAAC,EAChC,IAAI,CAACqE,uBAAuB,CAAC,CAC1B,CAAC;EAEX;AACF;AAEA,MAAMzJ,MAAM,GAAG1F,UAAU,CAAC0P,MAAM,CAAC;EAC/BD,mBAAmB,EAAE;IACnBE,IAAI,EAAE,CAAC;IACPC,iBAAiB,EAAE;EACrB,CAAC;EACDrB,cAAc,EAAE;IACdoB,IAAI,EAAE,CAAC;IACPE,eAAe,EAAE,EAAE;IACnBC,cAAc,EAAE/O,QAAQ;IACxBgP,cAAc,EAAE;EAClB,CAAC;EACDb,YAAY,EAAE;IACZc,UAAU,EAAE,aAAa;IACzBpK,KAAK,EAAEhF,YAAY;IACnB+O,IAAI,EAAE,CAAC;IACPM,SAAS,EAAE;EACb,CAAC;EACD3M,OAAO,EAAE;IACP2M,SAAS,EAAE;EACb,CAAC;EACDvE,WAAW,EAAE;IACXwE,aAAa,EAAE;EACjB,CAAC;EACDvE,iBAAiB,EAAE;IACjBpF,WAAW,EAAE;EACf,CAAC;EACDqF,YAAY,EAAE;IACZ+D,IAAI,EAAE,CAAC;IACP3D,eAAe,EAAEnL,OAAO;IACxBsP,YAAY,EAAE,CAAC;IACfC,OAAO,EAAE;EACX,CAAC;EACDvE,eAAe,EAAE;IACfqE,aAAa,EAAE,aAAa;IAC5BnB,UAAU,EAAE;EACd,CAAC;EACDhD,sBAAsB,EAAE;IACtBsE,KAAK,EAAE,EAAE;IACTC,MAAM,EAAE,EAAE;IACVH,YAAY,EAAE,EAAE;IAChBpB,UAAU,EAAE,QAAQ;IACpBwB,cAAc,EAAE;EAClB,CAAC;EACDnE,iBAAiB,EAAE;IACjBO,QAAQ,EAAE,EAAE;IACZ/G,KAAK,EAAE;EACT,CAAC;EACD8G,WAAW,EAAE;IACXsD,UAAU,EAAE,aAAa;IACzBpK,KAAK,EAAEhF,YAAY;IACnB+O,IAAI,EAAE;EACR,CAAC;EACD9C,WAAW,EAAE;IACXoD,SAAS,EAAE,CAAC;IACZD,UAAU,EAAE,YAAY;IACxBpK,KAAK,EAAEhF;EACT,CAAC;EACDkM,aAAa,EAAE;IACboD,aAAa,EAAE,aAAa;IAC5BK,cAAc,EAAE,eAAe;IAC/BxB,UAAU,EAAE;EACd,CAAC;EACDhC,WAAW,EAAE;IACXiD,UAAU,EAAE,YAAY;IACxBC,SAAS,EAAE,CAAC;IACZrK,KAAK,EAAE9E,UAAU;IACjB0P,SAAS,EAAE;EACb,CAAC;EACD5J,cAAc,EAAE;IACd+I,IAAI,EAAE,CAAC;IACPc,WAAW,EAAE;EACf,CAAC;EACD9K,kBAAkB,EAAE;IAClBqK,UAAU,EAAE,aAAa;IACzBrD,QAAQ,EAAE;EACZ,CAAC;EACDxG,mBAAmB,EAAE;IACnB+J,aAAa,EAAE,KAAK;IACpBnB,UAAU,EAAE,QAAQ;IACpBc,eAAe,EAAE;EACnB,CAAC;EACDzE,qBAAqB,EAAE;IACrB6E,SAAS,EAAE,CAAC;IACZI,KAAK,EAAE,EAAE;IACTC,MAAM,EAAE;EACV,CAAC;EACDhF,YAAY,EAAE;IACZ+E,KAAK,EAAE,EAAE;IACTC,MAAM,EAAE,EAAE;IACVH,YAAY,EAAE;EAChB,CAAC;EACDzB,aAAa,EAAE;IACbsB,UAAU,EAAE,aAAa;IACzBpK,KAAK,EAAEhF;EACT,CAAC;EACDkO,sBAAsB,EAAE;IACtBoB,aAAa,EAAE;EACjB,CAAC;EACD3F,iBAAiB,EAAE;IACjByF,UAAU,EAAE,YAAY;IACxBrD,QAAQ,EAAE,EAAE;IACZiD,iBAAiB,EAAE,EAAE;IACrBY,SAAS,EAAE;EACb,CAAC;EACDjB,sBAAsB,EAAE;IACtBM,eAAe,EAAE;EACnB,CAAC;EACDZ,QAAQ,EAAE;IACRgB,SAAS,EAAE;EACb,CAAC;EACD5C,oBAAoB,EAAE;IACpBgD,KAAK,EAAE,GAAG;IACVK,YAAY,EAAE;EAChB,CAAC;EACDhD,aAAa,EAAE;IACbwC,aAAa,EAAE,KAAK;IACpBnB,UAAU,EAAE,QAAQ;IACpBwB,cAAc,EAAE,UAAU;IAC1BG,YAAY,EAAE;EAChB,CAAC;EACD/C,YAAY,EAAE;IACZqC,UAAU,EAAE,aAAa;IACzBrD,QAAQ,EAAE,EAAE;IACZpG,WAAW,EAAE;EACf,CAAC;EACDwH,UAAU,EAAE;IACV4C,WAAW,EAAE,CAAC;IACdf,iBAAiB,EAAE;EACrB,CAAC;EACDzB,eAAe,EAAE;IACf+B,aAAa,EAAE,KAAK;IACpBnB,UAAU,EAAE;EACd,CAAC;EACDX,cAAc,EAAE;IACdzB,QAAQ,EAAE;EACZ,CAAC;EACD0B,cAAc,EAAE;IACd2B,UAAU,EAAE,aAAa;IACzBrD,QAAQ,EAAE,EAAE;IACZjG,UAAU,EAAE;EACd;AACF,CAAC,CAAC;AAEF,MAAMkK,eAAe,GAAG1O,KAAK,IAAI;EAC/B,OAAO;IACL2D,kBAAkB,EAAElF,8BAA8B,CAACuB,KAAK,CAAC;IACzD6C,IAAI,EAAE7C,KAAK,CAAC6C,IAAI;IAChBN,wBAAwB,EAAEjE,uBAAuB,CAAC0B,KAAK,EAAE,0BAA0B,EAAE,KAAK,CAAC;IAC3F4C,YAAY,EAAE5C,KAAK,CAAC2O,YAAY,CAAC/L,YAAY,IAAI;EACnD,CAAC;AACH,CAAC;AAED,MAAMyJ,cAAc,GAAGpO,OAAO,CAACyQ,eAAe,EAAE;EAAE1P,SAAS;EAAEC;AAAY,CAAC,EAAE,IAAI,EAAE;EAAE2P,UAAU,EAAE;AAAK,CAAC,CAAC,CAACpP,cAAc,CAAC;AACvH,SAAS6M,cAAc,IAAI7M,cAAc","ignoreList":[]}
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","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 '@rneui/themed';\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 }]}>{`${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 />\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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","ignoreList":[]}
@@ -10,9 +10,10 @@ class GenericInput extends Component {
10
10
  this.state = {
11
11
  showSecureText: false
12
12
  };
13
+ this.inputRef = /*#__PURE__*/React.createRef();
13
14
  }
14
15
  blur() {
15
- this.refs.input.blur();
16
+ this.inputRef.current.blur();
16
17
  }
17
18
  toggleSecureText() {
18
19
  this.setState({
@@ -81,7 +82,7 @@ class GenericInput extends Component {
81
82
  height: 36
82
83
  }, this.props.containerStyle]
83
84
  }, this.renderLeftIcon(), /*#__PURE__*/React.createElement(TextInput, {
84
- ref: "input",
85
+ ref: this.inputRef,
85
86
  placeholder: this.props.placeholder,
86
87
  placeholderTextColor: TEXT_LIGHT,
87
88
  autoCorrect: this.props.autoCorrect != null ? this.props.autoCorrect : false,
@@ -1 +1 @@
1
- {"version":3,"names":["React","Component","_","TextInput","View","TouchableWithoutFeedback","Icon","TEXT_LIGHT","TEXT_DARK","TEXT_DARKEST","Pl60Icon","GenericInput","constructor","props","state","showSecureText","blur","refs","input","toggleSecureText","setState","renderLeftIcon","icon","iconType","createElement","name","style","styles","searchIcon","type","iconStyle","renderRightIcon","secureTextEntry","onPress","bind","clearIcon","secureIcon","rightIcon","rightIconAction","hasClear","isEmpty","value","onChangeText","render","searchInputContainer","squaredCorners","squaredSearchInputContainer","autoGrow","paddingVertical","minHeight","height","containerStyle","ref","placeholder","placeholderTextColor","autoCorrect","autoFocus","multiline","searchText","textAlignVertical","keyboardType","returnKeyType","selectionColor","underlineColorAndroid","editable","autoCapitalize","onKeyPress","onSubmitEditing","onFocus","onBlur","flex","borderRadius","backgroundColor","alignItems","flexDirection","paddingHorizontal","fontSize","color","marginRight","marginLeft","marginTop","marginBottom","fontFamily"],"sources":["GenericInput.js"],"sourcesContent":["import React, { Component } from 'react';\nimport _ from 'lodash';\nimport { TextInput, View, TouchableWithoutFeedback } from 'react-native';\nimport { Icon } from '@rneui/themed';\nimport { TEXT_LIGHT, TEXT_DARK, TEXT_DARKEST } from '../colours';\nimport { Pl60Icon } from '../fonts';\n\nclass GenericInput extends Component {\n constructor(props) {\n super(props);\n this.state = {\n showSecureText: false,\n };\n }\n\n blur() {\n this.refs.input.blur();\n }\n\n toggleSecureText() {\n this.setState({\n showSecureText: !this.state.showSecureText,\n });\n }\n\n renderLeftIcon() {\n if (!this.props.icon) {\n return null;\n }\n if (this.props.iconType && this.props.iconType === 'pl60') {\n return <Pl60Icon name={this.props.icon} style={styles.searchIcon} />;\n }\n return <Icon type=\"font-awesome\" name={this.props.icon} iconStyle={styles.searchIcon} />;\n }\n\n renderRightIcon() {\n if (this.props.secureTextEntry) {\n return (\n <TouchableWithoutFeedback onPress={this.toggleSecureText.bind(this)}>\n <Pl60Icon name={this.state.showSecureText ? 'hide' : 'show'} style={[styles.clearIcon, styles.secureIcon]} />\n </TouchableWithoutFeedback>\n );\n }\n if (this.props.rightIcon) {\n if (this.props.rightIconAction) {\n return (\n <TouchableWithoutFeedback onPress={this.props.rightIconAction}>\n <Icon type=\"font-awesome\" name={this.props.rightIcon} iconStyle={styles.clearIcon} />\n </TouchableWithoutFeedback>\n );\n }\n return <Icon type=\"font-awesome\" name={this.props.rightIcon} iconStyle={styles.clearIcon} />;\n }\n if (this.props.hasClear && !_.isEmpty(this.props.value)) {\n return (\n <TouchableWithoutFeedback\n onPress={() => {\n this.props.onChangeText('');\n }}\n >\n <Pl60Icon name=\"clear\" style={styles.clearIcon} />\n </TouchableWithoutFeedback>\n );\n }\n return null;\n }\n\n render() {\n return (\n <View\n style={[\n styles.searchInputContainer,\n this.props.squaredCorners && styles.squaredSearchInputContainer,\n this.props.autoGrow ? { paddingVertical: 8, minHeight: 40 } : { height: 36 },\n this.props.containerStyle,\n ]}\n >\n {this.renderLeftIcon()}\n <TextInput\n ref=\"input\"\n placeholder={this.props.placeholder}\n placeholderTextColor={TEXT_LIGHT}\n autoCorrect={this.props.autoCorrect != null ? this.props.autoCorrect : false}\n autoFocus={this.props.autoFocus != null ? this.props.autoFocus : false}\n autoGrow={this.props.autoGrow != null ? this.props.autoGrow : false}\n multiline={this.props.multiline != null ? this.props.multiline : false}\n style={[\n styles.searchText,\n this.props.style,\n { textAlignVertical: this.props.multiline ? 'top' : 'center' },\n this.props.minHeight && { minHeight: this.props.minHeight },\n ]}\n value={this.props.value}\n onChangeText={this.props.onChangeText}\n keyboardType={this.props.keyboardType}\n returnKeyType={this.props.returnKeyType}\n selectionColor={TEXT_DARK}\n underlineColorAndroid=\"rgba(0,0,0,0)\"\n editable={this.props.editable != null ? this.props.editable : true}\n autoCapitalize={this.props.autoCapitalize || 'none'}\n onKeyPress={this.props.onKeyPress}\n onSubmitEditing={this.props.onSubmitEditing}\n onFocus={this.props.onFocus}\n onBlur={this.props.onBlur}\n secureTextEntry={this.props.secureTextEntry && !this.state.showSecureText}\n />\n {this.renderRightIcon()}\n </View>\n );\n }\n}\n\nconst styles = {\n searchInputContainer: {\n flex: 1,\n borderRadius: 25,\n backgroundColor: '#ebeff2',\n alignItems: 'center',\n flexDirection: 'row',\n paddingHorizontal: 16,\n },\n squaredSearchInputContainer: {\n borderRadius: 5,\n paddingHorizontal: 8,\n },\n searchIcon: {\n fontSize: 14,\n color: TEXT_LIGHT,\n marginRight: 8,\n },\n clearIcon: {\n fontSize: 14,\n color: TEXT_LIGHT,\n marginLeft: 8,\n marginTop: 8,\n marginBottom: 8,\n },\n secureIcon: {\n fontSize: 20,\n },\n searchText: {\n color: TEXT_DARKEST,\n fontFamily: 'sf-regular',\n fontSize: 16,\n flex: 1,\n },\n};\n\nexport { GenericInput };\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,SAAS,QAAQ,OAAO;AACxC,OAAOC,CAAC,MAAM,QAAQ;AACtB,SAASC,SAAS,EAAEC,IAAI,EAAEC,wBAAwB,QAAQ,cAAc;AACxE,SAASC,IAAI,QAAQ,eAAe;AACpC,SAASC,UAAU,EAAEC,SAAS,EAAEC,YAAY,QAAQ,YAAY;AAChE,SAASC,QAAQ,QAAQ,UAAU;AAEnC,MAAMC,YAAY,SAASV,SAAS,CAAC;EACnCW,WAAWA,CAACC,KAAK,EAAE;IACjB,KAAK,CAACA,KAAK,CAAC;IACZ,IAAI,CAACC,KAAK,GAAG;MACXC,cAAc,EAAE;IAClB,CAAC;EACH;EAEAC,IAAIA,CAAA,EAAG;IACL,IAAI,CAACC,IAAI,CAACC,KAAK,CAACF,IAAI,CAAC,CAAC;EACxB;EAEAG,gBAAgBA,CAAA,EAAG;IACjB,IAAI,CAACC,QAAQ,CAAC;MACZL,cAAc,EAAE,CAAC,IAAI,CAACD,KAAK,CAACC;IAC9B,CAAC,CAAC;EACJ;EAEAM,cAAcA,CAAA,EAAG;IACf,IAAI,CAAC,IAAI,CAACR,KAAK,CAACS,IAAI,EAAE;MACpB,OAAO,IAAI;IACb;IACA,IAAI,IAAI,CAACT,KAAK,CAACU,QAAQ,IAAI,IAAI,CAACV,KAAK,CAACU,QAAQ,KAAK,MAAM,EAAE;MACzD,oBAAOvB,KAAA,CAAAwB,aAAA,CAACd,QAAQ;QAACe,IAAI,EAAE,IAAI,CAACZ,KAAK,CAACS,IAAK;QAACI,KAAK,EAAEC,MAAM,CAACC;MAAW,CAAE,CAAC;IACtE;IACA,oBAAO5B,KAAA,CAAAwB,aAAA,CAAClB,IAAI;MAACuB,IAAI,EAAC,cAAc;MAACJ,IAAI,EAAE,IAAI,CAACZ,KAAK,CAACS,IAAK;MAACQ,SAAS,EAAEH,MAAM,CAACC;IAAW,CAAE,CAAC;EAC1F;EAEAG,eAAeA,CAAA,EAAG;IAChB,IAAI,IAAI,CAAClB,KAAK,CAACmB,eAAe,EAAE;MAC9B,oBACEhC,KAAA,CAAAwB,aAAA,CAACnB,wBAAwB;QAAC4B,OAAO,EAAE,IAAI,CAACd,gBAAgB,CAACe,IAAI,CAAC,IAAI;MAAE,gBAClElC,KAAA,CAAAwB,aAAA,CAACd,QAAQ;QAACe,IAAI,EAAE,IAAI,CAACX,KAAK,CAACC,cAAc,GAAG,MAAM,GAAG,MAAO;QAACW,KAAK,EAAE,CAACC,MAAM,CAACQ,SAAS,EAAER,MAAM,CAACS,UAAU;MAAE,CAAE,CACpF,CAAC;IAE/B;IACA,IAAI,IAAI,CAACvB,KAAK,CAACwB,SAAS,EAAE;MACxB,IAAI,IAAI,CAACxB,KAAK,CAACyB,eAAe,EAAE;QAC9B,oBACEtC,KAAA,CAAAwB,aAAA,CAACnB,wBAAwB;UAAC4B,OAAO,EAAE,IAAI,CAACpB,KAAK,CAACyB;QAAgB,gBAC5DtC,KAAA,CAAAwB,aAAA,CAAClB,IAAI;UAACuB,IAAI,EAAC,cAAc;UAACJ,IAAI,EAAE,IAAI,CAACZ,KAAK,CAACwB,SAAU;UAACP,SAAS,EAAEH,MAAM,CAACQ;QAAU,CAAE,CAC5D,CAAC;MAE/B;MACA,oBAAOnC,KAAA,CAAAwB,aAAA,CAAClB,IAAI;QAACuB,IAAI,EAAC,cAAc;QAACJ,IAAI,EAAE,IAAI,CAACZ,KAAK,CAACwB,SAAU;QAACP,SAAS,EAAEH,MAAM,CAACQ;MAAU,CAAE,CAAC;IAC9F;IACA,IAAI,IAAI,CAACtB,KAAK,CAAC0B,QAAQ,IAAI,CAACrC,CAAC,CAACsC,OAAO,CAAC,IAAI,CAAC3B,KAAK,CAAC4B,KAAK,CAAC,EAAE;MACvD,oBACEzC,KAAA,CAAAwB,aAAA,CAACnB,wBAAwB;QACvB4B,OAAO,EAAEA,CAAA,KAAM;UACb,IAAI,CAACpB,KAAK,CAAC6B,YAAY,CAAC,EAAE,CAAC;QAC7B;MAAE,gBAEF1C,KAAA,CAAAwB,aAAA,CAACd,QAAQ;QAACe,IAAI,EAAC,OAAO;QAACC,KAAK,EAAEC,MAAM,CAACQ;MAAU,CAAE,CACzB,CAAC;IAE/B;IACA,OAAO,IAAI;EACb;EAEAQ,MAAMA,CAAA,EAAG;IACP,oBACE3C,KAAA,CAAAwB,aAAA,CAACpB,IAAI;MACHsB,KAAK,EAAE,CACLC,MAAM,CAACiB,oBAAoB,EAC3B,IAAI,CAAC/B,KAAK,CAACgC,cAAc,IAAIlB,MAAM,CAACmB,2BAA2B,EAC/D,IAAI,CAACjC,KAAK,CAACkC,QAAQ,GAAG;QAAEC,eAAe,EAAE,CAAC;QAAEC,SAAS,EAAE;MAAG,CAAC,GAAG;QAAEC,MAAM,EAAE;MAAG,CAAC,EAC5E,IAAI,CAACrC,KAAK,CAACsC,cAAc;IACzB,GAED,IAAI,CAAC9B,cAAc,CAAC,CAAC,eACtBrB,KAAA,CAAAwB,aAAA,CAACrB,SAAS;MACRiD,GAAG,EAAC,OAAO;MACXC,WAAW,EAAE,IAAI,CAACxC,KAAK,CAACwC,WAAY;MACpCC,oBAAoB,EAAE/C,UAAW;MACjCgD,WAAW,EAAE,IAAI,CAAC1C,KAAK,CAAC0C,WAAW,IAAI,IAAI,GAAG,IAAI,CAAC1C,KAAK,CAAC0C,WAAW,GAAG,KAAM;MAC7EC,SAAS,EAAE,IAAI,CAAC3C,KAAK,CAAC2C,SAAS,IAAI,IAAI,GAAG,IAAI,CAAC3C,KAAK,CAAC2C,SAAS,GAAG,KAAM;MACvET,QAAQ,EAAE,IAAI,CAAClC,KAAK,CAACkC,QAAQ,IAAI,IAAI,GAAG,IAAI,CAAClC,KAAK,CAACkC,QAAQ,GAAG,KAAM;MACpEU,SAAS,EAAE,IAAI,CAAC5C,KAAK,CAAC4C,SAAS,IAAI,IAAI,GAAG,IAAI,CAAC5C,KAAK,CAAC4C,SAAS,GAAG,KAAM;MACvE/B,KAAK,EAAE,CACLC,MAAM,CAAC+B,UAAU,EACjB,IAAI,CAAC7C,KAAK,CAACa,KAAK,EAChB;QAAEiC,iBAAiB,EAAE,IAAI,CAAC9C,KAAK,CAAC4C,SAAS,GAAG,KAAK,GAAG;MAAS,CAAC,EAC9D,IAAI,CAAC5C,KAAK,CAACoC,SAAS,IAAI;QAAEA,SAAS,EAAE,IAAI,CAACpC,KAAK,CAACoC;MAAU,CAAC,CAC3D;MACFR,KAAK,EAAE,IAAI,CAAC5B,KAAK,CAAC4B,KAAM;MACxBC,YAAY,EAAE,IAAI,CAAC7B,KAAK,CAAC6B,YAAa;MACtCkB,YAAY,EAAE,IAAI,CAAC/C,KAAK,CAAC+C,YAAa;MACtCC,aAAa,EAAE,IAAI,CAAChD,KAAK,CAACgD,aAAc;MACxCC,cAAc,EAAEtD,SAAU;MAC1BuD,qBAAqB,EAAC,eAAe;MACrCC,QAAQ,EAAE,IAAI,CAACnD,KAAK,CAACmD,QAAQ,IAAI,IAAI,GAAG,IAAI,CAACnD,KAAK,CAACmD,QAAQ,GAAG,IAAK;MACnEC,cAAc,EAAE,IAAI,CAACpD,KAAK,CAACoD,cAAc,IAAI,MAAO;MACpDC,UAAU,EAAE,IAAI,CAACrD,KAAK,CAACqD,UAAW;MAClCC,eAAe,EAAE,IAAI,CAACtD,KAAK,CAACsD,eAAgB;MAC5CC,OAAO,EAAE,IAAI,CAACvD,KAAK,CAACuD,OAAQ;MAC5BC,MAAM,EAAE,IAAI,CAACxD,KAAK,CAACwD,MAAO;MAC1BrC,eAAe,EAAE,IAAI,CAACnB,KAAK,CAACmB,eAAe,IAAI,CAAC,IAAI,CAAClB,KAAK,CAACC;IAAe,CAC3E,CAAC,EACD,IAAI,CAACgB,eAAe,CAAC,CAClB,CAAC;EAEX;AACF;AAEA,MAAMJ,MAAM,GAAG;EACbiB,oBAAoB,EAAE;IACpB0B,IAAI,EAAE,CAAC;IACPC,YAAY,EAAE,EAAE;IAChBC,eAAe,EAAE,SAAS;IAC1BC,UAAU,EAAE,QAAQ;IACpBC,aAAa,EAAE,KAAK;IACpBC,iBAAiB,EAAE;EACrB,CAAC;EACD7B,2BAA2B,EAAE;IAC3ByB,YAAY,EAAE,CAAC;IACfI,iBAAiB,EAAE;EACrB,CAAC;EACD/C,UAAU,EAAE;IACVgD,QAAQ,EAAE,EAAE;IACZC,KAAK,EAAEtE,UAAU;IACjBuE,WAAW,EAAE;EACf,CAAC;EACD3C,SAAS,EAAE;IACTyC,QAAQ,EAAE,EAAE;IACZC,KAAK,EAAEtE,UAAU;IACjBwE,UAAU,EAAE,CAAC;IACbC,SAAS,EAAE,CAAC;IACZC,YAAY,EAAE;EAChB,CAAC;EACD7C,UAAU,EAAE;IACVwC,QAAQ,EAAE;EACZ,CAAC;EACDlB,UAAU,EAAE;IACVmB,KAAK,EAAEpE,YAAY;IACnByE,UAAU,EAAE,YAAY;IACxBN,QAAQ,EAAE,EAAE;IACZN,IAAI,EAAE;EACR;AACF,CAAC;AAED,SAAS3D,YAAY","ignoreList":[]}
1
+ {"version":3,"names":["React","Component","_","TextInput","View","TouchableWithoutFeedback","Icon","TEXT_LIGHT","TEXT_DARK","TEXT_DARKEST","Pl60Icon","GenericInput","constructor","props","state","showSecureText","inputRef","createRef","blur","current","toggleSecureText","setState","renderLeftIcon","icon","iconType","createElement","name","style","styles","searchIcon","type","iconStyle","renderRightIcon","secureTextEntry","onPress","bind","clearIcon","secureIcon","rightIcon","rightIconAction","hasClear","isEmpty","value","onChangeText","render","searchInputContainer","squaredCorners","squaredSearchInputContainer","autoGrow","paddingVertical","minHeight","height","containerStyle","ref","placeholder","placeholderTextColor","autoCorrect","autoFocus","multiline","searchText","textAlignVertical","keyboardType","returnKeyType","selectionColor","underlineColorAndroid","editable","autoCapitalize","onKeyPress","onSubmitEditing","onFocus","onBlur","flex","borderRadius","backgroundColor","alignItems","flexDirection","paddingHorizontal","fontSize","color","marginRight","marginLeft","marginTop","marginBottom","fontFamily"],"sources":["GenericInput.js"],"sourcesContent":["import React, { Component } from 'react';\nimport _ from 'lodash';\nimport { TextInput, View, TouchableWithoutFeedback } from 'react-native';\nimport { Icon } from '@rneui/themed';\nimport { TEXT_LIGHT, TEXT_DARK, TEXT_DARKEST } from '../colours';\nimport { Pl60Icon } from '../fonts';\n\nclass GenericInput extends Component {\n constructor(props) {\n super(props);\n this.state = {\n showSecureText: false,\n };\n this.inputRef = React.createRef();\n }\n\n blur() {\n this.inputRef.current.blur();\n }\n\n toggleSecureText() {\n this.setState({\n showSecureText: !this.state.showSecureText,\n });\n }\n\n renderLeftIcon() {\n if (!this.props.icon) {\n return null;\n }\n if (this.props.iconType && this.props.iconType === 'pl60') {\n return <Pl60Icon name={this.props.icon} style={styles.searchIcon} />;\n }\n return <Icon type=\"font-awesome\" name={this.props.icon} iconStyle={styles.searchIcon} />;\n }\n\n renderRightIcon() {\n if (this.props.secureTextEntry) {\n return (\n <TouchableWithoutFeedback onPress={this.toggleSecureText.bind(this)}>\n <Pl60Icon name={this.state.showSecureText ? 'hide' : 'show'} style={[styles.clearIcon, styles.secureIcon]} />\n </TouchableWithoutFeedback>\n );\n }\n if (this.props.rightIcon) {\n if (this.props.rightIconAction) {\n return (\n <TouchableWithoutFeedback onPress={this.props.rightIconAction}>\n <Icon type=\"font-awesome\" name={this.props.rightIcon} iconStyle={styles.clearIcon} />\n </TouchableWithoutFeedback>\n );\n }\n return <Icon type=\"font-awesome\" name={this.props.rightIcon} iconStyle={styles.clearIcon} />;\n }\n if (this.props.hasClear && !_.isEmpty(this.props.value)) {\n return (\n <TouchableWithoutFeedback\n onPress={() => {\n this.props.onChangeText('');\n }}\n >\n <Pl60Icon name=\"clear\" style={styles.clearIcon} />\n </TouchableWithoutFeedback>\n );\n }\n return null;\n }\n\n render() {\n return (\n <View\n style={[\n styles.searchInputContainer,\n this.props.squaredCorners && styles.squaredSearchInputContainer,\n this.props.autoGrow ? { paddingVertical: 8, minHeight: 40 } : { height: 36 },\n this.props.containerStyle,\n ]}\n >\n {this.renderLeftIcon()}\n <TextInput\n ref={this.inputRef}\n placeholder={this.props.placeholder}\n placeholderTextColor={TEXT_LIGHT}\n autoCorrect={this.props.autoCorrect != null ? this.props.autoCorrect : false}\n autoFocus={this.props.autoFocus != null ? this.props.autoFocus : false}\n autoGrow={this.props.autoGrow != null ? this.props.autoGrow : false}\n multiline={this.props.multiline != null ? this.props.multiline : false}\n style={[\n styles.searchText,\n this.props.style,\n { textAlignVertical: this.props.multiline ? 'top' : 'center' },\n this.props.minHeight && { minHeight: this.props.minHeight },\n ]}\n value={this.props.value}\n onChangeText={this.props.onChangeText}\n keyboardType={this.props.keyboardType}\n returnKeyType={this.props.returnKeyType}\n selectionColor={TEXT_DARK}\n underlineColorAndroid=\"rgba(0,0,0,0)\"\n editable={this.props.editable != null ? this.props.editable : true}\n autoCapitalize={this.props.autoCapitalize || 'none'}\n onKeyPress={this.props.onKeyPress}\n onSubmitEditing={this.props.onSubmitEditing}\n onFocus={this.props.onFocus}\n onBlur={this.props.onBlur}\n secureTextEntry={this.props.secureTextEntry && !this.state.showSecureText}\n />\n {this.renderRightIcon()}\n </View>\n );\n }\n}\n\nconst styles = {\n searchInputContainer: {\n flex: 1,\n borderRadius: 25,\n backgroundColor: '#ebeff2',\n alignItems: 'center',\n flexDirection: 'row',\n paddingHorizontal: 16,\n },\n squaredSearchInputContainer: {\n borderRadius: 5,\n paddingHorizontal: 8,\n },\n searchIcon: {\n fontSize: 14,\n color: TEXT_LIGHT,\n marginRight: 8,\n },\n clearIcon: {\n fontSize: 14,\n color: TEXT_LIGHT,\n marginLeft: 8,\n marginTop: 8,\n marginBottom: 8,\n },\n secureIcon: {\n fontSize: 20,\n },\n searchText: {\n color: TEXT_DARKEST,\n fontFamily: 'sf-regular',\n fontSize: 16,\n flex: 1,\n },\n};\n\nexport { GenericInput };\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,SAAS,QAAQ,OAAO;AACxC,OAAOC,CAAC,MAAM,QAAQ;AACtB,SAASC,SAAS,EAAEC,IAAI,EAAEC,wBAAwB,QAAQ,cAAc;AACxE,SAASC,IAAI,QAAQ,eAAe;AACpC,SAASC,UAAU,EAAEC,SAAS,EAAEC,YAAY,QAAQ,YAAY;AAChE,SAASC,QAAQ,QAAQ,UAAU;AAEnC,MAAMC,YAAY,SAASV,SAAS,CAAC;EACnCW,WAAWA,CAACC,KAAK,EAAE;IACjB,KAAK,CAACA,KAAK,CAAC;IACZ,IAAI,CAACC,KAAK,GAAG;MACXC,cAAc,EAAE;IAClB,CAAC;IACD,IAAI,CAACC,QAAQ,gBAAGhB,KAAK,CAACiB,SAAS,CAAC,CAAC;EACnC;EAEAC,IAAIA,CAAA,EAAG;IACL,IAAI,CAACF,QAAQ,CAACG,OAAO,CAACD,IAAI,CAAC,CAAC;EAC9B;EAEAE,gBAAgBA,CAAA,EAAG;IACjB,IAAI,CAACC,QAAQ,CAAC;MACZN,cAAc,EAAE,CAAC,IAAI,CAACD,KAAK,CAACC;IAC9B,CAAC,CAAC;EACJ;EAEAO,cAAcA,CAAA,EAAG;IACf,IAAI,CAAC,IAAI,CAACT,KAAK,CAACU,IAAI,EAAE;MACpB,OAAO,IAAI;IACb;IACA,IAAI,IAAI,CAACV,KAAK,CAACW,QAAQ,IAAI,IAAI,CAACX,KAAK,CAACW,QAAQ,KAAK,MAAM,EAAE;MACzD,oBAAOxB,KAAA,CAAAyB,aAAA,CAACf,QAAQ;QAACgB,IAAI,EAAE,IAAI,CAACb,KAAK,CAACU,IAAK;QAACI,KAAK,EAAEC,MAAM,CAACC;MAAW,CAAE,CAAC;IACtE;IACA,oBAAO7B,KAAA,CAAAyB,aAAA,CAACnB,IAAI;MAACwB,IAAI,EAAC,cAAc;MAACJ,IAAI,EAAE,IAAI,CAACb,KAAK,CAACU,IAAK;MAACQ,SAAS,EAAEH,MAAM,CAACC;IAAW,CAAE,CAAC;EAC1F;EAEAG,eAAeA,CAAA,EAAG;IAChB,IAAI,IAAI,CAACnB,KAAK,CAACoB,eAAe,EAAE;MAC9B,oBACEjC,KAAA,CAAAyB,aAAA,CAACpB,wBAAwB;QAAC6B,OAAO,EAAE,IAAI,CAACd,gBAAgB,CAACe,IAAI,CAAC,IAAI;MAAE,gBAClEnC,KAAA,CAAAyB,aAAA,CAACf,QAAQ;QAACgB,IAAI,EAAE,IAAI,CAACZ,KAAK,CAACC,cAAc,GAAG,MAAM,GAAG,MAAO;QAACY,KAAK,EAAE,CAACC,MAAM,CAACQ,SAAS,EAAER,MAAM,CAACS,UAAU;MAAE,CAAE,CACpF,CAAC;IAE/B;IACA,IAAI,IAAI,CAACxB,KAAK,CAACyB,SAAS,EAAE;MACxB,IAAI,IAAI,CAACzB,KAAK,CAAC0B,eAAe,EAAE;QAC9B,oBACEvC,KAAA,CAAAyB,aAAA,CAACpB,wBAAwB;UAAC6B,OAAO,EAAE,IAAI,CAACrB,KAAK,CAAC0B;QAAgB,gBAC5DvC,KAAA,CAAAyB,aAAA,CAACnB,IAAI;UAACwB,IAAI,EAAC,cAAc;UAACJ,IAAI,EAAE,IAAI,CAACb,KAAK,CAACyB,SAAU;UAACP,SAAS,EAAEH,MAAM,CAACQ;QAAU,CAAE,CAC5D,CAAC;MAE/B;MACA,oBAAOpC,KAAA,CAAAyB,aAAA,CAACnB,IAAI;QAACwB,IAAI,EAAC,cAAc;QAACJ,IAAI,EAAE,IAAI,CAACb,KAAK,CAACyB,SAAU;QAACP,SAAS,EAAEH,MAAM,CAACQ;MAAU,CAAE,CAAC;IAC9F;IACA,IAAI,IAAI,CAACvB,KAAK,CAAC2B,QAAQ,IAAI,CAACtC,CAAC,CAACuC,OAAO,CAAC,IAAI,CAAC5B,KAAK,CAAC6B,KAAK,CAAC,EAAE;MACvD,oBACE1C,KAAA,CAAAyB,aAAA,CAACpB,wBAAwB;QACvB6B,OAAO,EAAEA,CAAA,KAAM;UACb,IAAI,CAACrB,KAAK,CAAC8B,YAAY,CAAC,EAAE,CAAC;QAC7B;MAAE,gBAEF3C,KAAA,CAAAyB,aAAA,CAACf,QAAQ;QAACgB,IAAI,EAAC,OAAO;QAACC,KAAK,EAAEC,MAAM,CAACQ;MAAU,CAAE,CACzB,CAAC;IAE/B;IACA,OAAO,IAAI;EACb;EAEAQ,MAAMA,CAAA,EAAG;IACP,oBACE5C,KAAA,CAAAyB,aAAA,CAACrB,IAAI;MACHuB,KAAK,EAAE,CACLC,MAAM,CAACiB,oBAAoB,EAC3B,IAAI,CAAChC,KAAK,CAACiC,cAAc,IAAIlB,MAAM,CAACmB,2BAA2B,EAC/D,IAAI,CAAClC,KAAK,CAACmC,QAAQ,GAAG;QAAEC,eAAe,EAAE,CAAC;QAAEC,SAAS,EAAE;MAAG,CAAC,GAAG;QAAEC,MAAM,EAAE;MAAG,CAAC,EAC5E,IAAI,CAACtC,KAAK,CAACuC,cAAc;IACzB,GAED,IAAI,CAAC9B,cAAc,CAAC,CAAC,eACtBtB,KAAA,CAAAyB,aAAA,CAACtB,SAAS;MACRkD,GAAG,EAAE,IAAI,CAACrC,QAAS;MACnBsC,WAAW,EAAE,IAAI,CAACzC,KAAK,CAACyC,WAAY;MACpCC,oBAAoB,EAAEhD,UAAW;MACjCiD,WAAW,EAAE,IAAI,CAAC3C,KAAK,CAAC2C,WAAW,IAAI,IAAI,GAAG,IAAI,CAAC3C,KAAK,CAAC2C,WAAW,GAAG,KAAM;MAC7EC,SAAS,EAAE,IAAI,CAAC5C,KAAK,CAAC4C,SAAS,IAAI,IAAI,GAAG,IAAI,CAAC5C,KAAK,CAAC4C,SAAS,GAAG,KAAM;MACvET,QAAQ,EAAE,IAAI,CAACnC,KAAK,CAACmC,QAAQ,IAAI,IAAI,GAAG,IAAI,CAACnC,KAAK,CAACmC,QAAQ,GAAG,KAAM;MACpEU,SAAS,EAAE,IAAI,CAAC7C,KAAK,CAAC6C,SAAS,IAAI,IAAI,GAAG,IAAI,CAAC7C,KAAK,CAAC6C,SAAS,GAAG,KAAM;MACvE/B,KAAK,EAAE,CACLC,MAAM,CAAC+B,UAAU,EACjB,IAAI,CAAC9C,KAAK,CAACc,KAAK,EAChB;QAAEiC,iBAAiB,EAAE,IAAI,CAAC/C,KAAK,CAAC6C,SAAS,GAAG,KAAK,GAAG;MAAS,CAAC,EAC9D,IAAI,CAAC7C,KAAK,CAACqC,SAAS,IAAI;QAAEA,SAAS,EAAE,IAAI,CAACrC,KAAK,CAACqC;MAAU,CAAC,CAC3D;MACFR,KAAK,EAAE,IAAI,CAAC7B,KAAK,CAAC6B,KAAM;MACxBC,YAAY,EAAE,IAAI,CAAC9B,KAAK,CAAC8B,YAAa;MACtCkB,YAAY,EAAE,IAAI,CAAChD,KAAK,CAACgD,YAAa;MACtCC,aAAa,EAAE,IAAI,CAACjD,KAAK,CAACiD,aAAc;MACxCC,cAAc,EAAEvD,SAAU;MAC1BwD,qBAAqB,EAAC,eAAe;MACrCC,QAAQ,EAAE,IAAI,CAACpD,KAAK,CAACoD,QAAQ,IAAI,IAAI,GAAG,IAAI,CAACpD,KAAK,CAACoD,QAAQ,GAAG,IAAK;MACnEC,cAAc,EAAE,IAAI,CAACrD,KAAK,CAACqD,cAAc,IAAI,MAAO;MACpDC,UAAU,EAAE,IAAI,CAACtD,KAAK,CAACsD,UAAW;MAClCC,eAAe,EAAE,IAAI,CAACvD,KAAK,CAACuD,eAAgB;MAC5CC,OAAO,EAAE,IAAI,CAACxD,KAAK,CAACwD,OAAQ;MAC5BC,MAAM,EAAE,IAAI,CAACzD,KAAK,CAACyD,MAAO;MAC1BrC,eAAe,EAAE,IAAI,CAACpB,KAAK,CAACoB,eAAe,IAAI,CAAC,IAAI,CAACnB,KAAK,CAACC;IAAe,CAC3E,CAAC,EACD,IAAI,CAACiB,eAAe,CAAC,CAClB,CAAC;EAEX;AACF;AAEA,MAAMJ,MAAM,GAAG;EACbiB,oBAAoB,EAAE;IACpB0B,IAAI,EAAE,CAAC;IACPC,YAAY,EAAE,EAAE;IAChBC,eAAe,EAAE,SAAS;IAC1BC,UAAU,EAAE,QAAQ;IACpBC,aAAa,EAAE,KAAK;IACpBC,iBAAiB,EAAE;EACrB,CAAC;EACD7B,2BAA2B,EAAE;IAC3ByB,YAAY,EAAE,CAAC;IACfI,iBAAiB,EAAE;EACrB,CAAC;EACD/C,UAAU,EAAE;IACVgD,QAAQ,EAAE,EAAE;IACZC,KAAK,EAAEvE,UAAU;IACjBwE,WAAW,EAAE;EACf,CAAC;EACD3C,SAAS,EAAE;IACTyC,QAAQ,EAAE,EAAE;IACZC,KAAK,EAAEvE,UAAU;IACjByE,UAAU,EAAE,CAAC;IACbC,SAAS,EAAE,CAAC;IACZC,YAAY,EAAE;EAChB,CAAC;EACD7C,UAAU,EAAE;IACVwC,QAAQ,EAAE;EACZ,CAAC;EACDlB,UAAU,EAAE;IACVmB,KAAK,EAAErE,YAAY;IACnB0E,UAAU,EAAE,YAAY;IACxBN,QAAQ,EAAE,EAAE;IACZN,IAAI,EAAE;EACR;AACF,CAAC;AAED,SAAS5D,YAAY","ignoreList":[]}
@@ -113,7 +113,6 @@ class PDFPopup extends Component {
113
113
  flex: 0
114
114
  }
115
115
  }), /*#__PURE__*/React.createElement(WebView, {
116
- ref: "PDFWebView",
117
116
  source: {
118
117
  uri: this.getUrl()
119
118
  },
@@ -1 +1 @@
1
- {"version":3,"names":["React","Component","View","Text","TouchableOpacity","Modal","Dimensions","Icon","WebView","FileSystem","Sharing","Pl60Icon","Spinner","StatusBarHeight","getFileName","SCREEN_HEIGHT","get","height","PDFPopup","constructor","args","_defineProperty","loaded","downloadedFile","downloadAsync","props","source","documentDirectory","shareResult","shareAsync","uri","UTI","onLoadStarted","setState","onLoadEnded","onChangeIndex","index","getUrl","linkPrefix","closePopup","onClose","renderFooter","pdfCount","createElement","style","styles","footerContent","onPress","bind","activeOpacity","type","name","iconStyle","chevron","footerText","selectedIndex","render","visible","transparent","animationType","onRequestClose","flex","backgroundColor","paddingTop","headerContent","menuIcon","titleContainer","title","download","state","ref","renderError","e","console","log","onLoadStart","onLoadEnd","container","position","innerContainer","paddingLeft","paddingRight","fontSize","padding","width","textAlign","color","zIndex","flexDirection","alignItems","fontFamily","justifyContent"],"sources":["PDFPopup.js"],"sourcesContent":["import React, { Component } from 'react';\nimport { View, Text, TouchableOpacity, Modal, Dimensions } from 'react-native';\nimport { Icon } from '@rneui/themed';\nimport { WebView } from 'react-native-webview';\nimport * as FileSystem from 'expo-file-system';\nimport * as Sharing from 'expo-sharing';\nimport { Pl60Icon } from '../fonts';\nimport { Spinner } from './Spinner';\nimport { StatusBarHeight, getFileName } from '../helper';\n\nconst SCREEN_HEIGHT = Dimensions.get('window').height;\n\nclass PDFPopup extends Component {\n state = {\n loaded: false,\n };\n\n onLoadStarted() {\n this.setState({\n loaded: false,\n });\n }\n\n onLoadEnded() {\n this.setState({\n loaded: true,\n });\n }\n\n onChangeIndex(index) {\n this.props.onChangeIndex(index);\n }\n\n getUrl() {\n const linkPrefix = 'http://drive.google.com/viewerng/viewer?embedded=true&url=';\n return `${linkPrefix}${this.props.source}`;\n }\n\n download = async () => {\n const downloadedFile = await FileSystem.downloadAsync(this.props.source, FileSystem.documentDirectory + getFileName(this.props.source));\n const shareResult = await Sharing.shareAsync(downloadedFile.uri, { UTI: 'public.item' });\n };\n\n closePopup() {\n this.props.onClose();\n }\n\n renderFooter() {\n if (this.props.pdfCount && this.props.pdfCount === 1) {\n return null;\n }\n return (\n <View style={styles.footerContent}>\n <TouchableOpacity onPress={this.onChangeIndex.bind(this, -1)} activeOpacity={0.6}>\n <Icon type=\"font-awesome\" name=\"angle-left\" iconStyle={[styles.chevron]} />\n </TouchableOpacity>\n <Text style={styles.footerText}>\n {this.props.selectedIndex + 1} / {this.props.pdfCount}\n </Text>\n <TouchableOpacity onPress={this.onChangeIndex.bind(this, 1)} activeOpacity={0.6}>\n <Icon type=\"font-awesome\" name=\"angle-right\" iconStyle={[styles.chevron]} />\n </TouchableOpacity>\n </View>\n );\n }\n\n render() {\n if (!this.props.source) {\n return null;\n }\n return (\n <Modal visible={this.props.visible} transparent animationType=\"slide\" onRequestClose={this.closePopup.bind(this)}>\n <View\n style={{\n flex: 1,\n backgroundColor: '#000',\n paddingTop: StatusBarHeight(0),\n }}\n >\n <View style={styles.headerContent}>\n <TouchableOpacity onPress={this.closePopup.bind(this)} activeOpacity={0.6}>\n <Pl60Icon name=\"close\" style={[styles.menuIcon]} />\n </TouchableOpacity>\n <View style={styles.titleContainer}>\n <Text style={styles.title}>{this.props.title}</Text>\n </View>\n <TouchableOpacity onPress={this.download} activeOpacity={0.6}>\n <Icon type=\"font-awesome\" name=\"cloud-download\" iconStyle={[styles.menuIcon]} />\n </TouchableOpacity>\n </View>\n <View style={{ flex: 1, backgroundColor: '#fff' }}>\n {this.state.loaded ? null : <Spinner style={{ height: SCREEN_HEIGHT - StatusBarHeight(145), flex: 0 }} />}\n <WebView\n ref=\"PDFWebView\"\n source={{\n uri: this.getUrl(),\n }}\n renderError={e => {\n console.log('errored');\n console.log(e);\n }}\n style={[\n {\n flex: 1,\n backgroundColor: '#fff',\n },\n ]}\n onLoadStart={this.onLoadStarted.bind(this)}\n onLoadEnd={this.onLoadEnded.bind(this)}\n />\n </View>\n {this.renderFooter()}\n </View>\n </Modal>\n );\n }\n}\n\nconst styles = {\n container: {\n flex: 1,\n position: 'relative',\n backgroundColor: '#000',\n },\n innerContainer: {\n flex: 1,\n paddingLeft: 15,\n paddingRight: 15,\n },\n menuIcon: {\n fontSize: 25,\n padding: 15,\n width: 55,\n textAlign: 'center',\n color: '#fff',\n zIndex: 3,\n },\n headerContent: {\n flexDirection: 'row',\n alignItems: 'center',\n height: 70,\n },\n titleContainer: {\n flex: 1,\n },\n title: {\n color: '#fff',\n fontFamily: 'sf-semibold',\n fontSize: 16,\n textAlign: 'center',\n },\n footerContent: {\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'center',\n height: 70,\n //alignSelf: 'flex-end'\n },\n chevron: {\n fontSize: 25,\n padding: 15,\n width: 55,\n textAlign: 'center',\n color: '#fff',\n zIndex: 3,\n },\n footerText: {\n fontFamily: 'sf-regular',\n fontSize: 14,\n color: '#fff',\n width: 150,\n textAlign: 'center',\n },\n};\n\nexport { PDFPopup };\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","Component","View","Text","TouchableOpacity","Modal","Dimensions","Icon","WebView","FileSystem","Sharing","Pl60Icon","Spinner","StatusBarHeight","getFileName","SCREEN_HEIGHT","get","height","PDFPopup","constructor","args","_defineProperty","loaded","downloadedFile","downloadAsync","props","source","documentDirectory","shareResult","shareAsync","uri","UTI","onLoadStarted","setState","onLoadEnded","onChangeIndex","index","getUrl","linkPrefix","closePopup","onClose","renderFooter","pdfCount","createElement","style","styles","footerContent","onPress","bind","activeOpacity","type","name","iconStyle","chevron","footerText","selectedIndex","render","visible","transparent","animationType","onRequestClose","flex","backgroundColor","paddingTop","headerContent","menuIcon","titleContainer","title","download","state","renderError","e","console","log","onLoadStart","onLoadEnd","container","position","innerContainer","paddingLeft","paddingRight","fontSize","padding","width","textAlign","color","zIndex","flexDirection","alignItems","fontFamily","justifyContent"],"sources":["PDFPopup.js"],"sourcesContent":["import React, { Component } from 'react';\nimport { View, Text, TouchableOpacity, Modal, Dimensions } from 'react-native';\nimport { Icon } from '@rneui/themed';\nimport { WebView } from 'react-native-webview';\nimport * as FileSystem from 'expo-file-system';\nimport * as Sharing from 'expo-sharing';\nimport { Pl60Icon } from '../fonts';\nimport { Spinner } from './Spinner';\nimport { StatusBarHeight, getFileName } from '../helper';\n\nconst SCREEN_HEIGHT = Dimensions.get('window').height;\n\nclass PDFPopup extends Component {\n state = {\n loaded: false,\n };\n\n onLoadStarted() {\n this.setState({\n loaded: false,\n });\n }\n\n onLoadEnded() {\n this.setState({\n loaded: true,\n });\n }\n\n onChangeIndex(index) {\n this.props.onChangeIndex(index);\n }\n\n getUrl() {\n const linkPrefix = 'http://drive.google.com/viewerng/viewer?embedded=true&url=';\n return `${linkPrefix}${this.props.source}`;\n }\n\n download = async () => {\n const downloadedFile = await FileSystem.downloadAsync(this.props.source, FileSystem.documentDirectory + getFileName(this.props.source));\n const shareResult = await Sharing.shareAsync(downloadedFile.uri, { UTI: 'public.item' });\n };\n\n closePopup() {\n this.props.onClose();\n }\n\n renderFooter() {\n if (this.props.pdfCount && this.props.pdfCount === 1) {\n return null;\n }\n return (\n <View style={styles.footerContent}>\n <TouchableOpacity onPress={this.onChangeIndex.bind(this, -1)} activeOpacity={0.6}>\n <Icon type=\"font-awesome\" name=\"angle-left\" iconStyle={[styles.chevron]} />\n </TouchableOpacity>\n <Text style={styles.footerText}>\n {this.props.selectedIndex + 1} / {this.props.pdfCount}\n </Text>\n <TouchableOpacity onPress={this.onChangeIndex.bind(this, 1)} activeOpacity={0.6}>\n <Icon type=\"font-awesome\" name=\"angle-right\" iconStyle={[styles.chevron]} />\n </TouchableOpacity>\n </View>\n );\n }\n\n render() {\n if (!this.props.source) {\n return null;\n }\n return (\n <Modal visible={this.props.visible} transparent animationType=\"slide\" onRequestClose={this.closePopup.bind(this)}>\n <View\n style={{\n flex: 1,\n backgroundColor: '#000',\n paddingTop: StatusBarHeight(0),\n }}\n >\n <View style={styles.headerContent}>\n <TouchableOpacity onPress={this.closePopup.bind(this)} activeOpacity={0.6}>\n <Pl60Icon name=\"close\" style={[styles.menuIcon]} />\n </TouchableOpacity>\n <View style={styles.titleContainer}>\n <Text style={styles.title}>{this.props.title}</Text>\n </View>\n <TouchableOpacity onPress={this.download} activeOpacity={0.6}>\n <Icon type=\"font-awesome\" name=\"cloud-download\" iconStyle={[styles.menuIcon]} />\n </TouchableOpacity>\n </View>\n <View style={{ flex: 1, backgroundColor: '#fff' }}>\n {this.state.loaded ? null : <Spinner style={{ height: SCREEN_HEIGHT - StatusBarHeight(145), flex: 0 }} />}\n <WebView\n source={{\n uri: this.getUrl(),\n }}\n renderError={e => {\n console.log('errored');\n console.log(e);\n }}\n style={[\n {\n flex: 1,\n backgroundColor: '#fff',\n },\n ]}\n onLoadStart={this.onLoadStarted.bind(this)}\n onLoadEnd={this.onLoadEnded.bind(this)}\n />\n </View>\n {this.renderFooter()}\n </View>\n </Modal>\n );\n }\n}\n\nconst styles = {\n container: {\n flex: 1,\n position: 'relative',\n backgroundColor: '#000',\n },\n innerContainer: {\n flex: 1,\n paddingLeft: 15,\n paddingRight: 15,\n },\n menuIcon: {\n fontSize: 25,\n padding: 15,\n width: 55,\n textAlign: 'center',\n color: '#fff',\n zIndex: 3,\n },\n headerContent: {\n flexDirection: 'row',\n alignItems: 'center',\n height: 70,\n },\n titleContainer: {\n flex: 1,\n },\n title: {\n color: '#fff',\n fontFamily: 'sf-semibold',\n fontSize: 16,\n textAlign: 'center',\n },\n footerContent: {\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'center',\n height: 70,\n //alignSelf: 'flex-end'\n },\n chevron: {\n fontSize: 25,\n padding: 15,\n width: 55,\n textAlign: 'center',\n color: '#fff',\n zIndex: 3,\n },\n footerText: {\n fontFamily: 'sf-regular',\n fontSize: 14,\n color: '#fff',\n width: 150,\n textAlign: 'center',\n },\n};\n\nexport { PDFPopup };\n"],"mappings":"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","ignoreList":[]}
@@ -793,8 +793,7 @@ class PlussChat extends Component {
793
793
  visible: imagePopupOpen,
794
794
  images: imagePopupSource,
795
795
  index: imagePopupIndex,
796
- onClose: this.closeGallery.bind(this),
797
- ref: "imagePopup"
796
+ onClose: this.closeGallery.bind(this)
798
797
  });
799
798
  }
800
799
  renderVideoPlayerPopup() {
@@ -1 +1 @@
1
- {"version":3,"names":["React","Component","View","Image","ImageBackground","TouchableOpacity","Text","KeyboardAvoidingView","Platform","ScrollView","Alert","GiftedChat","Bubble","MessageText","Send","InputToolbar","Composer","connect","_","moment","Icon","getBottomSpace","Spinner","ProfilePic","PlussChatTime","PDFPopup","Attachment","PlussChatMessage","TextStyle","ConfirmPopup","TEXT_DARK","LINEGREY","TEXT_DARKEST","getMainBrandingColourFromState","getLightBrandingColourFromState","BG_GREY","TEXT_BLUEGREY","getEnabledTabsFromState","get1400","getThumb300","imageExists","isVideo","getImageSource","getFileName","Config","Services","ImageUploader","ImageUploadProgress","ImagePopup","VideoPopup","IMAGE_SIZE_SMALL","IMAGE_SIZE_LARGE","IMAGES_PER_ROW","IMAGE_MARGIN","IMAGE_PREVIEW_AREA_HEIGHT","IMAGE_PREVIEW_SIZE","PlussChat","constructor","props","_defineProperty","event","navigation","navigate","attachment","Type","place","imagesToUpload","isEmpty","state","upload","hasImagesAttached","every","i","uploading","thumbNailExists","checkThumb","setInterval","Promise","all","map","image","resolve","newImage","push","url","allowRetry","thumbNailUrl","thumbnailsExist","clearInterval","setState","a","selectedPDF","keyboardOpen","uploadUri","imageUri","uploadProgress","progress","img","uri","percentage","replace","waitForThumbnails","images","selected","imagePopupSource","imagePopupIndex","indexOf","imagePopupOpen","message","replyingTo","onDeleteMessage","user","_id","uid","showDeleteMessageConfirm","messageToDelete","error","console","log","filter","showFullscreenVideo","length","currentVideoUrl","isSingleTab","tabCount","MIN_COMPOSER_HEIGHT","select","ios","android","currentUser","name","displayName","avatar","isUndefined","profilePic","env","tinyChatDefault","messages","UNSAFE_componentWillMount","updateMessages","UNSAFE_componentWillReceiveProps","nextProps","newState","onSend","showUploadMenu","imageUploader","closeGallery","sendMessages","hasImagesReady","text","renderBubble","bubbleProps","wrapperStyle","currentMessage","paddingTop","paddingBottom","minWidth","attachments","paddingHorizontal","createElement","_extends","renderMessageImage","isCustomViewBottom","left","backgroundColor","borderRadius","right","colourBrandingLight","containerToNextStyle","borderBottomLeftRadius","borderBottomRightRadius","containerToPreviousStyle","borderTopLeftRadius","borderTopRightRadius","renderMessage","key","RowId","colourBrandingMain","onPressReply","onReply","onPressDelete","onDelete","renderMessageText","messageTextProps","deleted","textStyle","fontFamily","fontSize","color","marginTop","marginBottom","marginLeft","marginRight","linkStyle","renderTime","renderDay","dayProps","renderCustomView","position","containerWidth","style","styles","imagesContainer","width","paddingVertical","thumb","onPress","toggleFullscreenVideo","bind","messageImageSmall","messageImageLarge","source","imagePlayContainer","type","iconStyle","imageControlIcon","onPressImage","onOpenAttachment","title","onPressEvent","eventContainer","eventImage","eventImageMargin","Thumbnail","eventInfo","numberOfLines","eventTitle","eventInfoAlign","Title","eventDate","utc","StartTime","local","format","onPressAttachment","renderSend","top","alwaysShowSend","containerStyle","sendContainer","height","send","renderAccessory","hasAttachment","horizontal","uploadImagesContainer","uploader","progressTextStyle","isVideoUrl","accessoryImageContainer","accessoryImage","imageStyle","accessoryImageBorder","previewItemRemoveButton","onRemoveImage","hitSlop","bottom","previewItemRemoveContainer","previewItemRemoveIcon","renderInputToolbar","inputContainer","renderComposer","accessoryStyle","accessory","renderFooter","renderLoading","justifyContent","alignContent","size","renderAvatar","Diameter","_this$state$replyingT","_this$state$replyingT2","composerContainer","replyingRemoveButton","replyingRemoveContainer","replyingRemoveIcon","composerInputWrapper","input","OS","composerHeight","placeholder","textInputStyle","inputText","textInputProps","onFocus","onFocusInput","onBlur","onBlurInput","renderChat","noTab","iosBottomOffset","minInputToolbarHeight","keyboardShouldPersistTaps","renderAvatarOnTop","bottomOffset","renderImageUploader","ref","onUploadStarted","onUploadProgress","onUploadSuccess","onUploadFailed","onLibrarySelected","quality","allowsEditing","fileName","popupTitle","userId","multiple","allowVideo","renderImagePopup","visible","index","onClose","renderVideoPlayerPopup","renderPDF","onCloseAttachment","pdfCount","renderDeleteConfirmPopup","onConfirm","onConfirmDeleteMessage","onCancel","onCancelDeleteMessage","yesText","noText","render","noAndroidAvoid","behavior","chatContainer","flex","paddingLeft","paddingRight","flexDirection","resizeMode","minHeight","textAlign","alignSelf","margin","alignItems","borderBottomWidth","borderBottomColor","borderWidth","borderColor","borderTopWidth","borderTopColor","settingDropDownOpen","flexWrap","overflow","textShadowColor","textShadowOffset","mapStateToProps"],"sources":["PlussChat.js"],"sourcesContent":["import React, { Component } from 'react';\nimport { View, Image, ImageBackground, TouchableOpacity, Text, KeyboardAvoidingView, Platform, ScrollView, Alert } from 'react-native';\nimport { GiftedChat, Bubble, MessageText, Send, InputToolbar, Composer } from 'react-native-gifted-chat';\nimport { connect } from 'react-redux';\nimport _ from 'lodash';\nimport moment from 'moment';\nimport { Icon } from '@rneui/themed';\nimport { getBottomSpace } from 'react-native-iphone-x-helper';\nimport { Spinner } from './Spinner';\nimport { ProfilePic } from './ProfilePic';\nimport PlussChatTime from './PlussChatTime';\nimport { PDFPopup } from './PDFPopup';\nimport { Attachment } from './Attachment';\nimport PlussChatMessage from './PlussChatMessage';\nimport { TextStyle } from './TextStyle';\nimport { ConfirmPopup } from './ConfirmPopup';\nimport {\n TEXT_DARK,\n LINEGREY,\n TEXT_DARKEST,\n getMainBrandingColourFromState,\n getLightBrandingColourFromState,\n BG_GREY,\n TEXT_BLUEGREY,\n} from '../colours';\nimport { getEnabledTabsFromState, get1400, getThumb300, imageExists, isVideo, getImageSource, getFileName } from '../helper';\nimport Config, { Services } from '../config';\nimport ImageUploader from './ImageUploader';\nimport ImageUploadProgress from './ImageUploadProgress';\nimport { ImagePopup } from './ImagePopup';\nimport { VideoPopup } from './VideoPopup';\n\nconst IMAGE_SIZE_SMALL = 55;\nconst IMAGE_SIZE_LARGE = 110;\nconst IMAGES_PER_ROW = 4;\nconst IMAGE_MARGIN = 2;\nconst IMAGE_PREVIEW_AREA_HEIGHT = 105;\nconst IMAGE_PREVIEW_SIZE = IMAGE_PREVIEW_AREA_HEIGHT - 25;\n\nclass PlussChat extends Component {\n constructor(props) {\n super(props);\n const isSingleTab = this.props.tabCount === 1 && getBottomSpace() > 0;\n this.MIN_COMPOSER_HEIGHT = Platform.select({\n ios: isSingleTab ? 42 : 33,\n android: 41,\n });\n\n this.state = {\n currentUser: {\n _id: this.props.user.uid,\n name: this.props.user.displayName,\n avatar:\n !_.isUndefined(this.props.user.profilePic) && !_.isEmpty(this.props.user.profilePic)\n ? this.props.user.profilePic\n : Config.env.tinyChatDefault,\n },\n\n messages: [],\n imagePopupSource: [],\n imagePopupIndex: 0,\n imagePopupOpen: false,\n imagesToUpload: [],\n showFullscreenVideo: false,\n currentVideoUrl: '',\n showDeleteMessageConfirm: false,\n messageToDelete: null,\n };\n this.checkThumb = null;\n }\n\n UNSAFE_componentWillMount() {\n this.updateMessages(this.props);\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n this.updateMessages(nextProps);\n }\n\n updateMessages(props) {\n const newState = {};\n if (!_.isUndefined(props.messages)) {\n newState.messages = props.messages;\n }\n this.setState(newState);\n }\n\n /***\n *\n * Messaging functionality\n */\n onSend(messages = []) {\n // if (this.chatKey) {\n // this.sendMessage(messages[0]);\n // }\n }\n\n onPressEvent = event => {\n Services.navigation.navigate('eventDetail', { event });\n };\n onPressAttachment = attachment => {\n switch (attachment.Type) {\n case 'Event':\n Services.navigation.navigate('eventDetail', { event: attachment });\n break;\n case 'Place':\n Services.navigation.navigate('placeDetail', { place: attachment });\n break;\n default:\n return;\n }\n };\n\n hasImagesAttached = (imagesToUpload = null) => {\n return !_.isEmpty(imagesToUpload || this.state.imagesToUpload);\n };\n\n hasImagesReady = (imagesToUpload = null) => {\n const upload = imagesToUpload || this.state.imagesToUpload;\n return this.hasImagesAttached(upload) && upload.every(i => !i.uploading && i.thumbNailExists);\n };\n\n waitForThumbnails = () => {\n if (this.checkThumb) return;\n\n this.checkThumb = setInterval(async () => {\n const imagesToUpload = [];\n await Promise.all(\n this.state.imagesToUpload.map(image => {\n return new Promise(async resolve => {\n const newImage = { ...image };\n imagesToUpload.push(newImage);\n if (newImage.url && !newImage.thumbNailExists) {\n newImage.uploading = false;\n newImage.allowRetry = false;\n newImage.thumbNailExists = await imageExists(newImage.thumbNailUrl);\n resolve(newImage.thumbNailExists);\n }\n resolve(true);\n });\n }),\n );\n const thumbnailsExist = imagesToUpload.every(image => !image.url || image.thumbNailExists);\n if (thumbnailsExist) {\n clearInterval(this.checkThumb);\n this.checkThumb = null;\n this.setState({ imagesToUpload });\n }\n }, 2000);\n };\n\n onOpenAttachment = a => {\n this.setState({\n selectedPDF: a,\n });\n };\n\n onCloseAttachment = () => {\n this.setState({\n selectedPDF: null,\n });\n };\n\n showUploadMenu() {\n this.imageUploader.showUploadMenu();\n }\n\n onFocusInput = () => {\n this.setState({\n keyboardOpen: true,\n });\n if (this.props.keyboardOpen) {\n this.props.keyboardOpen();\n }\n };\n\n onBlurInput = () => {\n this.setState({\n keyboardOpen: false,\n });\n };\n\n onUploadStarted = (uploadUri, imageUri) => {\n const imagesToUpload = [\n ...this.state.imagesToUpload,\n {\n uploading: true,\n uploadProgress: '0%',\n uploadUri,\n imageUri,\n allowRetry: true,\n },\n ];\n this.setState({ imagesToUpload });\n };\n\n onUploadProgress = progress => {\n const imagesToUpload = [...this.state.imagesToUpload];\n imagesToUpload.map(img => {\n if (img.uploadUri === progress.uri) {\n img.uploadProgress = progress.percentage;\n img.uploading = true;\n img.allowRetry = true;\n }\n });\n this.setState({ imagesToUpload });\n };\n\n onUploadSuccess = async (uri, uploadUri) => {\n const imagesToUpload = [...this.state.imagesToUpload];\n imagesToUpload.map(img => {\n if (img.uploadUri === uploadUri && img.uploading) {\n img.url = uri.replace('/general/', '/general1400/');\n img.thumbNailExists = false;\n img.thumbNailUrl = getThumb300(img.url);\n img.allowRetry = true;\n }\n });\n this.setState({ imagesToUpload }, () => this.waitForThumbnails());\n };\n\n onUploadFailed = uploadUri => {\n const imagesToUpload = [...this.state.imagesToUpload];\n imagesToUpload.map(img => {\n if (img.uploadUri === uploadUri) {\n img.uploading = true; // Requried for retry\n img.uploadProgress = '';\n img.allowRetry = true;\n }\n });\n this.setState({ imagesToUpload });\n };\n\n onLibrarySelected = uri => {\n const imagesToUpload = [\n ...this.state.imagesToUpload,\n {\n uploading: false,\n allowRetry: false,\n url: get1400(uri),\n thumbNailExists: true,\n thumbNailUrl: getThumb300(uri),\n },\n ];\n this.setState({ imagesToUpload });\n };\n\n onPressImage = (images, selected) => {\n this.setState({\n imagePopupSource: images,\n imagePopupIndex: images.indexOf(selected),\n imagePopupOpen: true,\n });\n };\n\n onReply = message => {\n this.setState({\n replyingTo: message,\n });\n };\n\n onDelete = message => {\n // Only proceed if delete handler is provided\n if (!this.props.onDeleteMessage) {\n return;\n }\n\n // Only allow deletion of own messages\n if (message.user._id !== this.props.user.uid) {\n return;\n }\n\n this.setState({\n showDeleteMessageConfirm: true,\n messageToDelete: message,\n });\n };\n\n onCancelDeleteMessage = () => {\n this.setState({\n showDeleteMessageConfirm: false,\n messageToDelete: null,\n });\n };\n\n onConfirmDeleteMessage = async () => {\n const { messageToDelete } = this.state;\n if (!messageToDelete) return;\n\n this.setState({\n showDeleteMessageConfirm: false,\n });\n\n try {\n // Call the parent's delete handler if provided\n if (this.props.onDeleteMessage) {\n await this.props.onDeleteMessage(messageToDelete);\n }\n\n this.setState({\n messageToDelete: null,\n });\n } catch (error) {\n // Handle error gracefully if parent handler fails\n console.log('onConfirmDeleteMessage error', error);\n // Error is already handled by parent component\n this.setState({ messageToDelete: null });\n }\n };\n\n closeGallery() {\n this.setState({\n imagePopupSource: [],\n imagePopupIndex: 0,\n imagePopupOpen: false,\n });\n }\n\n onRemoveImage = url => {\n const imagesToUpload = this.state.imagesToUpload.filter(image => image.url !== url);\n this.setState({ imagesToUpload });\n };\n\n toggleFullscreenVideo = url => {\n if (typeof url !== 'string') url = '';\n this.setState({ showFullscreenVideo: url.length > 0, currentVideoUrl: url });\n };\n\n sendMessages(messages) {\n if (this.hasImagesAttached()) {\n // Don't allow send if attached images aren't ready\n if (!this.hasImagesReady()) return;\n messages[0].image = this.state.imagesToUpload.map(image => image.url);\n }\n if (_.isEmpty(messages[0].text)) {\n messages[0].text = '';\n }\n if (!messages[0].text && !messages[0].image) return;\n\n if (this.state.replyingTo) {\n messages[0].replyingTo = this.state.replyingTo;\n }\n\n this.props.onSend(messages);\n this.setState({ imagesToUpload: [], replyingTo: null });\n }\n\n /**\n *\n * Render Functions\n */\n renderBubble(bubbleProps) {\n const wrapperStyle = {};\n if (!_.isEmpty(bubbleProps.currentMessage.text) && !_.isEmpty(bubbleProps.currentMessage.image)) {\n wrapperStyle.paddingTop = 8;\n wrapperStyle.paddingBottom = 16;\n wrapperStyle.minWidth = 142; // 110 image width + 16 padding either side\n }\n if (!_.isEmpty(bubbleProps.currentMessage.attachments)) {\n wrapperStyle.paddingTop = 8;\n wrapperStyle.paddingBottom = 16;\n wrapperStyle.paddingHorizontal = 16;\n }\n return (\n <Bubble\n {...bubbleProps}\n renderMessageImage={() => null}\n isCustomViewBottom={true}\n wrapperStyle={{\n left: {\n backgroundColor: LINEGREY,\n borderRadius: 25,\n ...wrapperStyle,\n },\n right: {\n backgroundColor: this.props.colourBrandingLight,\n borderRadius: 25,\n ...wrapperStyle,\n },\n }}\n containerToNextStyle={{\n left: {\n borderBottomLeftRadius: 5,\n },\n right: {\n borderBottomRightRadius: 5,\n },\n }}\n containerToPreviousStyle={{\n left: {\n borderTopLeftRadius: 5,\n },\n right: {\n borderTopRightRadius: 5,\n },\n }}\n />\n );\n }\n renderMessage(props) {\n return (\n <PlussChatMessage\n key={props.RowId}\n colourBrandingMain={this.props.colourBrandingMain}\n onPressReply={() => {\n this.onReply(props.currentMessage);\n }}\n onPressDelete={\n this.props.onDeleteMessage\n ? () => {\n this.onDelete(props.currentMessage);\n }\n : null\n }\n {...props}\n />\n );\n }\n renderMessageText(messageTextProps) {\n // If message is deleted, show placeholder text\n const props = messageTextProps.currentMessage.deleted\n ? {\n ...messageTextProps,\n currentMessage: {\n ...messageTextProps.currentMessage,\n text: '[Message deleted]',\n },\n }\n : messageTextProps;\n\n return (\n <MessageText\n {...props}\n textStyle={{\n left: {\n fontFamily: 'sf-regular',\n fontSize: 16,\n color: TEXT_DARKEST,\n marginTop: 10,\n marginBottom: 10,\n marginLeft: 15,\n marginRight: 15,\n },\n right: {\n fontFamily: 'sf-regular',\n fontSize: 16,\n color: this.props.colourBrandingMain,\n marginTop: 10,\n marginBottom: 10,\n marginLeft: 15,\n marginRight: 15,\n },\n }}\n linkStyle={{\n left: {\n color: TEXT_DARKEST,\n },\n right: {\n color: this.props.colourBrandingMain,\n },\n }}\n />\n );\n }\n renderTime() {\n return null;\n }\n renderDay(dayProps) {\n return (\n <PlussChatTime\n {...dayProps}\n textStyle={{\n fontFamily: 'sf-semibold',\n color: TEXT_DARK,\n fontSize: 12,\n }}\n />\n );\n }\n renderCustomView({ currentMessage, position }) {\n // Don't show images or attachments for deleted messages\n if (currentMessage.deleted) {\n return null;\n }\n\n if (currentMessage.image) {\n const images = typeof currentMessage.image === 'string' ? [currentMessage.image] : currentMessage.image;\n const containerWidth = (() => {\n if (images.length === 0) return 0;\n if (images.length === 1) return IMAGE_SIZE_LARGE;\n if (images.length <= IMAGES_PER_ROW) return (IMAGE_SIZE_SMALL + IMAGE_MARGIN) * images.length;\n return (IMAGE_SIZE_SMALL + IMAGE_MARGIN) * IMAGES_PER_ROW;\n })();\n return (\n <View style={[styles.imagesContainer, { width: containerWidth, paddingVertical: currentMessage.text ? 0 : 20 }]}>\n {images.map(img => {\n const thumb = getThumb300(img);\n if (isVideo(img)) {\n return (\n <TouchableOpacity key={thumb} onPress={this.toggleFullscreenVideo.bind(this, img)}>\n <ImageBackground style={images.length > 1 ? styles.messageImageSmall : styles.messageImageLarge} source={{ uri: thumb }}>\n <View style={styles.imagePlayContainer}>\n <Icon name=\"play\" type=\"font-awesome\" iconStyle={styles.imageControlIcon} />\n </View>\n </ImageBackground>\n </TouchableOpacity>\n );\n }\n return (\n <TouchableOpacity key={thumb} onPress={() => this.onPressImage(images, img)}>\n <Image source={{ uri: thumb }} style={images.length > 1 ? styles.messageImageSmall : styles.messageImageLarge} />\n </TouchableOpacity>\n );\n })}\n </View>\n );\n }\n if (!_.isEmpty(currentMessage.attachments)) {\n return (\n <View>\n {currentMessage.attachments.map((url, i) => {\n return (\n <Attachment\n onPress={() => {\n this.onOpenAttachment(url);\n }}\n key={i}\n title={getFileName(url)}\n />\n );\n })}\n </View>\n );\n }\n if (currentMessage.event) {\n return (\n <TouchableOpacity onPress={this.onPressEvent.bind(this, currentMessage.event)}>\n <View style={styles.eventContainer[position]}>\n <Image style={[styles.eventImage, styles.eventImageMargin[position]]} source={{ uri: currentMessage.event.Thumbnail }} />\n <View style={styles.eventInfo}>\n <Text\n numberOfLines={3}\n style={[styles.eventTitle, styles.eventInfoAlign[position], { color: this.props.colourBrandingMain }]}\n >\n {currentMessage.event.Title}\n </Text>\n <Text style={[styles.eventDate, styles.eventInfoAlign[position], { color: this.props.colourBrandingMain }]}>\n {moment\n .utc(currentMessage.event.StartTime)\n .local()\n .format('ddd D MMM')}\n </Text>\n </View>\n </View>\n </TouchableOpacity>\n );\n }\n if (currentMessage.attachment) {\n return (\n <TouchableOpacity onPress={this.onPressAttachment.bind(this, currentMessage.attachment)}>\n <View style={styles.eventContainer[position]}>\n <Image style={[styles.eventImage, styles.eventImageMargin[position]]} source={{ uri: currentMessage.attachment.Thumbnail }} />\n <View style={styles.eventInfo}>\n <Text\n numberOfLines={3}\n style={[styles.eventTitle, styles.eventInfoAlign[position], { color: this.props.colourBrandingMain }]}\n >\n {currentMessage.attachment.Title}\n </Text>\n {currentMessage.attachment.StartTime && (\n <Text style={[styles.eventDate, styles.eventInfoAlign[position], { color: this.props.colourBrandingMain }]}>\n {moment\n .utc(currentMessage.attachment.StartTime)\n .local()\n .format('ddd D MMM')}\n </Text>\n )}\n </View>\n </View>\n </TouchableOpacity>\n );\n }\n return null;\n }\n\n renderSend(props) {\n return (\n <View style={[{ position: 'absolute', top: 0, right: 0 }, !!this.state.replyingTo && { marginTop: 38 }]}>\n {(!_.isEmpty(props.text) || this.hasImagesReady(props.imagesToUpload)) && (\n <Send\n {...props}\n alwaysShowSend={true}\n containerStyle={[\n styles.sendContainer,\n {\n width: this.MIN_COMPOSER_HEIGHT,\n height: this.MIN_COMPOSER_HEIGHT,\n },\n ]}\n >\n <Icon name={'paper-plane'} type=\"font-awesome\" iconStyle={[styles.send, { width: this.MIN_COMPOSER_HEIGHT }]} />\n </Send>\n )}\n <TouchableOpacity\n onPress={this.showUploadMenu.bind(this)}\n style={[\n styles.sendContainer,\n {\n right: _.isEmpty(props.text) && !this.hasImagesReady(props.imagesToUpload) ? 0 : 8 + this.MIN_COMPOSER_HEIGHT,\n width: this.MIN_COMPOSER_HEIGHT,\n height: this.MIN_COMPOSER_HEIGHT,\n },\n ]}\n >\n <Icon name={'picture-o'} type=\"font-awesome\" iconStyle={[styles.send, { width: this.MIN_COMPOSER_HEIGHT }]} />\n </TouchableOpacity>\n </View>\n );\n }\n\n renderAccessory(props) {\n const hasAttachment = this.hasImagesAttached(props.imagesToUpload);\n if (!hasAttachment) {\n return null;\n }\n return (\n <ScrollView horizontal style={styles.uploadImagesContainer}>\n {props.imagesToUpload.map(image => {\n if (image.uploading) {\n return (\n <ImageUploadProgress\n key={image.uploadUri}\n uploader={this.imageUploader}\n image={image}\n color={this.props.colourBrandingMain}\n style={{ width: IMAGE_PREVIEW_SIZE, marginRight: 10 }}\n progressTextStyle={{ fontSize: 10 }}\n />\n );\n }\n const isVideoUrl = isVideo(image.url);\n return (\n <View key={image.url} style={styles.accessoryImageContainer}>\n <ImageBackground\n style={styles.accessoryImage}\n imageStyle={styles.accessoryImageBorder}\n source={getImageSource(image.thumbNailExists ? image.thumbNailUrl : image.url)}\n >\n {isVideoUrl && (\n <View style={styles.imagePlayContainer}>\n <TouchableOpacity onPress={this.toggleFullscreenVideo.bind(this, image.url)}>\n <Icon name=\"play\" type=\"font-awesome\" iconStyle={styles.imageControlIcon} />\n </TouchableOpacity>\n </View>\n )}\n </ImageBackground>\n <TouchableOpacity\n style={styles.previewItemRemoveButton}\n onPress={() => this.onRemoveImage(image.url)}\n hitSlop={{ top: 8, right: 8, bottom: 8, left: 8 }}\n >\n <View style={[styles.previewItemRemoveContainer, { backgroundColor: this.props.colourBrandingMain }]}>\n <Icon name=\"times\" type=\"font-awesome\" iconStyle={styles.previewItemRemoveIcon} />\n </View>\n </TouchableOpacity>\n </View>\n );\n })}\n </ScrollView>\n );\n }\n\n renderInputToolbar(props) {\n const hasAttachment = this.hasImagesAttached(props.imagesToUpload);\n return (\n <InputToolbar\n {...props}\n containerStyle={styles.inputContainer}\n renderComposer={this.renderComposer.bind(this)}\n renderAccessory={hasAttachment ? this.renderAccessory.bind(this) : null}\n accessoryStyle={hasAttachment && styles.accessory}\n />\n );\n }\n renderFooter() {\n // if (this.state.keyboardOpen) {\n // return null;\n // }\n // fixes an issue where there's no gap between bottom message and reply container\n return <View style={{ height: 10 }} />;\n }\n renderLoading() {\n return (\n <View style={{ marginTop: 15, justifyContent: 'center', alignContent: 'center' }}>\n <Spinner size={'small'} color={this.props.colourBrandingMain} />\n </View>\n );\n }\n renderAvatar(props) {\n return (\n <View style={{ marginRight: 2 }}>\n <ProfilePic ProfilePic={props.currentMessage.user.avatar} Diameter={28} />\n </View>\n );\n }\n renderComposer(props) {\n return (\n <View style={styles.composerContainer}>\n {this.state.replyingTo && (\n <View style={styles.replyingTo}>\n <TextStyle type=\"body\">\n Replying to {_.isEmpty(this.state.replyingTo?.user?.name) ? 'message' : this.state.replyingTo?.user?.name}\n </TextStyle>\n <TouchableOpacity\n style={styles.replyingRemoveButton}\n onPress={() => this.onReply(null)}\n hitSlop={{ top: 8, right: 8, bottom: 8, left: 8 }}\n >\n <View style={[styles.replyingRemoveContainer, { backgroundColor: this.props.colourBrandingMain }]}>\n <Icon name=\"times\" type=\"font-awesome\" iconStyle={styles.replyingRemoveIcon} />\n </View>\n </TouchableOpacity>\n </View>\n )}\n <View style={styles.composerInputWrapper}>\n <View\n style={[\n styles.input,\n {\n //height: props.composerHeight + 10,\n //borderRadius: (this.MIN_COMPOSER_HEIGHT + 10) / 2,\n marginRight:\n _.isEmpty(props.text) && !this.hasImagesReady(props.imagesToUpload)\n ? 8 + this.MIN_COMPOSER_HEIGHT\n : 2 * (this.MIN_COMPOSER_HEIGHT + 8),\n justifyContent: 'center',\n },\n Platform.OS === 'ios' && {\n height: props.composerHeight + 10,\n },\n ]}\n >\n <Composer\n {...props}\n //composerHeight={props.composerHeight}\n placeholder=\"Type a message...\"\n textInputStyle={styles.inputText}\n textInputProps={{\n onFocus: this.onFocusInput.bind(this),\n onBlur: this.onBlurInput.bind(this),\n }}\n />\n </View>\n </View>\n </View>\n );\n }\n\n /***\n * Main Render\n */\n renderChat() {\n const { tabCount, noTab } = this.props;\n const iosBottomOffset = (tabCount === 1 || noTab ? -10 : 52) + getBottomSpace();\n const minInputToolbarHeight =\n this.MIN_COMPOSER_HEIGHT + 16 + (this.state.replyingTo ? 30 : 0) + (this.hasImagesAttached() ? IMAGE_PREVIEW_AREA_HEIGHT : 0);\n\n return (\n <GiftedChat\n alwaysShowSend={false}\n keyboardShouldPersistTaps={'never'}\n renderAvatarOnTop\n minInputToolbarHeight={minInputToolbarHeight}\n bottomOffset={Platform.OS === 'android' ? 0 : iosBottomOffset}\n onSend={this.sendMessages.bind(this)}\n messages={this.state.messages}\n user={this.state.currentUser}\n renderBubble={this.renderBubble.bind(this)}\n renderMessage={this.renderMessage.bind(this)}\n renderMessageText={this.renderMessageText.bind(this)}\n renderTime={this.renderTime.bind(this)}\n renderDay={this.renderDay.bind(this)}\n renderCustomView={this.renderCustomView.bind(this)}\n renderSend={this.renderSend.bind(this)}\n renderInputToolbar={this.renderInputToolbar.bind(this)}\n renderFooter={this.renderFooter.bind(this)}\n renderLoading={this.renderLoading.bind(this)}\n renderAvatar={this.renderAvatar.bind(this)}\n imagesToUpload={this.state.imagesToUpload}\n />\n );\n }\n\n renderImageUploader() {\n return (\n <ImageUploader\n ref={ref => (this.imageUploader = ref)}\n onUploadStarted={this.onUploadStarted}\n onUploadProgress={this.onUploadProgress}\n onUploadSuccess={this.onUploadSuccess}\n onUploadFailed={this.onUploadFailed}\n onLibrarySelected={this.onLibrarySelected}\n quality={0.8}\n allowsEditing={false}\n fileName={'imageInput'}\n popupTitle={'Add Image'}\n userId={this.props.user.uid}\n multiple\n allowVideo\n />\n );\n }\n\n renderImagePopup() {\n const { imagePopupOpen, imagePopupSource, imagePopupIndex } = this.state;\n return (\n <ImagePopup\n visible={imagePopupOpen}\n images={imagePopupSource}\n index={imagePopupIndex}\n onClose={this.closeGallery.bind(this)}\n ref=\"imagePopup\"\n />\n );\n }\n\n renderVideoPlayerPopup() {\n const { showFullscreenVideo, currentVideoUrl } = this.state;\n if (!currentVideoUrl) return;\n\n return <VideoPopup uri={currentVideoUrl} visible={showFullscreenVideo} onClose={this.toggleFullscreenVideo} />;\n }\n\n renderPDF() {\n if (_.isEmpty(this.state.selectedPDF)) {\n return null;\n }\n return (\n <PDFPopup source={this.state.selectedPDF} onClose={this.onCloseAttachment} title={getFileName(this.state.selectedPDF)} pdfCount={1} />\n );\n }\n\n renderDeleteConfirmPopup() {\n return (\n <ConfirmPopup\n visible={this.state.showDeleteMessageConfirm}\n onConfirm={this.onConfirmDeleteMessage}\n onCancel={this.onCancelDeleteMessage}\n text=\"Are you sure you want to delete this message?\"\n yesText=\"Delete\"\n noText=\"Cancel\"\n />\n );\n }\n\n render() {\n if (Platform.OS === 'android' && !this.props.noAndroidAvoid) {\n return (\n <KeyboardAvoidingView behavior={'padding'} style={styles.chatContainer}>\n {this.renderChat()}\n {this.renderImageUploader()}\n {this.renderImagePopup()}\n {this.renderVideoPlayerPopup()}\n {this.renderPDF()}\n {this.renderDeleteConfirmPopup()}\n </KeyboardAvoidingView>\n );\n }\n return (\n <View style={styles.chatContainer}>\n {this.renderChat()}\n {this.renderImageUploader()}\n {this.renderImagePopup()}\n {this.renderVideoPlayerPopup()}\n {this.renderPDF()}\n {this.renderDeleteConfirmPopup()}\n </View>\n );\n }\n}\n\nconst styles = {\n chatContainer: {\n flex: 1,\n justifyContent: 'center',\n },\n eventContainer: {\n left: {\n paddingTop: 5,\n paddingLeft: 15,\n paddingRight: 15,\n paddingBottom: 5,\n flexDirection: 'row',\n },\n right: {\n paddingTop: 5,\n paddingLeft: 15,\n paddingRight: 15,\n paddingBottom: 5,\n flexDirection: 'row-reverse',\n },\n },\n eventImage: {\n width: 80,\n height: 80,\n resizeMode: 'cover',\n borderRadius: 2,\n },\n eventImageMargin: {\n right: {\n marginLeft: 15,\n },\n left: {\n marginRight: 15,\n },\n },\n eventInfo: {\n minHeight: 80,\n width: 150,\n },\n eventTitle: {\n fontSize: 12,\n fontFamily: 'sf-bold',\n backgroundColor: 'rgba(255,255,255,0)',\n },\n eventInfoAlign: {\n left: {\n textAlign: 'left',\n },\n right: {\n textAlign: 'right',\n },\n },\n messageImageLarge: {\n width: IMAGE_SIZE_LARGE,\n height: IMAGE_SIZE_LARGE,\n borderRadius: 2,\n alignSelf: 'center',\n },\n messageImageSmall: {\n width: IMAGE_SIZE_SMALL,\n height: IMAGE_SIZE_SMALL,\n borderRadius: 2,\n alignSelf: 'center',\n marginRight: IMAGE_MARGIN,\n marginBottom: IMAGE_MARGIN,\n },\n eventDate: {\n fontSize: 12,\n fontFamily: 'sf-regular',\n backgroundColor: 'rgba(255,255,255,0)',\n },\n inputContainer: {\n backgroundColor: '#fff',\n paddingVertical: 8,\n paddingHorizontal: 8,\n },\n inputText: {\n color: TEXT_DARKEST,\n fontSize: 14,\n fontFamily: 'sf-medium',\n },\n input: {\n margin: 0,\n backgroundColor: BG_GREY,\n borderRadius: 5,\n flex: 1,\n },\n composerContainer: {\n flex: 1,\n },\n composerInputWrapper: {\n flex: 1,\n flexDirection: 'row',\n },\n replyingTo: {\n minHeight: 30,\n flexDirection: 'row',\n alignItems: 'center',\n borderBottomWidth: 1,\n borderBottomColor: LINEGREY,\n marginBottom: 8,\n },\n replyingRemoveButton: {\n marginLeft: 10,\n },\n replyingRemoveContainer: {\n justifyContent: 'center',\n alignItems: 'center',\n borderRadius: 10,\n width: 20,\n height: 20,\n borderWidth: 2,\n borderColor: '#fff',\n },\n replyingRemoveIcon: {\n fontSize: 10,\n color: '#fff',\n marginBottom: 1,\n },\n sendContainer: {\n position: 'absolute',\n top: 0,\n right: 0,\n height: 30,\n width: 30,\n alignItems: 'center',\n justifyContent: 'center',\n backgroundColor: '#fff',\n },\n send: {\n fontSize: 15,\n color: TEXT_BLUEGREY,\n fontSize: 24,\n textAlign: 'center',\n },\n accessory: {\n height: IMAGE_PREVIEW_AREA_HEIGHT,\n borderTopWidth: 1,\n borderTopColor: LINEGREY,\n paddingTop: 8,\n marginTop: 8,\n },\n accessoryImageContainer: {\n paddingRight: 8,\n paddingTop: 8,\n marginRight: 5,\n },\n accessoryImage: {\n width: IMAGE_PREVIEW_SIZE,\n height: IMAGE_PREVIEW_SIZE,\n },\n accessoryImageBorder: {\n borderRadius: 2,\n },\n settingDropDownOpen: {\n height: 'auto',\n },\n imagesContainer: {\n marginLeft: 10,\n marginRight: 10,\n flexDirection: 'row',\n flexWrap: 'wrap',\n },\n uploadImagesContainer: {\n flexDirection: 'row',\n overflow: 'visible',\n },\n previewItemRemoveButton: {\n position: 'absolute',\n top: 0,\n right: 0,\n },\n previewItemRemoveContainer: {\n justifyContent: 'center',\n alignItems: 'center',\n borderRadius: 10,\n width: 20,\n height: 20,\n borderWidth: 2,\n borderColor: '#fff',\n },\n previewItemRemoveIcon: {\n fontSize: 10,\n color: '#fff',\n marginBottom: 1,\n },\n imagePlayContainer: {\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n alignItems: 'center',\n justifyContent: 'center',\n },\n imageControlIcon: {\n color: '#fff',\n fontSize: 20,\n textShadowColor: 'rgba(0,0,0,0.3)',\n textShadowOffset: { width: 2, height: 2 },\n },\n};\n\nconst mapStateToProps = state => {\n return {\n user: state.user,\n colourBrandingMain: getMainBrandingColourFromState(state),\n colourBrandingLight: getLightBrandingColourFromState(state),\n tabCount: getEnabledTabsFromState(state).length,\n };\n};\n\nexport default connect(mapStateToProps, {})(PlussChat);\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","Component","View","Image","ImageBackground","TouchableOpacity","Text","KeyboardAvoidingView","Platform","ScrollView","Alert","GiftedChat","Bubble","MessageText","Send","InputToolbar","Composer","connect","_","moment","Icon","getBottomSpace","Spinner","ProfilePic","PlussChatTime","PDFPopup","Attachment","PlussChatMessage","TextStyle","ConfirmPopup","TEXT_DARK","LINEGREY","TEXT_DARKEST","getMainBrandingColourFromState","getLightBrandingColourFromState","BG_GREY","TEXT_BLUEGREY","getEnabledTabsFromState","get1400","getThumb300","imageExists","isVideo","getImageSource","getFileName","Config","Services","ImageUploader","ImageUploadProgress","ImagePopup","VideoPopup","IMAGE_SIZE_SMALL","IMAGE_SIZE_LARGE","IMAGES_PER_ROW","IMAGE_MARGIN","IMAGE_PREVIEW_AREA_HEIGHT","IMAGE_PREVIEW_SIZE","PlussChat","constructor","props","_defineProperty","event","navigation","navigate","attachment","Type","place","imagesToUpload","isEmpty","state","upload","hasImagesAttached","every","i","uploading","thumbNailExists","checkThumb","setInterval","Promise","all","map","image","resolve","newImage","push","url","allowRetry","thumbNailUrl","thumbnailsExist","clearInterval","setState","a","selectedPDF","keyboardOpen","uploadUri","imageUri","uploadProgress","progress","img","uri","percentage","replace","waitForThumbnails","images","selected","imagePopupSource","imagePopupIndex","indexOf","imagePopupOpen","message","replyingTo","onDeleteMessage","user","_id","uid","showDeleteMessageConfirm","messageToDelete","error","console","log","filter","showFullscreenVideo","length","currentVideoUrl","isSingleTab","tabCount","MIN_COMPOSER_HEIGHT","select","ios","android","currentUser","name","displayName","avatar","isUndefined","profilePic","env","tinyChatDefault","messages","UNSAFE_componentWillMount","updateMessages","UNSAFE_componentWillReceiveProps","nextProps","newState","onSend","showUploadMenu","imageUploader","closeGallery","sendMessages","hasImagesReady","text","renderBubble","bubbleProps","wrapperStyle","currentMessage","paddingTop","paddingBottom","minWidth","attachments","paddingHorizontal","createElement","_extends","renderMessageImage","isCustomViewBottom","left","backgroundColor","borderRadius","right","colourBrandingLight","containerToNextStyle","borderBottomLeftRadius","borderBottomRightRadius","containerToPreviousStyle","borderTopLeftRadius","borderTopRightRadius","renderMessage","key","RowId","colourBrandingMain","onPressReply","onReply","onPressDelete","onDelete","renderMessageText","messageTextProps","deleted","textStyle","fontFamily","fontSize","color","marginTop","marginBottom","marginLeft","marginRight","linkStyle","renderTime","renderDay","dayProps","renderCustomView","position","containerWidth","style","styles","imagesContainer","width","paddingVertical","thumb","onPress","toggleFullscreenVideo","bind","messageImageSmall","messageImageLarge","source","imagePlayContainer","type","iconStyle","imageControlIcon","onPressImage","onOpenAttachment","title","onPressEvent","eventContainer","eventImage","eventImageMargin","Thumbnail","eventInfo","numberOfLines","eventTitle","eventInfoAlign","Title","eventDate","utc","StartTime","local","format","onPressAttachment","renderSend","top","alwaysShowSend","containerStyle","sendContainer","height","send","renderAccessory","hasAttachment","horizontal","uploadImagesContainer","uploader","progressTextStyle","isVideoUrl","accessoryImageContainer","accessoryImage","imageStyle","accessoryImageBorder","previewItemRemoveButton","onRemoveImage","hitSlop","bottom","previewItemRemoveContainer","previewItemRemoveIcon","renderInputToolbar","inputContainer","renderComposer","accessoryStyle","accessory","renderFooter","renderLoading","justifyContent","alignContent","size","renderAvatar","Diameter","_this$state$replyingT","_this$state$replyingT2","composerContainer","replyingRemoveButton","replyingRemoveContainer","replyingRemoveIcon","composerInputWrapper","input","OS","composerHeight","placeholder","textInputStyle","inputText","textInputProps","onFocus","onFocusInput","onBlur","onBlurInput","renderChat","noTab","iosBottomOffset","minInputToolbarHeight","keyboardShouldPersistTaps","renderAvatarOnTop","bottomOffset","renderImageUploader","ref","onUploadStarted","onUploadProgress","onUploadSuccess","onUploadFailed","onLibrarySelected","quality","allowsEditing","fileName","popupTitle","userId","multiple","allowVideo","renderImagePopup","visible","index","onClose","renderVideoPlayerPopup","renderPDF","onCloseAttachment","pdfCount","renderDeleteConfirmPopup","onConfirm","onConfirmDeleteMessage","onCancel","onCancelDeleteMessage","yesText","noText","render","noAndroidAvoid","behavior","chatContainer","flex","paddingLeft","paddingRight","flexDirection","resizeMode","minHeight","textAlign","alignSelf","margin","alignItems","borderBottomWidth","borderBottomColor","borderWidth","borderColor","borderTopWidth","borderTopColor","settingDropDownOpen","flexWrap","overflow","textShadowColor","textShadowOffset","mapStateToProps"],"sources":["PlussChat.js"],"sourcesContent":["import React, { Component } from 'react';\nimport { View, Image, ImageBackground, TouchableOpacity, Text, KeyboardAvoidingView, Platform, ScrollView, Alert } from 'react-native';\nimport { GiftedChat, Bubble, MessageText, Send, InputToolbar, Composer } from 'react-native-gifted-chat';\nimport { connect } from 'react-redux';\nimport _ from 'lodash';\nimport moment from 'moment';\nimport { Icon } from '@rneui/themed';\nimport { getBottomSpace } from 'react-native-iphone-x-helper';\nimport { Spinner } from './Spinner';\nimport { ProfilePic } from './ProfilePic';\nimport PlussChatTime from './PlussChatTime';\nimport { PDFPopup } from './PDFPopup';\nimport { Attachment } from './Attachment';\nimport PlussChatMessage from './PlussChatMessage';\nimport { TextStyle } from './TextStyle';\nimport { ConfirmPopup } from './ConfirmPopup';\nimport {\n TEXT_DARK,\n LINEGREY,\n TEXT_DARKEST,\n getMainBrandingColourFromState,\n getLightBrandingColourFromState,\n BG_GREY,\n TEXT_BLUEGREY,\n} from '../colours';\nimport { getEnabledTabsFromState, get1400, getThumb300, imageExists, isVideo, getImageSource, getFileName } from '../helper';\nimport Config, { Services } from '../config';\nimport ImageUploader from './ImageUploader';\nimport ImageUploadProgress from './ImageUploadProgress';\nimport { ImagePopup } from './ImagePopup';\nimport { VideoPopup } from './VideoPopup';\n\nconst IMAGE_SIZE_SMALL = 55;\nconst IMAGE_SIZE_LARGE = 110;\nconst IMAGES_PER_ROW = 4;\nconst IMAGE_MARGIN = 2;\nconst IMAGE_PREVIEW_AREA_HEIGHT = 105;\nconst IMAGE_PREVIEW_SIZE = IMAGE_PREVIEW_AREA_HEIGHT - 25;\n\nclass PlussChat extends Component {\n constructor(props) {\n super(props);\n const isSingleTab = this.props.tabCount === 1 && getBottomSpace() > 0;\n this.MIN_COMPOSER_HEIGHT = Platform.select({\n ios: isSingleTab ? 42 : 33,\n android: 41,\n });\n\n this.state = {\n currentUser: {\n _id: this.props.user.uid,\n name: this.props.user.displayName,\n avatar:\n !_.isUndefined(this.props.user.profilePic) && !_.isEmpty(this.props.user.profilePic)\n ? this.props.user.profilePic\n : Config.env.tinyChatDefault,\n },\n\n messages: [],\n imagePopupSource: [],\n imagePopupIndex: 0,\n imagePopupOpen: false,\n imagesToUpload: [],\n showFullscreenVideo: false,\n currentVideoUrl: '',\n showDeleteMessageConfirm: false,\n messageToDelete: null,\n };\n this.checkThumb = null;\n }\n\n UNSAFE_componentWillMount() {\n this.updateMessages(this.props);\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n this.updateMessages(nextProps);\n }\n\n updateMessages(props) {\n const newState = {};\n if (!_.isUndefined(props.messages)) {\n newState.messages = props.messages;\n }\n this.setState(newState);\n }\n\n /***\n *\n * Messaging functionality\n */\n onSend(messages = []) {\n // if (this.chatKey) {\n // this.sendMessage(messages[0]);\n // }\n }\n\n onPressEvent = event => {\n Services.navigation.navigate('eventDetail', { event });\n };\n onPressAttachment = attachment => {\n switch (attachment.Type) {\n case 'Event':\n Services.navigation.navigate('eventDetail', { event: attachment });\n break;\n case 'Place':\n Services.navigation.navigate('placeDetail', { place: attachment });\n break;\n default:\n return;\n }\n };\n\n hasImagesAttached = (imagesToUpload = null) => {\n return !_.isEmpty(imagesToUpload || this.state.imagesToUpload);\n };\n\n hasImagesReady = (imagesToUpload = null) => {\n const upload = imagesToUpload || this.state.imagesToUpload;\n return this.hasImagesAttached(upload) && upload.every(i => !i.uploading && i.thumbNailExists);\n };\n\n waitForThumbnails = () => {\n if (this.checkThumb) return;\n\n this.checkThumb = setInterval(async () => {\n const imagesToUpload = [];\n await Promise.all(\n this.state.imagesToUpload.map(image => {\n return new Promise(async resolve => {\n const newImage = { ...image };\n imagesToUpload.push(newImage);\n if (newImage.url && !newImage.thumbNailExists) {\n newImage.uploading = false;\n newImage.allowRetry = false;\n newImage.thumbNailExists = await imageExists(newImage.thumbNailUrl);\n resolve(newImage.thumbNailExists);\n }\n resolve(true);\n });\n }),\n );\n const thumbnailsExist = imagesToUpload.every(image => !image.url || image.thumbNailExists);\n if (thumbnailsExist) {\n clearInterval(this.checkThumb);\n this.checkThumb = null;\n this.setState({ imagesToUpload });\n }\n }, 2000);\n };\n\n onOpenAttachment = a => {\n this.setState({\n selectedPDF: a,\n });\n };\n\n onCloseAttachment = () => {\n this.setState({\n selectedPDF: null,\n });\n };\n\n showUploadMenu() {\n this.imageUploader.showUploadMenu();\n }\n\n onFocusInput = () => {\n this.setState({\n keyboardOpen: true,\n });\n if (this.props.keyboardOpen) {\n this.props.keyboardOpen();\n }\n };\n\n onBlurInput = () => {\n this.setState({\n keyboardOpen: false,\n });\n };\n\n onUploadStarted = (uploadUri, imageUri) => {\n const imagesToUpload = [\n ...this.state.imagesToUpload,\n {\n uploading: true,\n uploadProgress: '0%',\n uploadUri,\n imageUri,\n allowRetry: true,\n },\n ];\n this.setState({ imagesToUpload });\n };\n\n onUploadProgress = progress => {\n const imagesToUpload = [...this.state.imagesToUpload];\n imagesToUpload.map(img => {\n if (img.uploadUri === progress.uri) {\n img.uploadProgress = progress.percentage;\n img.uploading = true;\n img.allowRetry = true;\n }\n });\n this.setState({ imagesToUpload });\n };\n\n onUploadSuccess = async (uri, uploadUri) => {\n const imagesToUpload = [...this.state.imagesToUpload];\n imagesToUpload.map(img => {\n if (img.uploadUri === uploadUri && img.uploading) {\n img.url = uri.replace('/general/', '/general1400/');\n img.thumbNailExists = false;\n img.thumbNailUrl = getThumb300(img.url);\n img.allowRetry = true;\n }\n });\n this.setState({ imagesToUpload }, () => this.waitForThumbnails());\n };\n\n onUploadFailed = uploadUri => {\n const imagesToUpload = [...this.state.imagesToUpload];\n imagesToUpload.map(img => {\n if (img.uploadUri === uploadUri) {\n img.uploading = true; // Requried for retry\n img.uploadProgress = '';\n img.allowRetry = true;\n }\n });\n this.setState({ imagesToUpload });\n };\n\n onLibrarySelected = uri => {\n const imagesToUpload = [\n ...this.state.imagesToUpload,\n {\n uploading: false,\n allowRetry: false,\n url: get1400(uri),\n thumbNailExists: true,\n thumbNailUrl: getThumb300(uri),\n },\n ];\n this.setState({ imagesToUpload });\n };\n\n onPressImage = (images, selected) => {\n this.setState({\n imagePopupSource: images,\n imagePopupIndex: images.indexOf(selected),\n imagePopupOpen: true,\n });\n };\n\n onReply = message => {\n this.setState({\n replyingTo: message,\n });\n };\n\n onDelete = message => {\n // Only proceed if delete handler is provided\n if (!this.props.onDeleteMessage) {\n return;\n }\n\n // Only allow deletion of own messages\n if (message.user._id !== this.props.user.uid) {\n return;\n }\n\n this.setState({\n showDeleteMessageConfirm: true,\n messageToDelete: message,\n });\n };\n\n onCancelDeleteMessage = () => {\n this.setState({\n showDeleteMessageConfirm: false,\n messageToDelete: null,\n });\n };\n\n onConfirmDeleteMessage = async () => {\n const { messageToDelete } = this.state;\n if (!messageToDelete) return;\n\n this.setState({\n showDeleteMessageConfirm: false,\n });\n\n try {\n // Call the parent's delete handler if provided\n if (this.props.onDeleteMessage) {\n await this.props.onDeleteMessage(messageToDelete);\n }\n\n this.setState({\n messageToDelete: null,\n });\n } catch (error) {\n // Handle error gracefully if parent handler fails\n console.log('onConfirmDeleteMessage error', error);\n // Error is already handled by parent component\n this.setState({ messageToDelete: null });\n }\n };\n\n closeGallery() {\n this.setState({\n imagePopupSource: [],\n imagePopupIndex: 0,\n imagePopupOpen: false,\n });\n }\n\n onRemoveImage = url => {\n const imagesToUpload = this.state.imagesToUpload.filter(image => image.url !== url);\n this.setState({ imagesToUpload });\n };\n\n toggleFullscreenVideo = url => {\n if (typeof url !== 'string') url = '';\n this.setState({ showFullscreenVideo: url.length > 0, currentVideoUrl: url });\n };\n\n sendMessages(messages) {\n if (this.hasImagesAttached()) {\n // Don't allow send if attached images aren't ready\n if (!this.hasImagesReady()) return;\n messages[0].image = this.state.imagesToUpload.map(image => image.url);\n }\n if (_.isEmpty(messages[0].text)) {\n messages[0].text = '';\n }\n if (!messages[0].text && !messages[0].image) return;\n\n if (this.state.replyingTo) {\n messages[0].replyingTo = this.state.replyingTo;\n }\n\n this.props.onSend(messages);\n this.setState({ imagesToUpload: [], replyingTo: null });\n }\n\n /**\n *\n * Render Functions\n */\n renderBubble(bubbleProps) {\n const wrapperStyle = {};\n if (!_.isEmpty(bubbleProps.currentMessage.text) && !_.isEmpty(bubbleProps.currentMessage.image)) {\n wrapperStyle.paddingTop = 8;\n wrapperStyle.paddingBottom = 16;\n wrapperStyle.minWidth = 142; // 110 image width + 16 padding either side\n }\n if (!_.isEmpty(bubbleProps.currentMessage.attachments)) {\n wrapperStyle.paddingTop = 8;\n wrapperStyle.paddingBottom = 16;\n wrapperStyle.paddingHorizontal = 16;\n }\n return (\n <Bubble\n {...bubbleProps}\n renderMessageImage={() => null}\n isCustomViewBottom={true}\n wrapperStyle={{\n left: {\n backgroundColor: LINEGREY,\n borderRadius: 25,\n ...wrapperStyle,\n },\n right: {\n backgroundColor: this.props.colourBrandingLight,\n borderRadius: 25,\n ...wrapperStyle,\n },\n }}\n containerToNextStyle={{\n left: {\n borderBottomLeftRadius: 5,\n },\n right: {\n borderBottomRightRadius: 5,\n },\n }}\n containerToPreviousStyle={{\n left: {\n borderTopLeftRadius: 5,\n },\n right: {\n borderTopRightRadius: 5,\n },\n }}\n />\n );\n }\n renderMessage(props) {\n return (\n <PlussChatMessage\n key={props.RowId}\n colourBrandingMain={this.props.colourBrandingMain}\n onPressReply={() => {\n this.onReply(props.currentMessage);\n }}\n onPressDelete={\n this.props.onDeleteMessage\n ? () => {\n this.onDelete(props.currentMessage);\n }\n : null\n }\n {...props}\n />\n );\n }\n renderMessageText(messageTextProps) {\n // If message is deleted, show placeholder text\n const props = messageTextProps.currentMessage.deleted\n ? {\n ...messageTextProps,\n currentMessage: {\n ...messageTextProps.currentMessage,\n text: '[Message deleted]',\n },\n }\n : messageTextProps;\n\n return (\n <MessageText\n {...props}\n textStyle={{\n left: {\n fontFamily: 'sf-regular',\n fontSize: 16,\n color: TEXT_DARKEST,\n marginTop: 10,\n marginBottom: 10,\n marginLeft: 15,\n marginRight: 15,\n },\n right: {\n fontFamily: 'sf-regular',\n fontSize: 16,\n color: this.props.colourBrandingMain,\n marginTop: 10,\n marginBottom: 10,\n marginLeft: 15,\n marginRight: 15,\n },\n }}\n linkStyle={{\n left: {\n color: TEXT_DARKEST,\n },\n right: {\n color: this.props.colourBrandingMain,\n },\n }}\n />\n );\n }\n renderTime() {\n return null;\n }\n renderDay(dayProps) {\n return (\n <PlussChatTime\n {...dayProps}\n textStyle={{\n fontFamily: 'sf-semibold',\n color: TEXT_DARK,\n fontSize: 12,\n }}\n />\n );\n }\n renderCustomView({ currentMessage, position }) {\n // Don't show images or attachments for deleted messages\n if (currentMessage.deleted) {\n return null;\n }\n\n if (currentMessage.image) {\n const images = typeof currentMessage.image === 'string' ? [currentMessage.image] : currentMessage.image;\n const containerWidth = (() => {\n if (images.length === 0) return 0;\n if (images.length === 1) return IMAGE_SIZE_LARGE;\n if (images.length <= IMAGES_PER_ROW) return (IMAGE_SIZE_SMALL + IMAGE_MARGIN) * images.length;\n return (IMAGE_SIZE_SMALL + IMAGE_MARGIN) * IMAGES_PER_ROW;\n })();\n return (\n <View style={[styles.imagesContainer, { width: containerWidth, paddingVertical: currentMessage.text ? 0 : 20 }]}>\n {images.map(img => {\n const thumb = getThumb300(img);\n if (isVideo(img)) {\n return (\n <TouchableOpacity key={thumb} onPress={this.toggleFullscreenVideo.bind(this, img)}>\n <ImageBackground style={images.length > 1 ? styles.messageImageSmall : styles.messageImageLarge} source={{ uri: thumb }}>\n <View style={styles.imagePlayContainer}>\n <Icon name=\"play\" type=\"font-awesome\" iconStyle={styles.imageControlIcon} />\n </View>\n </ImageBackground>\n </TouchableOpacity>\n );\n }\n return (\n <TouchableOpacity key={thumb} onPress={() => this.onPressImage(images, img)}>\n <Image source={{ uri: thumb }} style={images.length > 1 ? styles.messageImageSmall : styles.messageImageLarge} />\n </TouchableOpacity>\n );\n })}\n </View>\n );\n }\n if (!_.isEmpty(currentMessage.attachments)) {\n return (\n <View>\n {currentMessage.attachments.map((url, i) => {\n return (\n <Attachment\n onPress={() => {\n this.onOpenAttachment(url);\n }}\n key={i}\n title={getFileName(url)}\n />\n );\n })}\n </View>\n );\n }\n if (currentMessage.event) {\n return (\n <TouchableOpacity onPress={this.onPressEvent.bind(this, currentMessage.event)}>\n <View style={styles.eventContainer[position]}>\n <Image style={[styles.eventImage, styles.eventImageMargin[position]]} source={{ uri: currentMessage.event.Thumbnail }} />\n <View style={styles.eventInfo}>\n <Text\n numberOfLines={3}\n style={[styles.eventTitle, styles.eventInfoAlign[position], { color: this.props.colourBrandingMain }]}\n >\n {currentMessage.event.Title}\n </Text>\n <Text style={[styles.eventDate, styles.eventInfoAlign[position], { color: this.props.colourBrandingMain }]}>\n {moment\n .utc(currentMessage.event.StartTime)\n .local()\n .format('ddd D MMM')}\n </Text>\n </View>\n </View>\n </TouchableOpacity>\n );\n }\n if (currentMessage.attachment) {\n return (\n <TouchableOpacity onPress={this.onPressAttachment.bind(this, currentMessage.attachment)}>\n <View style={styles.eventContainer[position]}>\n <Image style={[styles.eventImage, styles.eventImageMargin[position]]} source={{ uri: currentMessage.attachment.Thumbnail }} />\n <View style={styles.eventInfo}>\n <Text\n numberOfLines={3}\n style={[styles.eventTitle, styles.eventInfoAlign[position], { color: this.props.colourBrandingMain }]}\n >\n {currentMessage.attachment.Title}\n </Text>\n {currentMessage.attachment.StartTime && (\n <Text style={[styles.eventDate, styles.eventInfoAlign[position], { color: this.props.colourBrandingMain }]}>\n {moment\n .utc(currentMessage.attachment.StartTime)\n .local()\n .format('ddd D MMM')}\n </Text>\n )}\n </View>\n </View>\n </TouchableOpacity>\n );\n }\n return null;\n }\n\n renderSend(props) {\n return (\n <View style={[{ position: 'absolute', top: 0, right: 0 }, !!this.state.replyingTo && { marginTop: 38 }]}>\n {(!_.isEmpty(props.text) || this.hasImagesReady(props.imagesToUpload)) && (\n <Send\n {...props}\n alwaysShowSend={true}\n containerStyle={[\n styles.sendContainer,\n {\n width: this.MIN_COMPOSER_HEIGHT,\n height: this.MIN_COMPOSER_HEIGHT,\n },\n ]}\n >\n <Icon name={'paper-plane'} type=\"font-awesome\" iconStyle={[styles.send, { width: this.MIN_COMPOSER_HEIGHT }]} />\n </Send>\n )}\n <TouchableOpacity\n onPress={this.showUploadMenu.bind(this)}\n style={[\n styles.sendContainer,\n {\n right: _.isEmpty(props.text) && !this.hasImagesReady(props.imagesToUpload) ? 0 : 8 + this.MIN_COMPOSER_HEIGHT,\n width: this.MIN_COMPOSER_HEIGHT,\n height: this.MIN_COMPOSER_HEIGHT,\n },\n ]}\n >\n <Icon name={'picture-o'} type=\"font-awesome\" iconStyle={[styles.send, { width: this.MIN_COMPOSER_HEIGHT }]} />\n </TouchableOpacity>\n </View>\n );\n }\n\n renderAccessory(props) {\n const hasAttachment = this.hasImagesAttached(props.imagesToUpload);\n if (!hasAttachment) {\n return null;\n }\n return (\n <ScrollView horizontal style={styles.uploadImagesContainer}>\n {props.imagesToUpload.map(image => {\n if (image.uploading) {\n return (\n <ImageUploadProgress\n key={image.uploadUri}\n uploader={this.imageUploader}\n image={image}\n color={this.props.colourBrandingMain}\n style={{ width: IMAGE_PREVIEW_SIZE, marginRight: 10 }}\n progressTextStyle={{ fontSize: 10 }}\n />\n );\n }\n const isVideoUrl = isVideo(image.url);\n return (\n <View key={image.url} style={styles.accessoryImageContainer}>\n <ImageBackground\n style={styles.accessoryImage}\n imageStyle={styles.accessoryImageBorder}\n source={getImageSource(image.thumbNailExists ? image.thumbNailUrl : image.url)}\n >\n {isVideoUrl && (\n <View style={styles.imagePlayContainer}>\n <TouchableOpacity onPress={this.toggleFullscreenVideo.bind(this, image.url)}>\n <Icon name=\"play\" type=\"font-awesome\" iconStyle={styles.imageControlIcon} />\n </TouchableOpacity>\n </View>\n )}\n </ImageBackground>\n <TouchableOpacity\n style={styles.previewItemRemoveButton}\n onPress={() => this.onRemoveImage(image.url)}\n hitSlop={{ top: 8, right: 8, bottom: 8, left: 8 }}\n >\n <View style={[styles.previewItemRemoveContainer, { backgroundColor: this.props.colourBrandingMain }]}>\n <Icon name=\"times\" type=\"font-awesome\" iconStyle={styles.previewItemRemoveIcon} />\n </View>\n </TouchableOpacity>\n </View>\n );\n })}\n </ScrollView>\n );\n }\n\n renderInputToolbar(props) {\n const hasAttachment = this.hasImagesAttached(props.imagesToUpload);\n return (\n <InputToolbar\n {...props}\n containerStyle={styles.inputContainer}\n renderComposer={this.renderComposer.bind(this)}\n renderAccessory={hasAttachment ? this.renderAccessory.bind(this) : null}\n accessoryStyle={hasAttachment && styles.accessory}\n />\n );\n }\n renderFooter() {\n // if (this.state.keyboardOpen) {\n // return null;\n // }\n // fixes an issue where there's no gap between bottom message and reply container\n return <View style={{ height: 10 }} />;\n }\n renderLoading() {\n return (\n <View style={{ marginTop: 15, justifyContent: 'center', alignContent: 'center' }}>\n <Spinner size={'small'} color={this.props.colourBrandingMain} />\n </View>\n );\n }\n renderAvatar(props) {\n return (\n <View style={{ marginRight: 2 }}>\n <ProfilePic ProfilePic={props.currentMessage.user.avatar} Diameter={28} />\n </View>\n );\n }\n renderComposer(props) {\n return (\n <View style={styles.composerContainer}>\n {this.state.replyingTo && (\n <View style={styles.replyingTo}>\n <TextStyle type=\"body\">\n Replying to {_.isEmpty(this.state.replyingTo?.user?.name) ? 'message' : this.state.replyingTo?.user?.name}\n </TextStyle>\n <TouchableOpacity\n style={styles.replyingRemoveButton}\n onPress={() => this.onReply(null)}\n hitSlop={{ top: 8, right: 8, bottom: 8, left: 8 }}\n >\n <View style={[styles.replyingRemoveContainer, { backgroundColor: this.props.colourBrandingMain }]}>\n <Icon name=\"times\" type=\"font-awesome\" iconStyle={styles.replyingRemoveIcon} />\n </View>\n </TouchableOpacity>\n </View>\n )}\n <View style={styles.composerInputWrapper}>\n <View\n style={[\n styles.input,\n {\n //height: props.composerHeight + 10,\n //borderRadius: (this.MIN_COMPOSER_HEIGHT + 10) / 2,\n marginRight:\n _.isEmpty(props.text) && !this.hasImagesReady(props.imagesToUpload)\n ? 8 + this.MIN_COMPOSER_HEIGHT\n : 2 * (this.MIN_COMPOSER_HEIGHT + 8),\n justifyContent: 'center',\n },\n Platform.OS === 'ios' && {\n height: props.composerHeight + 10,\n },\n ]}\n >\n <Composer\n {...props}\n //composerHeight={props.composerHeight}\n placeholder=\"Type a message...\"\n textInputStyle={styles.inputText}\n textInputProps={{\n onFocus: this.onFocusInput.bind(this),\n onBlur: this.onBlurInput.bind(this),\n }}\n />\n </View>\n </View>\n </View>\n );\n }\n\n /***\n * Main Render\n */\n renderChat() {\n const { tabCount, noTab } = this.props;\n const iosBottomOffset = (tabCount === 1 || noTab ? -10 : 52) + getBottomSpace();\n const minInputToolbarHeight =\n this.MIN_COMPOSER_HEIGHT + 16 + (this.state.replyingTo ? 30 : 0) + (this.hasImagesAttached() ? IMAGE_PREVIEW_AREA_HEIGHT : 0);\n\n return (\n <GiftedChat\n alwaysShowSend={false}\n keyboardShouldPersistTaps={'never'}\n renderAvatarOnTop\n minInputToolbarHeight={minInputToolbarHeight}\n bottomOffset={Platform.OS === 'android' ? 0 : iosBottomOffset}\n onSend={this.sendMessages.bind(this)}\n messages={this.state.messages}\n user={this.state.currentUser}\n renderBubble={this.renderBubble.bind(this)}\n renderMessage={this.renderMessage.bind(this)}\n renderMessageText={this.renderMessageText.bind(this)}\n renderTime={this.renderTime.bind(this)}\n renderDay={this.renderDay.bind(this)}\n renderCustomView={this.renderCustomView.bind(this)}\n renderSend={this.renderSend.bind(this)}\n renderInputToolbar={this.renderInputToolbar.bind(this)}\n renderFooter={this.renderFooter.bind(this)}\n renderLoading={this.renderLoading.bind(this)}\n renderAvatar={this.renderAvatar.bind(this)}\n imagesToUpload={this.state.imagesToUpload}\n />\n );\n }\n\n renderImageUploader() {\n return (\n <ImageUploader\n ref={ref => (this.imageUploader = ref)}\n onUploadStarted={this.onUploadStarted}\n onUploadProgress={this.onUploadProgress}\n onUploadSuccess={this.onUploadSuccess}\n onUploadFailed={this.onUploadFailed}\n onLibrarySelected={this.onLibrarySelected}\n quality={0.8}\n allowsEditing={false}\n fileName={'imageInput'}\n popupTitle={'Add Image'}\n userId={this.props.user.uid}\n multiple\n allowVideo\n />\n );\n }\n\n renderImagePopup() {\n const { imagePopupOpen, imagePopupSource, imagePopupIndex } = this.state;\n return (\n <ImagePopup\n visible={imagePopupOpen}\n images={imagePopupSource}\n index={imagePopupIndex}\n onClose={this.closeGallery.bind(this)}\n />\n );\n }\n\n renderVideoPlayerPopup() {\n const { showFullscreenVideo, currentVideoUrl } = this.state;\n if (!currentVideoUrl) return;\n\n return <VideoPopup uri={currentVideoUrl} visible={showFullscreenVideo} onClose={this.toggleFullscreenVideo} />;\n }\n\n renderPDF() {\n if (_.isEmpty(this.state.selectedPDF)) {\n return null;\n }\n return (\n <PDFPopup source={this.state.selectedPDF} onClose={this.onCloseAttachment} title={getFileName(this.state.selectedPDF)} pdfCount={1} />\n );\n }\n\n renderDeleteConfirmPopup() {\n return (\n <ConfirmPopup\n visible={this.state.showDeleteMessageConfirm}\n onConfirm={this.onConfirmDeleteMessage}\n onCancel={this.onCancelDeleteMessage}\n text=\"Are you sure you want to delete this message?\"\n yesText=\"Delete\"\n noText=\"Cancel\"\n />\n );\n }\n\n render() {\n if (Platform.OS === 'android' && !this.props.noAndroidAvoid) {\n return (\n <KeyboardAvoidingView behavior={'padding'} style={styles.chatContainer}>\n {this.renderChat()}\n {this.renderImageUploader()}\n {this.renderImagePopup()}\n {this.renderVideoPlayerPopup()}\n {this.renderPDF()}\n {this.renderDeleteConfirmPopup()}\n </KeyboardAvoidingView>\n );\n }\n return (\n <View style={styles.chatContainer}>\n {this.renderChat()}\n {this.renderImageUploader()}\n {this.renderImagePopup()}\n {this.renderVideoPlayerPopup()}\n {this.renderPDF()}\n {this.renderDeleteConfirmPopup()}\n </View>\n );\n }\n}\n\nconst styles = {\n chatContainer: {\n flex: 1,\n justifyContent: 'center',\n },\n eventContainer: {\n left: {\n paddingTop: 5,\n paddingLeft: 15,\n paddingRight: 15,\n paddingBottom: 5,\n flexDirection: 'row',\n },\n right: {\n paddingTop: 5,\n paddingLeft: 15,\n paddingRight: 15,\n paddingBottom: 5,\n flexDirection: 'row-reverse',\n },\n },\n eventImage: {\n width: 80,\n height: 80,\n resizeMode: 'cover',\n borderRadius: 2,\n },\n eventImageMargin: {\n right: {\n marginLeft: 15,\n },\n left: {\n marginRight: 15,\n },\n },\n eventInfo: {\n minHeight: 80,\n width: 150,\n },\n eventTitle: {\n fontSize: 12,\n fontFamily: 'sf-bold',\n backgroundColor: 'rgba(255,255,255,0)',\n },\n eventInfoAlign: {\n left: {\n textAlign: 'left',\n },\n right: {\n textAlign: 'right',\n },\n },\n messageImageLarge: {\n width: IMAGE_SIZE_LARGE,\n height: IMAGE_SIZE_LARGE,\n borderRadius: 2,\n alignSelf: 'center',\n },\n messageImageSmall: {\n width: IMAGE_SIZE_SMALL,\n height: IMAGE_SIZE_SMALL,\n borderRadius: 2,\n alignSelf: 'center',\n marginRight: IMAGE_MARGIN,\n marginBottom: IMAGE_MARGIN,\n },\n eventDate: {\n fontSize: 12,\n fontFamily: 'sf-regular',\n backgroundColor: 'rgba(255,255,255,0)',\n },\n inputContainer: {\n backgroundColor: '#fff',\n paddingVertical: 8,\n paddingHorizontal: 8,\n },\n inputText: {\n color: TEXT_DARKEST,\n fontSize: 14,\n fontFamily: 'sf-medium',\n },\n input: {\n margin: 0,\n backgroundColor: BG_GREY,\n borderRadius: 5,\n flex: 1,\n },\n composerContainer: {\n flex: 1,\n },\n composerInputWrapper: {\n flex: 1,\n flexDirection: 'row',\n },\n replyingTo: {\n minHeight: 30,\n flexDirection: 'row',\n alignItems: 'center',\n borderBottomWidth: 1,\n borderBottomColor: LINEGREY,\n marginBottom: 8,\n },\n replyingRemoveButton: {\n marginLeft: 10,\n },\n replyingRemoveContainer: {\n justifyContent: 'center',\n alignItems: 'center',\n borderRadius: 10,\n width: 20,\n height: 20,\n borderWidth: 2,\n borderColor: '#fff',\n },\n replyingRemoveIcon: {\n fontSize: 10,\n color: '#fff',\n marginBottom: 1,\n },\n sendContainer: {\n position: 'absolute',\n top: 0,\n right: 0,\n height: 30,\n width: 30,\n alignItems: 'center',\n justifyContent: 'center',\n backgroundColor: '#fff',\n },\n send: {\n fontSize: 15,\n color: TEXT_BLUEGREY,\n fontSize: 24,\n textAlign: 'center',\n },\n accessory: {\n height: IMAGE_PREVIEW_AREA_HEIGHT,\n borderTopWidth: 1,\n borderTopColor: LINEGREY,\n paddingTop: 8,\n marginTop: 8,\n },\n accessoryImageContainer: {\n paddingRight: 8,\n paddingTop: 8,\n marginRight: 5,\n },\n accessoryImage: {\n width: IMAGE_PREVIEW_SIZE,\n height: IMAGE_PREVIEW_SIZE,\n },\n accessoryImageBorder: {\n borderRadius: 2,\n },\n settingDropDownOpen: {\n height: 'auto',\n },\n imagesContainer: {\n marginLeft: 10,\n marginRight: 10,\n flexDirection: 'row',\n flexWrap: 'wrap',\n },\n uploadImagesContainer: {\n flexDirection: 'row',\n overflow: 'visible',\n },\n previewItemRemoveButton: {\n position: 'absolute',\n top: 0,\n right: 0,\n },\n previewItemRemoveContainer: {\n justifyContent: 'center',\n alignItems: 'center',\n borderRadius: 10,\n width: 20,\n height: 20,\n borderWidth: 2,\n borderColor: '#fff',\n },\n previewItemRemoveIcon: {\n fontSize: 10,\n color: '#fff',\n marginBottom: 1,\n },\n imagePlayContainer: {\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n alignItems: 'center',\n justifyContent: 'center',\n },\n imageControlIcon: {\n color: '#fff',\n fontSize: 20,\n textShadowColor: 'rgba(0,0,0,0.3)',\n textShadowOffset: { width: 2, height: 2 },\n },\n};\n\nconst mapStateToProps = state => {\n return {\n user: state.user,\n colourBrandingMain: getMainBrandingColourFromState(state),\n colourBrandingLight: getLightBrandingColourFromState(state),\n tabCount: getEnabledTabsFromState(state).length,\n };\n};\n\nexport default connect(mapStateToProps, {})(PlussChat);\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plusscommunities/pluss-core-app",
3
- "version": "8.0.2",
3
+ "version": "8.0.3",
4
4
  "description": "Core extension package for Pluss Communities platform",
5
5
  "main": "dist/module/index.js",
6
6
  "module": "dist/module/index.js",
@@ -24,6 +24,7 @@ class CommentReply extends Component {
24
24
  commentsLoading: true,
25
25
  addingComment: false,
26
26
  };
27
+ this.replyInputRef = React.createRef();
27
28
  }
28
29
 
29
30
  componentDidMount() {
@@ -60,7 +61,7 @@ class CommentReply extends Component {
60
61
  };
61
62
 
62
63
  focusInput() {
63
- this.refs.replyInput.focus();
64
+ this.replyInputRef.current.focus();
64
65
  }
65
66
 
66
67
  loadingStarted() {
@@ -198,7 +199,7 @@ class CommentReply extends Component {
198
199
  ]}
199
200
  >
200
201
  <TextInput
201
- ref="replyInput"
202
+ ref={this.replyInputRef}
202
203
  placeholder="Enter your comment here"
203
204
  value={this.state.commentInput}
204
205
  onFocus={() => {
@@ -602,7 +602,6 @@ class CommentSection extends Component {
602
602
  visible={this.state.imagePopupOpen}
603
603
  images={this.state.imagePopupSource}
604
604
  onClose={this.closeCommentGallery.bind(this)}
605
- ref="commentImagePopup"
606
605
  />
607
606
  );
608
607
  }
@@ -11,10 +11,11 @@ class GenericInput extends Component {
11
11
  this.state = {
12
12
  showSecureText: false,
13
13
  };
14
+ this.inputRef = React.createRef();
14
15
  }
15
16
 
16
17
  blur() {
17
- this.refs.input.blur();
18
+ this.inputRef.current.blur();
18
19
  }
19
20
 
20
21
  toggleSecureText() {
@@ -77,7 +78,7 @@ class GenericInput extends Component {
77
78
  >
78
79
  {this.renderLeftIcon()}
79
80
  <TextInput
80
- ref="input"
81
+ ref={this.inputRef}
81
82
  placeholder={this.props.placeholder}
82
83
  placeholderTextColor={TEXT_LIGHT}
83
84
  autoCorrect={this.props.autoCorrect != null ? this.props.autoCorrect : false}
@@ -91,7 +91,6 @@ class PDFPopup extends Component {
91
91
  <View style={{ flex: 1, backgroundColor: '#fff' }}>
92
92
  {this.state.loaded ? null : <Spinner style={{ height: SCREEN_HEIGHT - StatusBarHeight(145), flex: 0 }} />}
93
93
  <WebView
94
- ref="PDFWebView"
95
94
  source={{
96
95
  uri: this.getUrl(),
97
96
  }}
@@ -819,7 +819,6 @@ class PlussChat extends Component {
819
819
  images={imagePopupSource}
820
820
  index={imagePopupIndex}
821
821
  onClose={this.closeGallery.bind(this)}
822
- ref="imagePopup"
823
822
  />
824
823
  );
825
824
  }