@plusscommunities/pluss-core-app 8.0.24 → 8.0.25-beta.0

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.
@@ -5,7 +5,7 @@ import React, { Component } from "react";
5
5
  import { connect } from "react-redux";
6
6
  import { Keyboard, TextInput, View, ImageBackground, TouchableOpacity, Dimensions } from "react-native";
7
7
  import { Icon } from "@rneui/themed";
8
- import { getBottomSpace } from "react-native-iphone-x-helper";
8
+ import { withSafeAreaInsets } from "react-native-safe-area-context";
9
9
  import _ from "lodash";
10
10
  import { getApiError } from "../session";
11
11
  import { getShadowStyle } from "../helper";
@@ -176,6 +176,7 @@ class CommentReply extends Component {
176
176
  });
177
177
  }
178
178
  render() {
179
+ var _this$props$insets;
179
180
  if (_.includes(this.props.user.hidden, "addComment")) {
180
181
  return null;
181
182
  }
@@ -183,7 +184,9 @@ class CommentReply extends Component {
183
184
  return null;
184
185
  }
185
186
  return /*#__PURE__*/React.createElement(View, {
186
- style: [styles.inputContainer, getShadowStyle(), this.props.style]
187
+ style: [styles.inputContainer, getShadowStyle(), {
188
+ paddingBottom: 8 + (((_this$props$insets = this.props.insets) === null || _this$props$insets === void 0 ? void 0 : _this$props$insets.bottom) ?? 0)
189
+ }, this.props.style]
187
190
  }, /*#__PURE__*/React.createElement(View, {
188
191
  style: [styles.input, {
189
192
  marginRight: _.isEmpty(this.state.commentInput) && _.isEmpty(this.state.commentImageInput) ? 40 : 80
@@ -281,7 +284,8 @@ const styles = {
281
284
  backgroundColor: "#fff",
282
285
  paddingVertical: 8,
283
286
  paddingHorizontal: 8,
284
- paddingBottom: 8 + getBottomSpace(),
287
+ paddingBottom: 8,
288
+ // bottom inset added dynamically via props
285
289
  flexGrow: 1
286
290
  },
287
291
  inputText: {
@@ -325,6 +329,6 @@ const mapStateToProps = state => {
325
329
  };
326
330
  const commentReply = connect(mapStateToProps, {}, null, {
327
331
  forwardRef: true
328
- })(CommentReply);
332
+ })(withSafeAreaInsets(CommentReply));
329
333
  export { commentReply as CommentReply };
330
334
  //# sourceMappingURL=CommentReply.js.map
@@ -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","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","maxFontSizeMultiplier","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 {\n\tKeyboard,\n\tTextInput,\n\tView,\n\tImageBackground,\n\tTouchableOpacity,\n\tDimensions,\n} 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\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.state = {\n\t\t\tcommentImageInput: \"\",\n\t\t\tcommentInput: \"\",\n\t\t\tuploadingCommentImage: false,\n\t\t\tcommentsLoading: true,\n\t\t\taddingComment: false,\n\t\t};\n\t\tthis.replyInputRef = React.createRef();\n\t}\n\n\tcomponentDidMount() {\n\t\tif (this.props.commentSection && this.props.commentSection.current) {\n\t\t\tthis.setState({\n\t\t\t\tcommentsLoading: this.props.commentSection.current.isLoading(),\n\t\t\t});\n\t\t}\n\t}\n\n\tonUploadStarted = () => {\n\t\tthis.setState({\n\t\t\tuploadingCommentImage: true,\n\t\t});\n\t\tsetTimeout(() => {\n\t\t\tif (!this.props.noScroll) {\n\t\t\t\tthis.props.scrollView?.current?.scrollToEnd({ animated: true });\n\t\t\t}\n\t\t}, 500);\n\t};\n\n\tonUploadSuccess = (uri) => {\n\t\tthis.setState({\n\t\t\tuploadingCommentImage: false,\n\t\t\tcommentImageInput: uri.replace(\"/general/\", \"/general1400/\"),\n\t\t});\n\t};\n\n\tonUploadFailed = () => {\n\t\tthis.setState({\n\t\t\tuploadingCommentImage: false,\n\t\t\tcommentImageInput: null,\n\t\t});\n\t};\n\n\tfocusInput() {\n\t\tthis.replyInputRef.current.focus();\n\t}\n\n\tloadingStarted() {\n\t\tthis.setState({\n\t\t\tcommentsLoading: true,\n\t\t});\n\t}\n\n\tloadingCompleted() {\n\t\tthis.setState({\n\t\t\tcommentsLoading: false,\n\t\t});\n\t}\n\n\tshouldShowImageInput() {\n\t\treturn (\n\t\t\tthis.state.uploadingCommentImage ||\n\t\t\t!_.isEmpty(this.state.commentImageInput)\n\t\t);\n\t}\n\n\taddComment() {\n\t\tsetTimeout(() => {\n\t\t\tif (!this.props.noScroll) {\n\t\t\t\tthis.props.scrollView?.current?.scrollToEnd({ animated: true });\n\t\t\t}\n\t\t}, 500);\n\t\tconst text = this.state.commentInput;\n\t\tconst image = this.state.commentImageInput;\n\t\tthis.setState({\n\t\t\taddingComment: true,\n\t\t\tcommentInput: \"\",\n\t\t\tcommentImageInput: \"\",\n\t\t});\n\t\tKeyboard.dismiss();\n\t\tif (this.props.commentSection) {\n\t\t\tthis.props.commentSection?.current?.startedAddingComment();\n\t\t}\n\t\treactionActions\n\t\t\t.addComment(\n\t\t\t\tthis.props.entityId,\n\t\t\t\tthis.props.entityType,\n\t\t\t\tthis.props.entityName,\n\t\t\t\tthis.props.site,\n\t\t\t\ttext,\n\t\t\t\timage,\n\t\t\t\tthis.props.threadId,\n\t\t\t)\n\t\t\t.then((res) => {\n\t\t\t\tif (this.props.commentSection) {\n\t\t\t\t\tthis.props.commentSection?.current?.commentAdded(res.data);\n\t\t\t\t}\n\t\t\t\tthis.setState({\n\t\t\t\t\taddingComment: false,\n\t\t\t\t});\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tif (!this.props.noScroll) {\n\t\t\t\t\t\tthis.props.scrollView?.current?.scrollToEnd({ animated: true });\n\t\t\t\t\t}\n\t\t\t\t}, 500);\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tconsole.log(getApiError(err));\n\t\t\t});\n\t}\n\n\tremoveImage() {\n\t\tthis.setState({\n\t\t\tcommentImageInput: null,\n\t\t});\n\t}\n\n\tshowUploadMenu() {\n\t\tif (\n\t\t\tthis.state.uploadingCommentImage ||\n\t\t\t!_.isEmpty(this.state.commentImageInput)\n\t\t) {\n\t\t\treturn;\n\t\t}\n\t\tthis.commentImageUploader.showUploadMenu();\n\t}\n\n\trenderImageAttachment() {\n\t\tif (\n\t\t\t_.isEmpty(this.state.commentImageInput) &&\n\t\t\t!this.state.uploadingCommentImage\n\t\t) {\n\t\t\treturn null;\n\t\t}\n\t\tif (this.state.uploadingCommentImage) {\n\t\t\treturn (\n\t\t\t\t<View\n\t\t\t\t\tstyle={[\n\t\t\t\t\t\tstyles.accessoryImage,\n\t\t\t\t\t\tstyles.accessoryImageBorder,\n\t\t\t\t\t\t{ borderWidth: 1, borderColor: BG_GREY },\n\t\t\t\t\t]}\n\t\t\t\t>\n\t\t\t\t\t<Spinner />\n\t\t\t\t</View>\n\t\t\t);\n\t\t}\n\t\treturn (\n\t\t\t<ImageBackground\n\t\t\t\tstyle={styles.accessoryImage}\n\t\t\t\timageStyle={styles.accessoryImageBorder}\n\t\t\t\tsource={{ uri: this.state.commentImageInput }}\n\t\t\t>\n\t\t\t\t<TouchableOpacity\n\t\t\t\t\tstyle={styles.accessoryImageClose}\n\t\t\t\t\tonPress={this.removeImage.bind(this)}\n\t\t\t\t\thitSlop={{ top: 8, right: 8, bottom: 8, left: 8 }}\n\t\t\t\t>\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tname=\"remove\"\n\t\t\t\t\t\ttype=\"font-awesome\"\n\t\t\t\t\t\ticonStyle={styles.accessoryImageCloseIcon}\n\t\t\t\t\t\tstyle={styles.accessoryImageCloseIconContainer}\n\t\t\t\t\t/>\n\t\t\t\t</TouchableOpacity>\n\t\t\t</ImageBackground>\n\t\t);\n\t}\n\n\trenderImageUploader() {\n\t\treturn (\n\t\t\t<ImageUploader\n\t\t\t\tref={(ref) => (this.commentImageUploader = ref)}\n\t\t\t\tonUploadStarted={this.onUploadStarted}\n\t\t\t\tonUploadSuccess={this.onUploadSuccess}\n\t\t\t\tonUploadFailed={this.onUploadFailed}\n\t\t\t\tonLibrarySelected={this.onUploadSuccess}\n\t\t\t\tquality={0.8}\n\t\t\t\tallowsEditing={false}\n\t\t\t\tfileName=\"commentImage\"\n\t\t\t\tpopupTitle=\"Add Image\"\n\t\t\t\tuserId={this.props.user.uid}\n\t\t\t\thideLibrary\n\t\t\t/>\n\t\t);\n\t}\n\n\trender() {\n\t\tif (_.includes(this.props.user.hidden, \"addComment\")) {\n\t\t\treturn null;\n\t\t}\n\t\tif (this.state.commentsLoading) {\n\t\t\treturn null;\n\t\t}\n\t\treturn (\n\t\t\t<View style={[styles.inputContainer, getShadowStyle(), this.props.style]}>\n\t\t\t\t<View\n\t\t\t\t\tstyle={[\n\t\t\t\t\t\tstyles.input,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tmarginRight:\n\t\t\t\t\t\t\t\t_.isEmpty(this.state.commentInput) &&\n\t\t\t\t\t\t\t\t_.isEmpty(this.state.commentImageInput)\n\t\t\t\t\t\t\t\t\t? 40\n\t\t\t\t\t\t\t\t\t: 80,\n\t\t\t\t\t\t},\n\t\t\t\t\t]}\n\t\t\t\t>\n\t\t\t\t\t<TextInput\n\t\t\t\t\t\tmaxFontSizeMultiplier={1.2}\n\t\t\t\t\t\tref={this.replyInputRef}\n\t\t\t\t\t\tplaceholder=\"Enter your comment here\"\n\t\t\t\t\t\tvalue={this.state.commentInput}\n\t\t\t\t\t\tonFocus={() => {\n\t\t\t\t\t\t\tif (!this.props.noScroll) {\n\t\t\t\t\t\t\t\tthis.props.scrollView?.current?.scrollToEnd({ animated: true });\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tonChangeText={(value) => {\n\t\t\t\t\t\t\tif (!this.props.noScroll) {\n\t\t\t\t\t\t\t\tthis.props.scrollView?.current?.scrollToEnd({\n\t\t\t\t\t\t\t\t\tanimated: false,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tthis.setState({\n\t\t\t\t\t\t\t\tcommentInput: value,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tstyle={styles.inputText}\n\t\t\t\t\t\tautoCapitalize=\"sentences\"\n\t\t\t\t\t\tmultiline\n\t\t\t\t\t\tautoCorrect\n\t\t\t\t\t\tautoGrow\n\t\t\t\t\t/>\n\t\t\t\t</View>\n\t\t\t\t{(!_.isEmpty(this.state.commentInput) ||\n\t\t\t\t\t!_.isEmpty(this.state.commentImageInput)) &&\n\t\t\t\t\t!this.state.addingComment && (\n\t\t\t\t\t\t<TouchableOpacity\n\t\t\t\t\t\t\tonPress={this.addComment.bind(this)}\n\t\t\t\t\t\t\tstyle={[\n\t\t\t\t\t\t\t\tstyles.sendContainer,\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tright: 4,\n\t\t\t\t\t\t\t\t\tpadding: 4,\n\t\t\t\t\t\t\t\t\twidth: 40,\n\t\t\t\t\t\t\t\t\theight: 40,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t]}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\tname=\"paper-plane\"\n\t\t\t\t\t\t\t\ttype=\"font-awesome\"\n\t\t\t\t\t\t\t\ticonStyle={[styles.send, { width: 40 }]}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</TouchableOpacity>\n\t\t\t\t\t)}\n\t\t\t\t<TouchableOpacity\n\t\t\t\t\tonPress={this.showUploadMenu.bind(this)}\n\t\t\t\t\tstyle={[\n\t\t\t\t\t\tstyles.sendContainer,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tright:\n\t\t\t\t\t\t\t\t_.isEmpty(this.state.commentInput) &&\n\t\t\t\t\t\t\t\t_.isEmpty(this.state.commentImageInput)\n\t\t\t\t\t\t\t\t\t? 4\n\t\t\t\t\t\t\t\t\t: 44,\n\t\t\t\t\t\t\tpadding: 4,\n\t\t\t\t\t\t\twidth: 40,\n\t\t\t\t\t\t\theight: 40,\n\t\t\t\t\t\t},\n\t\t\t\t\t]}\n\t\t\t\t>\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tname=\"picture-o\"\n\t\t\t\t\t\ttype=\"font-awesome\"\n\t\t\t\t\t\ticonStyle={[styles.send, { width: 40 }]}\n\t\t\t\t\t/>\n\t\t\t\t</TouchableOpacity>\n\t\t\t\t{this.renderImageAttachment()}\n\t\t\t\t{this.renderImageUploader()}\n\t\t\t</View>\n\t\t);\n\t}\n}\n\nconst styles = {\n\taccessoryImage: {\n\t\tmarginTop: 8,\n\t\twidth: 60,\n\t\theight: 60,\n\t},\n\taccessoryImageBorder: {\n\t\tborderRadius: 2,\n\t},\n\taccessoryImageClose: {\n\t\twidth: 14,\n\t\theight: 14,\n\t\tborderRadius: 7,\n\t\tposition: \"absolute\",\n\t\ttop: -7,\n\t\tright: -7,\n\t\tbackgroundColor: TEXT_BLUEGREY,\n\t},\n\taccessoryImageCloseIconContainer: {\n\t\twidth: 14,\n\t\theight: 14,\n\t\talignItems: \"center\",\n\t\tjustifyContent: \"center\",\n\t},\n\taccessoryImageCloseIcon: {\n\t\tfontSize: 10,\n\t\tcolor: \"#fff\",\n\t\ttextAlign: \"center\",\n\t},\n\tinputContainer: {\n\t\tbackgroundColor: \"#fff\",\n\t\tpaddingVertical: 8,\n\t\tpaddingHorizontal: 8,\n\t\tpaddingBottom: 8 + getBottomSpace(),\n\t\tflexGrow: 1,\n\t},\n\tinputText: {\n\t\tcolor: TEXT_DARKEST,\n\t\tfontSize: 14,\n\t\tfontFamily: \"sf-medium\",\n\t},\n\tinput: {\n\t\tfontSize: 14,\n\t\tcolor: TEXT_DARKEST,\n\t\tfontFamily: \"sf-medium\",\n\t\tmargin: 0,\n\t\tbackgroundColor: BG_GREY,\n\t\tborderRadius: 5,\n\t\tpadding: 8,\n\t\tmaxHeight: SCREEN_HEIGHT / 3,\n\t},\n\tsendContainer: {\n\t\tposition: \"absolute\",\n\t\ttop: 8,\n\t\tright: 8,\n\t\theight: 30,\n\t\twidth: 30,\n\t\talignItems: \"center\",\n\t\tjustifyContent: \"center\",\n\t\tbackgroundColor: \"#fff\",\n\t},\n\tsend: {\n\t\tcolor: TEXT_BLUEGREY,\n\t\tfontSize: 24,\n\t\ttextAlign: \"center\",\n\t},\n};\n\nconst mapStateToProps = (state) => {\n\tconst { user } = state;\n\treturn { user };\n};\n\nconst commentReply = connect(mapStateToProps, {}, null, { forwardRef: true })(\n\tCommentReply,\n);\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","withSafeAreaInsets","_","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","_this$props$insets","includes","hidden","inputContainer","paddingBottom","insets","input","marginRight","maxFontSizeMultiplier","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","flexGrow","fontFamily","margin","maxHeight","mapStateToProps","commentReply","forwardRef"],"sources":["CommentReply.js"],"sourcesContent":["import React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport {\n\tKeyboard,\n\tTextInput,\n\tView,\n\tImageBackground,\n\tTouchableOpacity,\n\tDimensions,\n} from \"react-native\";\nimport { Icon } from \"@rneui/themed\";\nimport { withSafeAreaInsets } from \"react-native-safe-area-context\";\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\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.state = {\n\t\t\tcommentImageInput: \"\",\n\t\t\tcommentInput: \"\",\n\t\t\tuploadingCommentImage: false,\n\t\t\tcommentsLoading: true,\n\t\t\taddingComment: false,\n\t\t};\n\t\tthis.replyInputRef = React.createRef();\n\t}\n\n\tcomponentDidMount() {\n\t\tif (this.props.commentSection && this.props.commentSection.current) {\n\t\t\tthis.setState({\n\t\t\t\tcommentsLoading: this.props.commentSection.current.isLoading(),\n\t\t\t});\n\t\t}\n\t}\n\n\tonUploadStarted = () => {\n\t\tthis.setState({\n\t\t\tuploadingCommentImage: true,\n\t\t});\n\t\tsetTimeout(() => {\n\t\t\tif (!this.props.noScroll) {\n\t\t\t\tthis.props.scrollView?.current?.scrollToEnd({ animated: true });\n\t\t\t}\n\t\t}, 500);\n\t};\n\n\tonUploadSuccess = (uri) => {\n\t\tthis.setState({\n\t\t\tuploadingCommentImage: false,\n\t\t\tcommentImageInput: uri.replace(\"/general/\", \"/general1400/\"),\n\t\t});\n\t};\n\n\tonUploadFailed = () => {\n\t\tthis.setState({\n\t\t\tuploadingCommentImage: false,\n\t\t\tcommentImageInput: null,\n\t\t});\n\t};\n\n\tfocusInput() {\n\t\tthis.replyInputRef.current.focus();\n\t}\n\n\tloadingStarted() {\n\t\tthis.setState({\n\t\t\tcommentsLoading: true,\n\t\t});\n\t}\n\n\tloadingCompleted() {\n\t\tthis.setState({\n\t\t\tcommentsLoading: false,\n\t\t});\n\t}\n\n\tshouldShowImageInput() {\n\t\treturn (\n\t\t\tthis.state.uploadingCommentImage ||\n\t\t\t!_.isEmpty(this.state.commentImageInput)\n\t\t);\n\t}\n\n\taddComment() {\n\t\tsetTimeout(() => {\n\t\t\tif (!this.props.noScroll) {\n\t\t\t\tthis.props.scrollView?.current?.scrollToEnd({ animated: true });\n\t\t\t}\n\t\t}, 500);\n\t\tconst text = this.state.commentInput;\n\t\tconst image = this.state.commentImageInput;\n\t\tthis.setState({\n\t\t\taddingComment: true,\n\t\t\tcommentInput: \"\",\n\t\t\tcommentImageInput: \"\",\n\t\t});\n\t\tKeyboard.dismiss();\n\t\tif (this.props.commentSection) {\n\t\t\tthis.props.commentSection?.current?.startedAddingComment();\n\t\t}\n\t\treactionActions\n\t\t\t.addComment(\n\t\t\t\tthis.props.entityId,\n\t\t\t\tthis.props.entityType,\n\t\t\t\tthis.props.entityName,\n\t\t\t\tthis.props.site,\n\t\t\t\ttext,\n\t\t\t\timage,\n\t\t\t\tthis.props.threadId,\n\t\t\t)\n\t\t\t.then((res) => {\n\t\t\t\tif (this.props.commentSection) {\n\t\t\t\t\tthis.props.commentSection?.current?.commentAdded(res.data);\n\t\t\t\t}\n\t\t\t\tthis.setState({\n\t\t\t\t\taddingComment: false,\n\t\t\t\t});\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tif (!this.props.noScroll) {\n\t\t\t\t\t\tthis.props.scrollView?.current?.scrollToEnd({ animated: true });\n\t\t\t\t\t}\n\t\t\t\t}, 500);\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tconsole.log(getApiError(err));\n\t\t\t});\n\t}\n\n\tremoveImage() {\n\t\tthis.setState({\n\t\t\tcommentImageInput: null,\n\t\t});\n\t}\n\n\tshowUploadMenu() {\n\t\tif (\n\t\t\tthis.state.uploadingCommentImage ||\n\t\t\t!_.isEmpty(this.state.commentImageInput)\n\t\t) {\n\t\t\treturn;\n\t\t}\n\t\tthis.commentImageUploader.showUploadMenu();\n\t}\n\n\trenderImageAttachment() {\n\t\tif (\n\t\t\t_.isEmpty(this.state.commentImageInput) &&\n\t\t\t!this.state.uploadingCommentImage\n\t\t) {\n\t\t\treturn null;\n\t\t}\n\t\tif (this.state.uploadingCommentImage) {\n\t\t\treturn (\n\t\t\t\t<View\n\t\t\t\t\tstyle={[\n\t\t\t\t\t\tstyles.accessoryImage,\n\t\t\t\t\t\tstyles.accessoryImageBorder,\n\t\t\t\t\t\t{ borderWidth: 1, borderColor: BG_GREY },\n\t\t\t\t\t]}\n\t\t\t\t>\n\t\t\t\t\t<Spinner />\n\t\t\t\t</View>\n\t\t\t);\n\t\t}\n\t\treturn (\n\t\t\t<ImageBackground\n\t\t\t\tstyle={styles.accessoryImage}\n\t\t\t\timageStyle={styles.accessoryImageBorder}\n\t\t\t\tsource={{ uri: this.state.commentImageInput }}\n\t\t\t>\n\t\t\t\t<TouchableOpacity\n\t\t\t\t\tstyle={styles.accessoryImageClose}\n\t\t\t\t\tonPress={this.removeImage.bind(this)}\n\t\t\t\t\thitSlop={{ top: 8, right: 8, bottom: 8, left: 8 }}\n\t\t\t\t>\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tname=\"remove\"\n\t\t\t\t\t\ttype=\"font-awesome\"\n\t\t\t\t\t\ticonStyle={styles.accessoryImageCloseIcon}\n\t\t\t\t\t\tstyle={styles.accessoryImageCloseIconContainer}\n\t\t\t\t\t/>\n\t\t\t\t</TouchableOpacity>\n\t\t\t</ImageBackground>\n\t\t);\n\t}\n\n\trenderImageUploader() {\n\t\treturn (\n\t\t\t<ImageUploader\n\t\t\t\tref={(ref) => (this.commentImageUploader = ref)}\n\t\t\t\tonUploadStarted={this.onUploadStarted}\n\t\t\t\tonUploadSuccess={this.onUploadSuccess}\n\t\t\t\tonUploadFailed={this.onUploadFailed}\n\t\t\t\tonLibrarySelected={this.onUploadSuccess}\n\t\t\t\tquality={0.8}\n\t\t\t\tallowsEditing={false}\n\t\t\t\tfileName=\"commentImage\"\n\t\t\t\tpopupTitle=\"Add Image\"\n\t\t\t\tuserId={this.props.user.uid}\n\t\t\t\thideLibrary\n\t\t\t/>\n\t\t);\n\t}\n\n\trender() {\n\t\tif (_.includes(this.props.user.hidden, \"addComment\")) {\n\t\t\treturn null;\n\t\t}\n\t\tif (this.state.commentsLoading) {\n\t\t\treturn null;\n\t\t}\n\t\treturn (\n\t\t\t<View\n\t\t\t\tstyle={[\n\t\t\t\t\tstyles.inputContainer,\n\t\t\t\t\tgetShadowStyle(),\n\t\t\t\t\t{ paddingBottom: 8 + (this.props.insets?.bottom ?? 0) },\n\t\t\t\t\tthis.props.style,\n\t\t\t\t]}\n\t\t\t>\n\t\t\t\t<View\n\t\t\t\t\tstyle={[\n\t\t\t\t\t\tstyles.input,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tmarginRight:\n\t\t\t\t\t\t\t\t_.isEmpty(this.state.commentInput) &&\n\t\t\t\t\t\t\t\t_.isEmpty(this.state.commentImageInput)\n\t\t\t\t\t\t\t\t\t? 40\n\t\t\t\t\t\t\t\t\t: 80,\n\t\t\t\t\t\t},\n\t\t\t\t\t]}\n\t\t\t\t>\n\t\t\t\t\t<TextInput\n\t\t\t\t\t\tmaxFontSizeMultiplier={1.2}\n\t\t\t\t\t\tref={this.replyInputRef}\n\t\t\t\t\t\tplaceholder=\"Enter your comment here\"\n\t\t\t\t\t\tvalue={this.state.commentInput}\n\t\t\t\t\t\tonFocus={() => {\n\t\t\t\t\t\t\tif (!this.props.noScroll) {\n\t\t\t\t\t\t\t\tthis.props.scrollView?.current?.scrollToEnd({ animated: true });\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tonChangeText={(value) => {\n\t\t\t\t\t\t\tif (!this.props.noScroll) {\n\t\t\t\t\t\t\t\tthis.props.scrollView?.current?.scrollToEnd({\n\t\t\t\t\t\t\t\t\tanimated: false,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tthis.setState({\n\t\t\t\t\t\t\t\tcommentInput: value,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tstyle={styles.inputText}\n\t\t\t\t\t\tautoCapitalize=\"sentences\"\n\t\t\t\t\t\tmultiline\n\t\t\t\t\t\tautoCorrect\n\t\t\t\t\t\tautoGrow\n\t\t\t\t\t/>\n\t\t\t\t</View>\n\t\t\t\t{(!_.isEmpty(this.state.commentInput) ||\n\t\t\t\t\t!_.isEmpty(this.state.commentImageInput)) &&\n\t\t\t\t\t!this.state.addingComment && (\n\t\t\t\t\t\t<TouchableOpacity\n\t\t\t\t\t\t\tonPress={this.addComment.bind(this)}\n\t\t\t\t\t\t\tstyle={[\n\t\t\t\t\t\t\t\tstyles.sendContainer,\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tright: 4,\n\t\t\t\t\t\t\t\t\tpadding: 4,\n\t\t\t\t\t\t\t\t\twidth: 40,\n\t\t\t\t\t\t\t\t\theight: 40,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t]}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\tname=\"paper-plane\"\n\t\t\t\t\t\t\t\ttype=\"font-awesome\"\n\t\t\t\t\t\t\t\ticonStyle={[styles.send, { width: 40 }]}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</TouchableOpacity>\n\t\t\t\t\t)}\n\t\t\t\t<TouchableOpacity\n\t\t\t\t\tonPress={this.showUploadMenu.bind(this)}\n\t\t\t\t\tstyle={[\n\t\t\t\t\t\tstyles.sendContainer,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tright:\n\t\t\t\t\t\t\t\t_.isEmpty(this.state.commentInput) &&\n\t\t\t\t\t\t\t\t_.isEmpty(this.state.commentImageInput)\n\t\t\t\t\t\t\t\t\t? 4\n\t\t\t\t\t\t\t\t\t: 44,\n\t\t\t\t\t\t\tpadding: 4,\n\t\t\t\t\t\t\twidth: 40,\n\t\t\t\t\t\t\theight: 40,\n\t\t\t\t\t\t},\n\t\t\t\t\t]}\n\t\t\t\t>\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tname=\"picture-o\"\n\t\t\t\t\t\ttype=\"font-awesome\"\n\t\t\t\t\t\ticonStyle={[styles.send, { width: 40 }]}\n\t\t\t\t\t/>\n\t\t\t\t</TouchableOpacity>\n\t\t\t\t{this.renderImageAttachment()}\n\t\t\t\t{this.renderImageUploader()}\n\t\t\t</View>\n\t\t);\n\t}\n}\n\nconst styles = {\n\taccessoryImage: {\n\t\tmarginTop: 8,\n\t\twidth: 60,\n\t\theight: 60,\n\t},\n\taccessoryImageBorder: {\n\t\tborderRadius: 2,\n\t},\n\taccessoryImageClose: {\n\t\twidth: 14,\n\t\theight: 14,\n\t\tborderRadius: 7,\n\t\tposition: \"absolute\",\n\t\ttop: -7,\n\t\tright: -7,\n\t\tbackgroundColor: TEXT_BLUEGREY,\n\t},\n\taccessoryImageCloseIconContainer: {\n\t\twidth: 14,\n\t\theight: 14,\n\t\talignItems: \"center\",\n\t\tjustifyContent: \"center\",\n\t},\n\taccessoryImageCloseIcon: {\n\t\tfontSize: 10,\n\t\tcolor: \"#fff\",\n\t\ttextAlign: \"center\",\n\t},\n\tinputContainer: {\n\t\tbackgroundColor: \"#fff\",\n\t\tpaddingVertical: 8,\n\t\tpaddingHorizontal: 8,\n\t\tpaddingBottom: 8, // bottom inset added dynamically via props\n\t\tflexGrow: 1,\n\t},\n\tinputText: {\n\t\tcolor: TEXT_DARKEST,\n\t\tfontSize: 14,\n\t\tfontFamily: \"sf-medium\",\n\t},\n\tinput: {\n\t\tfontSize: 14,\n\t\tcolor: TEXT_DARKEST,\n\t\tfontFamily: \"sf-medium\",\n\t\tmargin: 0,\n\t\tbackgroundColor: BG_GREY,\n\t\tborderRadius: 5,\n\t\tpadding: 8,\n\t\tmaxHeight: SCREEN_HEIGHT / 3,\n\t},\n\tsendContainer: {\n\t\tposition: \"absolute\",\n\t\ttop: 8,\n\t\tright: 8,\n\t\theight: 30,\n\t\twidth: 30,\n\t\talignItems: \"center\",\n\t\tjustifyContent: \"center\",\n\t\tbackgroundColor: \"#fff\",\n\t},\n\tsend: {\n\t\tcolor: TEXT_BLUEGREY,\n\t\tfontSize: 24,\n\t\ttextAlign: \"center\",\n\t},\n};\n\nconst mapStateToProps = (state) => {\n\tconst { user } = state;\n\treturn { user };\n};\n\nconst commentReply = connect(mapStateToProps, {}, null, { forwardRef: true })(\n\twithSafeAreaInsets(CommentReply),\n);\nexport { commentReply as CommentReply };\n"],"mappings":"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","ignoreList":[]}
@@ -5,6 +5,7 @@ import React, { Component } from "react";
5
5
  import { Text } from "@plusscommunities/pluss-core-app/components";
6
6
  import { View, ScrollView, TouchableOpacity, Platform, Linking, Modal, Dimensions, StyleSheet, ImageBackground } from "react-native";
7
7
  import { connect } from "react-redux";
8
+ import { withSafeAreaInsets } from "react-native-safe-area-context";
8
9
  import { Icon } from "@rneui/themed";
9
10
  import _ from "lodash";
10
11
  import { Camera } from "expo-camera";
@@ -523,14 +524,18 @@ class ImageUploader extends Component {
523
524
  });
524
525
  }
525
526
  renderAttachButton() {
527
+ var _this$props$insets;
526
528
  const {
527
529
  selected,
528
530
  selectedType
529
531
  } = this.state;
530
532
  const canAttach = selected.length > 0 && !_.isEmpty(selectedType);
531
533
  const attachText = `Attach ${canAttach ? selected.length : ""} ${canAttach ? selectedType : ""}${selected.length > 1 ? "s" : ""}`;
534
+ const bottom = Platform.OS === "android" ? ((_this$props$insets = this.props.insets) === null || _this$props$insets === void 0 ? void 0 : _this$props$insets.bottom) ?? 0 : 0;
532
535
  return /*#__PURE__*/React.createElement(View, {
533
- style: styles.buttonContainer
536
+ style: [styles.buttonContainer, bottom > 0 && {
537
+ paddingBottom: bottom
538
+ }]
534
539
  }, /*#__PURE__*/React.createElement(InlineButton, {
535
540
  color: canAttach ? this.props.colourBrandingMain : INACTIVE_BUTTON,
536
541
  onPress: this.state.onAttach,
@@ -540,6 +545,7 @@ class ImageUploader extends Component {
540
545
  }, attachText));
541
546
  }
542
547
  renderSelectAlbumPopup() {
548
+ var _this$props$insets2;
543
549
  const {
544
550
  showSelectAlbum,
545
551
  localAlbums,
@@ -575,6 +581,8 @@ class ImageUploader extends Component {
575
581
  }, /*#__PURE__*/React.createElement(View, {
576
582
  style: [styles.albumOptionContainer, {
577
583
  marginHorizontal: 0
584
+ }, Platform.OS === "android" && {
585
+ paddingBottom: 16 + (((_this$props$insets2 = this.props.insets) === null || _this$props$insets2 === void 0 ? void 0 : _this$props$insets2.bottom) ?? 0)
578
586
  }]
579
587
  }, /*#__PURE__*/React.createElement(Text, {
580
588
  style: [styles.albumOptionText, {
@@ -803,5 +811,5 @@ export default connect(mapStateToProps, {
803
811
  imageLibraryLoaded
804
812
  }, null, {
805
813
  forwardRef: true
806
- })(ImageUploader);
814
+ })(withSafeAreaInsets(ImageUploader));
807
815
  //# sourceMappingURL=ImageUploader.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","Component","Text","View","ScrollView","TouchableOpacity","Platform","Linking","Modal","Dimensions","StyleSheet","ImageBackground","connect","Icon","_","Camera","MediaLibrary","ImageManipulator","ImagePicker","ImageBrowser","ExpoImageManipulator","Header","Popup","PopupMenu","InlineButton","getValueOrDefault","getThumb300","isVideo","getMainBrandingColourFromState","BOXGREY","INACTIVE_BUTTON","TEXT_BLUEGREY","TEXT_DARK","LINEGREY","Config","fileActions","stockImagesLoaded","imageLibraryLoaded","SCREEN_WIDTH","get","width","SCREEN_HEIGHT","height","DEFAULT_ASPECT","DEFAULT_ALLOWS_EDITING","DEFAULT_ALLOWS_IOS_CAMERA_EDITING","DEFAULT_EXIF","DEFULAT_IMAGE_TYPE","DEFAULT_IMAGE_NAME","DEFAULT_VIDEO_NAME","DEFAULT_SIZE","DEFAULT_COMPRESSION","ImageUploader","constructor","props","_defineProperty","hasPermission","getPermissionsAsync","granted","setState","loadingLocalFolders","localAlbums","getAlbumsAsync","includeSmartAlbums","title","id","error","console","log","loadingRemoteFolders","stockImages","getStockPhotos","libraryRes","getMediaFolders","user","site","data","mediaUri","uploadUri","uri","resizeImageAsync","res","uploadUserMediaWithProgress","progress","onUploadProgress","onUploadSuccess","env","baseUploadsUrl","key","e","onUploadFailed","actions","resize","size","saveOptions","format","compress","quality","base64","manipulateAsync","imageUri","fileName","getUploadUrl","userId","onUploadStarted","hideUploadMenu","resized","onlySelectImage","onImageSelected","imagesSelected","imagesUploaded","map","image","i","length","fileType","substring","lastIndexOf","_this$state$localAlbu","cameraPermission","requestCameraPermissionsAsync","rollPermission","requestPermissionsAsync","status","OS","showWarningPopup","state","loadLocalAlbums","multiple","allowVideo","allowsEditing","askPermissionsAsync","editingAllowed","isEditingEnabled","allowsEditingIOSCamera","result","launchCameraAsync","aspect","exif","canceled","isEmpty","assets","handleImagePicked","mediaTypes","MediaTypeOptions","Videos","showUploadMenu","setTimeout","showPhotos","selected","showRemote","selectedAlbumId","launchImageLibraryAsync","All","Images","cancelled","type","handleVideoPicked","handleMultiImagePicked","showCropper","showSelectAlbum","videoSelected","onAttach","selectedType","callback","openCropper","mediaSelected","onLibrarySelected","media","mediaType","MediaType","video","localUri","hidePhotos","deleteIndex","indexOf","splice","options","text","onPress","openCamera","push","openVideoCamera","openPhotos","hideLibrary","openLibrary","selectedItemNumber","createElement","style","styles","selectedItemContainer","selectedMarkerContainer","backgroundColor","colourBrandingMain","selectedItemText","name","iconStyle","selectedItemIcon","warning","componentDidMount","loadRemoteAlbums","camera","roll","innerWarning","closeWarningPopup","goToPermissionSettings","openURL","renderSelectionPreview","horizontal","showsHorizontalScrollIndicator","contentContainerStyle","selectionPreviewContainer","previewItemContainer","previewItemImage","source","previewItemRemoveButton","onRemoveImage","previewItemRemoveContainer","previewItemRemoveIcon","renderSelectedAlbum","selectedAlbum","imageLibrary","find","album","selectedAlbumText","onSelectAlbum","selectAlbumButton","selectAlbumButtonText","selectAlbumButtonIcon","renderBrowser","imagesLimit","max","loadCount","onChange","onSelectionChange","renderSelectedComponent","onSelected","browserContainer","itemStyle","itemContainer","itemWidth","itemHeight","remoteAlbums","renderAttachButton","canAttach","attachText","buttonContainer","color","fillTouchable","large","disabled","renderSelectAlbumPopup","visible","transparent","animationType","onRequestClose","onSelectAlbumClosed","selectAlbumModal","selectAlbumContainer","selectAlbumTitleContainer","selectAlbumTitle","index","onAlbumSelected","albumOptionContainer","borderTopWidth","albumOptionText","marginHorizontal","renderPhotos","leftIcon","onPressLeft","popupTitle","contentContainer","render","action","bind","bold","buildOptions","onClose","cancelText","photo","onToggleModal","toggleCropper","isVisible","onPictureChoosed","create","flex","padding","position","top","right","borderRadius","alignItems","justifyContent","fontFamily","fontSize","marginBottom","paddingHorizontal","paddingTop","flexDirection","marginRight","bottom","left","zIndex","borderTopLeftRadius","borderTopRightRadius","maxHeight","borderColor","borderBottomWidth","textAlign","paddingVertical","paddingRight","paddingLeft","overflow","borderWidth","mapStateToProps","filter","folder","Public","Name","RowId","images","forwardRef"],"sources":["ImageUploader.js"],"sourcesContent":["import React, { Component } from \"react\";\nimport { Text } from \"@plusscommunities/pluss-core-app/components\";\nimport {\n\tView,\n\tScrollView,\n\tTouchableOpacity,\n\tPlatform,\n\tLinking,\n\tModal,\n\tDimensions,\n\tStyleSheet,\n\tImageBackground,\n} from \"react-native\";\nimport { connect } from \"react-redux\";\nimport { Icon } from \"@rneui/themed\";\nimport _ from \"lodash\";\nimport { Camera } from \"expo-camera\";\nimport * as MediaLibrary from \"expo-media-library\";\nimport * as ImageManipulator from \"expo-image-manipulator\";\nimport * as ImagePicker from \"expo-image-picker\";\nimport ImageBrowser from \"./expo-image-picker-multiple/ImageBrowser\";\nimport ExpoImageManipulator from \"./react-native-expo-image-cropper/ExpoImageManipulator\";\nimport Header from \"./Header\";\nimport { Popup } from \"./Popup\";\nimport { PopupMenu } from \"./PopupMenu\";\nimport { InlineButton } from \"./InlineButton\";\nimport { getValueOrDefault, getThumb300, isVideo } from \"../helper\";\nimport {\n\tgetMainBrandingColourFromState,\n\tBOXGREY,\n\tINACTIVE_BUTTON,\n\tTEXT_BLUEGREY,\n\tTEXT_DARK,\n\tLINEGREY,\n} from \"../colours\";\nimport Config from \"../config\";\nimport { fileActions } from \"../apis\";\nimport { stockImagesLoaded, imageLibraryLoaded } from \"../actions\";\n\nconst SCREEN_WIDTH = Dimensions.get(\"window\").width;\nconst SCREEN_HEIGHT = Dimensions.get(\"window\").height;\nconst DEFAULT_ASPECT = [1, 1];\nconst DEFAULT_ALLOWS_EDITING = true;\nconst DEFAULT_ALLOWS_IOS_CAMERA_EDITING = false;\nconst DEFAULT_EXIF = true;\nconst DEFULAT_IMAGE_TYPE = \"jpeg\";\nconst DEFAULT_IMAGE_NAME = \"image\";\nconst DEFAULT_VIDEO_NAME = \"video\";\nconst DEFAULT_SIZE = {\n\twidth: 1400,\n};\nconst DEFAULT_COMPRESSION = 0.8;\n\nclass ImageUploader extends Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.state = {\n\t\t\tshowUploadMenu: false,\n\t\t\twarning: null,\n\t\t\tshowPhotos: false,\n\t\t\tshowRemote: false,\n\t\t\tselected: [],\n\t\t\tselectedType: \"\",\n\t\t\tonAttach: null,\n\t\t\tselectedAlbumId: \"\",\n\t\t\tshowSelectAlbum: false,\n\t\t\tshowCropper: false,\n\t\t\tlocalAlbums: [],\n\t\t\tloadingLocalFolders: false,\n\t\t\tloadingRemoteFolders: false,\n\t\t};\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.loadLocalAlbums();\n\t\tthis.loadRemoteAlbums();\n\t}\n\n\tloadLocalAlbums = async () => {\n\t\tconst hasPermission = await MediaLibrary.getPermissionsAsync();\n\t\tif (!hasPermission.granted) return;\n\n\t\tthis.setState({ loadingLocalFolders: true }, async () => {\n\t\t\ttry {\n\t\t\t\tconst localAlbums = await MediaLibrary.getAlbumsAsync({\n\t\t\t\t\tincludeSmartAlbums: true,\n\t\t\t\t});\n\t\t\t\tthis.setState({\n\t\t\t\t\tloadingLocalFolders: false,\n\t\t\t\t\tlocalAlbums: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttitle: \"All Photos\",\n\t\t\t\t\t\t\tid: \"\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t...localAlbums,\n\t\t\t\t\t],\n\t\t\t\t});\n\t\t\t} catch (error) {\n\t\t\t\tconsole.log(\"loadLocalAlbums - error\", error);\n\t\t\t\tthis.setState({ loadingLocalFolders: false });\n\t\t\t}\n\t\t});\n\t};\n\n\tloadRemoteAlbums = () => {\n\t\tthis.setState({ loadingRemoteFolders: true }, async () => {\n\t\t\ttry {\n\t\t\t\tconst stockImages = await fileActions.getStockPhotos();\n\t\t\t\tthis.props.stockImagesLoaded(stockImages);\n\t\t\t\tconst libraryRes = await fileActions.getMediaFolders(\n\t\t\t\t\tthis.props.user.site,\n\t\t\t\t);\n\t\t\t\tthis.props.imageLibraryLoaded(libraryRes.data);\n\t\t\t} catch (error) {\n\t\t\t\tconsole.log(\"loadRemoteAlbums - error\", error);\n\t\t\t} finally {\n\t\t\t\tthis.setState({ loadingRemoteFolders: false });\n\t\t\t}\n\t\t});\n\t};\n\n\tshowUploadMenu() {\n\t\tthis.setState({\n\t\t\tshowUploadMenu: true,\n\t\t});\n\t}\n\n\thideUploadMenu() {\n\t\tthis.setState({\n\t\t\tshowUploadMenu: false,\n\t\t});\n\t}\n\n\tretryUpload = async (mediaUri, uploadUri) => {\n\t\ttry {\n\t\t\tconst uri = isVideo(uploadUri)\n\t\t\t\t? mediaUri\n\t\t\t\t: (await this.resizeImageAsync(mediaUri)).uri;\n\t\t\tconst res = await fileActions.uploadUserMediaWithProgress(\n\t\t\t\turi,\n\t\t\t\tuploadUri,\n\t\t\t\t(progress) => {\n\t\t\t\t\tif (this.props.onUploadProgress)\n\t\t\t\t\t\tthis.props.onUploadProgress(progress);\n\t\t\t\t},\n\t\t\t);\n\t\t\tthis.props.onUploadSuccess(\n\t\t\t\tConfig.env.baseUploadsUrl + res.key,\n\t\t\t\tuploadUri,\n\t\t\t);\n\t\t\tconsole.log(\"upload(retry) success\", Config.env.baseUploadsUrl + res.key);\n\t\t} catch (e) {\n\t\t\tconsole.log(\"retryUpload error\", e);\n\t\t\tthis.props.onUploadFailed(uploadUri);\n\t\t}\n\t};\n\n\tresizeImageAsync = async (uri) => {\n\t\tconst actions = [\n\t\t\t{\n\t\t\t\tresize: getValueOrDefault(this.props.size, DEFAULT_SIZE),\n\t\t\t},\n\t\t];\n\t\tconst saveOptions = {\n\t\t\tformat: DEFULAT_IMAGE_TYPE,\n\t\t\tcompress: getValueOrDefault(this.props.quality, DEFAULT_COMPRESSION),\n\t\t\tbase64: true,\n\t\t};\n\t\treturn await ImageManipulator.manipulateAsync(uri, actions, saveOptions);\n\t};\n\n\thandleImagePicked = async (imageUri) => {\n\t\tlet uploadUri;\n\t\ttry {\n\t\t\tconst fileName = `${getValueOrDefault(this.props.fileName, DEFAULT_IMAGE_NAME)}.${DEFULAT_IMAGE_TYPE}`;\n\t\t\tuploadUri = fileActions.getUploadUrl(this.props.userId, fileName);\n\n\t\t\tthis.props.onUploadStarted(uploadUri, imageUri);\n\t\t\tthis.hideUploadMenu();\n\n\t\t\tconst resized = await this.resizeImageAsync(imageUri);\n\t\t\tif (this.props.onlySelectImage) {\n\t\t\t\tthis.props.onImageSelected(resized, fileName);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst res = await fileActions.uploadUserMediaWithProgress(\n\t\t\t\tresized.uri,\n\t\t\t\tuploadUri,\n\t\t\t\t(progress) => {\n\t\t\t\t\tif (this.props.onUploadProgress)\n\t\t\t\t\t\tthis.props.onUploadProgress(progress);\n\t\t\t\t},\n\t\t\t);\n\n\t\t\tthis.props.onUploadSuccess(\n\t\t\t\tConfig.env.baseUploadsUrl + res.key,\n\t\t\t\tuploadUri,\n\t\t\t);\n\t\t\tconsole.log(\"upload success\", Config.env.baseUploadsUrl + res.key);\n\t\t} catch (e) {\n\t\t\tconsole.log(\"handleImagePicked error\", e);\n\t\t\tthis.props.onUploadFailed(uploadUri);\n\t\t}\n\t};\n\n\thandleMultiImagePicked = async (imagesSelected) => {\n\t\t// Signal start of all images selected\n\t\tconst imagesUploaded = imagesSelected.map((image) => {\n\t\t\tconst fileName = `${getValueOrDefault(this.props.fileName, DEFAULT_IMAGE_NAME)}.${DEFULAT_IMAGE_TYPE}`;\n\t\t\tconst uploadUri = fileActions.getUploadUrl(this.props.userId, fileName);\n\t\t\tif (!this.props.onlySelectImage)\n\t\t\t\tthis.props.onUploadStarted(uploadUri, image.uri);\n\t\t\treturn { imageUri: image.uri, uploadUri, fileName };\n\t\t});\n\t\tthis.hideUploadMenu();\n\n\t\t// Sequentially upload all imagesUploaded\n\t\tfor (let i = 0; i < imagesUploaded.length; i++) {\n\t\t\tconst image = imagesUploaded[i];\n\t\t\tconst { imageUri, uploadUri, fileName } = image;\n\t\t\ttry {\n\t\t\t\tconst resized = await this.resizeImageAsync(imageUri);\n\t\t\t\tif (this.props.onlySelectImage) {\n\t\t\t\t\tthis.props.onImageSelected(resized, fileName);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst res = await fileActions.uploadUserMediaWithProgress(\n\t\t\t\t\tresized.uri,\n\t\t\t\t\tuploadUri,\n\t\t\t\t\t(progress) => {\n\t\t\t\t\t\tif (this.props.onUploadProgress)\n\t\t\t\t\t\t\tthis.props.onUploadProgress(progress);\n\t\t\t\t\t},\n\t\t\t\t);\n\t\t\t\tthis.props.onUploadSuccess(\n\t\t\t\t\tConfig.env.baseUploadsUrl + res.key,\n\t\t\t\t\tuploadUri,\n\t\t\t\t);\n\t\t\t\tconsole.log(\"upload success\", Config.env.baseUploadsUrl + res.key);\n\t\t\t} catch (e) {\n\t\t\t\tconsole.log(\"handleMultiImagePicked error\", e);\n\t\t\t\tthis.props.onUploadFailed(uploadUri);\n\t\t\t}\n\t\t}\n\t};\n\n\thandleVideoPicked = async (uri) => {\n\t\tlet uploadUri;\n\t\ttry {\n\t\t\tconst fileType = uri.substring(uri.lastIndexOf(\".\") + 1);\n\t\t\tconst fileName = `${getValueOrDefault(this.props.fileName, DEFAULT_VIDEO_NAME)}.${fileType}`;\n\t\t\tuploadUri = fileActions.getUploadUrl(this.props.userId, fileName);\n\n\t\t\tthis.props.onUploadStarted(uploadUri, uri);\n\t\t\tthis.hideUploadMenu();\n\n\t\t\tconst res = await fileActions.uploadUserMediaWithProgress(\n\t\t\t\turi,\n\t\t\t\tuploadUri,\n\t\t\t\t(progress) => {\n\t\t\t\t\tif (this.props.onUploadProgress)\n\t\t\t\t\t\tthis.props.onUploadProgress(progress);\n\t\t\t\t},\n\t\t\t);\n\n\t\t\tthis.props.onUploadSuccess(\n\t\t\t\tConfig.env.baseUploadsUrl + res.key,\n\t\t\t\tuploadUri,\n\t\t\t);\n\t\t\tconsole.log(\"upload success\", Config.env.baseUploadsUrl + res.key);\n\t\t} catch (e) {\n\t\t\tconsole.log(\"handleVideoPicked error\", e);\n\t\t\tthis.props.onUploadFailed(uploadUri);\n\t\t}\n\t};\n\n\tshowWarningPopup(camera, roll) {\n\t\tif (Platform.OS !== \"ios\") {\n\t\t\treturn;\n\t\t}\n\t\tlet innerWarning = \"\";\n\t\tif (camera && roll) {\n\t\t\tinnerWarning = \"both your camera and photo library\";\n\t\t} else if (camera) {\n\t\t\tinnerWarning = \"your camera\";\n\t\t} else if (roll) {\n\t\t\tinnerWarning = \"your photo library\";\n\t\t} else {\n\t\t\t// nothing to warn about\n\t\t\treturn;\n\t\t}\n\t\tthis.setState({\n\t\t\twarning: `You must grant access to ${innerWarning}. Tap Go to settings to change your permission settings.`,\n\t\t});\n\t}\n\n\tcloseWarningPopup() {\n\t\tthis.setState({\n\t\t\twarning: null,\n\t\t});\n\t}\n\n\tgoToPermissionSettings() {\n\t\tLinking.openURL(\"app-settings:\");\n\t\tthis.setState({\n\t\t\twarning: null,\n\t\t});\n\t}\n\n\taskPermissionsAsync = async () => {\n\t\tconst cameraPermission = await Camera.requestCameraPermissionsAsync();\n\t\tconst rollPermission = await MediaLibrary.requestPermissionsAsync();\n\t\tif (\n\t\t\tcameraPermission.status !== \"granted\" ||\n\t\t\t(Platform.OS === \"ios\" && rollPermission.status !== \"granted\")\n\t\t) {\n\t\t\tthis.showWarningPopup(\n\t\t\t\tcameraPermission.status !== \"granted\",\n\t\t\t\trollPermission.status !== \"granted\",\n\t\t\t);\n\t\t\treturn false;\n\t\t}\n\t\tif (this.state.localAlbums?.length <= 0) this.loadLocalAlbums();\n\n\t\treturn true;\n\t};\n\n\tisEditingEnabled = () => {\n\t\treturn (\n\t\t\t!this.props.multiple &&\n\t\t\t!this.props.allowVideo &&\n\t\t\tgetValueOrDefault(this.props.allowsEditing, DEFAULT_ALLOWS_EDITING)\n\t\t);\n\t};\n\n\topenCamera = async () => {\n\t\tif (!(await this.askPermissionsAsync())) return;\n\n\t\tlet editingAllowed = this.isEditingEnabled();\n\t\tif (Platform.OS === \"ios\") {\n\t\t\teditingAllowed = getValueOrDefault(\n\t\t\t\tthis.props.allowsEditingIOSCamera,\n\t\t\t\tgetValueOrDefault(\n\t\t\t\t\tthis.props.allowsEditing,\n\t\t\t\t\tDEFAULT_ALLOWS_IOS_CAMERA_EDITING,\n\t\t\t\t),\n\t\t\t);\n\t\t}\n\t\tconst result = await ImagePicker.launchCameraAsync({\n\t\t\tallowsEditing: editingAllowed,\n\t\t\taspect: getValueOrDefault(this.props.aspect, DEFAULT_ASPECT),\n\t\t\texif: getValueOrDefault(this.props.exif, DEFAULT_EXIF),\n\t\t});\n\n\t\tif (!result.canceled && !_.isEmpty(result.assets)) {\n\t\t\tthis.handleImagePicked(result.assets[0].uri);\n\t\t}\n\t};\n\n\topenVideoCamera = async () => {\n\t\tif (!(await this.askPermissionsAsync())) return;\n\n\t\tconst result = await ImagePicker.launchCameraAsync({\n\t\t\tallowsEditing: this.isEditingEnabled(),\n\t\t\tmediaTypes: ImagePicker.MediaTypeOptions.Videos,\n\t\t});\n\n\t\tif (!result.canceled && !_.isEmpty(result.assets)) {\n\t\t\tthis.handleImagePicked(result.assets[0].uri);\n\t\t}\n\t};\n\n\topenLibrary = async () => {\n\t\tthis.setState(\n\t\t\t{\n\t\t\t\tshowUploadMenu: false,\n\t\t\t},\n\t\t\t() => {\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tthis.setState({\n\t\t\t\t\t\tshowPhotos: true,\n\t\t\t\t\t\tselected: [],\n\t\t\t\t\t\tshowRemote: true,\n\t\t\t\t\t\tselectedAlbumId: \"\",\n\t\t\t\t\t});\n\t\t\t\t}, 1000);\n\t\t\t},\n\t\t);\n\t};\n\n\topenPhotos = async () => {\n\t\tif (Platform.OS === \"android\") {\n\t\t\tconst result = await ImagePicker.launchImageLibraryAsync({\n\t\t\t\tallowsEditing: this.isEditingEnabled(),\n\t\t\t\taspect: getValueOrDefault(this.props.aspect, DEFAULT_ASPECT),\n\t\t\t\texif: getValueOrDefault(this.props.exif, DEFAULT_EXIF),\n\t\t\t\tmediaTypes: this.props.allowVideo\n\t\t\t\t\t? ImagePicker.MediaTypeOptions.All\n\t\t\t\t\t: ImagePicker.MediaTypeOptions.Images,\n\t\t\t});\n\t\t\tif (!result.cancelled) {\n\t\t\t\tif (result.assets.length === 1 && result.assets[0].type === \"video\") {\n\t\t\t\t\tthis.handleVideoPicked(result.assets[0].uri);\n\t\t\t\t} else {\n\t\t\t\t\tthis.handleMultiImagePicked(result.assets);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\t// iOS behaviour\n\t\tif (!(await this.askPermissionsAsync())) return;\n\n\t\tthis.setState(\n\t\t\t{\n\t\t\t\tshowUploadMenu: false,\n\t\t\t},\n\t\t\t() => {\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tthis.setState({\n\t\t\t\t\t\tshowPhotos: true,\n\t\t\t\t\t\tselected: [],\n\t\t\t\t\t\tshowRemote: false,\n\t\t\t\t\t\tselectedAlbumId: \"\",\n\t\t\t\t\t});\n\t\t\t\t}, 1000);\n\t\t\t},\n\t\t);\n\t};\n\n\thidePhotos = () => {\n\t\tthis.setState({ showPhotos: false });\n\t};\n\n\topenCropper = () => {\n\t\t// Switching modals - requires a timeout to ensure the modal is closed before opening the next one\n\t\tthis.setState(\n\t\t\t{\n\t\t\t\tshowPhotos: false,\n\t\t\t},\n\t\t\t() => {\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tthis.setState({\n\t\t\t\t\t\tshowCropper: true,\n\t\t\t\t\t});\n\t\t\t\t}, 1000);\n\t\t\t},\n\t\t);\n\t};\n\n\ttoggleCropper = () => {\n\t\tthis.setState({ showCropper: !this.state.showCropper });\n\t};\n\n\tonSelectAlbum = () => {\n\t\tthis.setState({ showSelectAlbum: true });\n\t};\n\n\tonSelectAlbumClosed = () => {\n\t\tthis.setState({ showSelectAlbum: false });\n\t};\n\n\tonAlbumSelected = (selectedAlbumId) => {\n\t\tthis.setState({ showSelectAlbum: false, selectedAlbumId });\n\t};\n\n\tonSelectionChange = (selected, videoSelected, onAttach) => {\n\t\tthis.setState({\n\t\t\tselected,\n\t\t\tselectedType: videoSelected ? \"video\" : \"image\",\n\t\t\tonAttach,\n\t\t});\n\t};\n\n\tonSelected = async (callback) => {\n\t\tif (this.isEditingEnabled()) {\n\t\t\tthis.openCropper();\n\t\t} else {\n\t\t\tconst mediaSelected = await callback;\n\t\t\t// console.log('mediaSelected', mediaSelected);\n\t\t\tif (this.state.showRemote) {\n\t\t\t\tif (this.props.onLibrarySelected) {\n\t\t\t\t\tmediaSelected.map((media) => {\n\t\t\t\t\t\tthis.props.onLibrarySelected(media.uri);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (mediaSelected[0].mediaType === MediaLibrary.MediaType.video) {\n\t\t\t\t\tconst uri = mediaSelected[0].localUri || mediaSelected[0].uri;\n\t\t\t\t\tthis.handleVideoPicked(uri);\n\t\t\t\t} else {\n\t\t\t\t\tthis.handleMultiImagePicked(mediaSelected);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.hidePhotos();\n\t\t}\n\t};\n\n\tonRemoveImage = (uri) => {\n\t\tconst selected = [...this.state.selected];\n\t\tconst deleteIndex = selected.indexOf(uri);\n\t\tselected.splice(deleteIndex, 1);\n\t\tthis.setState({ selected });\n\t};\n\n\tbuildOptions = () => {\n\t\tconst options = [\n\t\t\t{\n\t\t\t\ttext: \"Take photo\",\n\t\t\t\tonPress: this.openCamera,\n\t\t\t},\n\t\t];\n\t\tif (this.props.allowVideo)\n\t\t\toptions.push({\n\t\t\t\ttext: \"Record video\",\n\t\t\t\tonPress: this.openVideoCamera,\n\t\t\t});\n\t\toptions.push({\n\t\t\ttext: \"Camera Roll\",\n\t\t\tonPress: this.openPhotos,\n\t\t});\n\t\tif (!this.props.hideLibrary)\n\t\t\toptions.push({\n\t\t\t\ttext: \"Image Library\",\n\t\t\t\tonPress: this.openLibrary,\n\t\t\t});\n\n\t\treturn options;\n\t};\n\n\trenderSelectionPreview() {\n\t\tconst { selected, showRemote } = this.state;\n\n\t\treturn (\n\t\t\t<View>\n\t\t\t\t<ScrollView\n\t\t\t\t\thorizontal\n\t\t\t\t\tshowsHorizontalScrollIndicator={false}\n\t\t\t\t\tcontentContainerStyle={styles.selectionPreviewContainer}\n\t\t\t\t>\n\t\t\t\t\t{selected &&\n\t\t\t\t\t\tselected.map((uri) => {\n\t\t\t\t\t\t\tconst imageUri = showRemote ? getThumb300(uri) : uri;\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<View key={uri} style={styles.previewItemContainer}>\n\t\t\t\t\t\t\t\t\t<ImageBackground\n\t\t\t\t\t\t\t\t\t\tstyle={styles.previewItemImage}\n\t\t\t\t\t\t\t\t\t\tsource={{ uri: imageUri }}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<TouchableOpacity\n\t\t\t\t\t\t\t\t\t\tstyle={styles.previewItemRemoveButton}\n\t\t\t\t\t\t\t\t\t\tonPress={() => this.onRemoveImage(uri)}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<View\n\t\t\t\t\t\t\t\t\t\t\tstyle={[\n\t\t\t\t\t\t\t\t\t\t\t\tstyles.previewItemRemoveContainer,\n\t\t\t\t\t\t\t\t\t\t\t\t{ backgroundColor: this.props.colourBrandingMain },\n\t\t\t\t\t\t\t\t\t\t\t]}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\t\t\t\tname=\"times\"\n\t\t\t\t\t\t\t\t\t\t\t\ttype=\"font-awesome\"\n\t\t\t\t\t\t\t\t\t\t\t\ticonStyle={styles.previewItemRemoveIcon}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t\t\t</TouchableOpacity>\n\t\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t})}\n\t\t\t\t</ScrollView>\n\t\t\t</View>\n\t\t);\n\t}\n\n\trenderSelectedAlbum() {\n\t\tconst { localAlbums, selectedAlbumId, showRemote } = this.state;\n\t\tconst selectedAlbum = (\n\t\t\tshowRemote ? this.props.imageLibrary : localAlbums\n\t\t).find((album) => album.id === selectedAlbumId);\n\t\tconst selectedAlbumText = selectedAlbum ? selectedAlbum.title : \"\";\n\n\t\treturn (\n\t\t\t<TouchableOpacity onPress={this.onSelectAlbum}>\n\t\t\t\t<View style={styles.selectAlbumButton}>\n\t\t\t\t\t<Text style={styles.selectAlbumButtonText}>{selectedAlbumText}</Text>\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tname=\"angle-down\"\n\t\t\t\t\t\ttype=\"font-awesome\"\n\t\t\t\t\t\ticonStyle={styles.selectAlbumButtonIcon}\n\t\t\t\t\t/>\n\t\t\t\t</View>\n\t\t\t</TouchableOpacity>\n\t\t);\n\t}\n\n\trenderSelectedComponent = (selectedItemNumber) => {\n\t\treturn (\n\t\t\t<View style={styles.selectedItemContainer}>\n\t\t\t\t<View\n\t\t\t\t\tstyle={[\n\t\t\t\t\t\tstyles.selectedMarkerContainer,\n\t\t\t\t\t\t{ backgroundColor: this.props.colourBrandingMain },\n\t\t\t\t\t]}\n\t\t\t\t>\n\t\t\t\t\t{this.props.multiple ? (\n\t\t\t\t\t\t<Text style={styles.selectedItemText}>{selectedItemNumber}</Text>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\tname=\"check\"\n\t\t\t\t\t\t\ttype=\"font-awesome\"\n\t\t\t\t\t\t\ticonStyle={styles.selectedItemIcon}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t</View>\n\t\t\t</View>\n\t\t);\n\t};\n\n\trenderBrowser() {\n\t\tconst { selected, selectedAlbumId, showRemote } = this.state;\n\t\tconst { imagesLimit, multiple, allowVideo, imageLibrary } = this.props;\n\t\tconst width = (SCREEN_WIDTH - 10 * 2) / 4;\n\n\t\treturn (\n\t\t\t<ImageBrowser\n\t\t\t\tmax={!multiple ? 1 : imagesLimit}\n\t\t\t\tloadCount={30}\n\t\t\t\tonChange={this.onSelectionChange}\n\t\t\t\trenderSelectedComponent={this.renderSelectedComponent}\n\t\t\t\tcallback={this.onSelected}\n\t\t\t\tselected={selected}\n\t\t\t\tallowVideo={allowVideo}\n\t\t\t\tstyle={styles.browserContainer}\n\t\t\t\titemStyle={styles.itemContainer}\n\t\t\t\titemWidth={width}\n\t\t\t\titemHeight={width}\n\t\t\t\talbum={selectedAlbumId}\n\t\t\t\tremoteAlbums={showRemote ? imageLibrary : null}\n\t\t\t/>\n\t\t);\n\t}\n\n\trenderAttachButton() {\n\t\tconst { selected, selectedType } = this.state;\n\t\tconst canAttach = selected.length > 0 && !_.isEmpty(selectedType);\n\t\tconst attachText = `Attach ${canAttach ? selected.length : \"\"} ${canAttach ? selectedType : \"\"}${selected.length > 1 ? \"s\" : \"\"}`;\n\n\t\treturn (\n\t\t\t<View style={styles.buttonContainer}>\n\t\t\t\t<InlineButton\n\t\t\t\t\tcolor={canAttach ? this.props.colourBrandingMain : INACTIVE_BUTTON}\n\t\t\t\t\tonPress={this.state.onAttach}\n\t\t\t\t\tfillTouchable\n\t\t\t\t\tlarge\n\t\t\t\t\tdisabled={!canAttach}\n\t\t\t\t>\n\t\t\t\t\t{attachText}\n\t\t\t\t</InlineButton>\n\t\t\t</View>\n\t\t);\n\t}\n\n\trenderSelectAlbumPopup() {\n\t\tconst { showSelectAlbum, localAlbums, showRemote } = this.state;\n\t\tif (!showSelectAlbum) return null;\n\n\t\treturn (\n\t\t\t<Modal\n\t\t\t\tvisible\n\t\t\t\ttransparent\n\t\t\t\tanimationType=\"slide\"\n\t\t\t\tonRequestClose={this.onSelectAlbumClosed}\n\t\t\t>\n\t\t\t\t<View style={styles.selectAlbumModal}>\n\t\t\t\t\t<View style={styles.selectAlbumContainer}>\n\t\t\t\t\t\t<View style={styles.selectAlbumTitleContainer}>\n\t\t\t\t\t\t\t<Text style={styles.selectAlbumTitle}>Select Album</Text>\n\t\t\t\t\t\t</View>\n\t\t\t\t\t\t<ScrollView>\n\t\t\t\t\t\t\t{(showRemote ? this.props.imageLibrary : localAlbums).map(\n\t\t\t\t\t\t\t\t(album, index) => {\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<TouchableOpacity\n\t\t\t\t\t\t\t\t\t\t\tkey={album.id}\n\t\t\t\t\t\t\t\t\t\t\tonPress={() => this.onAlbumSelected(album.id)}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<View\n\t\t\t\t\t\t\t\t\t\t\t\tstyle={[\n\t\t\t\t\t\t\t\t\t\t\t\t\tstyles.albumOptionContainer,\n\t\t\t\t\t\t\t\t\t\t\t\t\tindex === 0 && { borderTopWidth: 0 },\n\t\t\t\t\t\t\t\t\t\t\t\t]}\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t<Text style={styles.albumOptionText}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{album.title}\n\t\t\t\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t\t\t\t</TouchableOpacity>\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</ScrollView>\n\t\t\t\t\t\t<TouchableOpacity onPress={this.onSelectAlbumClosed}>\n\t\t\t\t\t\t\t<View\n\t\t\t\t\t\t\t\tstyle={[styles.albumOptionContainer, { marginHorizontal: 0 }]}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\t\tstyle={[\n\t\t\t\t\t\t\t\t\t\tstyles.albumOptionText,\n\t\t\t\t\t\t\t\t\t\t{ color: this.props.colourBrandingMain },\n\t\t\t\t\t\t\t\t\t]}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\tCancel\n\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t</TouchableOpacity>\n\t\t\t\t\t</View>\n\t\t\t\t</View>\n\t\t\t</Modal>\n\t\t);\n\t}\n\n\trenderPhotos() {\n\t\treturn (\n\t\t\t<Modal\n\t\t\t\tvisible\n\t\t\t\ttransparent\n\t\t\t\tanimationType=\"slide\"\n\t\t\t\tonRequestClose={this.hidePhotos}\n\t\t\t>\n\t\t\t\t<Header\n\t\t\t\t\tleftIcon=\"angle-left\"\n\t\t\t\t\tonPressLeft={this.hidePhotos}\n\t\t\t\t\ttext={this.props.popupTitle || \"Attach image\"}\n\t\t\t\t/>\n\t\t\t\t<View style={styles.contentContainer}>\n\t\t\t\t\t{this.renderSelectionPreview()}\n\t\t\t\t\t{this.renderSelectedAlbum()}\n\t\t\t\t\t{this.renderBrowser()}\n\t\t\t\t</View>\n\t\t\t\t{this.renderAttachButton()}\n\t\t\t\t{this.renderSelectAlbumPopup()}\n\t\t\t</Modal>\n\t\t);\n\t}\n\n\trender() {\n\t\tconst { warning, showUploadMenu, showPhotos, showCropper, selected } =\n\t\t\tthis.state;\n\n\t\tif (warning != null) {\n\t\t\treturn (\n\t\t\t\t<Popup\n\t\t\t\t\ttitle=\"Permissions missing\"\n\t\t\t\t\ttext={warning}\n\t\t\t\t\toptions={[\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttext: \"Go to settings\",\n\t\t\t\t\t\t\taction: this.goToPermissionSettings.bind(this),\n\t\t\t\t\t\t\tbold: true,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttext: \"Ignore\",\n\t\t\t\t\t\t\taction: this.closeWarningPopup.bind(this),\n\t\t\t\t\t\t},\n\t\t\t\t\t]}\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\n\t\tif (showUploadMenu) {\n\t\t\tconst options = this.buildOptions();\n\t\t\treturn (\n\t\t\t\t<PopupMenu\n\t\t\t\t\tonClose={this.hideUploadMenu.bind(this)}\n\t\t\t\t\toptions={options}\n\t\t\t\t\ttitle={this.props.popupTitle}\n\t\t\t\t\tcancelText=\"Cancel\"\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\n\t\tif (showPhotos) return this.renderPhotos();\n\n\t\tif (showCropper) {\n\t\t\treturn (\n\t\t\t\t<ExpoImageManipulator\n\t\t\t\t\tphoto={{ uri: selected[0] }}\n\t\t\t\t\tonToggleModal={this.toggleCropper}\n\t\t\t\t\tisVisible={showCropper}\n\t\t\t\t\tonPictureChoosed={(data) => {\n\t\t\t\t\t\tthis.handleImagePicked(data.uri);\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\n\t\treturn null;\n\t}\n}\n\nconst styles = StyleSheet.create({\n\tcontentContainer: {\n\t\tflex: 1,\n\t\tbackgroundColor: BOXGREY,\n\t},\n\tbrowserContainer: {\n\t\tpadding: 10,\n\t},\n\titemContainer: {\n\t\tpadding: 4,\n\t},\n\tselectedItemContainer: {\n\t\tflex: 1,\n\t\tbackgroundColor: \"#0008\",\n\t},\n\tselectedMarkerContainer: {\n\t\tposition: \"absolute\",\n\t\ttop: 6,\n\t\tright: 6,\n\t\twidth: 20,\n\t\theight: 20,\n\t\tborderRadius: 10,\n\t\talignItems: \"center\",\n\t\tjustifyContent: \"center\",\n\t},\n\tselectedItemText: {\n\t\tfontFamily: \"sf-semibold\",\n\t\tfontSize: 12,\n\t\tcolor: \"#fff\",\n\t\tmarginBottom: 1,\n\t},\n\tselectedItemIcon: {\n\t\tfontSize: 12,\n\t\tcolor: \"#fff\",\n\t\tmarginBottom: 1,\n\t},\n\tbuttonContainer: {\n\t\talignItems: \"center\",\n\t\tjustifyContent: \"center\",\n\t\theight: 60,\n\t\tpaddingHorizontal: 14,\n\t\tbackgroundColor: \"#fff\",\n\t},\n\tselectAlbumButton: {\n\t\tpaddingTop: 13,\n\t\tpaddingHorizontal: 14,\n\t\tflexDirection: \"row\",\n\t\talignItems: \"center\",\n\t},\n\tselectAlbumButtonText: {\n\t\tfontFamily: \"sf-medium\",\n\t\tfontSize: 14,\n\t\tcolor: TEXT_BLUEGREY,\n\t\tmarginRight: 6,\n\t},\n\tselectAlbumButtonIcon: {\n\t\tfontSize: 20,\n\t\tcolor: TEXT_BLUEGREY,\n\t},\n\tselectAlbumModal: {\n\t\tposition: \"absolute\",\n\t\tbottom: 0,\n\t\tleft: 0,\n\t\tright: 0,\n\t\ttop: 0,\n\t\tbackgroundColor: \"rgba(0,0,0,0.5)\",\n\t\tzIndex: 1000,\n\t},\n\tselectAlbumContainer: {\n\t\tposition: \"absolute\",\n\t\tbottom: 0,\n\t\tleft: 0,\n\t\tright: 0,\n\t\tbackgroundColor: \"#fff\",\n\t\tborderTopLeftRadius: 12,\n\t\tborderTopRightRadius: 12,\n\t\tmaxHeight: SCREEN_HEIGHT / 2,\n\t},\n\tselectAlbumTitleContainer: {\n\t\tpadding: 16,\n\t\tborderColor: LINEGREY,\n\t\tborderBottomWidth: 1,\n\t},\n\tselectAlbumTitle: {\n\t\tfontFamily: \"sf-semibold\",\n\t\tfontSize: 16,\n\t\ttextAlign: \"center\",\n\t\tcolor: TEXT_DARK,\n\t},\n\talbumOptionContainer: {\n\t\tmarginHorizontal: 16,\n\t\tpaddingVertical: 16,\n\t\tborderColor: LINEGREY,\n\t\tborderTopWidth: 1,\n\t},\n\talbumOptionText: {\n\t\tfontFamily: \"sf-regular\",\n\t\tfontSize: 16,\n\t\ttextAlign: \"center\",\n\t\tcolor: TEXT_DARK,\n\t},\n\tselectionPreviewContainer: {\n\t\tpaddingTop: 14,\n\t\tpaddingRight: 2,\n\t\tpaddingLeft: 14,\n\t},\n\tpreviewItemContainer: {\n\t\tmarginRight: 12,\n\t},\n\tpreviewItemImage: {\n\t\twidth: 50,\n\t\theight: 50,\n\t\talignItems: \"center\",\n\t\tjustifyContent: \"center\",\n\t\tborderRadius: 4,\n\t\toverflow: \"hidden\",\n\t},\n\tpreviewItemRemoveButton: {\n\t\tposition: \"absolute\",\n\t\ttop: -8,\n\t\tright: -8,\n\t},\n\tpreviewItemRemoveContainer: {\n\t\tjustifyContent: \"center\",\n\t\talignItems: \"center\",\n\t\tborderRadius: 10,\n\t\twidth: 20,\n\t\theight: 20,\n\t\tborderWidth: 2,\n\t\tborderColor: \"#fff\",\n\t},\n\tpreviewItemRemoveIcon: {\n\t\tfontSize: 10,\n\t\tcolor: \"#fff\",\n\t\tmarginBottom: 1,\n\t},\n});\n\nconst mapStateToProps = (state) => {\n\tconst { user, media } = state;\n\tconst imageLibrary = media.imageLibrary\n\t\t.filter((folder) => !folder.Public)\n\t\t.map((album) => {\n\t\t\treturn {\n\t\t\t\ttitle: album.Name,\n\t\t\t\tid: album.RowId || \"\",\n\t\t\t\timages: album.RowId ? album.Images : media.stockImages,\n\t\t\t};\n\t\t});\n\n\treturn {\n\t\tuser,\n\t\timageLibrary,\n\t\tcolourBrandingMain: getMainBrandingColourFromState(state),\n\t};\n};\n\nexport default connect(\n\tmapStateToProps,\n\t{ stockImagesLoaded, imageLibraryLoaded },\n\tnull,\n\t{ forwardRef: true },\n)(ImageUploader);\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","Component","Text","View","ScrollView","TouchableOpacity","Platform","Linking","Modal","Dimensions","StyleSheet","ImageBackground","connect","withSafeAreaInsets","Icon","_","Camera","MediaLibrary","ImageManipulator","ImagePicker","ImageBrowser","ExpoImageManipulator","Header","Popup","PopupMenu","InlineButton","getValueOrDefault","getThumb300","isVideo","getMainBrandingColourFromState","BOXGREY","INACTIVE_BUTTON","TEXT_BLUEGREY","TEXT_DARK","LINEGREY","Config","fileActions","stockImagesLoaded","imageLibraryLoaded","SCREEN_WIDTH","get","width","SCREEN_HEIGHT","height","DEFAULT_ASPECT","DEFAULT_ALLOWS_EDITING","DEFAULT_ALLOWS_IOS_CAMERA_EDITING","DEFAULT_EXIF","DEFULAT_IMAGE_TYPE","DEFAULT_IMAGE_NAME","DEFAULT_VIDEO_NAME","DEFAULT_SIZE","DEFAULT_COMPRESSION","ImageUploader","constructor","props","_defineProperty","hasPermission","getPermissionsAsync","granted","setState","loadingLocalFolders","localAlbums","getAlbumsAsync","includeSmartAlbums","title","id","error","console","log","loadingRemoteFolders","stockImages","getStockPhotos","libraryRes","getMediaFolders","user","site","data","mediaUri","uploadUri","uri","resizeImageAsync","res","uploadUserMediaWithProgress","progress","onUploadProgress","onUploadSuccess","env","baseUploadsUrl","key","e","onUploadFailed","actions","resize","size","saveOptions","format","compress","quality","base64","manipulateAsync","imageUri","fileName","getUploadUrl","userId","onUploadStarted","hideUploadMenu","resized","onlySelectImage","onImageSelected","imagesSelected","imagesUploaded","map","image","i","length","fileType","substring","lastIndexOf","_this$state$localAlbu","cameraPermission","requestCameraPermissionsAsync","rollPermission","requestPermissionsAsync","status","OS","showWarningPopup","state","loadLocalAlbums","multiple","allowVideo","allowsEditing","askPermissionsAsync","editingAllowed","isEditingEnabled","allowsEditingIOSCamera","result","launchCameraAsync","aspect","exif","canceled","isEmpty","assets","handleImagePicked","mediaTypes","MediaTypeOptions","Videos","showUploadMenu","setTimeout","showPhotos","selected","showRemote","selectedAlbumId","launchImageLibraryAsync","All","Images","cancelled","type","handleVideoPicked","handleMultiImagePicked","showCropper","showSelectAlbum","videoSelected","onAttach","selectedType","callback","openCropper","mediaSelected","onLibrarySelected","media","mediaType","MediaType","video","localUri","hidePhotos","deleteIndex","indexOf","splice","options","text","onPress","openCamera","push","openVideoCamera","openPhotos","hideLibrary","openLibrary","selectedItemNumber","createElement","style","styles","selectedItemContainer","selectedMarkerContainer","backgroundColor","colourBrandingMain","selectedItemText","name","iconStyle","selectedItemIcon","warning","componentDidMount","loadRemoteAlbums","camera","roll","innerWarning","closeWarningPopup","goToPermissionSettings","openURL","renderSelectionPreview","horizontal","showsHorizontalScrollIndicator","contentContainerStyle","selectionPreviewContainer","previewItemContainer","previewItemImage","source","previewItemRemoveButton","onRemoveImage","previewItemRemoveContainer","previewItemRemoveIcon","renderSelectedAlbum","selectedAlbum","imageLibrary","find","album","selectedAlbumText","onSelectAlbum","selectAlbumButton","selectAlbumButtonText","selectAlbumButtonIcon","renderBrowser","imagesLimit","max","loadCount","onChange","onSelectionChange","renderSelectedComponent","onSelected","browserContainer","itemStyle","itemContainer","itemWidth","itemHeight","remoteAlbums","renderAttachButton","_this$props$insets","canAttach","attachText","bottom","insets","buttonContainer","paddingBottom","color","fillTouchable","large","disabled","renderSelectAlbumPopup","_this$props$insets2","visible","transparent","animationType","onRequestClose","onSelectAlbumClosed","selectAlbumModal","selectAlbumContainer","selectAlbumTitleContainer","selectAlbumTitle","index","onAlbumSelected","albumOptionContainer","borderTopWidth","albumOptionText","marginHorizontal","renderPhotos","leftIcon","onPressLeft","popupTitle","contentContainer","render","action","bind","bold","buildOptions","onClose","cancelText","photo","onToggleModal","toggleCropper","isVisible","onPictureChoosed","create","flex","padding","position","top","right","borderRadius","alignItems","justifyContent","fontFamily","fontSize","marginBottom","paddingHorizontal","paddingTop","flexDirection","marginRight","left","zIndex","borderTopLeftRadius","borderTopRightRadius","maxHeight","borderColor","borderBottomWidth","textAlign","paddingVertical","paddingRight","paddingLeft","overflow","borderWidth","mapStateToProps","filter","folder","Public","Name","RowId","images","forwardRef"],"sources":["ImageUploader.js"],"sourcesContent":["import React, { Component } from \"react\";\nimport { Text } from \"@plusscommunities/pluss-core-app/components\";\nimport {\n\tView,\n\tScrollView,\n\tTouchableOpacity,\n\tPlatform,\n\tLinking,\n\tModal,\n\tDimensions,\n\tStyleSheet,\n\tImageBackground,\n} from \"react-native\";\nimport { connect } from \"react-redux\";\nimport { withSafeAreaInsets } from \"react-native-safe-area-context\";\nimport { Icon } from \"@rneui/themed\";\nimport _ from \"lodash\";\nimport { Camera } from \"expo-camera\";\nimport * as MediaLibrary from \"expo-media-library\";\nimport * as ImageManipulator from \"expo-image-manipulator\";\nimport * as ImagePicker from \"expo-image-picker\";\nimport ImageBrowser from \"./expo-image-picker-multiple/ImageBrowser\";\nimport ExpoImageManipulator from \"./react-native-expo-image-cropper/ExpoImageManipulator\";\nimport Header from \"./Header\";\nimport { Popup } from \"./Popup\";\nimport { PopupMenu } from \"./PopupMenu\";\nimport { InlineButton } from \"./InlineButton\";\nimport { getValueOrDefault, getThumb300, isVideo } from \"../helper\";\nimport {\n\tgetMainBrandingColourFromState,\n\tBOXGREY,\n\tINACTIVE_BUTTON,\n\tTEXT_BLUEGREY,\n\tTEXT_DARK,\n\tLINEGREY,\n} from \"../colours\";\nimport Config from \"../config\";\nimport { fileActions } from \"../apis\";\nimport { stockImagesLoaded, imageLibraryLoaded } from \"../actions\";\n\nconst SCREEN_WIDTH = Dimensions.get(\"window\").width;\nconst SCREEN_HEIGHT = Dimensions.get(\"window\").height;\nconst DEFAULT_ASPECT = [1, 1];\nconst DEFAULT_ALLOWS_EDITING = true;\nconst DEFAULT_ALLOWS_IOS_CAMERA_EDITING = false;\nconst DEFAULT_EXIF = true;\nconst DEFULAT_IMAGE_TYPE = \"jpeg\";\nconst DEFAULT_IMAGE_NAME = \"image\";\nconst DEFAULT_VIDEO_NAME = \"video\";\nconst DEFAULT_SIZE = {\n\twidth: 1400,\n};\nconst DEFAULT_COMPRESSION = 0.8;\n\nclass ImageUploader extends Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.state = {\n\t\t\tshowUploadMenu: false,\n\t\t\twarning: null,\n\t\t\tshowPhotos: false,\n\t\t\tshowRemote: false,\n\t\t\tselected: [],\n\t\t\tselectedType: \"\",\n\t\t\tonAttach: null,\n\t\t\tselectedAlbumId: \"\",\n\t\t\tshowSelectAlbum: false,\n\t\t\tshowCropper: false,\n\t\t\tlocalAlbums: [],\n\t\t\tloadingLocalFolders: false,\n\t\t\tloadingRemoteFolders: false,\n\t\t};\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.loadLocalAlbums();\n\t\tthis.loadRemoteAlbums();\n\t}\n\n\tloadLocalAlbums = async () => {\n\t\tconst hasPermission = await MediaLibrary.getPermissionsAsync();\n\t\tif (!hasPermission.granted) return;\n\n\t\tthis.setState({ loadingLocalFolders: true }, async () => {\n\t\t\ttry {\n\t\t\t\tconst localAlbums = await MediaLibrary.getAlbumsAsync({\n\t\t\t\t\tincludeSmartAlbums: true,\n\t\t\t\t});\n\t\t\t\tthis.setState({\n\t\t\t\t\tloadingLocalFolders: false,\n\t\t\t\t\tlocalAlbums: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttitle: \"All Photos\",\n\t\t\t\t\t\t\tid: \"\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t...localAlbums,\n\t\t\t\t\t],\n\t\t\t\t});\n\t\t\t} catch (error) {\n\t\t\t\tconsole.log(\"loadLocalAlbums - error\", error);\n\t\t\t\tthis.setState({ loadingLocalFolders: false });\n\t\t\t}\n\t\t});\n\t};\n\n\tloadRemoteAlbums = () => {\n\t\tthis.setState({ loadingRemoteFolders: true }, async () => {\n\t\t\ttry {\n\t\t\t\tconst stockImages = await fileActions.getStockPhotos();\n\t\t\t\tthis.props.stockImagesLoaded(stockImages);\n\t\t\t\tconst libraryRes = await fileActions.getMediaFolders(\n\t\t\t\t\tthis.props.user.site,\n\t\t\t\t);\n\t\t\t\tthis.props.imageLibraryLoaded(libraryRes.data);\n\t\t\t} catch (error) {\n\t\t\t\tconsole.log(\"loadRemoteAlbums - error\", error);\n\t\t\t} finally {\n\t\t\t\tthis.setState({ loadingRemoteFolders: false });\n\t\t\t}\n\t\t});\n\t};\n\n\tshowUploadMenu() {\n\t\tthis.setState({\n\t\t\tshowUploadMenu: true,\n\t\t});\n\t}\n\n\thideUploadMenu() {\n\t\tthis.setState({\n\t\t\tshowUploadMenu: false,\n\t\t});\n\t}\n\n\tretryUpload = async (mediaUri, uploadUri) => {\n\t\ttry {\n\t\t\tconst uri = isVideo(uploadUri)\n\t\t\t\t? mediaUri\n\t\t\t\t: (await this.resizeImageAsync(mediaUri)).uri;\n\t\t\tconst res = await fileActions.uploadUserMediaWithProgress(\n\t\t\t\turi,\n\t\t\t\tuploadUri,\n\t\t\t\t(progress) => {\n\t\t\t\t\tif (this.props.onUploadProgress)\n\t\t\t\t\t\tthis.props.onUploadProgress(progress);\n\t\t\t\t},\n\t\t\t);\n\t\t\tthis.props.onUploadSuccess(\n\t\t\t\tConfig.env.baseUploadsUrl + res.key,\n\t\t\t\tuploadUri,\n\t\t\t);\n\t\t\tconsole.log(\"upload(retry) success\", Config.env.baseUploadsUrl + res.key);\n\t\t} catch (e) {\n\t\t\tconsole.log(\"retryUpload error\", e);\n\t\t\tthis.props.onUploadFailed(uploadUri);\n\t\t}\n\t};\n\n\tresizeImageAsync = async (uri) => {\n\t\tconst actions = [\n\t\t\t{\n\t\t\t\tresize: getValueOrDefault(this.props.size, DEFAULT_SIZE),\n\t\t\t},\n\t\t];\n\t\tconst saveOptions = {\n\t\t\tformat: DEFULAT_IMAGE_TYPE,\n\t\t\tcompress: getValueOrDefault(this.props.quality, DEFAULT_COMPRESSION),\n\t\t\tbase64: true,\n\t\t};\n\t\treturn await ImageManipulator.manipulateAsync(uri, actions, saveOptions);\n\t};\n\n\thandleImagePicked = async (imageUri) => {\n\t\tlet uploadUri;\n\t\ttry {\n\t\t\tconst fileName = `${getValueOrDefault(this.props.fileName, DEFAULT_IMAGE_NAME)}.${DEFULAT_IMAGE_TYPE}`;\n\t\t\tuploadUri = fileActions.getUploadUrl(this.props.userId, fileName);\n\n\t\t\tthis.props.onUploadStarted(uploadUri, imageUri);\n\t\t\tthis.hideUploadMenu();\n\n\t\t\tconst resized = await this.resizeImageAsync(imageUri);\n\t\t\tif (this.props.onlySelectImage) {\n\t\t\t\tthis.props.onImageSelected(resized, fileName);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst res = await fileActions.uploadUserMediaWithProgress(\n\t\t\t\tresized.uri,\n\t\t\t\tuploadUri,\n\t\t\t\t(progress) => {\n\t\t\t\t\tif (this.props.onUploadProgress)\n\t\t\t\t\t\tthis.props.onUploadProgress(progress);\n\t\t\t\t},\n\t\t\t);\n\n\t\t\tthis.props.onUploadSuccess(\n\t\t\t\tConfig.env.baseUploadsUrl + res.key,\n\t\t\t\tuploadUri,\n\t\t\t);\n\t\t\tconsole.log(\"upload success\", Config.env.baseUploadsUrl + res.key);\n\t\t} catch (e) {\n\t\t\tconsole.log(\"handleImagePicked error\", e);\n\t\t\tthis.props.onUploadFailed(uploadUri);\n\t\t}\n\t};\n\n\thandleMultiImagePicked = async (imagesSelected) => {\n\t\t// Signal start of all images selected\n\t\tconst imagesUploaded = imagesSelected.map((image) => {\n\t\t\tconst fileName = `${getValueOrDefault(this.props.fileName, DEFAULT_IMAGE_NAME)}.${DEFULAT_IMAGE_TYPE}`;\n\t\t\tconst uploadUri = fileActions.getUploadUrl(this.props.userId, fileName);\n\t\t\tif (!this.props.onlySelectImage)\n\t\t\t\tthis.props.onUploadStarted(uploadUri, image.uri);\n\t\t\treturn { imageUri: image.uri, uploadUri, fileName };\n\t\t});\n\t\tthis.hideUploadMenu();\n\n\t\t// Sequentially upload all imagesUploaded\n\t\tfor (let i = 0; i < imagesUploaded.length; i++) {\n\t\t\tconst image = imagesUploaded[i];\n\t\t\tconst { imageUri, uploadUri, fileName } = image;\n\t\t\ttry {\n\t\t\t\tconst resized = await this.resizeImageAsync(imageUri);\n\t\t\t\tif (this.props.onlySelectImage) {\n\t\t\t\t\tthis.props.onImageSelected(resized, fileName);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst res = await fileActions.uploadUserMediaWithProgress(\n\t\t\t\t\tresized.uri,\n\t\t\t\t\tuploadUri,\n\t\t\t\t\t(progress) => {\n\t\t\t\t\t\tif (this.props.onUploadProgress)\n\t\t\t\t\t\t\tthis.props.onUploadProgress(progress);\n\t\t\t\t\t},\n\t\t\t\t);\n\t\t\t\tthis.props.onUploadSuccess(\n\t\t\t\t\tConfig.env.baseUploadsUrl + res.key,\n\t\t\t\t\tuploadUri,\n\t\t\t\t);\n\t\t\t\tconsole.log(\"upload success\", Config.env.baseUploadsUrl + res.key);\n\t\t\t} catch (e) {\n\t\t\t\tconsole.log(\"handleMultiImagePicked error\", e);\n\t\t\t\tthis.props.onUploadFailed(uploadUri);\n\t\t\t}\n\t\t}\n\t};\n\n\thandleVideoPicked = async (uri) => {\n\t\tlet uploadUri;\n\t\ttry {\n\t\t\tconst fileType = uri.substring(uri.lastIndexOf(\".\") + 1);\n\t\t\tconst fileName = `${getValueOrDefault(this.props.fileName, DEFAULT_VIDEO_NAME)}.${fileType}`;\n\t\t\tuploadUri = fileActions.getUploadUrl(this.props.userId, fileName);\n\n\t\t\tthis.props.onUploadStarted(uploadUri, uri);\n\t\t\tthis.hideUploadMenu();\n\n\t\t\tconst res = await fileActions.uploadUserMediaWithProgress(\n\t\t\t\turi,\n\t\t\t\tuploadUri,\n\t\t\t\t(progress) => {\n\t\t\t\t\tif (this.props.onUploadProgress)\n\t\t\t\t\t\tthis.props.onUploadProgress(progress);\n\t\t\t\t},\n\t\t\t);\n\n\t\t\tthis.props.onUploadSuccess(\n\t\t\t\tConfig.env.baseUploadsUrl + res.key,\n\t\t\t\tuploadUri,\n\t\t\t);\n\t\t\tconsole.log(\"upload success\", Config.env.baseUploadsUrl + res.key);\n\t\t} catch (e) {\n\t\t\tconsole.log(\"handleVideoPicked error\", e);\n\t\t\tthis.props.onUploadFailed(uploadUri);\n\t\t}\n\t};\n\n\tshowWarningPopup(camera, roll) {\n\t\tif (Platform.OS !== \"ios\") {\n\t\t\treturn;\n\t\t}\n\t\tlet innerWarning = \"\";\n\t\tif (camera && roll) {\n\t\t\tinnerWarning = \"both your camera and photo library\";\n\t\t} else if (camera) {\n\t\t\tinnerWarning = \"your camera\";\n\t\t} else if (roll) {\n\t\t\tinnerWarning = \"your photo library\";\n\t\t} else {\n\t\t\t// nothing to warn about\n\t\t\treturn;\n\t\t}\n\t\tthis.setState({\n\t\t\twarning: `You must grant access to ${innerWarning}. Tap Go to settings to change your permission settings.`,\n\t\t});\n\t}\n\n\tcloseWarningPopup() {\n\t\tthis.setState({\n\t\t\twarning: null,\n\t\t});\n\t}\n\n\tgoToPermissionSettings() {\n\t\tLinking.openURL(\"app-settings:\");\n\t\tthis.setState({\n\t\t\twarning: null,\n\t\t});\n\t}\n\n\taskPermissionsAsync = async () => {\n\t\tconst cameraPermission = await Camera.requestCameraPermissionsAsync();\n\t\tconst rollPermission = await MediaLibrary.requestPermissionsAsync();\n\t\tif (\n\t\t\tcameraPermission.status !== \"granted\" ||\n\t\t\t(Platform.OS === \"ios\" && rollPermission.status !== \"granted\")\n\t\t) {\n\t\t\tthis.showWarningPopup(\n\t\t\t\tcameraPermission.status !== \"granted\",\n\t\t\t\trollPermission.status !== \"granted\",\n\t\t\t);\n\t\t\treturn false;\n\t\t}\n\t\tif (this.state.localAlbums?.length <= 0) this.loadLocalAlbums();\n\n\t\treturn true;\n\t};\n\n\tisEditingEnabled = () => {\n\t\treturn (\n\t\t\t!this.props.multiple &&\n\t\t\t!this.props.allowVideo &&\n\t\t\tgetValueOrDefault(this.props.allowsEditing, DEFAULT_ALLOWS_EDITING)\n\t\t);\n\t};\n\n\topenCamera = async () => {\n\t\tif (!(await this.askPermissionsAsync())) return;\n\n\t\tlet editingAllowed = this.isEditingEnabled();\n\t\tif (Platform.OS === \"ios\") {\n\t\t\teditingAllowed = getValueOrDefault(\n\t\t\t\tthis.props.allowsEditingIOSCamera,\n\t\t\t\tgetValueOrDefault(\n\t\t\t\t\tthis.props.allowsEditing,\n\t\t\t\t\tDEFAULT_ALLOWS_IOS_CAMERA_EDITING,\n\t\t\t\t),\n\t\t\t);\n\t\t}\n\t\tconst result = await ImagePicker.launchCameraAsync({\n\t\t\tallowsEditing: editingAllowed,\n\t\t\taspect: getValueOrDefault(this.props.aspect, DEFAULT_ASPECT),\n\t\t\texif: getValueOrDefault(this.props.exif, DEFAULT_EXIF),\n\t\t});\n\n\t\tif (!result.canceled && !_.isEmpty(result.assets)) {\n\t\t\tthis.handleImagePicked(result.assets[0].uri);\n\t\t}\n\t};\n\n\topenVideoCamera = async () => {\n\t\tif (!(await this.askPermissionsAsync())) return;\n\n\t\tconst result = await ImagePicker.launchCameraAsync({\n\t\t\tallowsEditing: this.isEditingEnabled(),\n\t\t\tmediaTypes: ImagePicker.MediaTypeOptions.Videos,\n\t\t});\n\n\t\tif (!result.canceled && !_.isEmpty(result.assets)) {\n\t\t\tthis.handleImagePicked(result.assets[0].uri);\n\t\t}\n\t};\n\n\topenLibrary = async () => {\n\t\tthis.setState(\n\t\t\t{\n\t\t\t\tshowUploadMenu: false,\n\t\t\t},\n\t\t\t() => {\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tthis.setState({\n\t\t\t\t\t\tshowPhotos: true,\n\t\t\t\t\t\tselected: [],\n\t\t\t\t\t\tshowRemote: true,\n\t\t\t\t\t\tselectedAlbumId: \"\",\n\t\t\t\t\t});\n\t\t\t\t}, 1000);\n\t\t\t},\n\t\t);\n\t};\n\n\topenPhotos = async () => {\n\t\tif (Platform.OS === \"android\") {\n\t\t\tconst result = await ImagePicker.launchImageLibraryAsync({\n\t\t\t\tallowsEditing: this.isEditingEnabled(),\n\t\t\t\taspect: getValueOrDefault(this.props.aspect, DEFAULT_ASPECT),\n\t\t\t\texif: getValueOrDefault(this.props.exif, DEFAULT_EXIF),\n\t\t\t\tmediaTypes: this.props.allowVideo\n\t\t\t\t\t? ImagePicker.MediaTypeOptions.All\n\t\t\t\t\t: ImagePicker.MediaTypeOptions.Images,\n\t\t\t});\n\t\t\tif (!result.cancelled) {\n\t\t\t\tif (result.assets.length === 1 && result.assets[0].type === \"video\") {\n\t\t\t\t\tthis.handleVideoPicked(result.assets[0].uri);\n\t\t\t\t} else {\n\t\t\t\t\tthis.handleMultiImagePicked(result.assets);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\t// iOS behaviour\n\t\tif (!(await this.askPermissionsAsync())) return;\n\n\t\tthis.setState(\n\t\t\t{\n\t\t\t\tshowUploadMenu: false,\n\t\t\t},\n\t\t\t() => {\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tthis.setState({\n\t\t\t\t\t\tshowPhotos: true,\n\t\t\t\t\t\tselected: [],\n\t\t\t\t\t\tshowRemote: false,\n\t\t\t\t\t\tselectedAlbumId: \"\",\n\t\t\t\t\t});\n\t\t\t\t}, 1000);\n\t\t\t},\n\t\t);\n\t};\n\n\thidePhotos = () => {\n\t\tthis.setState({ showPhotos: false });\n\t};\n\n\topenCropper = () => {\n\t\t// Switching modals - requires a timeout to ensure the modal is closed before opening the next one\n\t\tthis.setState(\n\t\t\t{\n\t\t\t\tshowPhotos: false,\n\t\t\t},\n\t\t\t() => {\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tthis.setState({\n\t\t\t\t\t\tshowCropper: true,\n\t\t\t\t\t});\n\t\t\t\t}, 1000);\n\t\t\t},\n\t\t);\n\t};\n\n\ttoggleCropper = () => {\n\t\tthis.setState({ showCropper: !this.state.showCropper });\n\t};\n\n\tonSelectAlbum = () => {\n\t\tthis.setState({ showSelectAlbum: true });\n\t};\n\n\tonSelectAlbumClosed = () => {\n\t\tthis.setState({ showSelectAlbum: false });\n\t};\n\n\tonAlbumSelected = (selectedAlbumId) => {\n\t\tthis.setState({ showSelectAlbum: false, selectedAlbumId });\n\t};\n\n\tonSelectionChange = (selected, videoSelected, onAttach) => {\n\t\tthis.setState({\n\t\t\tselected,\n\t\t\tselectedType: videoSelected ? \"video\" : \"image\",\n\t\t\tonAttach,\n\t\t});\n\t};\n\n\tonSelected = async (callback) => {\n\t\tif (this.isEditingEnabled()) {\n\t\t\tthis.openCropper();\n\t\t} else {\n\t\t\tconst mediaSelected = await callback;\n\t\t\t// console.log('mediaSelected', mediaSelected);\n\t\t\tif (this.state.showRemote) {\n\t\t\t\tif (this.props.onLibrarySelected) {\n\t\t\t\t\tmediaSelected.map((media) => {\n\t\t\t\t\t\tthis.props.onLibrarySelected(media.uri);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (mediaSelected[0].mediaType === MediaLibrary.MediaType.video) {\n\t\t\t\t\tconst uri = mediaSelected[0].localUri || mediaSelected[0].uri;\n\t\t\t\t\tthis.handleVideoPicked(uri);\n\t\t\t\t} else {\n\t\t\t\t\tthis.handleMultiImagePicked(mediaSelected);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.hidePhotos();\n\t\t}\n\t};\n\n\tonRemoveImage = (uri) => {\n\t\tconst selected = [...this.state.selected];\n\t\tconst deleteIndex = selected.indexOf(uri);\n\t\tselected.splice(deleteIndex, 1);\n\t\tthis.setState({ selected });\n\t};\n\n\tbuildOptions = () => {\n\t\tconst options = [\n\t\t\t{\n\t\t\t\ttext: \"Take photo\",\n\t\t\t\tonPress: this.openCamera,\n\t\t\t},\n\t\t];\n\t\tif (this.props.allowVideo)\n\t\t\toptions.push({\n\t\t\t\ttext: \"Record video\",\n\t\t\t\tonPress: this.openVideoCamera,\n\t\t\t});\n\t\toptions.push({\n\t\t\ttext: \"Camera Roll\",\n\t\t\tonPress: this.openPhotos,\n\t\t});\n\t\tif (!this.props.hideLibrary)\n\t\t\toptions.push({\n\t\t\t\ttext: \"Image Library\",\n\t\t\t\tonPress: this.openLibrary,\n\t\t\t});\n\n\t\treturn options;\n\t};\n\n\trenderSelectionPreview() {\n\t\tconst { selected, showRemote } = this.state;\n\n\t\treturn (\n\t\t\t<View>\n\t\t\t\t<ScrollView\n\t\t\t\t\thorizontal\n\t\t\t\t\tshowsHorizontalScrollIndicator={false}\n\t\t\t\t\tcontentContainerStyle={styles.selectionPreviewContainer}\n\t\t\t\t>\n\t\t\t\t\t{selected &&\n\t\t\t\t\t\tselected.map((uri) => {\n\t\t\t\t\t\t\tconst imageUri = showRemote ? getThumb300(uri) : uri;\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<View key={uri} style={styles.previewItemContainer}>\n\t\t\t\t\t\t\t\t\t<ImageBackground\n\t\t\t\t\t\t\t\t\t\tstyle={styles.previewItemImage}\n\t\t\t\t\t\t\t\t\t\tsource={{ uri: imageUri }}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<TouchableOpacity\n\t\t\t\t\t\t\t\t\t\tstyle={styles.previewItemRemoveButton}\n\t\t\t\t\t\t\t\t\t\tonPress={() => this.onRemoveImage(uri)}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<View\n\t\t\t\t\t\t\t\t\t\t\tstyle={[\n\t\t\t\t\t\t\t\t\t\t\t\tstyles.previewItemRemoveContainer,\n\t\t\t\t\t\t\t\t\t\t\t\t{ backgroundColor: this.props.colourBrandingMain },\n\t\t\t\t\t\t\t\t\t\t\t]}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\t\t\t\tname=\"times\"\n\t\t\t\t\t\t\t\t\t\t\t\ttype=\"font-awesome\"\n\t\t\t\t\t\t\t\t\t\t\t\ticonStyle={styles.previewItemRemoveIcon}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t\t\t</TouchableOpacity>\n\t\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t})}\n\t\t\t\t</ScrollView>\n\t\t\t</View>\n\t\t);\n\t}\n\n\trenderSelectedAlbum() {\n\t\tconst { localAlbums, selectedAlbumId, showRemote } = this.state;\n\t\tconst selectedAlbum = (\n\t\t\tshowRemote ? this.props.imageLibrary : localAlbums\n\t\t).find((album) => album.id === selectedAlbumId);\n\t\tconst selectedAlbumText = selectedAlbum ? selectedAlbum.title : \"\";\n\n\t\treturn (\n\t\t\t<TouchableOpacity onPress={this.onSelectAlbum}>\n\t\t\t\t<View style={styles.selectAlbumButton}>\n\t\t\t\t\t<Text style={styles.selectAlbumButtonText}>{selectedAlbumText}</Text>\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tname=\"angle-down\"\n\t\t\t\t\t\ttype=\"font-awesome\"\n\t\t\t\t\t\ticonStyle={styles.selectAlbumButtonIcon}\n\t\t\t\t\t/>\n\t\t\t\t</View>\n\t\t\t</TouchableOpacity>\n\t\t);\n\t}\n\n\trenderSelectedComponent = (selectedItemNumber) => {\n\t\treturn (\n\t\t\t<View style={styles.selectedItemContainer}>\n\t\t\t\t<View\n\t\t\t\t\tstyle={[\n\t\t\t\t\t\tstyles.selectedMarkerContainer,\n\t\t\t\t\t\t{ backgroundColor: this.props.colourBrandingMain },\n\t\t\t\t\t]}\n\t\t\t\t>\n\t\t\t\t\t{this.props.multiple ? (\n\t\t\t\t\t\t<Text style={styles.selectedItemText}>{selectedItemNumber}</Text>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\tname=\"check\"\n\t\t\t\t\t\t\ttype=\"font-awesome\"\n\t\t\t\t\t\t\ticonStyle={styles.selectedItemIcon}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t</View>\n\t\t\t</View>\n\t\t);\n\t};\n\n\trenderBrowser() {\n\t\tconst { selected, selectedAlbumId, showRemote } = this.state;\n\t\tconst { imagesLimit, multiple, allowVideo, imageLibrary } = this.props;\n\t\tconst width = (SCREEN_WIDTH - 10 * 2) / 4;\n\n\t\treturn (\n\t\t\t<ImageBrowser\n\t\t\t\tmax={!multiple ? 1 : imagesLimit}\n\t\t\t\tloadCount={30}\n\t\t\t\tonChange={this.onSelectionChange}\n\t\t\t\trenderSelectedComponent={this.renderSelectedComponent}\n\t\t\t\tcallback={this.onSelected}\n\t\t\t\tselected={selected}\n\t\t\t\tallowVideo={allowVideo}\n\t\t\t\tstyle={styles.browserContainer}\n\t\t\t\titemStyle={styles.itemContainer}\n\t\t\t\titemWidth={width}\n\t\t\t\titemHeight={width}\n\t\t\t\talbum={selectedAlbumId}\n\t\t\t\tremoteAlbums={showRemote ? imageLibrary : null}\n\t\t\t/>\n\t\t);\n\t}\n\n\trenderAttachButton() {\n\t\tconst { selected, selectedType } = this.state;\n\t\tconst canAttach = selected.length > 0 && !_.isEmpty(selectedType);\n\t\tconst attachText = `Attach ${canAttach ? selected.length : \"\"} ${canAttach ? selectedType : \"\"}${selected.length > 1 ? \"s\" : \"\"}`;\n\t\tconst bottom =\n\t\t\tPlatform.OS === \"android\" ? (this.props.insets?.bottom ?? 0) : 0;\n\n\t\treturn (\n\t\t\t<View\n\t\t\t\tstyle={[\n\t\t\t\t\tstyles.buttonContainer,\n\t\t\t\t\tbottom > 0 && { paddingBottom: bottom },\n\t\t\t\t]}\n\t\t\t>\n\t\t\t\t<InlineButton\n\t\t\t\t\tcolor={canAttach ? this.props.colourBrandingMain : INACTIVE_BUTTON}\n\t\t\t\t\tonPress={this.state.onAttach}\n\t\t\t\t\tfillTouchable\n\t\t\t\t\tlarge\n\t\t\t\t\tdisabled={!canAttach}\n\t\t\t\t>\n\t\t\t\t\t{attachText}\n\t\t\t\t</InlineButton>\n\t\t\t</View>\n\t\t);\n\t}\n\n\trenderSelectAlbumPopup() {\n\t\tconst { showSelectAlbum, localAlbums, showRemote } = this.state;\n\t\tif (!showSelectAlbum) return null;\n\n\t\treturn (\n\t\t\t<Modal\n\t\t\t\tvisible\n\t\t\t\ttransparent\n\t\t\t\tanimationType=\"slide\"\n\t\t\t\tonRequestClose={this.onSelectAlbumClosed}\n\t\t\t>\n\t\t\t\t<View style={styles.selectAlbumModal}>\n\t\t\t\t\t<View style={styles.selectAlbumContainer}>\n\t\t\t\t\t\t<View style={styles.selectAlbumTitleContainer}>\n\t\t\t\t\t\t\t<Text style={styles.selectAlbumTitle}>Select Album</Text>\n\t\t\t\t\t\t</View>\n\t\t\t\t\t\t<ScrollView>\n\t\t\t\t\t\t\t{(showRemote ? this.props.imageLibrary : localAlbums).map(\n\t\t\t\t\t\t\t\t(album, index) => {\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<TouchableOpacity\n\t\t\t\t\t\t\t\t\t\t\tkey={album.id}\n\t\t\t\t\t\t\t\t\t\t\tonPress={() => this.onAlbumSelected(album.id)}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<View\n\t\t\t\t\t\t\t\t\t\t\t\tstyle={[\n\t\t\t\t\t\t\t\t\t\t\t\t\tstyles.albumOptionContainer,\n\t\t\t\t\t\t\t\t\t\t\t\t\tindex === 0 && { borderTopWidth: 0 },\n\t\t\t\t\t\t\t\t\t\t\t\t]}\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t<Text style={styles.albumOptionText}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{album.title}\n\t\t\t\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t\t\t\t</TouchableOpacity>\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</ScrollView>\n\t\t\t\t\t\t<TouchableOpacity onPress={this.onSelectAlbumClosed}>\n\t\t\t\t\t\t\t<View\n\t\t\t\t\t\t\t\tstyle={[\n\t\t\t\t\t\t\t\t\tstyles.albumOptionContainer,\n\t\t\t\t\t\t\t\t\t{ marginHorizontal: 0 },\n\t\t\t\t\t\t\t\t\tPlatform.OS === \"android\" && {\n\t\t\t\t\t\t\t\t\t\tpaddingBottom: 16 + (this.props.insets?.bottom ?? 0),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t]}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\t\tstyle={[\n\t\t\t\t\t\t\t\t\t\tstyles.albumOptionText,\n\t\t\t\t\t\t\t\t\t\t{ color: this.props.colourBrandingMain },\n\t\t\t\t\t\t\t\t\t]}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\tCancel\n\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t</TouchableOpacity>\n\t\t\t\t\t</View>\n\t\t\t\t</View>\n\t\t\t</Modal>\n\t\t);\n\t}\n\n\trenderPhotos() {\n\t\treturn (\n\t\t\t<Modal\n\t\t\t\tvisible\n\t\t\t\ttransparent\n\t\t\t\tanimationType=\"slide\"\n\t\t\t\tonRequestClose={this.hidePhotos}\n\t\t\t>\n\t\t\t\t<Header\n\t\t\t\t\tleftIcon=\"angle-left\"\n\t\t\t\t\tonPressLeft={this.hidePhotos}\n\t\t\t\t\ttext={this.props.popupTitle || \"Attach image\"}\n\t\t\t\t/>\n\t\t\t\t<View style={styles.contentContainer}>\n\t\t\t\t\t{this.renderSelectionPreview()}\n\t\t\t\t\t{this.renderSelectedAlbum()}\n\t\t\t\t\t{this.renderBrowser()}\n\t\t\t\t</View>\n\t\t\t\t{this.renderAttachButton()}\n\t\t\t\t{this.renderSelectAlbumPopup()}\n\t\t\t</Modal>\n\t\t);\n\t}\n\n\trender() {\n\t\tconst { warning, showUploadMenu, showPhotos, showCropper, selected } =\n\t\t\tthis.state;\n\n\t\tif (warning != null) {\n\t\t\treturn (\n\t\t\t\t<Popup\n\t\t\t\t\ttitle=\"Permissions missing\"\n\t\t\t\t\ttext={warning}\n\t\t\t\t\toptions={[\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttext: \"Go to settings\",\n\t\t\t\t\t\t\taction: this.goToPermissionSettings.bind(this),\n\t\t\t\t\t\t\tbold: true,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttext: \"Ignore\",\n\t\t\t\t\t\t\taction: this.closeWarningPopup.bind(this),\n\t\t\t\t\t\t},\n\t\t\t\t\t]}\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\n\t\tif (showUploadMenu) {\n\t\t\tconst options = this.buildOptions();\n\t\t\treturn (\n\t\t\t\t<PopupMenu\n\t\t\t\t\tonClose={this.hideUploadMenu.bind(this)}\n\t\t\t\t\toptions={options}\n\t\t\t\t\ttitle={this.props.popupTitle}\n\t\t\t\t\tcancelText=\"Cancel\"\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\n\t\tif (showPhotos) return this.renderPhotos();\n\n\t\tif (showCropper) {\n\t\t\treturn (\n\t\t\t\t<ExpoImageManipulator\n\t\t\t\t\tphoto={{ uri: selected[0] }}\n\t\t\t\t\tonToggleModal={this.toggleCropper}\n\t\t\t\t\tisVisible={showCropper}\n\t\t\t\t\tonPictureChoosed={(data) => {\n\t\t\t\t\t\tthis.handleImagePicked(data.uri);\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\n\t\treturn null;\n\t}\n}\n\nconst styles = StyleSheet.create({\n\tcontentContainer: {\n\t\tflex: 1,\n\t\tbackgroundColor: BOXGREY,\n\t},\n\tbrowserContainer: {\n\t\tpadding: 10,\n\t},\n\titemContainer: {\n\t\tpadding: 4,\n\t},\n\tselectedItemContainer: {\n\t\tflex: 1,\n\t\tbackgroundColor: \"#0008\",\n\t},\n\tselectedMarkerContainer: {\n\t\tposition: \"absolute\",\n\t\ttop: 6,\n\t\tright: 6,\n\t\twidth: 20,\n\t\theight: 20,\n\t\tborderRadius: 10,\n\t\talignItems: \"center\",\n\t\tjustifyContent: \"center\",\n\t},\n\tselectedItemText: {\n\t\tfontFamily: \"sf-semibold\",\n\t\tfontSize: 12,\n\t\tcolor: \"#fff\",\n\t\tmarginBottom: 1,\n\t},\n\tselectedItemIcon: {\n\t\tfontSize: 12,\n\t\tcolor: \"#fff\",\n\t\tmarginBottom: 1,\n\t},\n\tbuttonContainer: {\n\t\talignItems: \"center\",\n\t\tjustifyContent: \"center\",\n\t\theight: 60,\n\t\tpaddingHorizontal: 14,\n\t\tbackgroundColor: \"#fff\",\n\t},\n\tselectAlbumButton: {\n\t\tpaddingTop: 13,\n\t\tpaddingHorizontal: 14,\n\t\tflexDirection: \"row\",\n\t\talignItems: \"center\",\n\t},\n\tselectAlbumButtonText: {\n\t\tfontFamily: \"sf-medium\",\n\t\tfontSize: 14,\n\t\tcolor: TEXT_BLUEGREY,\n\t\tmarginRight: 6,\n\t},\n\tselectAlbumButtonIcon: {\n\t\tfontSize: 20,\n\t\tcolor: TEXT_BLUEGREY,\n\t},\n\tselectAlbumModal: {\n\t\tposition: \"absolute\",\n\t\tbottom: 0,\n\t\tleft: 0,\n\t\tright: 0,\n\t\ttop: 0,\n\t\tbackgroundColor: \"rgba(0,0,0,0.5)\",\n\t\tzIndex: 1000,\n\t},\n\tselectAlbumContainer: {\n\t\tposition: \"absolute\",\n\t\tbottom: 0,\n\t\tleft: 0,\n\t\tright: 0,\n\t\tbackgroundColor: \"#fff\",\n\t\tborderTopLeftRadius: 12,\n\t\tborderTopRightRadius: 12,\n\t\tmaxHeight: SCREEN_HEIGHT / 2,\n\t},\n\tselectAlbumTitleContainer: {\n\t\tpadding: 16,\n\t\tborderColor: LINEGREY,\n\t\tborderBottomWidth: 1,\n\t},\n\tselectAlbumTitle: {\n\t\tfontFamily: \"sf-semibold\",\n\t\tfontSize: 16,\n\t\ttextAlign: \"center\",\n\t\tcolor: TEXT_DARK,\n\t},\n\talbumOptionContainer: {\n\t\tmarginHorizontal: 16,\n\t\tpaddingVertical: 16,\n\t\tborderColor: LINEGREY,\n\t\tborderTopWidth: 1,\n\t},\n\talbumOptionText: {\n\t\tfontFamily: \"sf-regular\",\n\t\tfontSize: 16,\n\t\ttextAlign: \"center\",\n\t\tcolor: TEXT_DARK,\n\t},\n\tselectionPreviewContainer: {\n\t\tpaddingTop: 14,\n\t\tpaddingRight: 2,\n\t\tpaddingLeft: 14,\n\t},\n\tpreviewItemContainer: {\n\t\tmarginRight: 12,\n\t},\n\tpreviewItemImage: {\n\t\twidth: 50,\n\t\theight: 50,\n\t\talignItems: \"center\",\n\t\tjustifyContent: \"center\",\n\t\tborderRadius: 4,\n\t\toverflow: \"hidden\",\n\t},\n\tpreviewItemRemoveButton: {\n\t\tposition: \"absolute\",\n\t\ttop: -8,\n\t\tright: -8,\n\t},\n\tpreviewItemRemoveContainer: {\n\t\tjustifyContent: \"center\",\n\t\talignItems: \"center\",\n\t\tborderRadius: 10,\n\t\twidth: 20,\n\t\theight: 20,\n\t\tborderWidth: 2,\n\t\tborderColor: \"#fff\",\n\t},\n\tpreviewItemRemoveIcon: {\n\t\tfontSize: 10,\n\t\tcolor: \"#fff\",\n\t\tmarginBottom: 1,\n\t},\n});\n\nconst mapStateToProps = (state) => {\n\tconst { user, media } = state;\n\tconst imageLibrary = media.imageLibrary\n\t\t.filter((folder) => !folder.Public)\n\t\t.map((album) => {\n\t\t\treturn {\n\t\t\t\ttitle: album.Name,\n\t\t\t\tid: album.RowId || \"\",\n\t\t\t\timages: album.RowId ? album.Images : media.stockImages,\n\t\t\t};\n\t\t});\n\n\treturn {\n\t\tuser,\n\t\timageLibrary,\n\t\tcolourBrandingMain: getMainBrandingColourFromState(state),\n\t};\n};\n\nexport default connect(\n\tmapStateToProps,\n\t{ stockImagesLoaded, imageLibraryLoaded },\n\tnull,\n\t{ forwardRef: true },\n)(withSafeAreaInsets(ImageUploader));\n"],"mappings":"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","ignoreList":[]}
@@ -1,7 +1,10 @@
1
1
  import React, { PureComponent } from "react";
2
2
  import { View, Modal, TouchableWithoutFeedback, KeyboardAvoidingView, Platform } from "react-native";
3
+ import { withSafeAreaInsets } from "react-native-safe-area-context";
3
4
  class MiddlePopup extends PureComponent {
4
5
  render() {
6
+ var _this$props$insets;
7
+ const bottom = Platform.OS === "android" ? ((_this$props$insets = this.props.insets) === null || _this$props$insets === void 0 ? void 0 : _this$props$insets.bottom) ?? 0 : 0;
5
8
  return /*#__PURE__*/React.createElement(Modal, {
6
9
  visible: this.props.visible,
7
10
  transparent: true,
@@ -15,7 +18,9 @@ class MiddlePopup extends PureComponent {
15
18
  }, /*#__PURE__*/React.createElement(View, {
16
19
  style: styles.popupOverlay
17
20
  })), /*#__PURE__*/React.createElement(View, {
18
- style: [styles.popupContent, this.props.style]
21
+ style: [styles.popupContent, this.props.style, bottom > 0 && {
22
+ paddingBottom: bottom
23
+ }]
19
24
  }, this.props.children)));
20
25
  }
21
26
  }
@@ -39,5 +44,6 @@ const styles = {
39
44
  alignItems: "center"
40
45
  }
41
46
  };
42
- export { MiddlePopup };
47
+ const MiddlePopupWithInsets = withSafeAreaInsets(MiddlePopup);
48
+ export { MiddlePopupWithInsets as MiddlePopup };
43
49
  //# sourceMappingURL=MiddlePopup.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","PureComponent","View","Modal","TouchableWithoutFeedback","KeyboardAvoidingView","Platform","MiddlePopup","render","createElement","visible","props","transparent","animationType","onRequestClose","onClose","behavior","keyboardAvoid","OS","style","styles","popup","onPress","popupOverlay","popupContent","children","flex","justifyContent","alignItems","position","backgroundColor","top","left","right","bottom","borderRadius"],"sources":["MiddlePopup.js"],"sourcesContent":["import React, { PureComponent } from \"react\";\nimport {\n\tView,\n\tModal,\n\tTouchableWithoutFeedback,\n\tKeyboardAvoidingView,\n\tPlatform,\n} from \"react-native\";\n\nclass MiddlePopup extends PureComponent {\n\trender() {\n\t\treturn (\n\t\t\t<Modal\n\t\t\t\tvisible={this.props.visible}\n\t\t\t\ttransparent\n\t\t\t\tanimationType=\"fade\"\n\t\t\t\tonRequestClose={this.props.onClose}\n\t\t\t>\n\t\t\t\t<KeyboardAvoidingView\n\t\t\t\t\tbehavior={\n\t\t\t\t\t\tthis.props.keyboardAvoid && Platform.OS === \"ios\" && \"padding\"\n\t\t\t\t\t}\n\t\t\t\t\tstyle={styles.popup}\n\t\t\t\t>\n\t\t\t\t\t<TouchableWithoutFeedback onPress={this.props.onClose}>\n\t\t\t\t\t\t<View style={styles.popupOverlay} />\n\t\t\t\t\t</TouchableWithoutFeedback>\n\t\t\t\t\t<View style={[styles.popupContent, this.props.style]}>\n\t\t\t\t\t\t{this.props.children}\n\t\t\t\t\t</View>\n\t\t\t\t</KeyboardAvoidingView>\n\t\t\t</Modal>\n\t\t);\n\t}\n}\n\nconst styles = {\n\tpopup: {\n\t\tflex: 1,\n\t\tjustifyContent: \"center\",\n\t\talignItems: \"center\",\n\t},\n\tpopupOverlay: {\n\t\tposition: \"absolute\",\n\t\tbackgroundColor: \"rgba(19, 19, 26, .25)\",\n\t\ttop: 0,\n\t\tleft: 0,\n\t\tright: 0,\n\t\tbottom: 0,\n\t},\n\tpopupContent: {\n\t\tborderRadius: 12,\n\t\tbackgroundColor: \"#fff\",\n\t\talignItems: \"center\",\n\t},\n};\n\nexport { MiddlePopup };\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,aAAa,QAAQ,OAAO;AAC5C,SACCC,IAAI,EACJC,KAAK,EACLC,wBAAwB,EACxBC,oBAAoB,EACpBC,QAAQ,QACF,cAAc;AAErB,MAAMC,WAAW,SAASN,aAAa,CAAC;EACvCO,MAAMA,CAAA,EAAG;IACR,oBACCR,KAAA,CAAAS,aAAA,CAACN,KAAK;MACLO,OAAO,EAAE,IAAI,CAACC,KAAK,CAACD,OAAQ;MAC5BE,WAAW;MACXC,aAAa,EAAC,MAAM;MACpBC,cAAc,EAAE,IAAI,CAACH,KAAK,CAACI;IAAQ,gBAEnCf,KAAA,CAAAS,aAAA,CAACJ,oBAAoB;MACpBW,QAAQ,EACP,IAAI,CAACL,KAAK,CAACM,aAAa,IAAIX,QAAQ,CAACY,EAAE,KAAK,KAAK,IAAI,SACrD;MACDC,KAAK,EAAEC,MAAM,CAACC;IAAM,gBAEpBrB,KAAA,CAAAS,aAAA,CAACL,wBAAwB;MAACkB,OAAO,EAAE,IAAI,CAACX,KAAK,CAACI;IAAQ,gBACrDf,KAAA,CAAAS,aAAA,CAACP,IAAI;MAACiB,KAAK,EAAEC,MAAM,CAACG;IAAa,CAAE,CACV,CAAC,eAC3BvB,KAAA,CAAAS,aAAA,CAACP,IAAI;MAACiB,KAAK,EAAE,CAACC,MAAM,CAACI,YAAY,EAAE,IAAI,CAACb,KAAK,CAACQ,KAAK;IAAE,GACnD,IAAI,CAACR,KAAK,CAACc,QACP,CACe,CAChB,CAAC;EAEV;AACD;AAEA,MAAML,MAAM,GAAG;EACdC,KAAK,EAAE;IACNK,IAAI,EAAE,CAAC;IACPC,cAAc,EAAE,QAAQ;IACxBC,UAAU,EAAE;EACb,CAAC;EACDL,YAAY,EAAE;IACbM,QAAQ,EAAE,UAAU;IACpBC,eAAe,EAAE,uBAAuB;IACxCC,GAAG,EAAE,CAAC;IACNC,IAAI,EAAE,CAAC;IACPC,KAAK,EAAE,CAAC;IACRC,MAAM,EAAE;EACT,CAAC;EACDV,YAAY,EAAE;IACbW,YAAY,EAAE,EAAE;IAChBL,eAAe,EAAE,MAAM;IACvBF,UAAU,EAAE;EACb;AACD,CAAC;AAED,SAASrB,WAAW","ignoreList":[]}
1
+ {"version":3,"names":["React","PureComponent","View","Modal","TouchableWithoutFeedback","KeyboardAvoidingView","Platform","withSafeAreaInsets","MiddlePopup","render","_this$props$insets","bottom","OS","props","insets","createElement","visible","transparent","animationType","onRequestClose","onClose","behavior","keyboardAvoid","style","styles","popup","onPress","popupOverlay","popupContent","paddingBottom","children","flex","justifyContent","alignItems","position","backgroundColor","top","left","right","borderRadius","MiddlePopupWithInsets"],"sources":["MiddlePopup.js"],"sourcesContent":["import React, { PureComponent } from \"react\";\nimport {\n\tView,\n\tModal,\n\tTouchableWithoutFeedback,\n\tKeyboardAvoidingView,\n\tPlatform,\n} from \"react-native\";\nimport { withSafeAreaInsets } from \"react-native-safe-area-context\";\n\nclass MiddlePopup extends PureComponent {\n\trender() {\n\t\tconst bottom =\n\t\t\tPlatform.OS === \"android\" ? (this.props.insets?.bottom ?? 0) : 0;\n\n\t\treturn (\n\t\t\t<Modal\n\t\t\t\tvisible={this.props.visible}\n\t\t\t\ttransparent\n\t\t\t\tanimationType=\"fade\"\n\t\t\t\tonRequestClose={this.props.onClose}\n\t\t\t>\n\t\t\t\t<KeyboardAvoidingView\n\t\t\t\t\tbehavior={\n\t\t\t\t\t\tthis.props.keyboardAvoid && Platform.OS === \"ios\" && \"padding\"\n\t\t\t\t\t}\n\t\t\t\t\tstyle={styles.popup}\n\t\t\t\t>\n\t\t\t\t\t<TouchableWithoutFeedback onPress={this.props.onClose}>\n\t\t\t\t\t\t<View style={styles.popupOverlay} />\n\t\t\t\t\t</TouchableWithoutFeedback>\n\t\t\t\t\t<View\n\t\t\t\t\t\tstyle={[\n\t\t\t\t\t\t\tstyles.popupContent,\n\t\t\t\t\t\t\tthis.props.style,\n\t\t\t\t\t\t\tbottom > 0 && { paddingBottom: bottom },\n\t\t\t\t\t\t]}\n\t\t\t\t\t>\n\t\t\t\t\t\t{this.props.children}\n\t\t\t\t\t</View>\n\t\t\t\t</KeyboardAvoidingView>\n\t\t\t</Modal>\n\t\t);\n\t}\n}\n\nconst styles = {\n\tpopup: {\n\t\tflex: 1,\n\t\tjustifyContent: \"center\",\n\t\talignItems: \"center\",\n\t},\n\tpopupOverlay: {\n\t\tposition: \"absolute\",\n\t\tbackgroundColor: \"rgba(19, 19, 26, .25)\",\n\t\ttop: 0,\n\t\tleft: 0,\n\t\tright: 0,\n\t\tbottom: 0,\n\t},\n\tpopupContent: {\n\t\tborderRadius: 12,\n\t\tbackgroundColor: \"#fff\",\n\t\talignItems: \"center\",\n\t},\n};\n\nconst MiddlePopupWithInsets = withSafeAreaInsets(MiddlePopup);\nexport { MiddlePopupWithInsets as MiddlePopup };\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,aAAa,QAAQ,OAAO;AAC5C,SACCC,IAAI,EACJC,KAAK,EACLC,wBAAwB,EACxBC,oBAAoB,EACpBC,QAAQ,QACF,cAAc;AACrB,SAASC,kBAAkB,QAAQ,gCAAgC;AAEnE,MAAMC,WAAW,SAASP,aAAa,CAAC;EACvCQ,MAAMA,CAAA,EAAG;IAAA,IAAAC,kBAAA;IACR,MAAMC,MAAM,GACXL,QAAQ,CAACM,EAAE,KAAK,SAAS,GAAI,EAAAF,kBAAA,OAAI,CAACG,KAAK,CAACC,MAAM,cAAAJ,kBAAA,uBAAjBA,kBAAA,CAAmBC,MAAM,KAAI,CAAC,GAAI,CAAC;IAEjE,oBACCX,KAAA,CAAAe,aAAA,CAACZ,KAAK;MACLa,OAAO,EAAE,IAAI,CAACH,KAAK,CAACG,OAAQ;MAC5BC,WAAW;MACXC,aAAa,EAAC,MAAM;MACpBC,cAAc,EAAE,IAAI,CAACN,KAAK,CAACO;IAAQ,gBAEnCpB,KAAA,CAAAe,aAAA,CAACV,oBAAoB;MACpBgB,QAAQ,EACP,IAAI,CAACR,KAAK,CAACS,aAAa,IAAIhB,QAAQ,CAACM,EAAE,KAAK,KAAK,IAAI,SACrD;MACDW,KAAK,EAAEC,MAAM,CAACC;IAAM,gBAEpBzB,KAAA,CAAAe,aAAA,CAACX,wBAAwB;MAACsB,OAAO,EAAE,IAAI,CAACb,KAAK,CAACO;IAAQ,gBACrDpB,KAAA,CAAAe,aAAA,CAACb,IAAI;MAACqB,KAAK,EAAEC,MAAM,CAACG;IAAa,CAAE,CACV,CAAC,eAC3B3B,KAAA,CAAAe,aAAA,CAACb,IAAI;MACJqB,KAAK,EAAE,CACNC,MAAM,CAACI,YAAY,EACnB,IAAI,CAACf,KAAK,CAACU,KAAK,EAChBZ,MAAM,GAAG,CAAC,IAAI;QAAEkB,aAAa,EAAElB;MAAO,CAAC;IACtC,GAED,IAAI,CAACE,KAAK,CAACiB,QACP,CACe,CAChB,CAAC;EAEV;AACD;AAEA,MAAMN,MAAM,GAAG;EACdC,KAAK,EAAE;IACNM,IAAI,EAAE,CAAC;IACPC,cAAc,EAAE,QAAQ;IACxBC,UAAU,EAAE;EACb,CAAC;EACDN,YAAY,EAAE;IACbO,QAAQ,EAAE,UAAU;IACpBC,eAAe,EAAE,uBAAuB;IACxCC,GAAG,EAAE,CAAC;IACNC,IAAI,EAAE,CAAC;IACPC,KAAK,EAAE,CAAC;IACR3B,MAAM,EAAE;EACT,CAAC;EACDiB,YAAY,EAAE;IACbW,YAAY,EAAE,EAAE;IAChBJ,eAAe,EAAE,MAAM;IACvBF,UAAU,EAAE;EACb;AACD,CAAC;AAED,MAAMO,qBAAqB,GAAGjC,kBAAkB,CAACC,WAAW,CAAC;AAC7D,SAASgC,qBAAqB,IAAIhC,WAAW","ignoreList":[]}
@@ -126,10 +126,6 @@ class PDFPopup extends Component {
126
126
  source: {
127
127
  uri: this.getUrl()
128
128
  },
129
- javaScriptEnabled: true,
130
- domStorageEnabled: true,
131
- originWhitelist: ["*"],
132
- mixedContentMode: "always",
133
129
  renderError: e => {
134
130
  console.log("errored");
135
131
  console.log(e);