@plusscommunities/pluss-core-app 6.0.3-auth.0 → 6.0.4-auth.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.
Files changed (130) hide show
  1. package/dist/module/actions/FollowerActions.js.map +1 -1
  2. package/dist/module/actions/MediaActions.js.map +1 -1
  3. package/dist/module/actions/ResidentActions.js.map +1 -1
  4. package/dist/module/actions/UserActions.js.map +1 -1
  5. package/dist/module/actions/UserSettingsActions.js.map +1 -1
  6. package/dist/module/actions/index.js.map +1 -1
  7. package/dist/module/actions/types.js.map +1 -1
  8. package/dist/module/apis/analyticsActions.js.map +1 -1
  9. package/dist/module/apis/contactActions.js.map +1 -1
  10. package/dist/module/apis/eventActions.js.map +1 -1
  11. package/dist/module/apis/fileActions.js +21 -28
  12. package/dist/module/apis/fileActions.js.map +1 -1
  13. package/dist/module/apis/followerActions.js.map +1 -1
  14. package/dist/module/apis/index.js.map +1 -1
  15. package/dist/module/apis/notificationActions.js.map +1 -1
  16. package/dist/module/apis/profileActions.js.map +1 -1
  17. package/dist/module/apis/reactionActions.js.map +1 -1
  18. package/dist/module/apis/stringActions.js.map +1 -1
  19. package/dist/module/apis/typeActions.js.map +1 -1
  20. package/dist/module/apis/userActions.js.map +1 -1
  21. package/dist/module/colours.js.map +1 -1
  22. package/dist/module/components/AddButton.js.map +1 -1
  23. package/dist/module/components/AddToCalendarButton.js +4 -5
  24. package/dist/module/components/AddToCalendarButton.js.map +1 -1
  25. package/dist/module/components/Attachment.js.map +1 -1
  26. package/dist/module/components/AudienceSelectorLauncher.js +3 -3
  27. package/dist/module/components/AudienceSelectorLauncher.js.map +1 -1
  28. package/dist/module/components/AudienceSelectorPage.js +3 -3
  29. package/dist/module/components/AudienceSelectorPage.js.map +1 -1
  30. package/dist/module/components/AutoOffsetImage.js +3 -5
  31. package/dist/module/components/AutoOffsetImage.js.map +1 -1
  32. package/dist/module/components/BackButton.js.map +1 -1
  33. package/dist/module/components/CategoryTabs.js.map +1 -1
  34. package/dist/module/components/CommentReply.js +3 -3
  35. package/dist/module/components/CommentReply.js.map +1 -1
  36. package/dist/module/components/CommentSection.js +3 -3
  37. package/dist/module/components/CommentSection.js.map +1 -1
  38. package/dist/module/components/ConfirmPopup.js.map +1 -1
  39. package/dist/module/components/ConfirmationPopup.js.map +1 -1
  40. package/dist/module/components/DropDownItem.js +3 -3
  41. package/dist/module/components/DropDownItem.js.map +1 -1
  42. package/dist/module/components/DropDownMenu.js +3 -3
  43. package/dist/module/components/DropDownMenu.js.map +1 -1
  44. package/dist/module/components/EmptyStateMain.js.map +1 -1
  45. package/dist/module/components/EmptyStateWidget.js.map +1 -1
  46. package/dist/module/components/FontScaleButton.js.map +1 -1
  47. package/dist/module/components/FontScalePopup.js.map +1 -1
  48. package/dist/module/components/FormCard.js.map +1 -1
  49. package/dist/module/components/FormCardSection.js.map +1 -1
  50. package/dist/module/components/FormCardSectionOptionLauncher.js.map +1 -1
  51. package/dist/module/components/FormattedText.js +3 -3
  52. package/dist/module/components/FormattedText.js.map +1 -1
  53. package/dist/module/components/GenericInput.js.map +1 -1
  54. package/dist/module/components/GenericInputSection.js +1 -1
  55. package/dist/module/components/GenericInputSection.js.map +1 -1
  56. package/dist/module/components/Header.js.map +1 -1
  57. package/dist/module/components/ImagePopup.js +3 -3
  58. package/dist/module/components/ImagePopup.js.map +1 -1
  59. package/dist/module/components/ImageUploadProgress.js +3 -3
  60. package/dist/module/components/ImageUploadProgress.js.map +1 -1
  61. package/dist/module/components/ImageUploader.js +19 -13
  62. package/dist/module/components/ImageUploader.js.map +1 -1
  63. package/dist/module/components/InlineButton.js.map +1 -1
  64. package/dist/module/components/Input.js +3 -3
  65. package/dist/module/components/Input.js.map +1 -1
  66. package/dist/module/components/LoadingCircles.js +3 -4
  67. package/dist/module/components/LoadingCircles.js.map +1 -1
  68. package/dist/module/components/LoadingIndicator.js +3 -3
  69. package/dist/module/components/LoadingIndicator.js.map +1 -1
  70. package/dist/module/components/LoadingStateWidget.js.map +1 -1
  71. package/dist/module/components/MediaPlayer.js +4 -4
  72. package/dist/module/components/MediaPlayer.js.map +1 -1
  73. package/dist/module/components/MiddlePopup.js.map +1 -1
  74. package/dist/module/components/PDFPopup.js +3 -4
  75. package/dist/module/components/PDFPopup.js.map +1 -1
  76. package/dist/module/components/PlussChat.js +4 -5
  77. package/dist/module/components/PlussChat.js.map +1 -1
  78. package/dist/module/components/PlussChatMessage.js +1 -1
  79. package/dist/module/components/PlussChatMessage.js.map +1 -1
  80. package/dist/module/components/PlussChatTime.js.map +1 -1
  81. package/dist/module/components/Popup.js.map +1 -1
  82. package/dist/module/components/PopupMenu.js.map +1 -1
  83. package/dist/module/components/PositionedImage.js +4 -4
  84. package/dist/module/components/PositionedImage.js.map +1 -1
  85. package/dist/module/components/ProfilePic.js +0 -1
  86. package/dist/module/components/ProfilePic.js.map +1 -1
  87. package/dist/module/components/RadioButton.js.map +1 -1
  88. package/dist/module/components/Reaction.js +3 -3
  89. package/dist/module/components/Reaction.js.map +1 -1
  90. package/dist/module/components/Reactions.js +3 -3
  91. package/dist/module/components/Reactions.js.map +1 -1
  92. package/dist/module/components/SharingTools.js +3 -3
  93. package/dist/module/components/SharingTools.js.map +1 -1
  94. package/dist/module/components/Spinner.js.map +1 -1
  95. package/dist/module/components/StickyFooter.js.map +1 -1
  96. package/dist/module/components/TextStyle.js +1 -1
  97. package/dist/module/components/TextStyle.js.map +1 -1
  98. package/dist/module/components/Toggle.js.map +1 -1
  99. package/dist/module/components/TouchableSearchBar.js +3 -3
  100. package/dist/module/components/TouchableSearchBar.js.map +1 -1
  101. package/dist/module/components/UserListPopup.js.map +1 -1
  102. package/dist/module/components/UserListing.js.map +1 -1
  103. package/dist/module/components/VideoPopup.js +3 -3
  104. package/dist/module/components/VideoPopup.js.map +1 -1
  105. package/dist/module/components/WarningPopup.js.map +1 -1
  106. package/dist/module/components/expo-image-picker-multiple/ImageBrowser.js +3 -3
  107. package/dist/module/components/expo-image-picker-multiple/ImageBrowser.js.map +1 -1
  108. package/dist/module/components/expo-image-picker-multiple/ImageTile.js.map +1 -1
  109. package/dist/module/components/index.js.map +1 -1
  110. package/dist/module/components/react-native-expo-image-cropper/ExpoImageManipulator.js +3 -4
  111. package/dist/module/components/react-native-expo-image-cropper/ExpoImageManipulator.js.map +1 -1
  112. package/dist/module/components/react-native-expo-image-cropper/ImageCropOverlay.js +4 -4
  113. package/dist/module/components/react-native-expo-image-cropper/ImageCropOverlay.js.map +1 -1
  114. package/dist/module/config.js +6 -1
  115. package/dist/module/config.js.map +1 -1
  116. package/dist/module/constants.js.map +1 -1
  117. package/dist/module/fonts/index.js.map +1 -1
  118. package/dist/module/fonts/pluss60-icons.js.map +1 -1
  119. package/dist/module/helper.js +0 -1
  120. package/dist/module/helper.js.map +1 -1
  121. package/dist/module/index.js.map +1 -1
  122. package/dist/module/js/images/detectFaces.js.map +1 -1
  123. package/dist/module/js/images/findLandmarkRange.js.map +1 -1
  124. package/dist/module/js/images/getScaledOffset.js.map +1 -1
  125. package/dist/module/js/site/getSiteLevelFromState.js.map +1 -1
  126. package/dist/module/js/site/isTVEnabled.js.map +1 -1
  127. package/dist/module/session.js +2 -2
  128. package/dist/module/session.js.map +1 -1
  129. package/dist/module/styles.js.map +1 -1
  130. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"names":["React","Component","Platform","Linking","StyleSheet","Text","View","TouchableOpacity","ScrollView","connect","_","Calendar","TEXT_DARK","getMainBrandingColourFromState","InlineButton","Popup","MiddlePopup","DEFAULT_TITLE","ERROR_EVENT_ADD","AddToCalendarButton","constructor","props","_defineProperty","OS","setState","showPermissionWarning","openURL","eventToAdd","message","status","requestCalendarPermissionsAsync","showWarningPopup","calendars","getCalendarsAsync","EntityTypes","EVENT","length","filter","c","allowsModifications","map","id","title","source","name","color","type","orderBy","calendar","eventId","createEventAsync","error","console","log","state","renderPermission","createElement","text","options","action","goToPermissionSettings","bold","closeWarningPopup","renderCalendars","style","styles","calendarsPopup","height","onClose","onCloseCalendars","calendarPopupTitle","calendarPopupContainer","flex","showsVerticalScrollIndicator","cal","key","onPress","onSelectCalendar","calendarContainer","backgroundColor","calendarText","marginTop","colourBrandingMain","renderMessage","onCloseMessage","render","_extends","onAdd","children","create","width","maxHeight","padding","borderRadius","fontFamily","fontSize","marginBottom","justifyContent","flexDirection","alignItems","paddingHorizontal","textAlign","mapStateToProps","button"],"sources":["AddToCalendarButton.js"],"sourcesContent":["import React, { Component } from 'react';\nimport { Platform, Linking, StyleSheet, Text, View, TouchableOpacity, ScrollView } from 'react-native';\nimport { connect } from 'react-redux';\nimport _ from 'lodash';\nimport * as Calendar from 'expo-calendar';\nimport { TEXT_DARK, getMainBrandingColourFromState } from '../colours';\nimport { InlineButton } from './InlineButton';\nimport { Popup } from './Popup';\nimport { MiddlePopup } from './MiddlePopup';\n\nconst DEFAULT_TITLE = 'Add to Calendar';\nconst ERROR_EVENT_ADD = 'There was a problem adding a calendar event.';\n\n// Required: eventToAdd\n// Documentation: https://docs.expo.dev/versions/latest/sdk/calendar/#event\nclass AddToCalendarButton extends Component {\n constructor(props) {\n super(props);\n\n this.state = {\n showPermissionWarning: false,\n calendars: null,\n message: null,\n };\n }\n\n showWarningPopup = () => {\n if (Platform.OS !== 'ios') return;\n this.setState({ showPermissionWarning: true });\n };\n\n closeWarningPopup = () => {\n this.setState({ showPermissionWarning: false });\n };\n\n goToPermissionSettings = () => {\n Linking.openURL('app-settings:');\n this.setState({ showPermissionWarning: false });\n };\n\n onAdd = async () => {\n if (!this.props.eventToAdd) {\n this.setState({ message: 'There is no event to add' });\n return;\n }\n\n const { status } = await Calendar.requestCalendarPermissionsAsync();\n if (status !== 'granted') {\n this.showWarningPopup();\n } else {\n let calendars = await Calendar.getCalendarsAsync(Calendar.EntityTypes.EVENT);\n // console.log('all calendars', calendars);\n if (calendars && calendars.length > 0) {\n calendars = calendars\n .filter(c => c.allowsModifications)\n .map(c => {\n return {\n id: c.id,\n title: c.title,\n source: c.source.name,\n color: c.color,\n type: c.type,\n };\n });\n calendars = _.orderBy(calendars, ['source', 'title']);\n // console.log('sorted calendars', calendars);\n }\n this.setState({ calendars });\n }\n };\n\n onCloseCalendars = () => {\n this.setState({ calendars: null });\n };\n\n onSelectCalendar = async calendar => {\n try {\n const { eventToAdd } = this.props;\n if (!eventToAdd) return;\n\n const eventId = await Calendar.createEventAsync(calendar.id, eventToAdd);\n\n this.setState({\n calendars: null,\n message: eventId ? `${eventToAdd.title} was added to ${calendar.title} successfully.` : ERROR_EVENT_ADD,\n });\n } catch (error) {\n console.log('onSelectCalendar', error);\n this.setState({ calendars: null, message: ERROR_EVENT_ADD });\n }\n };\n\n onCloseMessage = () => {\n this.setState({ message: null });\n };\n\n renderPermission() {\n return (\n <Popup\n title=\"Permissions missing\"\n text=\"You must grant access to the Calendars. Tap Go to settings to change your permission settings.\"\n options={[\n {\n text: 'Go to settings',\n action: this.goToPermissionSettings,\n bold: true,\n },\n {\n text: 'Ignore',\n action: this.closeWarningPopup,\n },\n ]}\n />\n );\n }\n\n renderCalendars(calendars) {\n return (\n <MiddlePopup style={[styles.calendarsPopup, { height: calendars.length * 60 + 120 }]} onClose={this.onCloseCalendars}>\n <Text style={styles.calendarPopupTitle}>Select Calendar</Text>\n <View style={styles.calendarPopupContainer}>\n <ScrollView style={{ flex: 1 }} showsVerticalScrollIndicator={false}>\n {calendars.map(cal => {\n return (\n <TouchableOpacity key={cal.id} onPress={() => this.onSelectCalendar(cal)}>\n <View style={[styles.calendarContainer, { backgroundColor: cal.color }]}>\n <Text style={styles.calendarText}>{`${cal.source}${cal.source === cal.title ? '' : `\\n${cal.title}`}`}</Text>\n </View>\n </TouchableOpacity>\n );\n })}\n </ScrollView>\n <TouchableOpacity key={'cancel'} onPress={this.onCloseCalendars}>\n <View style={[styles.calendarContainer, { marginTop: 20, backgroundColor: this.props.colourBrandingMain }]}>\n <Text style={styles.calendarText}>Cancel</Text>\n </View>\n </TouchableOpacity>\n </View>\n </MiddlePopup>\n );\n }\n\n renderMessage(message) {\n return (\n <Popup\n title=\"Add to Calendar\"\n text={message}\n options={[\n {\n text: 'Ok',\n action: this.onCloseMessage,\n },\n ]}\n />\n );\n }\n\n render() {\n const { showPermissionWarning, calendars, message } = this.state;\n\n if (showPermissionWarning) return this.renderPermission();\n if (calendars && calendars.length > 0) return this.renderCalendars(calendars);\n if (message) return this.renderMessage(message);\n\n return (\n <InlineButton {...this.props} onPress={this.onAdd}>\n {this.props.children || DEFAULT_TITLE}\n </InlineButton>\n );\n }\n}\n\nconst styles = StyleSheet.create({\n calendarsPopup: {\n width: 250,\n maxHeight: 400,\n padding: 16,\n borderRadius: 12,\n },\n calendarPopupTitle: {\n fontFamily: 'sf-bold',\n color: TEXT_DARK,\n fontSize: 18,\n marginBottom: 16,\n },\n calendarPopupContainer: {\n flex: 1,\n justifyContent: 'space-between',\n },\n calendarContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n width: 200,\n height: 40,\n paddingHorizontal: 8,\n borderRadius: 4,\n marginBottom: 10,\n },\n calendarText: {\n color: '#fff',\n textAlign: 'center',\n fontFamily: 'sf-semibold',\n fontSize: 13,\n flex: 1,\n },\n});\n\nconst mapStateToProps = state => {\n return {\n colourBrandingMain: getMainBrandingColourFromState(state),\n };\n};\n\nconst button = connect(mapStateToProps, {})(AddToCalendarButton);\nexport { button as AddToCalendarButton };\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","Component","Platform","Linking","StyleSheet","Text","View","TouchableOpacity","ScrollView","connect","_","Calendar","TEXT_DARK","getMainBrandingColourFromState","InlineButton","Popup","MiddlePopup","DEFAULT_TITLE","ERROR_EVENT_ADD","AddToCalendarButton","constructor","props","_defineProperty","OS","setState","showPermissionWarning","openURL","eventToAdd","message","status","requestCalendarPermissionsAsync","showWarningPopup","calendars","getCalendarsAsync","EntityTypes","EVENT","length","filter","c","allowsModifications","map","id","title","source","name","color","type","orderBy","calendar","eventId","createEventAsync","error","console","log","state","renderPermission","createElement","text","options","action","goToPermissionSettings","bold","closeWarningPopup","renderCalendars","style","styles","calendarsPopup","height","onClose","onCloseCalendars","calendarPopupTitle","calendarPopupContainer","flex","showsVerticalScrollIndicator","cal","key","onPress","onSelectCalendar","calendarContainer","backgroundColor","calendarText","marginTop","colourBrandingMain","renderMessage","onCloseMessage","render","_extends","onAdd","children","create","width","maxHeight","padding","borderRadius","fontFamily","fontSize","marginBottom","justifyContent","flexDirection","alignItems","paddingHorizontal","textAlign","mapStateToProps","button"],"sources":["AddToCalendarButton.js"],"sourcesContent":["import React, { Component } from 'react';\nimport { Platform, Linking, StyleSheet, Text, View, TouchableOpacity, ScrollView } from 'react-native';\nimport { connect } from 'react-redux';\nimport _ from 'lodash';\nimport * as Calendar from 'expo-calendar';\nimport { TEXT_DARK, getMainBrandingColourFromState } from '../colours';\nimport { InlineButton } from './InlineButton';\nimport { Popup } from './Popup';\nimport { MiddlePopup } from './MiddlePopup';\n\nconst DEFAULT_TITLE = 'Add to Calendar';\nconst ERROR_EVENT_ADD = 'There was a problem adding a calendar event.';\n\n// Required: eventToAdd\n// Documentation: https://docs.expo.dev/versions/latest/sdk/calendar/#event\nclass AddToCalendarButton extends Component {\n constructor(props) {\n super(props);\n\n this.state = {\n showPermissionWarning: false,\n calendars: null,\n message: null,\n };\n }\n\n showWarningPopup = () => {\n if (Platform.OS !== 'ios') return;\n this.setState({ showPermissionWarning: true });\n };\n\n closeWarningPopup = () => {\n this.setState({ showPermissionWarning: false });\n };\n\n goToPermissionSettings = () => {\n Linking.openURL('app-settings:');\n this.setState({ showPermissionWarning: false });\n };\n\n onAdd = async () => {\n if (!this.props.eventToAdd) {\n this.setState({ message: 'There is no event to add' });\n return;\n }\n\n const { status } = await Calendar.requestCalendarPermissionsAsync();\n if (status !== 'granted') {\n this.showWarningPopup();\n } else {\n let calendars = await Calendar.getCalendarsAsync(Calendar.EntityTypes.EVENT);\n // console.log('all calendars', calendars);\n if (calendars && calendars.length > 0) {\n calendars = calendars\n .filter(c => c.allowsModifications)\n .map(c => {\n return {\n id: c.id,\n title: c.title,\n source: c.source.name,\n color: c.color,\n type: c.type,\n };\n });\n calendars = _.orderBy(calendars, ['source', 'title']);\n // console.log('sorted calendars', calendars);\n }\n this.setState({ calendars });\n }\n };\n\n onCloseCalendars = () => {\n this.setState({ calendars: null });\n };\n\n onSelectCalendar = async calendar => {\n try {\n const { eventToAdd } = this.props;\n if (!eventToAdd) return;\n\n const eventId = await Calendar.createEventAsync(calendar.id, eventToAdd);\n\n this.setState({\n calendars: null,\n message: eventId ? `${eventToAdd.title} was added to ${calendar.title} successfully.` : ERROR_EVENT_ADD,\n });\n } catch (error) {\n console.log('onSelectCalendar', error);\n this.setState({ calendars: null, message: ERROR_EVENT_ADD });\n }\n };\n\n onCloseMessage = () => {\n this.setState({ message: null });\n };\n\n renderPermission() {\n return (\n <Popup\n title=\"Permissions missing\"\n text=\"You must grant access to the Calendars. Tap Go to settings to change your permission settings.\"\n options={[\n {\n text: 'Go to settings',\n action: this.goToPermissionSettings,\n bold: true,\n },\n {\n text: 'Ignore',\n action: this.closeWarningPopup,\n },\n ]}\n />\n );\n }\n\n renderCalendars(calendars) {\n return (\n <MiddlePopup style={[styles.calendarsPopup, { height: calendars.length * 60 + 120 }]} onClose={this.onCloseCalendars}>\n <Text style={styles.calendarPopupTitle}>Select Calendar</Text>\n <View style={styles.calendarPopupContainer}>\n <ScrollView style={{ flex: 1 }} showsVerticalScrollIndicator={false}>\n {calendars.map(cal => {\n return (\n <TouchableOpacity key={cal.id} onPress={() => this.onSelectCalendar(cal)}>\n <View style={[styles.calendarContainer, { backgroundColor: cal.color }]}>\n <Text style={styles.calendarText}>{`${cal.source}${cal.source === cal.title ? '' : `\\n${cal.title}`}`}</Text>\n </View>\n </TouchableOpacity>\n );\n })}\n </ScrollView>\n <TouchableOpacity key={'cancel'} onPress={this.onCloseCalendars}>\n <View style={[styles.calendarContainer, { marginTop: 20, backgroundColor: this.props.colourBrandingMain }]}>\n <Text style={styles.calendarText}>Cancel</Text>\n </View>\n </TouchableOpacity>\n </View>\n </MiddlePopup>\n );\n }\n\n renderMessage(message) {\n return (\n <Popup\n title=\"Add to Calendar\"\n text={message}\n options={[\n {\n text: 'Ok',\n action: this.onCloseMessage,\n },\n ]}\n />\n );\n }\n\n render() {\n const { showPermissionWarning, calendars, message } = this.state;\n\n if (showPermissionWarning) return this.renderPermission();\n if (calendars && calendars.length > 0) return this.renderCalendars(calendars);\n if (message) return this.renderMessage(message);\n\n return (\n <InlineButton {...this.props} onPress={this.onAdd}>\n {this.props.children || DEFAULT_TITLE}\n </InlineButton>\n );\n }\n}\n\nconst styles = StyleSheet.create({\n calendarsPopup: {\n width: 250,\n maxHeight: 400,\n padding: 16,\n borderRadius: 12,\n },\n calendarPopupTitle: {\n fontFamily: 'sf-bold',\n color: TEXT_DARK,\n fontSize: 18,\n marginBottom: 16,\n },\n calendarPopupContainer: {\n flex: 1,\n justifyContent: 'space-between',\n },\n calendarContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n width: 200,\n height: 40,\n paddingHorizontal: 8,\n borderRadius: 4,\n marginBottom: 10,\n },\n calendarText: {\n color: '#fff',\n textAlign: 'center',\n fontFamily: 'sf-semibold',\n fontSize: 13,\n flex: 1,\n },\n});\n\nconst mapStateToProps = state => {\n return {\n colourBrandingMain: getMainBrandingColourFromState(state),\n };\n};\n\nconst button = connect(mapStateToProps, {})(AddToCalendarButton);\nexport { button as AddToCalendarButton };\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["React","PureComponent","TouchableOpacity","View","Text","connect","Icon","getLightBrandingColourFromState","getMainBrandingColourFromState","Attachment","render","createElement","key","props","onPress","style","styles","pdfAttachment","backgroundColor","colourBrandingLight","name","type","iconStyle","pdfAttachmentIcon","color","colourBrandingMain","pdfAttachmentText","title","padding","flexDirection","borderRadius","marginTop","alignItems","alignSelf","fontSize","marginRight","fontFamily","mapStateToProps","state","attachment"],"sources":["Attachment.js"],"sourcesContent":["import React, { PureComponent } from 'react';\nimport { TouchableOpacity, View, Text } from 'react-native';\nimport { connect } from 'react-redux';\nimport { Icon } from 'react-native-elements';\nimport { getLightBrandingColourFromState, getMainBrandingColourFromState } from '../colours';\n\nclass Attachment extends PureComponent {\n render() {\n return (\n <TouchableOpacity key={this.props.key} onPress={this.props.onPress}>\n <View style={[styles.pdfAttachment, { backgroundColor: this.props.colourBrandingLight }]}>\n <Icon name=\"paperclip\" type=\"font-awesome\" iconStyle={[styles.pdfAttachmentIcon, { color: this.props.colourBrandingMain }]} />\n <Text style={[styles.pdfAttachmentText, { color: this.props.colourBrandingMain }]}>{this.props.title}</Text>\n </View>\n </TouchableOpacity>\n );\n }\n}\n\nconst styles = {\n pdfAttachment: {\n padding: 4,\n flexDirection: 'row',\n borderRadius: 2,\n marginTop: 8,\n alignItems: 'center',\n alignSelf: 'flex-start',\n },\n pdfAttachmentIcon: {\n fontSize: 16,\n marginRight: 4,\n },\n pdfAttachmentText: {\n fontFamily: 'sf-semibold',\n fontSize: 13,\n },\n};\n\nconst mapStateToProps = state => {\n return {\n colourBrandingMain: getMainBrandingColourFromState(state),\n colourBrandingLight: getLightBrandingColourFromState(state),\n };\n};\n\nconst attachment = connect(mapStateToProps, {})(Attachment);\nexport { attachment as Attachment };\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,aAAa,QAAQ,OAAO;AAC5C,SAASC,gBAAgB,EAAEC,IAAI,EAAEC,IAAI,QAAQ,cAAc;AAC3D,SAASC,OAAO,QAAQ,aAAa;AACrC,SAASC,IAAI,QAAQ,uBAAuB;AAC5C,SAASC,+BAA+B,EAAEC,8BAA8B,QAAQ,YAAY;AAE5F,MAAMC,UAAU,SAASR,aAAa,CAAC;EACrCS,MAAMA,CAAA,EAAG;IACP,oBACEV,KAAA,CAAAW,aAAA,CAACT,gBAAgB;MAACU,GAAG,EAAE,IAAI,CAACC,KAAK,CAACD,GAAI;MAACE,OAAO,EAAE,IAAI,CAACD,KAAK,CAACC;IAAQ,gBACjEd,KAAA,CAAAW,aAAA,CAACR,IAAI;MAACY,KAAK,EAAE,CAACC,MAAM,CAACC,aAAa,EAAE;QAAEC,eAAe,EAAE,IAAI,CAACL,KAAK,CAACM;MAAoB,CAAC;IAAE,gBACvFnB,KAAA,CAAAW,aAAA,CAACL,IAAI;MAACc,IAAI,EAAC,WAAW;MAACC,IAAI,EAAC,cAAc;MAACC,SAAS,EAAE,CAACN,MAAM,CAACO,iBAAiB,EAAE;QAAEC,KAAK,EAAE,IAAI,CAACX,KAAK,CAACY;MAAmB,CAAC;IAAE,CAAE,CAAC,eAC9HzB,KAAA,CAAAW,aAAA,CAACP,IAAI;MAACW,KAAK,EAAE,CAACC,MAAM,CAACU,iBAAiB,EAAE;QAAEF,KAAK,EAAE,IAAI,CAACX,KAAK,CAACY;MAAmB,CAAC;IAAE,GAAE,IAAI,CAACZ,KAAK,CAACc,KAAY,CACvG,CACU,CAAC;EAEvB;AACF;AAEA,MAAMX,MAAM,GAAG;EACbC,aAAa,EAAE;IACbW,OAAO,EAAE,CAAC;IACVC,aAAa,EAAE,KAAK;IACpBC,YAAY,EAAE,CAAC;IACfC,SAAS,EAAE,CAAC;IACZC,UAAU,EAAE,QAAQ;IACpBC,SAAS,EAAE;EACb,CAAC;EACDV,iBAAiB,EAAE;IACjBW,QAAQ,EAAE,EAAE;IACZC,WAAW,EAAE;EACf,CAAC;EACDT,iBAAiB,EAAE;IACjBU,UAAU,EAAE,aAAa;IACzBF,QAAQ,EAAE;EACZ;AACF,CAAC;AAED,MAAMG,eAAe,GAAGC,KAAK,IAAI;EAC/B,OAAO;IACLb,kBAAkB,EAAEjB,8BAA8B,CAAC8B,KAAK,CAAC;IACzDnB,mBAAmB,EAAEZ,+BAA+B,CAAC+B,KAAK;EAC5D,CAAC;AACH,CAAC;AAED,MAAMC,UAAU,GAAGlC,OAAO,CAACgC,eAAe,EAAE,CAAC,CAAC,CAAC,CAAC5B,UAAU,CAAC;AAC3D,SAAS8B,UAAU,IAAI9B,UAAU"}
1
+ {"version":3,"names":["React","PureComponent","TouchableOpacity","View","Text","connect","Icon","getLightBrandingColourFromState","getMainBrandingColourFromState","Attachment","render","createElement","key","props","onPress","style","styles","pdfAttachment","backgroundColor","colourBrandingLight","name","type","iconStyle","pdfAttachmentIcon","color","colourBrandingMain","pdfAttachmentText","title","padding","flexDirection","borderRadius","marginTop","alignItems","alignSelf","fontSize","marginRight","fontFamily","mapStateToProps","state","attachment"],"sources":["Attachment.js"],"sourcesContent":["import React, { PureComponent } from 'react';\nimport { TouchableOpacity, View, Text } from 'react-native';\nimport { connect } from 'react-redux';\nimport { Icon } from 'react-native-elements';\nimport { getLightBrandingColourFromState, getMainBrandingColourFromState } from '../colours';\n\nclass Attachment extends PureComponent {\n render() {\n return (\n <TouchableOpacity key={this.props.key} onPress={this.props.onPress}>\n <View style={[styles.pdfAttachment, { backgroundColor: this.props.colourBrandingLight }]}>\n <Icon name=\"paperclip\" type=\"font-awesome\" iconStyle={[styles.pdfAttachmentIcon, { color: this.props.colourBrandingMain }]} />\n <Text style={[styles.pdfAttachmentText, { color: this.props.colourBrandingMain }]}>{this.props.title}</Text>\n </View>\n </TouchableOpacity>\n );\n }\n}\n\nconst styles = {\n pdfAttachment: {\n padding: 4,\n flexDirection: 'row',\n borderRadius: 2,\n marginTop: 8,\n alignItems: 'center',\n alignSelf: 'flex-start',\n },\n pdfAttachmentIcon: {\n fontSize: 16,\n marginRight: 4,\n },\n pdfAttachmentText: {\n fontFamily: 'sf-semibold',\n fontSize: 13,\n },\n};\n\nconst mapStateToProps = state => {\n return {\n colourBrandingMain: getMainBrandingColourFromState(state),\n colourBrandingLight: getLightBrandingColourFromState(state),\n };\n};\n\nconst attachment = connect(mapStateToProps, {})(Attachment);\nexport { attachment as Attachment };\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,aAAa,QAAQ,OAAO;AAC5C,SAASC,gBAAgB,EAAEC,IAAI,EAAEC,IAAI,QAAQ,cAAc;AAC3D,SAASC,OAAO,QAAQ,aAAa;AACrC,SAASC,IAAI,QAAQ,uBAAuB;AAC5C,SAASC,+BAA+B,EAAEC,8BAA8B,QAAQ,YAAY;AAE5F,MAAMC,UAAU,SAASR,aAAa,CAAC;EACrCS,MAAMA,CAAA,EAAG;IACP,oBACEV,KAAA,CAAAW,aAAA,CAACT,gBAAgB;MAACU,GAAG,EAAE,IAAI,CAACC,KAAK,CAACD,GAAI;MAACE,OAAO,EAAE,IAAI,CAACD,KAAK,CAACC;IAAQ,gBACjEd,KAAA,CAAAW,aAAA,CAACR,IAAI;MAACY,KAAK,EAAE,CAACC,MAAM,CAACC,aAAa,EAAE;QAAEC,eAAe,EAAE,IAAI,CAACL,KAAK,CAACM;MAAoB,CAAC;IAAE,gBACvFnB,KAAA,CAAAW,aAAA,CAACL,IAAI;MAACc,IAAI,EAAC,WAAW;MAACC,IAAI,EAAC,cAAc;MAACC,SAAS,EAAE,CAACN,MAAM,CAACO,iBAAiB,EAAE;QAAEC,KAAK,EAAE,IAAI,CAACX,KAAK,CAACY;MAAmB,CAAC;IAAE,CAAE,CAAC,eAC9HzB,KAAA,CAAAW,aAAA,CAACP,IAAI;MAACW,KAAK,EAAE,CAACC,MAAM,CAACU,iBAAiB,EAAE;QAAEF,KAAK,EAAE,IAAI,CAACX,KAAK,CAACY;MAAmB,CAAC;IAAE,GAAE,IAAI,CAACZ,KAAK,CAACc,KAAY,CACvG,CACU,CAAC;EAEvB;AACF;AAEA,MAAMX,MAAM,GAAG;EACbC,aAAa,EAAE;IACbW,OAAO,EAAE,CAAC;IACVC,aAAa,EAAE,KAAK;IACpBC,YAAY,EAAE,CAAC;IACfC,SAAS,EAAE,CAAC;IACZC,UAAU,EAAE,QAAQ;IACpBC,SAAS,EAAE;EACb,CAAC;EACDV,iBAAiB,EAAE;IACjBW,QAAQ,EAAE,EAAE;IACZC,WAAW,EAAE;EACf,CAAC;EACDT,iBAAiB,EAAE;IACjBU,UAAU,EAAE,aAAa;IACzBF,QAAQ,EAAE;EACZ;AACF,CAAC;AAED,MAAMG,eAAe,GAAGC,KAAK,IAAI;EAC/B,OAAO;IACLb,kBAAkB,EAAEjB,8BAA8B,CAAC8B,KAAK,CAAC;IACzDnB,mBAAmB,EAAEZ,+BAA+B,CAAC+B,KAAK;EAC5D,CAAC;AACH,CAAC;AAED,MAAMC,UAAU,GAAGlC,OAAO,CAACgC,eAAe,EAAE,CAAC,CAAC,CAAC,CAAC5B,UAAU,CAAC;AAC3D,SAAS8B,UAAU,IAAI9B,UAAU","ignoreList":[]}
@@ -1,6 +1,6 @@
1
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
3
- function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
1
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
2
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
3
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
4
4
  import React, { PureComponent } from 'react';
5
5
  import { StyleSheet } from 'react-native';
6
6
  import { connect } from 'react-redux';
@@ -1 +1 @@
1
- {"version":3,"names":["React","PureComponent","StyleSheet","connect","FormCardSectionOptionLauncher","getMainBrandingColourFromState","TEXT_DARK","Services","AudienceSelectorLauncher","constructor","args","_defineProperty","user","audienceType","audienceTypeSelection","props","navigation","navigate","site","onChange","render","style","textStyle","selected","length","map","i","Title","join","createElement","sectionStyle","styles","audienceSection","audienceText","onPress","onPressAudience","title","description","value","create","paddingHorizontal","fontFamily","fontSize","color","mapStateToProps","state","colourBrandingMain","audienceSelectorLauncher"],"sources":["AudienceSelectorLauncher.js"],"sourcesContent":["import React, { PureComponent } from 'react';\nimport { StyleSheet } from 'react-native';\nimport { connect } from 'react-redux';\nimport { FormCardSectionOptionLauncher } from './FormCardSectionOptionLauncher';\nimport { getMainBrandingColourFromState, TEXT_DARK } from '../colours';\nimport { Services } from '../config';\n\nclass AudienceSelectorLauncher extends PureComponent {\n onPressAudience = () => {\n const { user, audienceType, audienceTypeSelection } = this.props;\n\n Services.navigation.navigate('audienceSelectorPage', {\n site: user.site,\n audienceType: audienceType || 'Custom',\n audienceTypeSelection: audienceTypeSelection || [],\n onChange: (audienceType, audienceTypeSelection) => {\n if (this.props.onChange) this.props.onChange(audienceType, audienceTypeSelection);\n },\n });\n };\n\n render() {\n const { style, textStyle, audienceTypeSelection } = this.props;\n const selected =\n audienceTypeSelection && audienceTypeSelection.length > 0\n ? `Current selection: ${audienceTypeSelection.map(i => i.Title).join(', ')}`\n : '';\n\n return (\n <FormCardSectionOptionLauncher\n sectionStyle={[styles.audienceSection, style]}\n textStyle={[styles.audienceText, textStyle]}\n onPress={this.onPressAudience}\n title=\"Audience\"\n description={selected}\n value={selected ? 'Custom' : 'All Users'}\n />\n );\n }\n}\n\nconst styles = StyleSheet.create({\n audienceSection: {\n paddingHorizontal: 0,\n },\n audienceText: {\n fontFamily: 'sf-semibold',\n fontSize: 16,\n color: TEXT_DARK,\n },\n});\n\nconst mapStateToProps = state => {\n return {\n user: state.user,\n colourBrandingMain: getMainBrandingColourFromState(state),\n };\n};\n\nconst audienceSelectorLauncher = connect(mapStateToProps, {})(AudienceSelectorLauncher);\nexport { audienceSelectorLauncher as AudienceSelectorLauncher };\n"],"mappings":";;;AAAA,OAAOA,KAAK,IAAIC,aAAa,QAAQ,OAAO;AAC5C,SAASC,UAAU,QAAQ,cAAc;AACzC,SAASC,OAAO,QAAQ,aAAa;AACrC,SAASC,6BAA6B,QAAQ,iCAAiC;AAC/E,SAASC,8BAA8B,EAAEC,SAAS,QAAQ,YAAY;AACtE,SAASC,QAAQ,QAAQ,WAAW;AAEpC,MAAMC,wBAAwB,SAASP,aAAa,CAAC;EAAAQ,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,0BACjC,MAAM;MACtB,MAAM;QAAEC,IAAI;QAAEC,YAAY;QAAEC;MAAsB,CAAC,GAAG,IAAI,CAACC,KAAK;MAEhER,QAAQ,CAACS,UAAU,CAACC,QAAQ,CAAC,sBAAsB,EAAE;QACnDC,IAAI,EAAEN,IAAI,CAACM,IAAI;QACfL,YAAY,EAAEA,YAAY,IAAI,QAAQ;QACtCC,qBAAqB,EAAEA,qBAAqB,IAAI,EAAE;QAClDK,QAAQ,EAAEA,CAACN,YAAY,EAAEC,qBAAqB,KAAK;UACjD,IAAI,IAAI,CAACC,KAAK,CAACI,QAAQ,EAAE,IAAI,CAACJ,KAAK,CAACI,QAAQ,CAACN,YAAY,EAAEC,qBAAqB,CAAC;QACnF;MACF,CAAC,CAAC;IACJ,CAAC;EAAA;EAEDM,MAAMA,CAAA,EAAG;IACP,MAAM;MAAEC,KAAK;MAAEC,SAAS;MAAER;IAAsB,CAAC,GAAG,IAAI,CAACC,KAAK;IAC9D,MAAMQ,QAAQ,GACZT,qBAAqB,IAAIA,qBAAqB,CAACU,MAAM,GAAG,CAAC,GACpD,sBAAqBV,qBAAqB,CAACW,GAAG,CAACC,CAAC,IAAIA,CAAC,CAACC,KAAK,CAAC,CAACC,IAAI,CAAC,IAAI,CAAE,EAAC,GAC1E,EAAE;IAER,oBACE5B,KAAA,CAAA6B,aAAA,CAACzB,6BAA6B;MAC5B0B,YAAY,EAAE,CAACC,MAAM,CAACC,eAAe,EAAEX,KAAK,CAAE;MAC9CC,SAAS,EAAE,CAACS,MAAM,CAACE,YAAY,EAAEX,SAAS,CAAE;MAC5CY,OAAO,EAAE,IAAI,CAACC,eAAgB;MAC9BC,KAAK,EAAC,UAAU;MAChBC,WAAW,EAAEd,QAAS;MACtBe,KAAK,EAAEf,QAAQ,GAAG,QAAQ,GAAG;IAAY,CAC1C,CAAC;EAEN;AACF;AAEA,MAAMQ,MAAM,GAAG7B,UAAU,CAACqC,MAAM,CAAC;EAC/BP,eAAe,EAAE;IACfQ,iBAAiB,EAAE;EACrB,CAAC;EACDP,YAAY,EAAE;IACZQ,UAAU,EAAE,aAAa;IACzBC,QAAQ,EAAE,EAAE;IACZC,KAAK,EAAErC;EACT;AACF,CAAC,CAAC;AAEF,MAAMsC,eAAe,GAAGC,KAAK,IAAI;EAC/B,OAAO;IACLjC,IAAI,EAAEiC,KAAK,CAACjC,IAAI;IAChBkC,kBAAkB,EAAEzC,8BAA8B,CAACwC,KAAK;EAC1D,CAAC;AACH,CAAC;AAED,MAAME,wBAAwB,GAAG5C,OAAO,CAACyC,eAAe,EAAE,CAAC,CAAC,CAAC,CAACpC,wBAAwB,CAAC;AACvF,SAASuC,wBAAwB,IAAIvC,wBAAwB"}
1
+ {"version":3,"names":["React","PureComponent","StyleSheet","connect","FormCardSectionOptionLauncher","getMainBrandingColourFromState","TEXT_DARK","Services","AudienceSelectorLauncher","constructor","args","_defineProperty","user","audienceType","audienceTypeSelection","props","navigation","navigate","site","onChange","render","style","textStyle","selected","length","map","i","Title","join","createElement","sectionStyle","styles","audienceSection","audienceText","onPress","onPressAudience","title","description","value","create","paddingHorizontal","fontFamily","fontSize","color","mapStateToProps","state","colourBrandingMain","audienceSelectorLauncher"],"sources":["AudienceSelectorLauncher.js"],"sourcesContent":["import React, { PureComponent } from 'react';\nimport { StyleSheet } from 'react-native';\nimport { connect } from 'react-redux';\nimport { FormCardSectionOptionLauncher } from './FormCardSectionOptionLauncher';\nimport { getMainBrandingColourFromState, TEXT_DARK } from '../colours';\nimport { Services } from '../config';\n\nclass AudienceSelectorLauncher extends PureComponent {\n onPressAudience = () => {\n const { user, audienceType, audienceTypeSelection } = this.props;\n\n Services.navigation.navigate('audienceSelectorPage', {\n site: user.site,\n audienceType: audienceType || 'Custom',\n audienceTypeSelection: audienceTypeSelection || [],\n onChange: (audienceType, audienceTypeSelection) => {\n if (this.props.onChange) this.props.onChange(audienceType, audienceTypeSelection);\n },\n });\n };\n\n render() {\n const { style, textStyle, audienceTypeSelection } = this.props;\n const selected =\n audienceTypeSelection && audienceTypeSelection.length > 0\n ? `Current selection: ${audienceTypeSelection.map(i => i.Title).join(', ')}`\n : '';\n\n return (\n <FormCardSectionOptionLauncher\n sectionStyle={[styles.audienceSection, style]}\n textStyle={[styles.audienceText, textStyle]}\n onPress={this.onPressAudience}\n title=\"Audience\"\n description={selected}\n value={selected ? 'Custom' : 'All Users'}\n />\n );\n }\n}\n\nconst styles = StyleSheet.create({\n audienceSection: {\n paddingHorizontal: 0,\n },\n audienceText: {\n fontFamily: 'sf-semibold',\n fontSize: 16,\n color: TEXT_DARK,\n },\n});\n\nconst mapStateToProps = state => {\n return {\n user: state.user,\n colourBrandingMain: getMainBrandingColourFromState(state),\n };\n};\n\nconst audienceSelectorLauncher = connect(mapStateToProps, {})(AudienceSelectorLauncher);\nexport { audienceSelectorLauncher as AudienceSelectorLauncher };\n"],"mappings":";;;AAAA,OAAOA,KAAK,IAAIC,aAAa,QAAQ,OAAO;AAC5C,SAASC,UAAU,QAAQ,cAAc;AACzC,SAASC,OAAO,QAAQ,aAAa;AACrC,SAASC,6BAA6B,QAAQ,iCAAiC;AAC/E,SAASC,8BAA8B,EAAEC,SAAS,QAAQ,YAAY;AACtE,SAASC,QAAQ,QAAQ,WAAW;AAEpC,MAAMC,wBAAwB,SAASP,aAAa,CAAC;EAAAQ,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,0BACjC,MAAM;MACtB,MAAM;QAAEC,IAAI;QAAEC,YAAY;QAAEC;MAAsB,CAAC,GAAG,IAAI,CAACC,KAAK;MAEhER,QAAQ,CAACS,UAAU,CAACC,QAAQ,CAAC,sBAAsB,EAAE;QACnDC,IAAI,EAAEN,IAAI,CAACM,IAAI;QACfL,YAAY,EAAEA,YAAY,IAAI,QAAQ;QACtCC,qBAAqB,EAAEA,qBAAqB,IAAI,EAAE;QAClDK,QAAQ,EAAEA,CAACN,YAAY,EAAEC,qBAAqB,KAAK;UACjD,IAAI,IAAI,CAACC,KAAK,CAACI,QAAQ,EAAE,IAAI,CAACJ,KAAK,CAACI,QAAQ,CAACN,YAAY,EAAEC,qBAAqB,CAAC;QACnF;MACF,CAAC,CAAC;IACJ,CAAC;EAAA;EAEDM,MAAMA,CAAA,EAAG;IACP,MAAM;MAAEC,KAAK;MAAEC,SAAS;MAAER;IAAsB,CAAC,GAAG,IAAI,CAACC,KAAK;IAC9D,MAAMQ,QAAQ,GACZT,qBAAqB,IAAIA,qBAAqB,CAACU,MAAM,GAAG,CAAC,GACrD,sBAAsBV,qBAAqB,CAACW,GAAG,CAACC,CAAC,IAAIA,CAAC,CAACC,KAAK,CAAC,CAACC,IAAI,CAAC,IAAI,CAAC,EAAE,GAC1E,EAAE;IAER,oBACE5B,KAAA,CAAA6B,aAAA,CAACzB,6BAA6B;MAC5B0B,YAAY,EAAE,CAACC,MAAM,CAACC,eAAe,EAAEX,KAAK,CAAE;MAC9CC,SAAS,EAAE,CAACS,MAAM,CAACE,YAAY,EAAEX,SAAS,CAAE;MAC5CY,OAAO,EAAE,IAAI,CAACC,eAAgB;MAC9BC,KAAK,EAAC,UAAU;MAChBC,WAAW,EAAEd,QAAS;MACtBe,KAAK,EAAEf,QAAQ,GAAG,QAAQ,GAAG;IAAY,CAC1C,CAAC;EAEN;AACF;AAEA,MAAMQ,MAAM,GAAG7B,UAAU,CAACqC,MAAM,CAAC;EAC/BP,eAAe,EAAE;IACfQ,iBAAiB,EAAE;EACrB,CAAC;EACDP,YAAY,EAAE;IACZQ,UAAU,EAAE,aAAa;IACzBC,QAAQ,EAAE,EAAE;IACZC,KAAK,EAAErC;EACT;AACF,CAAC,CAAC;AAEF,MAAMsC,eAAe,GAAGC,KAAK,IAAI;EAC/B,OAAO;IACLjC,IAAI,EAAEiC,KAAK,CAACjC,IAAI;IAChBkC,kBAAkB,EAAEzC,8BAA8B,CAACwC,KAAK;EAC1D,CAAC;AACH,CAAC;AAED,MAAME,wBAAwB,GAAG5C,OAAO,CAACyC,eAAe,EAAE,CAAC,CAAC,CAAC,CAACpC,wBAAwB,CAAC;AACvF,SAASuC,wBAAwB,IAAIvC,wBAAwB","ignoreList":[]}
@@ -1,6 +1,6 @@
1
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
3
- function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
1
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
2
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
3
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
4
4
  import React, { Component } from 'react';
5
5
  import { connect } from 'react-redux';
6
6
  import _ from 'lodash';
@@ -1 +1 @@
1
- {"version":3,"names":["React","Component","connect","_","TouchableOpacity","View","ScrollView","Text","StyleSheet","Icon","Services","FormCard","FormCardSection","InlineButton","Header","Spinner","TEXT_DARK","COLOUR_GREEN","BG_GREY","INACTIVE_BUTTON","TEXT_LIGHT","getMainBrandingColourFromState","typeActions","profileActions","AudienceSelectorPage","constructor","props","_defineProperty","setState","loading","getUserTypes","getUserTags","combinedList","getAvailableAudienceTags","error","console","data","site","forEach","e","name","category","toUpperCase","substring","displayName","key","typeName","types","getUserTagsBySite","Title","Id","tags","categories","state","audienceTypeSelection","categoryTags","map","c","AudienceType","AudienceTypeSelection","Selected","some","i","userTypeTags","t","userTagTags","navigation","goBack","newList","seeAll","option","selected","find","onChange","filter","length","renderOption","label","onSelect","hasUnderline","createElement","onPress","hasContent","style","styles","labelContainer","labelText","type","iconStyle","color","fontSize","renderSelectAll","allSelected","selectAllContainer","onSelectAll","renderSelection","selectedText","join","hasSelected","isEmpty","selectionContainer","selectionContainerInner","selectionTitle","onSeeAll","seeAllButton","selectionText","numberOfLines","renderTips","tipContainer","tipText","fontFamily","renderAvailableAudiences","availableScrollContainer","contentContainerStyle","availabelScrollContent","index","notLast","onToggleAudienceOption","renderButtons","doneButtonContainer","colourBrandingMain","onDone","touchableStyle","doneButton","fillTouchable","large","disabled","render","container","leftIcon","onPressLeft","onPressBack","text","create","flex","position","backgroundColor","marginTop","padding","flexDirection","justifyContent","marginLeft","flexGrow","description","paddingTop","paddingBottom","marginHorizontal","mapStateToProps"],"sources":["AudienceSelectorPage.js"],"sourcesContent":["import React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport _ from 'lodash';\nimport { TouchableOpacity, View, ScrollView, Text, StyleSheet } from 'react-native';\nimport { Icon } from 'react-native-elements';\nimport { Services } from '../config';\nimport { FormCard } from './FormCard';\nimport { FormCardSection } from './FormCardSection';\nimport { InlineButton } from './InlineButton';\nimport Header from './Header';\nimport { Spinner } from './Spinner';\nimport { TEXT_DARK, COLOUR_GREEN, BG_GREY, INACTIVE_BUTTON, TEXT_LIGHT, getMainBrandingColourFromState } from '../colours';\nimport { typeActions, profileActions } from '../apis';\n\nclass AudienceSelectorPage extends Component {\n constructor(props) {\n super(props);\n\n this.state = {\n loading: false,\n categories: [\n {\n name: 'All Primary Users',\n key: 'resident',\n },\n {\n name: 'All Staff Users',\n key: 'staff',\n },\n {\n name: 'All Linked Users',\n key: 'family',\n },\n ],\n types: [],\n tags: [],\n combinedList: [],\n seeAll: false,\n };\n }\n\n componentDidMount = async () => {\n try {\n this.setState({ loading: true });\n await this.getUserTypes();\n await this.getUserTags();\n this.setState({ loading: false, combinedList: this.getAvailableAudienceTags() });\n } catch (error) {\n console.error('loading types error', error);\n this.setState({ loading: false });\n }\n };\n\n getUserTypes = async () => {\n const { data } = await typeActions.getUserTypes(this.props.site);\n data.forEach(e => {\n e.name = e.category ? `(${e.category[0].toUpperCase() + e.category.substring(1)}) ${e.displayName}` : e.displayName;\n e.key = e.typeName;\n });\n // console.log('getUserTypes', data);\n this.setState({ types: data });\n };\n\n getUserTags = async () => {\n const { data } = await profileActions.getUserTagsBySite(this.props.site);\n data.forEach(e => {\n e.name = e.Title;\n e.key = e.Id;\n });\n // console.log('getUserTags', data);\n this.setState({ tags: data });\n };\n\n getAvailableAudienceTags = () => {\n const { categories, types, tags } = this.state;\n const { audienceTypeSelection } = this.props;\n\n const categoryTags = categories.map(c => {\n const Id = `category_${c.key}`;\n return {\n AudienceType: 'Category',\n AudienceTypeSelection: c.key,\n Id,\n Title: c.name,\n Selected: audienceTypeSelection.some(i => i.Id === Id),\n };\n });\n const userTypeTags = types.map(t => {\n const Id = `userType_${t.typeName}`;\n return {\n AudienceType: 'UserType',\n AudienceTypeSelection: t.typeName,\n Id,\n Title: `User Type: ${t.displayName}`,\n Selected: audienceTypeSelection.some(i => i.Id === Id),\n };\n });\n const userTagTags = tags.map(t => {\n const Id = `userTag_${t.Id}`;\n return {\n AudienceType: 'UserTags',\n AudienceTypeSelection: t.Id,\n Id,\n Title: `User Tag: ${t.Title}`,\n Selected: audienceTypeSelection.some(i => i.Id === Id),\n };\n });\n return [...categoryTags, ...userTypeTags, ...userTagTags];\n };\n\n onPressBack = () => {\n Services.navigation.goBack();\n };\n\n onSelectAll = () => {\n const newList = [...this.state.combinedList];\n newList.forEach(i => (i.Selected = false));\n this.setState({ combinedList: newList });\n };\n\n onSeeAll = () => {\n this.setState({ seeAll: !this.state.seeAll });\n };\n\n onToggleAudienceOption = option => {\n const newList = [...this.state.combinedList];\n const selected = newList.find(i => i.Id === option.Id);\n if (selected) {\n selected.Selected = !selected.Selected;\n this.setState({ combinedList: newList });\n }\n };\n\n onDone = () => {\n if (this.props.onChange) {\n const { combinedList } = this.state;\n const selected = combinedList.filter(i => i.Selected);\n if (selected && selected.length > 0) {\n this.props.onChange('Custom', selected);\n } else {\n this.props.onChange(null, null);\n }\n }\n Services.navigation.goBack();\n };\n\n renderOption(label, selected, onSelect, key = null, hasUnderline = true) {\n return (\n <TouchableOpacity key={key} onPress={onSelect}>\n <FormCardSection hasUnderline={hasUnderline} hasContent>\n <View style={styles.labelContainer}>\n <Text style={styles.labelText}>{label}</Text>\n <Icon\n name=\"check-circle\"\n type=\"font-awesome\"\n iconStyle={[{ color: INACTIVE_BUTTON, fontSize: 20 }, selected && { color: COLOUR_GREEN }]}\n />\n </View>\n </FormCardSection>\n </TouchableOpacity>\n );\n }\n\n renderSelectAll() {\n const { combinedList, loading } = this.state;\n const allSelected = !combinedList.find(i => i.Selected);\n if (loading) return null;\n\n return (\n <FormCard style={styles.selectAllContainer}>{this.renderOption('All Users', allSelected, this.onSelectAll, null, false)}</FormCard>\n );\n }\n\n renderSelection() {\n const { loading, combinedList, seeAll } = this.state;\n if (loading) return null;\n\n const selectedText = combinedList\n .filter(i => i.Selected)\n .map(i => i.Title)\n .join(', ');\n const hasSelected = !_.isEmpty(selectedText);\n\n return (\n <View style={styles.selectionContainer}>\n <View style={styles.selectionContainerInner}>\n <Text style={styles.selectionTitle}>or select from below</Text>\n {hasSelected ? (\n <TouchableOpacity onPress={this.onSeeAll}>\n <Text style={styles.seeAllButton}>{seeAll ? 'See less' : 'See all'}</Text>\n </TouchableOpacity>\n ) : null}\n </View>\n {hasSelected ? (\n <Text style={styles.selectionText} numberOfLines={seeAll ? null : 1}>{`Current selection: ${selectedText}`}</Text>\n ) : null}\n </View>\n );\n }\n\n renderTips() {\n return (\n <View style={styles.tipContainer}>\n <Text style={styles.tipText}>\n <Text style={{ fontFamily: 'sf-semibold' }}>Tip: </Text>\n Group your users using User Tags from your website Community Manager\n </Text>\n </View>\n );\n }\n\n renderAvailableAudiences() {\n const { loading, combinedList } = this.state;\n\n return (\n <ScrollView style={styles.availableScrollContainer} contentContainerStyle={styles.availabelScrollContent}>\n <FormCard>\n {combinedList.map((option, index) => {\n const notLast = index < combinedList.length - 1;\n return this.renderOption(option.Title, option.Selected, () => this.onToggleAudienceOption(option), index, notLast);\n })}\n </FormCard>\n {loading ? <Spinner /> : null}\n {this.renderTips()}\n </ScrollView>\n );\n }\n\n renderButtons() {\n const { loading } = this.state;\n\n return (\n <View style={styles.doneButtonContainer}>\n <InlineButton\n color={loading ? INACTIVE_BUTTON : this.props.colourBrandingMain}\n onPress={this.onDone}\n touchableStyle={styles.doneButton}\n fillTouchable\n large\n disabled={loading}\n >\n Done\n </InlineButton>\n </View>\n );\n }\n\n render() {\n return (\n <View style={styles.container}>\n <Header leftIcon=\"angle-left\" onPressLeft={this.onPressBack} text={'Select Audience'} />\n {this.renderSelectAll()}\n {this.renderSelection()}\n {this.renderAvailableAudiences()}\n {this.renderButtons()}\n </View>\n );\n }\n}\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n position: 'relative',\n backgroundColor: BG_GREY,\n },\n selectAllContainer: {\n marginTop: 20,\n },\n selectionContainer: {\n padding: 20,\n },\n selectionContainerInner: {\n flexDirection: 'row',\n justifyContent: 'space-between',\n },\n selectionTitle: {\n fontFamily: 'sf-bold',\n fontSize: 14,\n color: TEXT_DARK,\n },\n selectionText: {\n fontFamily: 'sf-bold',\n fontSize: 14,\n color: TEXT_DARK,\n marginTop: 10,\n },\n seeAllButton: {\n marginLeft: 10,\n fontFamily: 'sf-bold',\n fontSize: 14,\n color: TEXT_LIGHT,\n },\n availableScrollContainer: {\n flex: 1,\n },\n availabelScrollContent: {\n flexGrow: 1,\n justifyContent: 'space-between',\n flexDirection: 'column',\n },\n tipContainer: {\n padding: 10,\n },\n tipText: {\n fontSize: 14,\n fontFamily: 'sf-regular',\n color: TEXT_DARK,\n },\n labelContainer: {\n flexDirection: 'row',\n justifyContent: 'space-between',\n },\n labelText: {\n fontFamily: 'sf-medium',\n fontSize: 16,\n color: TEXT_DARK,\n },\n description: {\n marginTop: 5,\n fontSize: 14,\n fontFamily: 'sf-regular',\n color: TEXT_DARK,\n },\n doneButtonContainer: {\n backgroundColor: '#fff',\n marginTop: 1,\n flexDirection: 'row',\n paddingTop: 10,\n paddingBottom: 20,\n },\n doneButton: {\n flex: 1,\n marginHorizontal: 6,\n },\n});\n\nconst mapStateToProps = state => {\n return {\n colourBrandingMain: getMainBrandingColourFromState(state),\n };\n};\n\nexport default connect(mapStateToProps, {})(AudienceSelectorPage);\n"],"mappings":";;;AAAA,OAAOA,KAAK,IAAIC,SAAS,QAAQ,OAAO;AACxC,SAASC,OAAO,QAAQ,aAAa;AACrC,OAAOC,CAAC,MAAM,QAAQ;AACtB,SAASC,gBAAgB,EAAEC,IAAI,EAAEC,UAAU,EAAEC,IAAI,EAAEC,UAAU,QAAQ,cAAc;AACnF,SAASC,IAAI,QAAQ,uBAAuB;AAC5C,SAASC,QAAQ,QAAQ,WAAW;AACpC,SAASC,QAAQ,QAAQ,YAAY;AACrC,SAASC,eAAe,QAAQ,mBAAmB;AACnD,SAASC,YAAY,QAAQ,gBAAgB;AAC7C,OAAOC,MAAM,MAAM,UAAU;AAC7B,SAASC,OAAO,QAAQ,WAAW;AACnC,SAASC,SAAS,EAAEC,YAAY,EAAEC,OAAO,EAAEC,eAAe,EAAEC,UAAU,EAAEC,8BAA8B,QAAQ,YAAY;AAC1H,SAASC,WAAW,EAAEC,cAAc,QAAQ,SAAS;AAErD,MAAMC,oBAAoB,SAASvB,SAAS,CAAC;EAC3CwB,WAAWA,CAACC,KAAK,EAAE;IACjB,KAAK,CAACA,KAAK,CAAC;IAACC,eAAA,4BAyBK,YAAY;MAC9B,IAAI;QACF,IAAI,CAACC,QAAQ,CAAC;UAAEC,OAAO,EAAE;QAAK,CAAC,CAAC;QAChC,MAAM,IAAI,CAACC,YAAY,CAAC,CAAC;QACzB,MAAM,IAAI,CAACC,WAAW,CAAC,CAAC;QACxB,IAAI,CAACH,QAAQ,CAAC;UAAEC,OAAO,EAAE,KAAK;UAAEG,YAAY,EAAE,IAAI,CAACC,wBAAwB,CAAC;QAAE,CAAC,CAAC;MAClF,CAAC,CAAC,OAAOC,KAAK,EAAE;QACdC,OAAO,CAACD,KAAK,CAAC,qBAAqB,EAAEA,KAAK,CAAC;QAC3C,IAAI,CAACN,QAAQ,CAAC;UAAEC,OAAO,EAAE;QAAM,CAAC,CAAC;MACnC;IACF,CAAC;IAAAF,eAAA,uBAEc,YAAY;MACzB,MAAM;QAAES;MAAK,CAAC,GAAG,MAAMd,WAAW,CAACQ,YAAY,CAAC,IAAI,CAACJ,KAAK,CAACW,IAAI,CAAC;MAChED,IAAI,CAACE,OAAO,CAACC,CAAC,IAAI;QAChBA,CAAC,CAACC,IAAI,GAAGD,CAAC,CAACE,QAAQ,GAAI,IAAGF,CAAC,CAACE,QAAQ,CAAC,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC,GAAGH,CAAC,CAACE,QAAQ,CAACE,SAAS,CAAC,CAAC,CAAE,KAAIJ,CAAC,CAACK,WAAY,EAAC,GAAGL,CAAC,CAACK,WAAW;QACnHL,CAAC,CAACM,GAAG,GAAGN,CAAC,CAACO,QAAQ;MACpB,CAAC,CAAC;MACF;MACA,IAAI,CAAClB,QAAQ,CAAC;QAAEmB,KAAK,EAAEX;MAAK,CAAC,CAAC;IAChC,CAAC;IAAAT,eAAA,sBAEa,YAAY;MACxB,MAAM;QAAES;MAAK,CAAC,GAAG,MAAMb,cAAc,CAACyB,iBAAiB,CAAC,IAAI,CAACtB,KAAK,CAACW,IAAI,CAAC;MACxED,IAAI,CAACE,OAAO,CAACC,CAAC,IAAI;QAChBA,CAAC,CAACC,IAAI,GAAGD,CAAC,CAACU,KAAK;QAChBV,CAAC,CAACM,GAAG,GAAGN,CAAC,CAACW,EAAE;MACd,CAAC,CAAC;MACF;MACA,IAAI,CAACtB,QAAQ,CAAC;QAAEuB,IAAI,EAAEf;MAAK,CAAC,CAAC;IAC/B,CAAC;IAAAT,eAAA,mCAE0B,MAAM;MAC/B,MAAM;QAAEyB,UAAU;QAAEL,KAAK;QAAEI;MAAK,CAAC,GAAG,IAAI,CAACE,KAAK;MAC9C,MAAM;QAAEC;MAAsB,CAAC,GAAG,IAAI,CAAC5B,KAAK;MAE5C,MAAM6B,YAAY,GAAGH,UAAU,CAACI,GAAG,CAACC,CAAC,IAAI;QACvC,MAAMP,EAAE,GAAI,YAAWO,CAAC,CAACZ,GAAI,EAAC;QAC9B,OAAO;UACLa,YAAY,EAAE,UAAU;UACxBC,qBAAqB,EAAEF,CAAC,CAACZ,GAAG;UAC5BK,EAAE;UACFD,KAAK,EAAEQ,CAAC,CAACjB,IAAI;UACboB,QAAQ,EAAEN,qBAAqB,CAACO,IAAI,CAACC,CAAC,IAAIA,CAAC,CAACZ,EAAE,KAAKA,EAAE;QACvD,CAAC;MACH,CAAC,CAAC;MACF,MAAMa,YAAY,GAAGhB,KAAK,CAACS,GAAG,CAACQ,CAAC,IAAI;QAClC,MAAMd,EAAE,GAAI,YAAWc,CAAC,CAAClB,QAAS,EAAC;QACnC,OAAO;UACLY,YAAY,EAAE,UAAU;UACxBC,qBAAqB,EAAEK,CAAC,CAAClB,QAAQ;UACjCI,EAAE;UACFD,KAAK,EAAG,cAAae,CAAC,CAACpB,WAAY,EAAC;UACpCgB,QAAQ,EAAEN,qBAAqB,CAACO,IAAI,CAACC,CAAC,IAAIA,CAAC,CAACZ,EAAE,KAAKA,EAAE;QACvD,CAAC;MACH,CAAC,CAAC;MACF,MAAMe,WAAW,GAAGd,IAAI,CAACK,GAAG,CAACQ,CAAC,IAAI;QAChC,MAAMd,EAAE,GAAI,WAAUc,CAAC,CAACd,EAAG,EAAC;QAC5B,OAAO;UACLQ,YAAY,EAAE,UAAU;UACxBC,qBAAqB,EAAEK,CAAC,CAACd,EAAE;UAC3BA,EAAE;UACFD,KAAK,EAAG,aAAYe,CAAC,CAACf,KAAM,EAAC;UAC7BW,QAAQ,EAAEN,qBAAqB,CAACO,IAAI,CAACC,CAAC,IAAIA,CAAC,CAACZ,EAAE,KAAKA,EAAE;QACvD,CAAC;MACH,CAAC,CAAC;MACF,OAAO,CAAC,GAAGK,YAAY,EAAE,GAAGQ,YAAY,EAAE,GAAGE,WAAW,CAAC;IAC3D,CAAC;IAAAtC,eAAA,sBAEa,MAAM;MAClBjB,QAAQ,CAACwD,UAAU,CAACC,MAAM,CAAC,CAAC;IAC9B,CAAC;IAAAxC,eAAA,sBAEa,MAAM;MAClB,MAAMyC,OAAO,GAAG,CAAC,GAAG,IAAI,CAACf,KAAK,CAACrB,YAAY,CAAC;MAC5CoC,OAAO,CAAC9B,OAAO,CAACwB,CAAC,IAAKA,CAAC,CAACF,QAAQ,GAAG,KAAM,CAAC;MAC1C,IAAI,CAAChC,QAAQ,CAAC;QAAEI,YAAY,EAAEoC;MAAQ,CAAC,CAAC;IAC1C,CAAC;IAAAzC,eAAA,mBAEU,MAAM;MACf,IAAI,CAACC,QAAQ,CAAC;QAAEyC,MAAM,EAAE,CAAC,IAAI,CAAChB,KAAK,CAACgB;MAAO,CAAC,CAAC;IAC/C,CAAC;IAAA1C,eAAA,iCAEwB2C,MAAM,IAAI;MACjC,MAAMF,OAAO,GAAG,CAAC,GAAG,IAAI,CAACf,KAAK,CAACrB,YAAY,CAAC;MAC5C,MAAMuC,QAAQ,GAAGH,OAAO,CAACI,IAAI,CAACV,CAAC,IAAIA,CAAC,CAACZ,EAAE,KAAKoB,MAAM,CAACpB,EAAE,CAAC;MACtD,IAAIqB,QAAQ,EAAE;QACZA,QAAQ,CAACX,QAAQ,GAAG,CAACW,QAAQ,CAACX,QAAQ;QACtC,IAAI,CAAChC,QAAQ,CAAC;UAAEI,YAAY,EAAEoC;QAAQ,CAAC,CAAC;MAC1C;IACF,CAAC;IAAAzC,eAAA,iBAEQ,MAAM;MACb,IAAI,IAAI,CAACD,KAAK,CAAC+C,QAAQ,EAAE;QACvB,MAAM;UAAEzC;QAAa,CAAC,GAAG,IAAI,CAACqB,KAAK;QACnC,MAAMkB,QAAQ,GAAGvC,YAAY,CAAC0C,MAAM,CAACZ,CAAC,IAAIA,CAAC,CAACF,QAAQ,CAAC;QACrD,IAAIW,QAAQ,IAAIA,QAAQ,CAACI,MAAM,GAAG,CAAC,EAAE;UACnC,IAAI,CAACjD,KAAK,CAAC+C,QAAQ,CAAC,QAAQ,EAAEF,QAAQ,CAAC;QACzC,CAAC,MAAM;UACL,IAAI,CAAC7C,KAAK,CAAC+C,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;QACjC;MACF;MACA/D,QAAQ,CAACwD,UAAU,CAACC,MAAM,CAAC,CAAC;IAC9B,CAAC;IA9HC,IAAI,CAACd,KAAK,GAAG;MACXxB,OAAO,EAAE,KAAK;MACduB,UAAU,EAAE,CACV;QACEZ,IAAI,EAAE,mBAAmB;QACzBK,GAAG,EAAE;MACP,CAAC,EACD;QACEL,IAAI,EAAE,iBAAiB;QACvBK,GAAG,EAAE;MACP,CAAC,EACD;QACEL,IAAI,EAAE,kBAAkB;QACxBK,GAAG,EAAE;MACP,CAAC,CACF;MACDE,KAAK,EAAE,EAAE;MACTI,IAAI,EAAE,EAAE;MACRnB,YAAY,EAAE,EAAE;MAChBqC,MAAM,EAAE;IACV,CAAC;EACH;EA2GAO,YAAYA,CAACC,KAAK,EAAEN,QAAQ,EAAEO,QAAQ,EAAEjC,GAAG,GAAG,IAAI,EAAEkC,YAAY,GAAG,IAAI,EAAE;IACvE,oBACE/E,KAAA,CAAAgF,aAAA,CAAC5E,gBAAgB;MAACyC,GAAG,EAAEA,GAAI;MAACoC,OAAO,EAAEH;IAAS,gBAC5C9E,KAAA,CAAAgF,aAAA,CAACpE,eAAe;MAACmE,YAAY,EAAEA,YAAa;MAACG,UAAU;IAAA,gBACrDlF,KAAA,CAAAgF,aAAA,CAAC3E,IAAI;MAAC8E,KAAK,EAAEC,MAAM,CAACC;IAAe,gBACjCrF,KAAA,CAAAgF,aAAA,CAACzE,IAAI;MAAC4E,KAAK,EAAEC,MAAM,CAACE;IAAU,GAAET,KAAY,CAAC,eAC7C7E,KAAA,CAAAgF,aAAA,CAACvE,IAAI;MACH+B,IAAI,EAAC,cAAc;MACnB+C,IAAI,EAAC,cAAc;MACnBC,SAAS,EAAE,CAAC;QAAEC,KAAK,EAAEtE,eAAe;QAAEuE,QAAQ,EAAE;MAAG,CAAC,EAAEnB,QAAQ,IAAI;QAAEkB,KAAK,EAAExE;MAAa,CAAC;IAAE,CAC5F,CACG,CACS,CACD,CAAC;EAEvB;EAEA0E,eAAeA,CAAA,EAAG;IAChB,MAAM;MAAE3D,YAAY;MAAEH;IAAQ,CAAC,GAAG,IAAI,CAACwB,KAAK;IAC5C,MAAMuC,WAAW,GAAG,CAAC5D,YAAY,CAACwC,IAAI,CAACV,CAAC,IAAIA,CAAC,CAACF,QAAQ,CAAC;IACvD,IAAI/B,OAAO,EAAE,OAAO,IAAI;IAExB,oBACE7B,KAAA,CAAAgF,aAAA,CAACrE,QAAQ;MAACwE,KAAK,EAAEC,MAAM,CAACS;IAAmB,GAAE,IAAI,CAACjB,YAAY,CAAC,WAAW,EAAEgB,WAAW,EAAE,IAAI,CAACE,WAAW,EAAE,IAAI,EAAE,KAAK,CAAY,CAAC;EAEvI;EAEAC,eAAeA,CAAA,EAAG;IAChB,MAAM;MAAElE,OAAO;MAAEG,YAAY;MAAEqC;IAAO,CAAC,GAAG,IAAI,CAAChB,KAAK;IACpD,IAAIxB,OAAO,EAAE,OAAO,IAAI;IAExB,MAAMmE,YAAY,GAAGhE,YAAY,CAC9B0C,MAAM,CAACZ,CAAC,IAAIA,CAAC,CAACF,QAAQ,CAAC,CACvBJ,GAAG,CAACM,CAAC,IAAIA,CAAC,CAACb,KAAK,CAAC,CACjBgD,IAAI,CAAC,IAAI,CAAC;IACb,MAAMC,WAAW,GAAG,CAAC/F,CAAC,CAACgG,OAAO,CAACH,YAAY,CAAC;IAE5C,oBACEhG,KAAA,CAAAgF,aAAA,CAAC3E,IAAI;MAAC8E,KAAK,EAAEC,MAAM,CAACgB;IAAmB,gBACrCpG,KAAA,CAAAgF,aAAA,CAAC3E,IAAI;MAAC8E,KAAK,EAAEC,MAAM,CAACiB;IAAwB,gBAC1CrG,KAAA,CAAAgF,aAAA,CAACzE,IAAI;MAAC4E,KAAK,EAAEC,MAAM,CAACkB;IAAe,GAAC,sBAA0B,CAAC,EAC9DJ,WAAW,gBACVlG,KAAA,CAAAgF,aAAA,CAAC5E,gBAAgB;MAAC6E,OAAO,EAAE,IAAI,CAACsB;IAAS,gBACvCvG,KAAA,CAAAgF,aAAA,CAACzE,IAAI;MAAC4E,KAAK,EAAEC,MAAM,CAACoB;IAAa,GAAEnC,MAAM,GAAG,UAAU,GAAG,SAAgB,CACzD,CAAC,GACjB,IACA,CAAC,EACN6B,WAAW,gBACVlG,KAAA,CAAAgF,aAAA,CAACzE,IAAI;MAAC4E,KAAK,EAAEC,MAAM,CAACqB,aAAc;MAACC,aAAa,EAAErC,MAAM,GAAG,IAAI,GAAG;IAAE,GAAG,sBAAqB2B,YAAa,EAAQ,CAAC,GAChH,IACA,CAAC;EAEX;EAEAW,UAAUA,CAAA,EAAG;IACX,oBACE3G,KAAA,CAAAgF,aAAA,CAAC3E,IAAI;MAAC8E,KAAK,EAAEC,MAAM,CAACwB;IAAa,gBAC/B5G,KAAA,CAAAgF,aAAA,CAACzE,IAAI;MAAC4E,KAAK,EAAEC,MAAM,CAACyB;IAAQ,gBAC1B7G,KAAA,CAAAgF,aAAA,CAACzE,IAAI;MAAC4E,KAAK,EAAE;QAAE2B,UAAU,EAAE;MAAc;IAAE,GAAC,OAAW,CAAC,wEAEpD,CACF,CAAC;EAEX;EAEAC,wBAAwBA,CAAA,EAAG;IACzB,MAAM;MAAElF,OAAO;MAAEG;IAAa,CAAC,GAAG,IAAI,CAACqB,KAAK;IAE5C,oBACErD,KAAA,CAAAgF,aAAA,CAAC1E,UAAU;MAAC6E,KAAK,EAAEC,MAAM,CAAC4B,wBAAyB;MAACC,qBAAqB,EAAE7B,MAAM,CAAC8B;IAAuB,gBACvGlH,KAAA,CAAAgF,aAAA,CAACrE,QAAQ,QACNqB,YAAY,CAACwB,GAAG,CAAC,CAACc,MAAM,EAAE6C,KAAK,KAAK;MACnC,MAAMC,OAAO,GAAGD,KAAK,GAAGnF,YAAY,CAAC2C,MAAM,GAAG,CAAC;MAC/C,OAAO,IAAI,CAACC,YAAY,CAACN,MAAM,CAACrB,KAAK,EAAEqB,MAAM,CAACV,QAAQ,EAAE,MAAM,IAAI,CAACyD,sBAAsB,CAAC/C,MAAM,CAAC,EAAE6C,KAAK,EAAEC,OAAO,CAAC;IACpH,CAAC,CACO,CAAC,EACVvF,OAAO,gBAAG7B,KAAA,CAAAgF,aAAA,CAACjE,OAAO,MAAE,CAAC,GAAG,IAAI,EAC5B,IAAI,CAAC4F,UAAU,CAAC,CACP,CAAC;EAEjB;EAEAW,aAAaA,CAAA,EAAG;IACd,MAAM;MAAEzF;IAAQ,CAAC,GAAG,IAAI,CAACwB,KAAK;IAE9B,oBACErD,KAAA,CAAAgF,aAAA,CAAC3E,IAAI;MAAC8E,KAAK,EAAEC,MAAM,CAACmC;IAAoB,gBACtCvH,KAAA,CAAAgF,aAAA,CAACnE,YAAY;MACX4E,KAAK,EAAE5D,OAAO,GAAGV,eAAe,GAAG,IAAI,CAACO,KAAK,CAAC8F,kBAAmB;MACjEvC,OAAO,EAAE,IAAI,CAACwC,MAAO;MACrBC,cAAc,EAAEtC,MAAM,CAACuC,UAAW;MAClCC,aAAa;MACbC,KAAK;MACLC,QAAQ,EAAEjG;IAAQ,GACnB,MAEa,CACV,CAAC;EAEX;EAEAkG,MAAMA,CAAA,EAAG;IACP,oBACE/H,KAAA,CAAAgF,aAAA,CAAC3E,IAAI;MAAC8E,KAAK,EAAEC,MAAM,CAAC4C;IAAU,gBAC5BhI,KAAA,CAAAgF,aAAA,CAAClE,MAAM;MAACmH,QAAQ,EAAC,YAAY;MAACC,WAAW,EAAE,IAAI,CAACC,WAAY;MAACC,IAAI,EAAE;IAAkB,CAAE,CAAC,EACvF,IAAI,CAACzC,eAAe,CAAC,CAAC,EACtB,IAAI,CAACI,eAAe,CAAC,CAAC,EACtB,IAAI,CAACgB,wBAAwB,CAAC,CAAC,EAC/B,IAAI,CAACO,aAAa,CAAC,CAChB,CAAC;EAEX;AACF;AAEA,MAAMlC,MAAM,GAAG5E,UAAU,CAAC6H,MAAM,CAAC;EAC/BL,SAAS,EAAE;IACTM,IAAI,EAAE,CAAC;IACPC,QAAQ,EAAE,UAAU;IACpBC,eAAe,EAAEtH;EACnB,CAAC;EACD2E,kBAAkB,EAAE;IAClB4C,SAAS,EAAE;EACb,CAAC;EACDrC,kBAAkB,EAAE;IAClBsC,OAAO,EAAE;EACX,CAAC;EACDrC,uBAAuB,EAAE;IACvBsC,aAAa,EAAE,KAAK;IACpBC,cAAc,EAAE;EAClB,CAAC;EACDtC,cAAc,EAAE;IACdQ,UAAU,EAAE,SAAS;IACrBpB,QAAQ,EAAE,EAAE;IACZD,KAAK,EAAEzE;EACT,CAAC;EACDyF,aAAa,EAAE;IACbK,UAAU,EAAE,SAAS;IACrBpB,QAAQ,EAAE,EAAE;IACZD,KAAK,EAAEzE,SAAS;IAChByH,SAAS,EAAE;EACb,CAAC;EACDjC,YAAY,EAAE;IACZqC,UAAU,EAAE,EAAE;IACd/B,UAAU,EAAE,SAAS;IACrBpB,QAAQ,EAAE,EAAE;IACZD,KAAK,EAAErE;EACT,CAAC;EACD4F,wBAAwB,EAAE;IACxBsB,IAAI,EAAE;EACR,CAAC;EACDpB,sBAAsB,EAAE;IACtB4B,QAAQ,EAAE,CAAC;IACXF,cAAc,EAAE,eAAe;IAC/BD,aAAa,EAAE;EACjB,CAAC;EACD/B,YAAY,EAAE;IACZ8B,OAAO,EAAE;EACX,CAAC;EACD7B,OAAO,EAAE;IACPnB,QAAQ,EAAE,EAAE;IACZoB,UAAU,EAAE,YAAY;IACxBrB,KAAK,EAAEzE;EACT,CAAC;EACDqE,cAAc,EAAE;IACdsD,aAAa,EAAE,KAAK;IACpBC,cAAc,EAAE;EAClB,CAAC;EACDtD,SAAS,EAAE;IACTwB,UAAU,EAAE,WAAW;IACvBpB,QAAQ,EAAE,EAAE;IACZD,KAAK,EAAEzE;EACT,CAAC;EACD+H,WAAW,EAAE;IACXN,SAAS,EAAE,CAAC;IACZ/C,QAAQ,EAAE,EAAE;IACZoB,UAAU,EAAE,YAAY;IACxBrB,KAAK,EAAEzE;EACT,CAAC;EACDuG,mBAAmB,EAAE;IACnBiB,eAAe,EAAE,MAAM;IACvBC,SAAS,EAAE,CAAC;IACZE,aAAa,EAAE,KAAK;IACpBK,UAAU,EAAE,EAAE;IACdC,aAAa,EAAE;EACjB,CAAC;EACDtB,UAAU,EAAE;IACVW,IAAI,EAAE,CAAC;IACPY,gBAAgB,EAAE;EACpB;AACF,CAAC,CAAC;AAEF,MAAMC,eAAe,GAAG9F,KAAK,IAAI;EAC/B,OAAO;IACLmE,kBAAkB,EAAEnG,8BAA8B,CAACgC,KAAK;EAC1D,CAAC;AACH,CAAC;AAED,eAAenD,OAAO,CAACiJ,eAAe,EAAE,CAAC,CAAC,CAAC,CAAC3H,oBAAoB,CAAC"}
1
+ {"version":3,"names":["React","Component","connect","_","TouchableOpacity","View","ScrollView","Text","StyleSheet","Icon","Services","FormCard","FormCardSection","InlineButton","Header","Spinner","TEXT_DARK","COLOUR_GREEN","BG_GREY","INACTIVE_BUTTON","TEXT_LIGHT","getMainBrandingColourFromState","typeActions","profileActions","AudienceSelectorPage","constructor","props","_defineProperty","setState","loading","getUserTypes","getUserTags","combinedList","getAvailableAudienceTags","error","console","data","site","forEach","e","name","category","toUpperCase","substring","displayName","key","typeName","types","getUserTagsBySite","Title","Id","tags","categories","state","audienceTypeSelection","categoryTags","map","c","AudienceType","AudienceTypeSelection","Selected","some","i","userTypeTags","t","userTagTags","navigation","goBack","newList","seeAll","option","selected","find","onChange","filter","length","renderOption","label","onSelect","hasUnderline","createElement","onPress","hasContent","style","styles","labelContainer","labelText","type","iconStyle","color","fontSize","renderSelectAll","allSelected","selectAllContainer","onSelectAll","renderSelection","selectedText","join","hasSelected","isEmpty","selectionContainer","selectionContainerInner","selectionTitle","onSeeAll","seeAllButton","selectionText","numberOfLines","renderTips","tipContainer","tipText","fontFamily","renderAvailableAudiences","availableScrollContainer","contentContainerStyle","availabelScrollContent","index","notLast","onToggleAudienceOption","renderButtons","doneButtonContainer","colourBrandingMain","onDone","touchableStyle","doneButton","fillTouchable","large","disabled","render","container","leftIcon","onPressLeft","onPressBack","text","create","flex","position","backgroundColor","marginTop","padding","flexDirection","justifyContent","marginLeft","flexGrow","description","paddingTop","paddingBottom","marginHorizontal","mapStateToProps"],"sources":["AudienceSelectorPage.js"],"sourcesContent":["import React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport _ from 'lodash';\nimport { TouchableOpacity, View, ScrollView, Text, StyleSheet } from 'react-native';\nimport { Icon } from 'react-native-elements';\nimport { Services } from '../config';\nimport { FormCard } from './FormCard';\nimport { FormCardSection } from './FormCardSection';\nimport { InlineButton } from './InlineButton';\nimport Header from './Header';\nimport { Spinner } from './Spinner';\nimport { TEXT_DARK, COLOUR_GREEN, BG_GREY, INACTIVE_BUTTON, TEXT_LIGHT, getMainBrandingColourFromState } from '../colours';\nimport { typeActions, profileActions } from '../apis';\n\nclass AudienceSelectorPage extends Component {\n constructor(props) {\n super(props);\n\n this.state = {\n loading: false,\n categories: [\n {\n name: 'All Primary Users',\n key: 'resident',\n },\n {\n name: 'All Staff Users',\n key: 'staff',\n },\n {\n name: 'All Linked Users',\n key: 'family',\n },\n ],\n types: [],\n tags: [],\n combinedList: [],\n seeAll: false,\n };\n }\n\n componentDidMount = async () => {\n try {\n this.setState({ loading: true });\n await this.getUserTypes();\n await this.getUserTags();\n this.setState({ loading: false, combinedList: this.getAvailableAudienceTags() });\n } catch (error) {\n console.error('loading types error', error);\n this.setState({ loading: false });\n }\n };\n\n getUserTypes = async () => {\n const { data } = await typeActions.getUserTypes(this.props.site);\n data.forEach(e => {\n e.name = e.category ? `(${e.category[0].toUpperCase() + e.category.substring(1)}) ${e.displayName}` : e.displayName;\n e.key = e.typeName;\n });\n // console.log('getUserTypes', data);\n this.setState({ types: data });\n };\n\n getUserTags = async () => {\n const { data } = await profileActions.getUserTagsBySite(this.props.site);\n data.forEach(e => {\n e.name = e.Title;\n e.key = e.Id;\n });\n // console.log('getUserTags', data);\n this.setState({ tags: data });\n };\n\n getAvailableAudienceTags = () => {\n const { categories, types, tags } = this.state;\n const { audienceTypeSelection } = this.props;\n\n const categoryTags = categories.map(c => {\n const Id = `category_${c.key}`;\n return {\n AudienceType: 'Category',\n AudienceTypeSelection: c.key,\n Id,\n Title: c.name,\n Selected: audienceTypeSelection.some(i => i.Id === Id),\n };\n });\n const userTypeTags = types.map(t => {\n const Id = `userType_${t.typeName}`;\n return {\n AudienceType: 'UserType',\n AudienceTypeSelection: t.typeName,\n Id,\n Title: `User Type: ${t.displayName}`,\n Selected: audienceTypeSelection.some(i => i.Id === Id),\n };\n });\n const userTagTags = tags.map(t => {\n const Id = `userTag_${t.Id}`;\n return {\n AudienceType: 'UserTags',\n AudienceTypeSelection: t.Id,\n Id,\n Title: `User Tag: ${t.Title}`,\n Selected: audienceTypeSelection.some(i => i.Id === Id),\n };\n });\n return [...categoryTags, ...userTypeTags, ...userTagTags];\n };\n\n onPressBack = () => {\n Services.navigation.goBack();\n };\n\n onSelectAll = () => {\n const newList = [...this.state.combinedList];\n newList.forEach(i => (i.Selected = false));\n this.setState({ combinedList: newList });\n };\n\n onSeeAll = () => {\n this.setState({ seeAll: !this.state.seeAll });\n };\n\n onToggleAudienceOption = option => {\n const newList = [...this.state.combinedList];\n const selected = newList.find(i => i.Id === option.Id);\n if (selected) {\n selected.Selected = !selected.Selected;\n this.setState({ combinedList: newList });\n }\n };\n\n onDone = () => {\n if (this.props.onChange) {\n const { combinedList } = this.state;\n const selected = combinedList.filter(i => i.Selected);\n if (selected && selected.length > 0) {\n this.props.onChange('Custom', selected);\n } else {\n this.props.onChange(null, null);\n }\n }\n Services.navigation.goBack();\n };\n\n renderOption(label, selected, onSelect, key = null, hasUnderline = true) {\n return (\n <TouchableOpacity key={key} onPress={onSelect}>\n <FormCardSection hasUnderline={hasUnderline} hasContent>\n <View style={styles.labelContainer}>\n <Text style={styles.labelText}>{label}</Text>\n <Icon\n name=\"check-circle\"\n type=\"font-awesome\"\n iconStyle={[{ color: INACTIVE_BUTTON, fontSize: 20 }, selected && { color: COLOUR_GREEN }]}\n />\n </View>\n </FormCardSection>\n </TouchableOpacity>\n );\n }\n\n renderSelectAll() {\n const { combinedList, loading } = this.state;\n const allSelected = !combinedList.find(i => i.Selected);\n if (loading) return null;\n\n return (\n <FormCard style={styles.selectAllContainer}>{this.renderOption('All Users', allSelected, this.onSelectAll, null, false)}</FormCard>\n );\n }\n\n renderSelection() {\n const { loading, combinedList, seeAll } = this.state;\n if (loading) return null;\n\n const selectedText = combinedList\n .filter(i => i.Selected)\n .map(i => i.Title)\n .join(', ');\n const hasSelected = !_.isEmpty(selectedText);\n\n return (\n <View style={styles.selectionContainer}>\n <View style={styles.selectionContainerInner}>\n <Text style={styles.selectionTitle}>or select from below</Text>\n {hasSelected ? (\n <TouchableOpacity onPress={this.onSeeAll}>\n <Text style={styles.seeAllButton}>{seeAll ? 'See less' : 'See all'}</Text>\n </TouchableOpacity>\n ) : null}\n </View>\n {hasSelected ? (\n <Text style={styles.selectionText} numberOfLines={seeAll ? null : 1}>{`Current selection: ${selectedText}`}</Text>\n ) : null}\n </View>\n );\n }\n\n renderTips() {\n return (\n <View style={styles.tipContainer}>\n <Text style={styles.tipText}>\n <Text style={{ fontFamily: 'sf-semibold' }}>Tip: </Text>\n Group your users using User Tags from your website Community Manager\n </Text>\n </View>\n );\n }\n\n renderAvailableAudiences() {\n const { loading, combinedList } = this.state;\n\n return (\n <ScrollView style={styles.availableScrollContainer} contentContainerStyle={styles.availabelScrollContent}>\n <FormCard>\n {combinedList.map((option, index) => {\n const notLast = index < combinedList.length - 1;\n return this.renderOption(option.Title, option.Selected, () => this.onToggleAudienceOption(option), index, notLast);\n })}\n </FormCard>\n {loading ? <Spinner /> : null}\n {this.renderTips()}\n </ScrollView>\n );\n }\n\n renderButtons() {\n const { loading } = this.state;\n\n return (\n <View style={styles.doneButtonContainer}>\n <InlineButton\n color={loading ? INACTIVE_BUTTON : this.props.colourBrandingMain}\n onPress={this.onDone}\n touchableStyle={styles.doneButton}\n fillTouchable\n large\n disabled={loading}\n >\n Done\n </InlineButton>\n </View>\n );\n }\n\n render() {\n return (\n <View style={styles.container}>\n <Header leftIcon=\"angle-left\" onPressLeft={this.onPressBack} text={'Select Audience'} />\n {this.renderSelectAll()}\n {this.renderSelection()}\n {this.renderAvailableAudiences()}\n {this.renderButtons()}\n </View>\n );\n }\n}\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n position: 'relative',\n backgroundColor: BG_GREY,\n },\n selectAllContainer: {\n marginTop: 20,\n },\n selectionContainer: {\n padding: 20,\n },\n selectionContainerInner: {\n flexDirection: 'row',\n justifyContent: 'space-between',\n },\n selectionTitle: {\n fontFamily: 'sf-bold',\n fontSize: 14,\n color: TEXT_DARK,\n },\n selectionText: {\n fontFamily: 'sf-bold',\n fontSize: 14,\n color: TEXT_DARK,\n marginTop: 10,\n },\n seeAllButton: {\n marginLeft: 10,\n fontFamily: 'sf-bold',\n fontSize: 14,\n color: TEXT_LIGHT,\n },\n availableScrollContainer: {\n flex: 1,\n },\n availabelScrollContent: {\n flexGrow: 1,\n justifyContent: 'space-between',\n flexDirection: 'column',\n },\n tipContainer: {\n padding: 10,\n },\n tipText: {\n fontSize: 14,\n fontFamily: 'sf-regular',\n color: TEXT_DARK,\n },\n labelContainer: {\n flexDirection: 'row',\n justifyContent: 'space-between',\n },\n labelText: {\n fontFamily: 'sf-medium',\n fontSize: 16,\n color: TEXT_DARK,\n },\n description: {\n marginTop: 5,\n fontSize: 14,\n fontFamily: 'sf-regular',\n color: TEXT_DARK,\n },\n doneButtonContainer: {\n backgroundColor: '#fff',\n marginTop: 1,\n flexDirection: 'row',\n paddingTop: 10,\n paddingBottom: 20,\n },\n doneButton: {\n flex: 1,\n marginHorizontal: 6,\n },\n});\n\nconst mapStateToProps = state => {\n return {\n colourBrandingMain: getMainBrandingColourFromState(state),\n };\n};\n\nexport default connect(mapStateToProps, {})(AudienceSelectorPage);\n"],"mappings":"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","ignoreList":[]}
@@ -1,6 +1,6 @@
1
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
3
- function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
1
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
2
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
3
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
4
4
  import React, { Component } from 'react';
5
5
  import { View, Image, Animated, StyleSheet } from 'react-native';
6
6
  import { connect } from 'react-redux';
@@ -79,7 +79,6 @@ class AutoOffsetImage extends Component {
79
79
  // move down
80
80
  offset.y = -Math.max(landmarkEnd.y + this.props.height * this.paddingFactor - this.props.height, 0); // move bottom to 5% below end of landmark
81
81
  }
82
-
83
82
  if (landmarkStart.x < imageBounds.start.x) {
84
83
  // move right
85
84
  offset.x = -Math.max(landmarkStart.x - this.props.width * this.paddingFactor, 0); // move left edge to 5% left of start of landmark
@@ -87,7 +86,6 @@ class AutoOffsetImage extends Component {
87
86
  // move left
88
87
  offset.x = -Math.max(landmarkEnd.x + this.props.width * this.paddingFactor - this.props.width, 0); // move right edge to 5% left of end of landmark
89
88
  }
90
-
91
89
  this.setState({
92
90
  imageStyle: {
93
91
  width,
@@ -1 +1 @@
1
- {"version":3,"names":["React","Component","View","Image","Animated","StyleSheet","connect","moment","findLandmarkRange","getScaledOffset","get300","detectFaces","saveImagePosition","AutoOffsetImage","constructor","props","_defineProperty","event","nativeEvent","source","uri","setState","imageSource","state","disabled","startTime","valueOf","cachedValues","imagePositions","response","stringActions","getString","encodeURIComponent","data","e","console","log","faces","image","_","isEmpty","add","timestamp","targetWidth","width","targetHeight","height","scaledOffset","start","landmarkStart","end","landmarkEnd","bounds","imageBounds","offset","y","Math","max","paddingFactor","x","imageStyle","top","left","endTime","timing","blurRadius","toValue","duration","useNativeDriver","Value","componentDidMount","positionImage","componentDidUpdate","prevProps","render","createElement","style","styles","container","onLoad","children","create","overflow","position","resizeMode","staticImage","mapStateToProps","media","positions","autoOffsetImage"],"sources":["AutoOffsetImage.js"],"sourcesContent":["import React, { Component } from 'react';\nimport { View, Image, Animated, StyleSheet } from 'react-native';\nimport { connect } from 'react-redux';\nimport moment from 'moment';\nimport { findLandmarkRange, getScaledOffset, get300, detectFaces } from '../helper';\nimport { saveImagePosition } from '../actions';\n\nclass AutoOffsetImage extends Component {\n constructor(props) {\n super(props);\n\n this.paddingFactor = this.props.paddingFactor || 0.1;\n\n this.state = {\n imageStyle: {\n width: this.props.width,\n height: this.props.height,\n },\n blurRadius: new Animated.Value(100),\n imageSource: get300(this.props.uri),\n disabled: true,\n };\n }\n\n componentDidMount() {\n this.positionImage();\n }\n\n componentDidUpdate(prevProps) {\n if (prevProps.uri !== this.props.uri || prevProps.height !== this.props.height || prevProps.width !== this.props.width) {\n this.positionImage();\n }\n }\n\n onLoad = event => {\n if (event.nativeEvent.source.uri !== this.props.uri) {\n this.setState({\n imageSource: this.props.uri,\n });\n }\n // if (event.nativeEvent.source.uri === this.props.uri && !this.state.imageLoaded) {\n // //unblur\n // this.setState({\n // imageLoaded: true,\n // });\n // Animated.sequence([\n // Animated.delay(200),\n // Animated.timing(this.state.blurRadius, {\n // toValue: 0,\n // duration: 500,\n // useNativeDriver: false,\n // }),\n // ]).start();\n // }\n };\n\n positionImage = async () => {\n if (this.state.disabled) {\n return;\n }\n try {\n const startTime = moment().valueOf();\n\n let cachedValues;\n // check local cache\n if (this.props.imagePositions && this.props.imagePositions[this.props.uri]) {\n cachedValues = this.props.imagePositions[this.props.uri];\n }\n // check remote cache\n if (!cachedValues) {\n try {\n const response = await stringActions.getString('plussSpace', `imagefaces_${encodeURIComponent(this.props.uri)}`);\n cachedValues = response.data;\n } catch (e) {\n console.log('errored from cache');\n }\n // run face detection locally\n if (\n !cachedValues ||\n !cachedValues.faces ||\n !cachedValues.image ||\n (_.isEmpty(cachedValues.faces) &&\n moment()\n .add(-1, 'w')\n .valueOf() > moment(cachedValues.timestamp).valueOf())\n ) {\n cachedValues = await detectFaces(this.props.uri);\n }\n this.props.saveImagePosition(this.props.uri, cachedValues);\n }\n\n const image = await findLandmarkRange(this.props.uri, {\n targetWidth: this.props.width,\n targetHeight: this.props.height,\n cachedValues,\n });\n const scaledOffset = getScaledOffset(image.width, image.height, this.props.width, this.props.height);\n\n const { start: landmarkStart, end: landmarkEnd } = image;\n const { bounds: imageBounds, offset, width, height } = scaledOffset;\n\n if (landmarkStart.y < imageBounds.start.y) {\n // move up\n offset.y = -Math.max(landmarkStart.y - this.props.height * this.paddingFactor, 0); // move top to 5% above start of landmark\n } else if (landmarkEnd.y > imageBounds.end.y) {\n // move down\n offset.y = -Math.max(landmarkEnd.y + this.props.height * this.paddingFactor - this.props.height, 0); // move bottom to 5% below end of landmark\n }\n\n if (landmarkStart.x < imageBounds.start.x) {\n // move right\n offset.x = -Math.max(landmarkStart.x - this.props.width * this.paddingFactor, 0); // move left edge to 5% left of start of landmark\n } else if (landmarkEnd.x > imageBounds.end.x) {\n // move left\n offset.x = -Math.max(landmarkEnd.x + this.props.width * this.paddingFactor - this.props.width, 0); // move right edge to 5% left of end of landmark\n }\n\n this.setState({\n imageStyle: {\n width,\n height,\n top: offset.y,\n left: offset.x,\n },\n imageSource: this.props.uri,\n });\n\n const endTime = moment().valueOf();\n if (endTime - startTime < 500) {\n Animated.timing(this.state.blurRadius, {\n toValue: 0,\n duration: 0,\n useNativeDriver: false,\n }).start();\n }\n } catch (e) {\n this.setState({\n imageSource: this.props.uri,\n });\n }\n };\n\n render() {\n if (this.state.disabled) {\n return (\n <View\n style={[\n styles.container,\n {\n width: this.props.width,\n height: this.props.height,\n },\n this.props.style,\n ]}\n >\n <Image source={{ uri: this.state.imageSource }} style={[styles.image, this.state.imageStyle]} onLoad={this.onLoad} />\n {this.props.children}\n </View>\n );\n }\n return (\n <View\n style={[\n styles.container,\n {\n width: this.props.width,\n height: this.props.height,\n },\n this.props.style,\n ]}\n >\n <Animated.Image\n blurRadius={this.state.blurRadius}\n source={{ uri: this.state.imageSource }}\n style={[styles.image, this.state.imageStyle]}\n onLoad={this.onLoad}\n />\n {this.props.children}\n </View>\n );\n }\n}\n\nconst styles = StyleSheet.create({\n container: {\n overflow: 'hidden',\n },\n image: {\n position: 'absolute',\n top: 0,\n left: 0,\n resizeMode: 'cover',\n },\n staticImage: {\n resizeMode: 'cover',\n },\n});\n\nconst mapStateToProps = state => {\n return {\n imagePositions: state.media.positions,\n };\n};\n\nconst autoOffsetImage = connect(mapStateToProps, { saveImagePosition })(AutoOffsetImage);\nexport { autoOffsetImage as AutoOffsetImage };\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","Component","View","Image","Animated","StyleSheet","connect","moment","findLandmarkRange","getScaledOffset","get300","detectFaces","saveImagePosition","AutoOffsetImage","constructor","props","_defineProperty","event","nativeEvent","source","uri","setState","imageSource","state","disabled","startTime","valueOf","cachedValues","imagePositions","response","stringActions","getString","encodeURIComponent","data","e","console","log","faces","image","_","isEmpty","add","timestamp","targetWidth","width","targetHeight","height","scaledOffset","start","landmarkStart","end","landmarkEnd","bounds","imageBounds","offset","y","Math","max","paddingFactor","x","imageStyle","top","left","endTime","timing","blurRadius","toValue","duration","useNativeDriver","Value","componentDidMount","positionImage","componentDidUpdate","prevProps","render","createElement","style","styles","container","onLoad","children","create","overflow","position","resizeMode","staticImage","mapStateToProps","media","positions","autoOffsetImage"],"sources":["AutoOffsetImage.js"],"sourcesContent":["import React, { Component } from 'react';\nimport { View, Image, Animated, StyleSheet } from 'react-native';\nimport { connect } from 'react-redux';\nimport moment from 'moment';\nimport { findLandmarkRange, getScaledOffset, get300, detectFaces } from '../helper';\nimport { saveImagePosition } from '../actions';\n\nclass AutoOffsetImage extends Component {\n constructor(props) {\n super(props);\n\n this.paddingFactor = this.props.paddingFactor || 0.1;\n\n this.state = {\n imageStyle: {\n width: this.props.width,\n height: this.props.height,\n },\n blurRadius: new Animated.Value(100),\n imageSource: get300(this.props.uri),\n disabled: true,\n };\n }\n\n componentDidMount() {\n this.positionImage();\n }\n\n componentDidUpdate(prevProps) {\n if (prevProps.uri !== this.props.uri || prevProps.height !== this.props.height || prevProps.width !== this.props.width) {\n this.positionImage();\n }\n }\n\n onLoad = event => {\n if (event.nativeEvent.source.uri !== this.props.uri) {\n this.setState({\n imageSource: this.props.uri,\n });\n }\n // if (event.nativeEvent.source.uri === this.props.uri && !this.state.imageLoaded) {\n // //unblur\n // this.setState({\n // imageLoaded: true,\n // });\n // Animated.sequence([\n // Animated.delay(200),\n // Animated.timing(this.state.blurRadius, {\n // toValue: 0,\n // duration: 500,\n // useNativeDriver: false,\n // }),\n // ]).start();\n // }\n };\n\n positionImage = async () => {\n if (this.state.disabled) {\n return;\n }\n try {\n const startTime = moment().valueOf();\n\n let cachedValues;\n // check local cache\n if (this.props.imagePositions && this.props.imagePositions[this.props.uri]) {\n cachedValues = this.props.imagePositions[this.props.uri];\n }\n // check remote cache\n if (!cachedValues) {\n try {\n const response = await stringActions.getString('plussSpace', `imagefaces_${encodeURIComponent(this.props.uri)}`);\n cachedValues = response.data;\n } catch (e) {\n console.log('errored from cache');\n }\n // run face detection locally\n if (\n !cachedValues ||\n !cachedValues.faces ||\n !cachedValues.image ||\n (_.isEmpty(cachedValues.faces) &&\n moment()\n .add(-1, 'w')\n .valueOf() > moment(cachedValues.timestamp).valueOf())\n ) {\n cachedValues = await detectFaces(this.props.uri);\n }\n this.props.saveImagePosition(this.props.uri, cachedValues);\n }\n\n const image = await findLandmarkRange(this.props.uri, {\n targetWidth: this.props.width,\n targetHeight: this.props.height,\n cachedValues,\n });\n const scaledOffset = getScaledOffset(image.width, image.height, this.props.width, this.props.height);\n\n const { start: landmarkStart, end: landmarkEnd } = image;\n const { bounds: imageBounds, offset, width, height } = scaledOffset;\n\n if (landmarkStart.y < imageBounds.start.y) {\n // move up\n offset.y = -Math.max(landmarkStart.y - this.props.height * this.paddingFactor, 0); // move top to 5% above start of landmark\n } else if (landmarkEnd.y > imageBounds.end.y) {\n // move down\n offset.y = -Math.max(landmarkEnd.y + this.props.height * this.paddingFactor - this.props.height, 0); // move bottom to 5% below end of landmark\n }\n\n if (landmarkStart.x < imageBounds.start.x) {\n // move right\n offset.x = -Math.max(landmarkStart.x - this.props.width * this.paddingFactor, 0); // move left edge to 5% left of start of landmark\n } else if (landmarkEnd.x > imageBounds.end.x) {\n // move left\n offset.x = -Math.max(landmarkEnd.x + this.props.width * this.paddingFactor - this.props.width, 0); // move right edge to 5% left of end of landmark\n }\n\n this.setState({\n imageStyle: {\n width,\n height,\n top: offset.y,\n left: offset.x,\n },\n imageSource: this.props.uri,\n });\n\n const endTime = moment().valueOf();\n if (endTime - startTime < 500) {\n Animated.timing(this.state.blurRadius, {\n toValue: 0,\n duration: 0,\n useNativeDriver: false,\n }).start();\n }\n } catch (e) {\n this.setState({\n imageSource: this.props.uri,\n });\n }\n };\n\n render() {\n if (this.state.disabled) {\n return (\n <View\n style={[\n styles.container,\n {\n width: this.props.width,\n height: this.props.height,\n },\n this.props.style,\n ]}\n >\n <Image source={{ uri: this.state.imageSource }} style={[styles.image, this.state.imageStyle]} onLoad={this.onLoad} />\n {this.props.children}\n </View>\n );\n }\n return (\n <View\n style={[\n styles.container,\n {\n width: this.props.width,\n height: this.props.height,\n },\n this.props.style,\n ]}\n >\n <Animated.Image\n blurRadius={this.state.blurRadius}\n source={{ uri: this.state.imageSource }}\n style={[styles.image, this.state.imageStyle]}\n onLoad={this.onLoad}\n />\n {this.props.children}\n </View>\n );\n }\n}\n\nconst styles = StyleSheet.create({\n container: {\n overflow: 'hidden',\n },\n image: {\n position: 'absolute',\n top: 0,\n left: 0,\n resizeMode: 'cover',\n },\n staticImage: {\n resizeMode: 'cover',\n },\n});\n\nconst mapStateToProps = state => {\n return {\n imagePositions: state.media.positions,\n };\n};\n\nconst autoOffsetImage = connect(mapStateToProps, { saveImagePosition })(AutoOffsetImage);\nexport { autoOffsetImage as AutoOffsetImage };\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["React","PureComponent","View","TouchableOpacity","connect","stylez","Pl60Icon","getMainBrandingColourFromState","BackButton","render","size","props","diameter","radius","noClick","createElement","style","backButton","backgroundColor","colourBrandingMain","height","width","borderRadius","color","name","flipped","backButtonIcon","iconStyle","onPress","mapStateToProps","state"],"sources":["BackButton.js"],"sourcesContent":["import React, { PureComponent } from 'react';\nimport { View, TouchableOpacity } from 'react-native';\nimport { connect } from 'react-redux';\nimport stylez from '../styles';\nimport { Pl60Icon } from '../fonts';\nimport { getMainBrandingColourFromState } from '../colours';\n\n/* \nProps- \n onPress - onPress action\n diameter - size of button\n color - default will be aveoMain\n style - custom style for container\n*/\n\nclass BackButton extends PureComponent {\n render() {\n const size = this.props.diameter || 32;\n const radius = size / 2;\n if (this.props.noClick) {\n return (\n <View\n style={[\n stylez.backButton,\n { backgroundColor: this.props.colourBrandingMain, height: size, width: size, borderRadius: radius },\n this.props.color && { backgroundColor: this.props.color },\n this.props.style,\n ]}\n >\n <Pl60Icon name={this.props.flipped ? 'chevron_right' : 'chevron_left'} style={[stylez.backButtonIcon, this.props.iconStyle]} />\n </View>\n );\n }\n return (\n <TouchableOpacity\n style={[\n stylez.backButton,\n { backgroundColor: this.props.colourBrandingMain, height: size, width: size, borderRadius: radius },\n this.props.color && { backgroundColor: this.props.color },\n this.props.style,\n ]}\n onPress={this.props.onPress}\n >\n <Pl60Icon name={this.props.flipped ? 'chevron_right' : 'chevron_left'} style={[stylez.backButtonIcon, this.props.iconStyle]} />\n </TouchableOpacity>\n );\n }\n}\n\nconst mapStateToProps = state => {\n return {\n colourBrandingMain: getMainBrandingColourFromState(state),\n };\n};\n\nconst backButton = connect(mapStateToProps, {})(BackButton);\nexport { backButton as BackButton };\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,aAAa,QAAQ,OAAO;AAC5C,SAASC,IAAI,EAAEC,gBAAgB,QAAQ,cAAc;AACrD,SAASC,OAAO,QAAQ,aAAa;AACrC,OAAOC,MAAM,MAAM,WAAW;AAC9B,SAASC,QAAQ,QAAQ,UAAU;AACnC,SAASC,8BAA8B,QAAQ,YAAY;;AAE3D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAMC,UAAU,SAASP,aAAa,CAAC;EACrCQ,MAAMA,CAAA,EAAG;IACP,MAAMC,IAAI,GAAG,IAAI,CAACC,KAAK,CAACC,QAAQ,IAAI,EAAE;IACtC,MAAMC,MAAM,GAAGH,IAAI,GAAG,CAAC;IACvB,IAAI,IAAI,CAACC,KAAK,CAACG,OAAO,EAAE;MACtB,oBACEd,KAAA,CAAAe,aAAA,CAACb,IAAI;QACHc,KAAK,EAAE,CACLX,MAAM,CAACY,UAAU,EACjB;UAAEC,eAAe,EAAE,IAAI,CAACP,KAAK,CAACQ,kBAAkB;UAAEC,MAAM,EAAEV,IAAI;UAAEW,KAAK,EAAEX,IAAI;UAAEY,YAAY,EAAET;QAAO,CAAC,EACnG,IAAI,CAACF,KAAK,CAACY,KAAK,IAAI;UAAEL,eAAe,EAAE,IAAI,CAACP,KAAK,CAACY;QAAM,CAAC,EACzD,IAAI,CAACZ,KAAK,CAACK,KAAK;MAChB,gBAEFhB,KAAA,CAAAe,aAAA,CAACT,QAAQ;QAACkB,IAAI,EAAE,IAAI,CAACb,KAAK,CAACc,OAAO,GAAG,eAAe,GAAG,cAAe;QAACT,KAAK,EAAE,CAACX,MAAM,CAACqB,cAAc,EAAE,IAAI,CAACf,KAAK,CAACgB,SAAS;MAAE,CAAE,CAC1H,CAAC;IAEX;IACA,oBACE3B,KAAA,CAAAe,aAAA,CAACZ,gBAAgB;MACfa,KAAK,EAAE,CACLX,MAAM,CAACY,UAAU,EACjB;QAAEC,eAAe,EAAE,IAAI,CAACP,KAAK,CAACQ,kBAAkB;QAAEC,MAAM,EAAEV,IAAI;QAAEW,KAAK,EAAEX,IAAI;QAAEY,YAAY,EAAET;MAAO,CAAC,EACnG,IAAI,CAACF,KAAK,CAACY,KAAK,IAAI;QAAEL,eAAe,EAAE,IAAI,CAACP,KAAK,CAACY;MAAM,CAAC,EACzD,IAAI,CAACZ,KAAK,CAACK,KAAK,CAChB;MACFY,OAAO,EAAE,IAAI,CAACjB,KAAK,CAACiB;IAAQ,gBAE5B5B,KAAA,CAAAe,aAAA,CAACT,QAAQ;MAACkB,IAAI,EAAE,IAAI,CAACb,KAAK,CAACc,OAAO,GAAG,eAAe,GAAG,cAAe;MAACT,KAAK,EAAE,CAACX,MAAM,CAACqB,cAAc,EAAE,IAAI,CAACf,KAAK,CAACgB,SAAS;IAAE,CAAE,CAC9G,CAAC;EAEvB;AACF;AAEA,MAAME,eAAe,GAAGC,KAAK,IAAI;EAC/B,OAAO;IACLX,kBAAkB,EAAEZ,8BAA8B,CAACuB,KAAK;EAC1D,CAAC;AACH,CAAC;AAED,MAAMb,UAAU,GAAGb,OAAO,CAACyB,eAAe,EAAE,CAAC,CAAC,CAAC,CAACrB,UAAU,CAAC;AAC3D,SAASS,UAAU,IAAIT,UAAU"}
1
+ {"version":3,"names":["React","PureComponent","View","TouchableOpacity","connect","stylez","Pl60Icon","getMainBrandingColourFromState","BackButton","render","size","props","diameter","radius","noClick","createElement","style","backButton","backgroundColor","colourBrandingMain","height","width","borderRadius","color","name","flipped","backButtonIcon","iconStyle","onPress","mapStateToProps","state"],"sources":["BackButton.js"],"sourcesContent":["import React, { PureComponent } from 'react';\nimport { View, TouchableOpacity } from 'react-native';\nimport { connect } from 'react-redux';\nimport stylez from '../styles';\nimport { Pl60Icon } from '../fonts';\nimport { getMainBrandingColourFromState } from '../colours';\n\n/* \nProps- \n onPress - onPress action\n diameter - size of button\n color - default will be aveoMain\n style - custom style for container\n*/\n\nclass BackButton extends PureComponent {\n render() {\n const size = this.props.diameter || 32;\n const radius = size / 2;\n if (this.props.noClick) {\n return (\n <View\n style={[\n stylez.backButton,\n { backgroundColor: this.props.colourBrandingMain, height: size, width: size, borderRadius: radius },\n this.props.color && { backgroundColor: this.props.color },\n this.props.style,\n ]}\n >\n <Pl60Icon name={this.props.flipped ? 'chevron_right' : 'chevron_left'} style={[stylez.backButtonIcon, this.props.iconStyle]} />\n </View>\n );\n }\n return (\n <TouchableOpacity\n style={[\n stylez.backButton,\n { backgroundColor: this.props.colourBrandingMain, height: size, width: size, borderRadius: radius },\n this.props.color && { backgroundColor: this.props.color },\n this.props.style,\n ]}\n onPress={this.props.onPress}\n >\n <Pl60Icon name={this.props.flipped ? 'chevron_right' : 'chevron_left'} style={[stylez.backButtonIcon, this.props.iconStyle]} />\n </TouchableOpacity>\n );\n }\n}\n\nconst mapStateToProps = state => {\n return {\n colourBrandingMain: getMainBrandingColourFromState(state),\n };\n};\n\nconst backButton = connect(mapStateToProps, {})(BackButton);\nexport { backButton as BackButton };\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,aAAa,QAAQ,OAAO;AAC5C,SAASC,IAAI,EAAEC,gBAAgB,QAAQ,cAAc;AACrD,SAASC,OAAO,QAAQ,aAAa;AACrC,OAAOC,MAAM,MAAM,WAAW;AAC9B,SAASC,QAAQ,QAAQ,UAAU;AACnC,SAASC,8BAA8B,QAAQ,YAAY;;AAE3D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAMC,UAAU,SAASP,aAAa,CAAC;EACrCQ,MAAMA,CAAA,EAAG;IACP,MAAMC,IAAI,GAAG,IAAI,CAACC,KAAK,CAACC,QAAQ,IAAI,EAAE;IACtC,MAAMC,MAAM,GAAGH,IAAI,GAAG,CAAC;IACvB,IAAI,IAAI,CAACC,KAAK,CAACG,OAAO,EAAE;MACtB,oBACEd,KAAA,CAAAe,aAAA,CAACb,IAAI;QACHc,KAAK,EAAE,CACLX,MAAM,CAACY,UAAU,EACjB;UAAEC,eAAe,EAAE,IAAI,CAACP,KAAK,CAACQ,kBAAkB;UAAEC,MAAM,EAAEV,IAAI;UAAEW,KAAK,EAAEX,IAAI;UAAEY,YAAY,EAAET;QAAO,CAAC,EACnG,IAAI,CAACF,KAAK,CAACY,KAAK,IAAI;UAAEL,eAAe,EAAE,IAAI,CAACP,KAAK,CAACY;QAAM,CAAC,EACzD,IAAI,CAACZ,KAAK,CAACK,KAAK;MAChB,gBAEFhB,KAAA,CAAAe,aAAA,CAACT,QAAQ;QAACkB,IAAI,EAAE,IAAI,CAACb,KAAK,CAACc,OAAO,GAAG,eAAe,GAAG,cAAe;QAACT,KAAK,EAAE,CAACX,MAAM,CAACqB,cAAc,EAAE,IAAI,CAACf,KAAK,CAACgB,SAAS;MAAE,CAAE,CAC1H,CAAC;IAEX;IACA,oBACE3B,KAAA,CAAAe,aAAA,CAACZ,gBAAgB;MACfa,KAAK,EAAE,CACLX,MAAM,CAACY,UAAU,EACjB;QAAEC,eAAe,EAAE,IAAI,CAACP,KAAK,CAACQ,kBAAkB;QAAEC,MAAM,EAAEV,IAAI;QAAEW,KAAK,EAAEX,IAAI;QAAEY,YAAY,EAAET;MAAO,CAAC,EACnG,IAAI,CAACF,KAAK,CAACY,KAAK,IAAI;QAAEL,eAAe,EAAE,IAAI,CAACP,KAAK,CAACY;MAAM,CAAC,EACzD,IAAI,CAACZ,KAAK,CAACK,KAAK,CAChB;MACFY,OAAO,EAAE,IAAI,CAACjB,KAAK,CAACiB;IAAQ,gBAE5B5B,KAAA,CAAAe,aAAA,CAACT,QAAQ;MAACkB,IAAI,EAAE,IAAI,CAACb,KAAK,CAACc,OAAO,GAAG,eAAe,GAAG,cAAe;MAACT,KAAK,EAAE,CAACX,MAAM,CAACqB,cAAc,EAAE,IAAI,CAACf,KAAK,CAACgB,SAAS;IAAE,CAAE,CAC9G,CAAC;EAEvB;AACF;AAEA,MAAME,eAAe,GAAGC,KAAK,IAAI;EAC/B,OAAO;IACLX,kBAAkB,EAAEZ,8BAA8B,CAACuB,KAAK;EAC1D,CAAC;AACH,CAAC;AAED,MAAMb,UAAU,GAAGb,OAAO,CAACyB,eAAe,EAAE,CAAC,CAAC,CAAC,CAACrB,UAAU,CAAC;AAC3D,SAASS,UAAU,IAAIT,UAAU","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["React","Component","_","Text","TouchableOpacity","View","ScrollView","connect","TEXT_LIGHT","COLOUR_GREEN","getMainBrandingColourFromState","getSiteSettingFromState","Config","CategoryTabs","constructor","props","state","categoryKeys","selectedCategory","initialCategory","UNSAFE_componentWillMount","setState","isUndefined","currentTab","isEmpty","componentDidMount","UNSAFE_componentWillReceiveProps","nextProps","selectCategory","key","onSelect","renderCounter","categoryCounter","counterValues","createElement","style","styles","counter","counterText","renderCategories","noScrollStyle","getTextColour","headerType","colourBrandingMain","getBottomBorderColour","map","index","flex","minHeight","height","justifyContent","catWrapperStyle","onPress","bind","borderBottomColor","borderBottomWidth","marginRight","marginLeft","alignContent","flexDirection","backgroundColor","undefined","innerContainer","borderColor","catStyle","fontFamily","fontSize","color","textAlign","paddingVertical","width","textStyle","colourBrandingHeader","opacity","render","noScroll","horizontal","minWidth","borderRadius","marginTop","paddingHorizontal","mapStateToProps","env","hasGradientHeader","categoryTabs"],"sources":["CategoryTabs.js"],"sourcesContent":["import React, { Component } from 'react';\nimport _ from 'lodash';\nimport { Text, TouchableOpacity, View, ScrollView } from 'react-native';\nimport { connect } from 'react-redux';\nimport { TEXT_LIGHT, COLOUR_GREEN, getMainBrandingColourFromState } from '../colours';\nimport { getSiteSettingFromState } from '../helper';\n// import { HAS_GRADIENT_HEADER } from '../../config';\nimport Config from '../config';\n\nclass CategoryTabs extends Component {\n constructor(props) {\n super(props);\n this.state = {\n categoryKeys: [],\n selectedCategory: this.props.initialCategory,\n };\n }\n\n UNSAFE_componentWillMount() {\n this.setState({\n selectedCategory:\n !_.isUndefined(this.props.currentTab) && !_.isEmpty(this.props.currentTab) ? this.props.currentTab : this.props.initialCategory,\n categoryKeys: this.props.categoryKeys,\n });\n }\n\n componentDidMount() {\n this.setState({\n selectedCategory:\n !_.isUndefined(this.props.currentTab) && !_.isEmpty(this.props.currentTab) ? this.props.currentTab : this.props.initialCategory,\n });\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n if (!_.isUndefined(nextProps.currentTab) && !_.isEmpty(nextProps.currentTab)) {\n this.setState({ selectedCategory: nextProps.currentTab });\n }\n }\n\n selectCategory(key) {\n this.setState({\n selectedCategory: key,\n });\n this.props.onSelect(key);\n }\n\n renderCounter(key) {\n if (\n this.props.categoryCounter &&\n this.props.categoryCounter[key] &&\n this.props.categoryCounter[key] === true &&\n this.props.counterValues &&\n this.props.counterValues[key] > 0\n ) {\n return (\n <View style={styles.counter}>\n <Text style={styles.counterText}>{this.props.counterValues[key]}</Text>\n </View>\n );\n }\n return null;\n }\n\n renderCategories(noScrollStyle) {\n const getTextColour = key => {\n if (this.state.selectedCategory === key) {\n return this.props.headerType !== 'white' ? '#fff' : this.props.colourBrandingMain;\n }\n return this.props.headerType !== 'white' ? '#fff' : TEXT_LIGHT;\n };\n const getBottomBorderColour = key => {\n if (this.state.selectedCategory === key) {\n return this.props.headerType !== 'white' ? '#fff' : this.props.colourBrandingMain;\n }\n return this.props.headerType !== 'white' ? this.props.colourBrandingMain : '#fff';\n };\n return this.state.categoryKeys.map((key, index) => {\n return (\n <TouchableOpacity\n key={index}\n // style={[{ minHeight: this.props.height || 30, justifyContent: 'center' }, noScrollStyle && { flex: 1 }]}\n style={[{ flex: 1, minHeight: this.props.height || 30, justifyContent: 'center' }, this.props.catWrapperStyle]}\n onPress={this.selectCategory.bind(this, key)}\n >\n <View\n style={[\n {\n borderBottomColor: getBottomBorderColour(key),\n borderBottomWidth: noScrollStyle ? 0 : 2,\n marginRight: noScrollStyle ? 0 : 16,\n marginLeft: index === 0 && !noScrollStyle ? 16 : 0,\n justifyContent: 'center',\n alignContent: 'center',\n minHeight: 30,\n flexDirection: 'row',\n backgroundColor: this.props.headerType !== 'white' ? this.props.colourBrandingMain : undefined,\n },\n this.props.style,\n ]}\n >\n <View\n style={[\n noScrollStyle && styles.innerContainer,\n {\n flex: 1,\n borderColor: getBottomBorderColour(key),\n justifyContent: 'center',\n },\n this.props.catStyle,\n ]}\n >\n <Text\n style={[\n {\n fontFamily: 'sf-semibold',\n fontSize: 15,\n color: getTextColour(key),\n textAlign: 'center',\n paddingVertical: 8,\n width: 'auto',\n },\n this.props.textStyle,\n this.props.colourBrandingHeader &&\n this.state.selectedCategory !== key && { color: this.props.colourBrandingMain, opacity: 0.5 },\n ]}\n >\n {key}\n </Text>\n {this.renderCounter(key)}\n </View>\n </View>\n </TouchableOpacity>\n );\n });\n }\n\n render() {\n if (this.props.noScroll) {\n // return (<View style={{ flexDirection: 'row', paddingLeft: 16, paddingRight: 16 }}>\n return <View style={{ flexDirection: 'row', justifyContent: 'space-evenly' }}>{this.renderCategories(true)}</View>;\n }\n return <ScrollView horizontal>{this.renderCategories(false)}</ScrollView>;\n }\n}\n\nconst styles = {\n counter: {\n backgroundColor: COLOUR_GREEN,\n height: 16,\n minWidth: 16,\n borderRadius: 8,\n marginLeft: 4,\n marginTop: 4,\n justifyContent: 'center',\n alignContent: 'center',\n },\n counterText: {\n color: '#fff',\n textAlign: 'center',\n fontSize: 12,\n fontFamily: 'sf-semibold',\n },\n innerContainer: {\n borderBottomWidth: 2,\n flexDirection: 'row',\n paddingHorizontal: 8,\n },\n};\n\nconst mapStateToProps = state => {\n return {\n colourBrandingMain: getMainBrandingColourFromState(state),\n headerType: getSiteSettingFromState(\n state,\n 'HeaderType',\n getSiteSettingFromState(state, 'UseGradientHeader', Config.env.hasGradientHeader) ? 'gradient' : 'white',\n ),\n };\n};\n\nconst categoryTabs = connect(mapStateToProps, {})(CategoryTabs);\nexport { categoryTabs as CategoryTabs };\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","Component","_","Text","TouchableOpacity","View","ScrollView","connect","TEXT_LIGHT","COLOUR_GREEN","getMainBrandingColourFromState","getSiteSettingFromState","Config","CategoryTabs","constructor","props","state","categoryKeys","selectedCategory","initialCategory","UNSAFE_componentWillMount","setState","isUndefined","currentTab","isEmpty","componentDidMount","UNSAFE_componentWillReceiveProps","nextProps","selectCategory","key","onSelect","renderCounter","categoryCounter","counterValues","createElement","style","styles","counter","counterText","renderCategories","noScrollStyle","getTextColour","headerType","colourBrandingMain","getBottomBorderColour","map","index","flex","minHeight","height","justifyContent","catWrapperStyle","onPress","bind","borderBottomColor","borderBottomWidth","marginRight","marginLeft","alignContent","flexDirection","backgroundColor","undefined","innerContainer","borderColor","catStyle","fontFamily","fontSize","color","textAlign","paddingVertical","width","textStyle","colourBrandingHeader","opacity","render","noScroll","horizontal","minWidth","borderRadius","marginTop","paddingHorizontal","mapStateToProps","env","hasGradientHeader","categoryTabs"],"sources":["CategoryTabs.js"],"sourcesContent":["import React, { Component } from 'react';\nimport _ from 'lodash';\nimport { Text, TouchableOpacity, View, ScrollView } from 'react-native';\nimport { connect } from 'react-redux';\nimport { TEXT_LIGHT, COLOUR_GREEN, getMainBrandingColourFromState } from '../colours';\nimport { getSiteSettingFromState } from '../helper';\n// import { HAS_GRADIENT_HEADER } from '../../config';\nimport Config from '../config';\n\nclass CategoryTabs extends Component {\n constructor(props) {\n super(props);\n this.state = {\n categoryKeys: [],\n selectedCategory: this.props.initialCategory,\n };\n }\n\n UNSAFE_componentWillMount() {\n this.setState({\n selectedCategory:\n !_.isUndefined(this.props.currentTab) && !_.isEmpty(this.props.currentTab) ? this.props.currentTab : this.props.initialCategory,\n categoryKeys: this.props.categoryKeys,\n });\n }\n\n componentDidMount() {\n this.setState({\n selectedCategory:\n !_.isUndefined(this.props.currentTab) && !_.isEmpty(this.props.currentTab) ? this.props.currentTab : this.props.initialCategory,\n });\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n if (!_.isUndefined(nextProps.currentTab) && !_.isEmpty(nextProps.currentTab)) {\n this.setState({ selectedCategory: nextProps.currentTab });\n }\n }\n\n selectCategory(key) {\n this.setState({\n selectedCategory: key,\n });\n this.props.onSelect(key);\n }\n\n renderCounter(key) {\n if (\n this.props.categoryCounter &&\n this.props.categoryCounter[key] &&\n this.props.categoryCounter[key] === true &&\n this.props.counterValues &&\n this.props.counterValues[key] > 0\n ) {\n return (\n <View style={styles.counter}>\n <Text style={styles.counterText}>{this.props.counterValues[key]}</Text>\n </View>\n );\n }\n return null;\n }\n\n renderCategories(noScrollStyle) {\n const getTextColour = key => {\n if (this.state.selectedCategory === key) {\n return this.props.headerType !== 'white' ? '#fff' : this.props.colourBrandingMain;\n }\n return this.props.headerType !== 'white' ? '#fff' : TEXT_LIGHT;\n };\n const getBottomBorderColour = key => {\n if (this.state.selectedCategory === key) {\n return this.props.headerType !== 'white' ? '#fff' : this.props.colourBrandingMain;\n }\n return this.props.headerType !== 'white' ? this.props.colourBrandingMain : '#fff';\n };\n return this.state.categoryKeys.map((key, index) => {\n return (\n <TouchableOpacity\n key={index}\n // style={[{ minHeight: this.props.height || 30, justifyContent: 'center' }, noScrollStyle && { flex: 1 }]}\n style={[{ flex: 1, minHeight: this.props.height || 30, justifyContent: 'center' }, this.props.catWrapperStyle]}\n onPress={this.selectCategory.bind(this, key)}\n >\n <View\n style={[\n {\n borderBottomColor: getBottomBorderColour(key),\n borderBottomWidth: noScrollStyle ? 0 : 2,\n marginRight: noScrollStyle ? 0 : 16,\n marginLeft: index === 0 && !noScrollStyle ? 16 : 0,\n justifyContent: 'center',\n alignContent: 'center',\n minHeight: 30,\n flexDirection: 'row',\n backgroundColor: this.props.headerType !== 'white' ? this.props.colourBrandingMain : undefined,\n },\n this.props.style,\n ]}\n >\n <View\n style={[\n noScrollStyle && styles.innerContainer,\n {\n flex: 1,\n borderColor: getBottomBorderColour(key),\n justifyContent: 'center',\n },\n this.props.catStyle,\n ]}\n >\n <Text\n style={[\n {\n fontFamily: 'sf-semibold',\n fontSize: 15,\n color: getTextColour(key),\n textAlign: 'center',\n paddingVertical: 8,\n width: 'auto',\n },\n this.props.textStyle,\n this.props.colourBrandingHeader &&\n this.state.selectedCategory !== key && { color: this.props.colourBrandingMain, opacity: 0.5 },\n ]}\n >\n {key}\n </Text>\n {this.renderCounter(key)}\n </View>\n </View>\n </TouchableOpacity>\n );\n });\n }\n\n render() {\n if (this.props.noScroll) {\n // return (<View style={{ flexDirection: 'row', paddingLeft: 16, paddingRight: 16 }}>\n return <View style={{ flexDirection: 'row', justifyContent: 'space-evenly' }}>{this.renderCategories(true)}</View>;\n }\n return <ScrollView horizontal>{this.renderCategories(false)}</ScrollView>;\n }\n}\n\nconst styles = {\n counter: {\n backgroundColor: COLOUR_GREEN,\n height: 16,\n minWidth: 16,\n borderRadius: 8,\n marginLeft: 4,\n marginTop: 4,\n justifyContent: 'center',\n alignContent: 'center',\n },\n counterText: {\n color: '#fff',\n textAlign: 'center',\n fontSize: 12,\n fontFamily: 'sf-semibold',\n },\n innerContainer: {\n borderBottomWidth: 2,\n flexDirection: 'row',\n paddingHorizontal: 8,\n },\n};\n\nconst mapStateToProps = state => {\n return {\n colourBrandingMain: getMainBrandingColourFromState(state),\n headerType: getSiteSettingFromState(\n state,\n 'HeaderType',\n getSiteSettingFromState(state, 'UseGradientHeader', Config.env.hasGradientHeader) ? 'gradient' : 'white',\n ),\n };\n};\n\nconst categoryTabs = connect(mapStateToProps, {})(CategoryTabs);\nexport { categoryTabs as CategoryTabs };\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,SAAS,QAAQ,OAAO;AACxC,OAAOC,CAAC,MAAM,QAAQ;AACtB,SAASC,IAAI,EAAEC,gBAAgB,EAAEC,IAAI,EAAEC,UAAU,QAAQ,cAAc;AACvE,SAASC,OAAO,QAAQ,aAAa;AACrC,SAASC,UAAU,EAAEC,YAAY,EAAEC,8BAA8B,QAAQ,YAAY;AACrF,SAASC,uBAAuB,QAAQ,WAAW;AACnD;AACA,OAAOC,MAAM,MAAM,WAAW;AAE9B,MAAMC,YAAY,SAASZ,SAAS,CAAC;EACnCa,WAAWA,CAACC,KAAK,EAAE;IACjB,KAAK,CAACA,KAAK,CAAC;IACZ,IAAI,CAACC,KAAK,GAAG;MACXC,YAAY,EAAE,EAAE;MAChBC,gBAAgB,EAAE,IAAI,CAACH,KAAK,CAACI;IAC/B,CAAC;EACH;EAEAC,yBAAyBA,CAAA,EAAG;IAC1B,IAAI,CAACC,QAAQ,CAAC;MACZH,gBAAgB,EACd,CAAChB,CAAC,CAACoB,WAAW,CAAC,IAAI,CAACP,KAAK,CAACQ,UAAU,CAAC,IAAI,CAACrB,CAAC,CAACsB,OAAO,CAAC,IAAI,CAACT,KAAK,CAACQ,UAAU,CAAC,GAAG,IAAI,CAACR,KAAK,CAACQ,UAAU,GAAG,IAAI,CAACR,KAAK,CAACI,eAAe;MACjIF,YAAY,EAAE,IAAI,CAACF,KAAK,CAACE;IAC3B,CAAC,CAAC;EACJ;EAEAQ,iBAAiBA,CAAA,EAAG;IAClB,IAAI,CAACJ,QAAQ,CAAC;MACZH,gBAAgB,EACd,CAAChB,CAAC,CAACoB,WAAW,CAAC,IAAI,CAACP,KAAK,CAACQ,UAAU,CAAC,IAAI,CAACrB,CAAC,CAACsB,OAAO,CAAC,IAAI,CAACT,KAAK,CAACQ,UAAU,CAAC,GAAG,IAAI,CAACR,KAAK,CAACQ,UAAU,GAAG,IAAI,CAACR,KAAK,CAACI;IACpH,CAAC,CAAC;EACJ;EAEAO,gCAAgCA,CAACC,SAAS,EAAE;IAC1C,IAAI,CAACzB,CAAC,CAACoB,WAAW,CAACK,SAAS,CAACJ,UAAU,CAAC,IAAI,CAACrB,CAAC,CAACsB,OAAO,CAACG,SAAS,CAACJ,UAAU,CAAC,EAAE;MAC5E,IAAI,CAACF,QAAQ,CAAC;QAAEH,gBAAgB,EAAES,SAAS,CAACJ;MAAW,CAAC,CAAC;IAC3D;EACF;EAEAK,cAAcA,CAACC,GAAG,EAAE;IAClB,IAAI,CAACR,QAAQ,CAAC;MACZH,gBAAgB,EAAEW;IACpB,CAAC,CAAC;IACF,IAAI,CAACd,KAAK,CAACe,QAAQ,CAACD,GAAG,CAAC;EAC1B;EAEAE,aAAaA,CAACF,GAAG,EAAE;IACjB,IACE,IAAI,CAACd,KAAK,CAACiB,eAAe,IAC1B,IAAI,CAACjB,KAAK,CAACiB,eAAe,CAACH,GAAG,CAAC,IAC/B,IAAI,CAACd,KAAK,CAACiB,eAAe,CAACH,GAAG,CAAC,KAAK,IAAI,IACxC,IAAI,CAACd,KAAK,CAACkB,aAAa,IACxB,IAAI,CAAClB,KAAK,CAACkB,aAAa,CAACJ,GAAG,CAAC,GAAG,CAAC,EACjC;MACA,oBACE7B,KAAA,CAAAkC,aAAA,CAAC7B,IAAI;QAAC8B,KAAK,EAAEC,MAAM,CAACC;MAAQ,gBAC1BrC,KAAA,CAAAkC,aAAA,CAAC/B,IAAI;QAACgC,KAAK,EAAEC,MAAM,CAACE;MAAY,GAAE,IAAI,CAACvB,KAAK,CAACkB,aAAa,CAACJ,GAAG,CAAQ,CAClE,CAAC;IAEX;IACA,OAAO,IAAI;EACb;EAEAU,gBAAgBA,CAACC,aAAa,EAAE;IAC9B,MAAMC,aAAa,GAAGZ,GAAG,IAAI;MAC3B,IAAI,IAAI,CAACb,KAAK,CAACE,gBAAgB,KAAKW,GAAG,EAAE;QACvC,OAAO,IAAI,CAACd,KAAK,CAAC2B,UAAU,KAAK,OAAO,GAAG,MAAM,GAAG,IAAI,CAAC3B,KAAK,CAAC4B,kBAAkB;MACnF;MACA,OAAO,IAAI,CAAC5B,KAAK,CAAC2B,UAAU,KAAK,OAAO,GAAG,MAAM,GAAGlC,UAAU;IAChE,CAAC;IACD,MAAMoC,qBAAqB,GAAGf,GAAG,IAAI;MACnC,IAAI,IAAI,CAACb,KAAK,CAACE,gBAAgB,KAAKW,GAAG,EAAE;QACvC,OAAO,IAAI,CAACd,KAAK,CAAC2B,UAAU,KAAK,OAAO,GAAG,MAAM,GAAG,IAAI,CAAC3B,KAAK,CAAC4B,kBAAkB;MACnF;MACA,OAAO,IAAI,CAAC5B,KAAK,CAAC2B,UAAU,KAAK,OAAO,GAAG,IAAI,CAAC3B,KAAK,CAAC4B,kBAAkB,GAAG,MAAM;IACnF,CAAC;IACD,OAAO,IAAI,CAAC3B,KAAK,CAACC,YAAY,CAAC4B,GAAG,CAAC,CAAChB,GAAG,EAAEiB,KAAK,KAAK;MACjD,oBACE9C,KAAA,CAAAkC,aAAA,CAAC9B,gBAAgB;QACfyB,GAAG,EAAEiB;QACL;QAAA;QACAX,KAAK,EAAE,CAAC;UAAEY,IAAI,EAAE,CAAC;UAAEC,SAAS,EAAE,IAAI,CAACjC,KAAK,CAACkC,MAAM,IAAI,EAAE;UAAEC,cAAc,EAAE;QAAS,CAAC,EAAE,IAAI,CAACnC,KAAK,CAACoC,eAAe,CAAE;QAC/GC,OAAO,EAAE,IAAI,CAACxB,cAAc,CAACyB,IAAI,CAAC,IAAI,EAAExB,GAAG;MAAE,gBAE7C7B,KAAA,CAAAkC,aAAA,CAAC7B,IAAI;QACH8B,KAAK,EAAE,CACL;UACEmB,iBAAiB,EAAEV,qBAAqB,CAACf,GAAG,CAAC;UAC7C0B,iBAAiB,EAAEf,aAAa,GAAG,CAAC,GAAG,CAAC;UACxCgB,WAAW,EAAEhB,aAAa,GAAG,CAAC,GAAG,EAAE;UACnCiB,UAAU,EAAEX,KAAK,KAAK,CAAC,IAAI,CAACN,aAAa,GAAG,EAAE,GAAG,CAAC;UAClDU,cAAc,EAAE,QAAQ;UACxBQ,YAAY,EAAE,QAAQ;UACtBV,SAAS,EAAE,EAAE;UACbW,aAAa,EAAE,KAAK;UACpBC,eAAe,EAAE,IAAI,CAAC7C,KAAK,CAAC2B,UAAU,KAAK,OAAO,GAAG,IAAI,CAAC3B,KAAK,CAAC4B,kBAAkB,GAAGkB;QACvF,CAAC,EACD,IAAI,CAAC9C,KAAK,CAACoB,KAAK;MAChB,gBAEFnC,KAAA,CAAAkC,aAAA,CAAC7B,IAAI;QACH8B,KAAK,EAAE,CACLK,aAAa,IAAIJ,MAAM,CAAC0B,cAAc,EACtC;UACEf,IAAI,EAAE,CAAC;UACPgB,WAAW,EAAEnB,qBAAqB,CAACf,GAAG,CAAC;UACvCqB,cAAc,EAAE;QAClB,CAAC,EACD,IAAI,CAACnC,KAAK,CAACiD,QAAQ;MACnB,gBAEFhE,KAAA,CAAAkC,aAAA,CAAC/B,IAAI;QACHgC,KAAK,EAAE,CACL;UACE8B,UAAU,EAAE,aAAa;UACzBC,QAAQ,EAAE,EAAE;UACZC,KAAK,EAAE1B,aAAa,CAACZ,GAAG,CAAC;UACzBuC,SAAS,EAAE,QAAQ;UACnBC,eAAe,EAAE,CAAC;UAClBC,KAAK,EAAE;QACT,CAAC,EACD,IAAI,CAACvD,KAAK,CAACwD,SAAS,EACpB,IAAI,CAACxD,KAAK,CAACyD,oBAAoB,IAC7B,IAAI,CAACxD,KAAK,CAACE,gBAAgB,KAAKW,GAAG,IAAI;UAAEsC,KAAK,EAAE,IAAI,CAACpD,KAAK,CAAC4B,kBAAkB;UAAE8B,OAAO,EAAE;QAAI,CAAC;MAC/F,GAED5C,GACG,CAAC,EACN,IAAI,CAACE,aAAa,CAACF,GAAG,CACnB,CACF,CACU,CAAC;IAEvB,CAAC,CAAC;EACJ;EAEA6C,MAAMA,CAAA,EAAG;IACP,IAAI,IAAI,CAAC3D,KAAK,CAAC4D,QAAQ,EAAE;MACvB;MACA,oBAAO3E,KAAA,CAAAkC,aAAA,CAAC7B,IAAI;QAAC8B,KAAK,EAAE;UAAEwB,aAAa,EAAE,KAAK;UAAET,cAAc,EAAE;QAAe;MAAE,GAAE,IAAI,CAACX,gBAAgB,CAAC,IAAI,CAAQ,CAAC;IACpH;IACA,oBAAOvC,KAAA,CAAAkC,aAAA,CAAC5B,UAAU;MAACsE,UAAU;IAAA,GAAE,IAAI,CAACrC,gBAAgB,CAAC,KAAK,CAAc,CAAC;EAC3E;AACF;AAEA,MAAMH,MAAM,GAAG;EACbC,OAAO,EAAE;IACPuB,eAAe,EAAEnD,YAAY;IAC7BwC,MAAM,EAAE,EAAE;IACV4B,QAAQ,EAAE,EAAE;IACZC,YAAY,EAAE,CAAC;IACfrB,UAAU,EAAE,CAAC;IACbsB,SAAS,EAAE,CAAC;IACZ7B,cAAc,EAAE,QAAQ;IACxBQ,YAAY,EAAE;EAChB,CAAC;EACDpB,WAAW,EAAE;IACX6B,KAAK,EAAE,MAAM;IACbC,SAAS,EAAE,QAAQ;IACnBF,QAAQ,EAAE,EAAE;IACZD,UAAU,EAAE;EACd,CAAC;EACDH,cAAc,EAAE;IACdP,iBAAiB,EAAE,CAAC;IACpBI,aAAa,EAAE,KAAK;IACpBqB,iBAAiB,EAAE;EACrB;AACF,CAAC;AAED,MAAMC,eAAe,GAAGjE,KAAK,IAAI;EAC/B,OAAO;IACL2B,kBAAkB,EAAEjC,8BAA8B,CAACM,KAAK,CAAC;IACzD0B,UAAU,EAAE/B,uBAAuB,CACjCK,KAAK,EACL,YAAY,EACZL,uBAAuB,CAACK,KAAK,EAAE,mBAAmB,EAAEJ,MAAM,CAACsE,GAAG,CAACC,iBAAiB,CAAC,GAAG,UAAU,GAAG,OACnG;EACF,CAAC;AACH,CAAC;AAED,MAAMC,YAAY,GAAG7E,OAAO,CAAC0E,eAAe,EAAE,CAAC,CAAC,CAAC,CAACpE,YAAY,CAAC;AAC/D,SAASuE,YAAY,IAAIvE,YAAY","ignoreList":[]}
@@ -1,6 +1,6 @@
1
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
3
- function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
1
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
2
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
3
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
4
4
  import React, { Component } from 'react';
5
5
  import { connect } from 'react-redux';
6
6
  import { Keyboard, TextInput, View, ImageBackground, TouchableOpacity, Dimensions } from 'react-native';
@@ -1 +1 @@
1
- {"version":3,"names":["React","Component","connect","Keyboard","TextInput","View","ImageBackground","TouchableOpacity","Dimensions","Icon","getBottomSpace","_","getApiError","getShadowStyle","TEXT_BLUEGREY","TEXT_DARKEST","BG_GREY","Spinner","ImageUploader","reactionActions","SCREEN_HEIGHT","get","height","CommentReply","constructor","props","_defineProperty","setState","uploadingCommentImage","setTimeout","noScroll","_this$props$scrollVie","scrollView","current","scrollToEnd","animated","uri","commentImageInput","replace","state","commentInput","commentsLoading","addingComment","componentDidMount","commentSection","isLoading","focusInput","refs","replyInput","focus","loadingStarted","loadingCompleted","shouldShowImageInput","isEmpty","addComment","_this$props$scrollVie2","text","image","dismiss","_this$props$commentSe","startedAddingComment","entityId","entityType","entityName","site","threadId","then","res","_this$props$commentSe2","commentAdded","data","_this$props$scrollVie3","catch","err","console","log","removeImage","showUploadMenu","commentImageUploader","renderImageAttachment","createElement","style","styles","accessoryImage","accessoryImageBorder","borderWidth","borderColor","imageStyle","source","accessoryImageClose","onPress","bind","hitSlop","top","right","bottom","left","name","type","iconStyle","accessoryImageCloseIcon","accessoryImageCloseIconContainer","renderImageUploader","ref","onUploadStarted","onUploadSuccess","onUploadFailed","onLibrarySelected","quality","allowsEditing","fileName","popupTitle","userId","user","uid","hideLibrary","render","includes","hidden","inputContainer","input","marginRight","placeholder","value","onFocus","_this$props$scrollVie4","onChangeText","_this$props$scrollVie5","inputText","autoCapitalize","multiline","autoCorrect","autoGrow","sendContainer","padding","width","send","marginTop","borderRadius","position","backgroundColor","alignItems","justifyContent","fontSize","color","textAlign","paddingVertical","paddingHorizontal","paddingBottom","flexGrow","fontFamily","margin","maxHeight","mapStateToProps","commentReply","forwardRef"],"sources":["CommentReply.js"],"sourcesContent":["import React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport { Keyboard, TextInput, View, ImageBackground, TouchableOpacity, Dimensions } from 'react-native';\nimport { Icon } from 'react-native-elements';\nimport { getBottomSpace } from 'react-native-iphone-x-helper';\nimport _ from 'lodash';\nimport { getApiError } from '../session';\nimport { getShadowStyle } from '../helper';\nimport { TEXT_BLUEGREY, TEXT_DARKEST, BG_GREY } from '../colours';\nimport { Spinner } from './Spinner';\nimport ImageUploader from './ImageUploader';\nimport { reactionActions } from '../apis';\n\nconst SCREEN_HEIGHT = Dimensions.get('window').height;\n\nclass CommentReply extends Component {\n constructor(props) {\n super(props);\n\n this.state = {\n commentImageInput: '',\n commentInput: '',\n uploadingCommentImage: false,\n commentsLoading: true,\n addingComment: false,\n };\n }\n\n componentDidMount() {\n if (this.props.commentSection && this.props.commentSection.current) {\n this.setState({\n commentsLoading: this.props.commentSection.current.isLoading(),\n });\n }\n }\n\n onUploadStarted = () => {\n this.setState({\n uploadingCommentImage: true,\n });\n setTimeout(() => {\n if (!this.props.noScroll) {\n this.props.scrollView?.current?.scrollToEnd({ animated: true });\n }\n }, 500);\n };\n\n onUploadSuccess = uri => {\n this.setState({\n uploadingCommentImage: false,\n commentImageInput: uri.replace('/general/', '/general1400/'),\n });\n };\n\n onUploadFailed = () => {\n this.setState({\n uploadingCommentImage: false,\n commentImageInput: null,\n });\n };\n\n focusInput() {\n this.refs.replyInput.focus();\n }\n\n loadingStarted() {\n this.setState({\n commentsLoading: true,\n });\n }\n\n loadingCompleted() {\n this.setState({\n commentsLoading: false,\n });\n }\n\n shouldShowImageInput() {\n return this.state.uploadingCommentImage || !_.isEmpty(this.state.commentImageInput);\n }\n\n addComment() {\n setTimeout(() => {\n if (!this.props.noScroll) {\n this.props.scrollView?.current?.scrollToEnd({ animated: true });\n }\n }, 500);\n const text = this.state.commentInput;\n const image = this.state.commentImageInput;\n this.setState({\n addingComment: true,\n commentInput: '',\n commentImageInput: '',\n });\n Keyboard.dismiss();\n if (this.props.commentSection) {\n this.props.commentSection?.current?.startedAddingComment();\n }\n reactionActions\n .addComment(this.props.entityId, this.props.entityType, this.props.entityName, this.props.site, text, image, this.props.threadId)\n .then(res => {\n if (this.props.commentSection) {\n this.props.commentSection?.current?.commentAdded(res.data);\n }\n this.setState({\n addingComment: false,\n });\n setTimeout(() => {\n if (!this.props.noScroll) {\n this.props.scrollView?.current?.scrollToEnd({ animated: true });\n }\n }, 500);\n })\n .catch(err => {\n console.log(getApiError(err));\n });\n }\n\n removeImage() {\n this.setState({\n commentImageInput: null,\n });\n }\n\n showUploadMenu() {\n if (this.state.uploadingCommentImage || !_.isEmpty(this.state.commentImageInput)) {\n return;\n }\n this.commentImageUploader.showUploadMenu();\n }\n\n renderImageAttachment() {\n if (_.isEmpty(this.state.commentImageInput) && !this.state.uploadingCommentImage) {\n return null;\n }\n if (this.state.uploadingCommentImage) {\n return (\n <View style={[styles.accessoryImage, styles.accessoryImageBorder, { borderWidth: 1, borderColor: BG_GREY }]}>\n <Spinner />\n </View>\n );\n }\n return (\n <ImageBackground\n style={styles.accessoryImage}\n imageStyle={styles.accessoryImageBorder}\n source={{ uri: this.state.commentImageInput }}\n >\n <TouchableOpacity\n style={styles.accessoryImageClose}\n onPress={this.removeImage.bind(this)}\n hitSlop={{ top: 8, right: 8, bottom: 8, left: 8 }}\n >\n <Icon\n name=\"remove\"\n type=\"font-awesome\"\n iconStyle={styles.accessoryImageCloseIcon}\n style={styles.accessoryImageCloseIconContainer}\n />\n </TouchableOpacity>\n </ImageBackground>\n );\n }\n\n renderImageUploader() {\n return (\n <ImageUploader\n ref={ref => (this.commentImageUploader = ref)}\n onUploadStarted={this.onUploadStarted}\n onUploadSuccess={this.onUploadSuccess}\n onUploadFailed={this.onUploadFailed}\n onLibrarySelected={this.onUploadSuccess}\n quality={0.8}\n allowsEditing={false}\n fileName=\"commentImage\"\n popupTitle=\"Add Image\"\n userId={this.props.user.uid}\n hideLibrary\n />\n );\n }\n\n render() {\n if (_.includes(this.props.user.hidden, 'addComment')) {\n return null;\n }\n if (this.state.commentsLoading) {\n return null;\n }\n return (\n <View style={[styles.inputContainer, getShadowStyle(), this.props.style]}>\n <View\n style={[\n styles.input,\n {\n marginRight: _.isEmpty(this.state.commentInput) && _.isEmpty(this.state.commentImageInput) ? 40 : 80,\n },\n ]}\n >\n <TextInput\n ref=\"replyInput\"\n placeholder=\"Enter your comment here\"\n value={this.state.commentInput}\n onFocus={() => {\n if (!this.props.noScroll) {\n this.props.scrollView?.current?.scrollToEnd({ animated: true });\n }\n }}\n onChangeText={value => {\n if (!this.props.noScroll) {\n this.props.scrollView?.current?.scrollToEnd({ animated: false });\n }\n this.setState({\n commentInput: value,\n });\n }}\n style={styles.inputText}\n autoCapitalize=\"sentences\"\n multiline\n autoCorrect\n autoGrow\n />\n </View>\n {(!_.isEmpty(this.state.commentInput) || !_.isEmpty(this.state.commentImageInput)) && !this.state.addingComment && (\n <TouchableOpacity\n onPress={this.addComment.bind(this)}\n style={[\n styles.sendContainer,\n {\n right: 4,\n padding: 4,\n width: 40,\n height: 40,\n },\n ]}\n >\n <Icon name=\"paper-plane\" type=\"font-awesome\" iconStyle={[styles.send, { width: 40 }]} />\n </TouchableOpacity>\n )}\n <TouchableOpacity\n onPress={this.showUploadMenu.bind(this)}\n style={[\n styles.sendContainer,\n {\n right: _.isEmpty(this.state.commentInput) && _.isEmpty(this.state.commentImageInput) ? 4 : 44,\n padding: 4,\n width: 40,\n height: 40,\n },\n ]}\n >\n <Icon name=\"picture-o\" type=\"font-awesome\" iconStyle={[styles.send, { width: 40 }]} />\n </TouchableOpacity>\n {this.renderImageAttachment()}\n {this.renderImageUploader()}\n </View>\n );\n }\n}\n\nconst styles = {\n accessoryImage: {\n marginTop: 8,\n width: 60,\n height: 60,\n },\n accessoryImageBorder: {\n borderRadius: 2,\n },\n accessoryImageClose: {\n width: 14,\n height: 14,\n borderRadius: 7,\n position: 'absolute',\n top: -7,\n right: -7,\n backgroundColor: TEXT_BLUEGREY,\n },\n accessoryImageCloseIconContainer: {\n width: 14,\n height: 14,\n alignItems: 'center',\n justifyContent: 'center',\n },\n accessoryImageCloseIcon: {\n fontSize: 10,\n color: '#fff',\n textAlign: 'center',\n },\n inputContainer: {\n backgroundColor: '#fff',\n paddingVertical: 8,\n paddingHorizontal: 8,\n paddingBottom: 8 + getBottomSpace(),\n flexGrow: 1,\n },\n inputText: {\n color: TEXT_DARKEST,\n fontSize: 14,\n fontFamily: 'sf-medium',\n },\n input: {\n fontSize: 14,\n color: TEXT_DARKEST,\n fontFamily: 'sf-medium',\n margin: 0,\n backgroundColor: BG_GREY,\n borderRadius: 5,\n padding: 8,\n maxHeight: SCREEN_HEIGHT / 3,\n },\n sendContainer: {\n position: 'absolute',\n top: 8,\n right: 8,\n height: 30,\n width: 30,\n alignItems: 'center',\n justifyContent: 'center',\n backgroundColor: '#fff',\n },\n send: {\n color: TEXT_BLUEGREY,\n fontSize: 24,\n textAlign: 'center',\n },\n};\n\nconst mapStateToProps = state => {\n const { user } = state;\n return { user };\n};\n\nconst commentReply = connect(mapStateToProps, {}, null, { forwardRef: true })(CommentReply);\nexport { commentReply as CommentReply };\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","Component","connect","Keyboard","TextInput","View","ImageBackground","TouchableOpacity","Dimensions","Icon","getBottomSpace","_","getApiError","getShadowStyle","TEXT_BLUEGREY","TEXT_DARKEST","BG_GREY","Spinner","ImageUploader","reactionActions","SCREEN_HEIGHT","get","height","CommentReply","constructor","props","_defineProperty","setState","uploadingCommentImage","setTimeout","noScroll","_this$props$scrollVie","scrollView","current","scrollToEnd","animated","uri","commentImageInput","replace","state","commentInput","commentsLoading","addingComment","componentDidMount","commentSection","isLoading","focusInput","refs","replyInput","focus","loadingStarted","loadingCompleted","shouldShowImageInput","isEmpty","addComment","_this$props$scrollVie2","text","image","dismiss","_this$props$commentSe","startedAddingComment","entityId","entityType","entityName","site","threadId","then","res","_this$props$commentSe2","commentAdded","data","_this$props$scrollVie3","catch","err","console","log","removeImage","showUploadMenu","commentImageUploader","renderImageAttachment","createElement","style","styles","accessoryImage","accessoryImageBorder","borderWidth","borderColor","imageStyle","source","accessoryImageClose","onPress","bind","hitSlop","top","right","bottom","left","name","type","iconStyle","accessoryImageCloseIcon","accessoryImageCloseIconContainer","renderImageUploader","ref","onUploadStarted","onUploadSuccess","onUploadFailed","onLibrarySelected","quality","allowsEditing","fileName","popupTitle","userId","user","uid","hideLibrary","render","includes","hidden","inputContainer","input","marginRight","placeholder","value","onFocus","_this$props$scrollVie4","onChangeText","_this$props$scrollVie5","inputText","autoCapitalize","multiline","autoCorrect","autoGrow","sendContainer","padding","width","send","marginTop","borderRadius","position","backgroundColor","alignItems","justifyContent","fontSize","color","textAlign","paddingVertical","paddingHorizontal","paddingBottom","flexGrow","fontFamily","margin","maxHeight","mapStateToProps","commentReply","forwardRef"],"sources":["CommentReply.js"],"sourcesContent":["import React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport { Keyboard, TextInput, View, ImageBackground, TouchableOpacity, Dimensions } from 'react-native';\nimport { Icon } from 'react-native-elements';\nimport { getBottomSpace } from 'react-native-iphone-x-helper';\nimport _ from 'lodash';\nimport { getApiError } from '../session';\nimport { getShadowStyle } from '../helper';\nimport { TEXT_BLUEGREY, TEXT_DARKEST, BG_GREY } from '../colours';\nimport { Spinner } from './Spinner';\nimport ImageUploader from './ImageUploader';\nimport { reactionActions } from '../apis';\n\nconst SCREEN_HEIGHT = Dimensions.get('window').height;\n\nclass CommentReply extends Component {\n constructor(props) {\n super(props);\n\n this.state = {\n commentImageInput: '',\n commentInput: '',\n uploadingCommentImage: false,\n commentsLoading: true,\n addingComment: false,\n };\n }\n\n componentDidMount() {\n if (this.props.commentSection && this.props.commentSection.current) {\n this.setState({\n commentsLoading: this.props.commentSection.current.isLoading(),\n });\n }\n }\n\n onUploadStarted = () => {\n this.setState({\n uploadingCommentImage: true,\n });\n setTimeout(() => {\n if (!this.props.noScroll) {\n this.props.scrollView?.current?.scrollToEnd({ animated: true });\n }\n }, 500);\n };\n\n onUploadSuccess = uri => {\n this.setState({\n uploadingCommentImage: false,\n commentImageInput: uri.replace('/general/', '/general1400/'),\n });\n };\n\n onUploadFailed = () => {\n this.setState({\n uploadingCommentImage: false,\n commentImageInput: null,\n });\n };\n\n focusInput() {\n this.refs.replyInput.focus();\n }\n\n loadingStarted() {\n this.setState({\n commentsLoading: true,\n });\n }\n\n loadingCompleted() {\n this.setState({\n commentsLoading: false,\n });\n }\n\n shouldShowImageInput() {\n return this.state.uploadingCommentImage || !_.isEmpty(this.state.commentImageInput);\n }\n\n addComment() {\n setTimeout(() => {\n if (!this.props.noScroll) {\n this.props.scrollView?.current?.scrollToEnd({ animated: true });\n }\n }, 500);\n const text = this.state.commentInput;\n const image = this.state.commentImageInput;\n this.setState({\n addingComment: true,\n commentInput: '',\n commentImageInput: '',\n });\n Keyboard.dismiss();\n if (this.props.commentSection) {\n this.props.commentSection?.current?.startedAddingComment();\n }\n reactionActions\n .addComment(this.props.entityId, this.props.entityType, this.props.entityName, this.props.site, text, image, this.props.threadId)\n .then(res => {\n if (this.props.commentSection) {\n this.props.commentSection?.current?.commentAdded(res.data);\n }\n this.setState({\n addingComment: false,\n });\n setTimeout(() => {\n if (!this.props.noScroll) {\n this.props.scrollView?.current?.scrollToEnd({ animated: true });\n }\n }, 500);\n })\n .catch(err => {\n console.log(getApiError(err));\n });\n }\n\n removeImage() {\n this.setState({\n commentImageInput: null,\n });\n }\n\n showUploadMenu() {\n if (this.state.uploadingCommentImage || !_.isEmpty(this.state.commentImageInput)) {\n return;\n }\n this.commentImageUploader.showUploadMenu();\n }\n\n renderImageAttachment() {\n if (_.isEmpty(this.state.commentImageInput) && !this.state.uploadingCommentImage) {\n return null;\n }\n if (this.state.uploadingCommentImage) {\n return (\n <View style={[styles.accessoryImage, styles.accessoryImageBorder, { borderWidth: 1, borderColor: BG_GREY }]}>\n <Spinner />\n </View>\n );\n }\n return (\n <ImageBackground\n style={styles.accessoryImage}\n imageStyle={styles.accessoryImageBorder}\n source={{ uri: this.state.commentImageInput }}\n >\n <TouchableOpacity\n style={styles.accessoryImageClose}\n onPress={this.removeImage.bind(this)}\n hitSlop={{ top: 8, right: 8, bottom: 8, left: 8 }}\n >\n <Icon\n name=\"remove\"\n type=\"font-awesome\"\n iconStyle={styles.accessoryImageCloseIcon}\n style={styles.accessoryImageCloseIconContainer}\n />\n </TouchableOpacity>\n </ImageBackground>\n );\n }\n\n renderImageUploader() {\n return (\n <ImageUploader\n ref={ref => (this.commentImageUploader = ref)}\n onUploadStarted={this.onUploadStarted}\n onUploadSuccess={this.onUploadSuccess}\n onUploadFailed={this.onUploadFailed}\n onLibrarySelected={this.onUploadSuccess}\n quality={0.8}\n allowsEditing={false}\n fileName=\"commentImage\"\n popupTitle=\"Add Image\"\n userId={this.props.user.uid}\n hideLibrary\n />\n );\n }\n\n render() {\n if (_.includes(this.props.user.hidden, 'addComment')) {\n return null;\n }\n if (this.state.commentsLoading) {\n return null;\n }\n return (\n <View style={[styles.inputContainer, getShadowStyle(), this.props.style]}>\n <View\n style={[\n styles.input,\n {\n marginRight: _.isEmpty(this.state.commentInput) && _.isEmpty(this.state.commentImageInput) ? 40 : 80,\n },\n ]}\n >\n <TextInput\n ref=\"replyInput\"\n placeholder=\"Enter your comment here\"\n value={this.state.commentInput}\n onFocus={() => {\n if (!this.props.noScroll) {\n this.props.scrollView?.current?.scrollToEnd({ animated: true });\n }\n }}\n onChangeText={value => {\n if (!this.props.noScroll) {\n this.props.scrollView?.current?.scrollToEnd({ animated: false });\n }\n this.setState({\n commentInput: value,\n });\n }}\n style={styles.inputText}\n autoCapitalize=\"sentences\"\n multiline\n autoCorrect\n autoGrow\n />\n </View>\n {(!_.isEmpty(this.state.commentInput) || !_.isEmpty(this.state.commentImageInput)) && !this.state.addingComment && (\n <TouchableOpacity\n onPress={this.addComment.bind(this)}\n style={[\n styles.sendContainer,\n {\n right: 4,\n padding: 4,\n width: 40,\n height: 40,\n },\n ]}\n >\n <Icon name=\"paper-plane\" type=\"font-awesome\" iconStyle={[styles.send, { width: 40 }]} />\n </TouchableOpacity>\n )}\n <TouchableOpacity\n onPress={this.showUploadMenu.bind(this)}\n style={[\n styles.sendContainer,\n {\n right: _.isEmpty(this.state.commentInput) && _.isEmpty(this.state.commentImageInput) ? 4 : 44,\n padding: 4,\n width: 40,\n height: 40,\n },\n ]}\n >\n <Icon name=\"picture-o\" type=\"font-awesome\" iconStyle={[styles.send, { width: 40 }]} />\n </TouchableOpacity>\n {this.renderImageAttachment()}\n {this.renderImageUploader()}\n </View>\n );\n }\n}\n\nconst styles = {\n accessoryImage: {\n marginTop: 8,\n width: 60,\n height: 60,\n },\n accessoryImageBorder: {\n borderRadius: 2,\n },\n accessoryImageClose: {\n width: 14,\n height: 14,\n borderRadius: 7,\n position: 'absolute',\n top: -7,\n right: -7,\n backgroundColor: TEXT_BLUEGREY,\n },\n accessoryImageCloseIconContainer: {\n width: 14,\n height: 14,\n alignItems: 'center',\n justifyContent: 'center',\n },\n accessoryImageCloseIcon: {\n fontSize: 10,\n color: '#fff',\n textAlign: 'center',\n },\n inputContainer: {\n backgroundColor: '#fff',\n paddingVertical: 8,\n paddingHorizontal: 8,\n paddingBottom: 8 + getBottomSpace(),\n flexGrow: 1,\n },\n inputText: {\n color: TEXT_DARKEST,\n fontSize: 14,\n fontFamily: 'sf-medium',\n },\n input: {\n fontSize: 14,\n color: TEXT_DARKEST,\n fontFamily: 'sf-medium',\n margin: 0,\n backgroundColor: BG_GREY,\n borderRadius: 5,\n padding: 8,\n maxHeight: SCREEN_HEIGHT / 3,\n },\n sendContainer: {\n position: 'absolute',\n top: 8,\n right: 8,\n height: 30,\n width: 30,\n alignItems: 'center',\n justifyContent: 'center',\n backgroundColor: '#fff',\n },\n send: {\n color: TEXT_BLUEGREY,\n fontSize: 24,\n textAlign: 'center',\n },\n};\n\nconst mapStateToProps = state => {\n const { user } = state;\n return { user };\n};\n\nconst commentReply = connect(mapStateToProps, {}, null, { forwardRef: true })(CommentReply);\nexport { commentReply as CommentReply };\n"],"mappings":"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","ignoreList":[]}