@plusscommunities/pluss-core-app 6.1.7 → 7.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/module/components/Attachment.js +1 -1
- package/dist/module/components/Attachment.js.map +1 -1
- package/dist/module/components/AudienceSelectorPage.js +1 -1
- package/dist/module/components/AudienceSelectorPage.js.map +1 -1
- package/dist/module/components/CommentReply.js +1 -1
- package/dist/module/components/CommentReply.js.map +1 -1
- package/dist/module/components/CommentSection.js +1 -1
- package/dist/module/components/CommentSection.js.map +1 -1
- package/dist/module/components/DropDownItem.js +1 -1
- package/dist/module/components/DropDownItem.js.map +1 -1
- package/dist/module/components/FormCardSectionOptionLauncher.js +1 -1
- package/dist/module/components/FormCardSectionOptionLauncher.js.map +1 -1
- package/dist/module/components/GenericInput.js +1 -1
- package/dist/module/components/GenericInput.js.map +1 -1
- package/dist/module/components/GenericInputSection.js +1 -1
- package/dist/module/components/GenericInputSection.js.map +1 -1
- package/dist/module/components/Header.js +1 -1
- package/dist/module/components/Header.js.map +1 -1
- package/dist/module/components/ImagePopup.js +1 -1
- package/dist/module/components/ImagePopup.js.map +1 -1
- package/dist/module/components/ImageUploader.js +1 -1
- package/dist/module/components/ImageUploader.js.map +1 -1
- package/dist/module/components/PDFPopup.js +1 -1
- package/dist/module/components/PDFPopup.js.map +1 -1
- package/dist/module/components/PlussChat.js +1 -1
- package/dist/module/components/PlussChat.js.map +1 -1
- package/dist/module/components/PositionedImage.js +1 -1
- package/dist/module/components/PositionedImage.js.map +1 -1
- package/dist/module/components/SharingTools.js +1 -1
- package/dist/module/components/SharingTools.js.map +1 -1
- package/dist/module/components/expo-image-picker-multiple/ImageTile.js +1 -1
- package/dist/module/components/expo-image-picker-multiple/ImageTile.js.map +1 -1
- package/package.json +18 -17
- package/src/components/Attachment.js +1 -1
- package/src/components/AudienceSelectorPage.js +1 -1
- package/src/components/CommentReply.js +1 -1
- package/src/components/CommentSection.js +5 -6
- package/src/components/DropDownItem.js +1 -1
- package/src/components/FormCardSectionOptionLauncher.js +1 -1
- package/src/components/GenericInput.js +1 -1
- package/src/components/GenericInputSection.js +1 -1
- package/src/components/Header.js +1 -1
- package/src/components/ImagePopup.js +1 -1
- package/src/components/ImageUploader.js +1 -1
- package/src/components/PDFPopup.js +1 -1
- package/src/components/PlussChat.js +1 -1
- package/src/components/PositionedImage.js +1 -1
- package/src/components/SharingTools.js +1 -1
- package/src/components/expo-image-picker-multiple/ImageTile.js +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React, { PureComponent } from 'react';
|
|
2
2
|
import { TouchableOpacity, View, Text } from 'react-native';
|
|
3
3
|
import { connect } from 'react-redux';
|
|
4
|
-
import { Icon } from '
|
|
4
|
+
import { Icon } from '@rneui/themed';
|
|
5
5
|
import { getLightBrandingColourFromState, getMainBrandingColourFromState } from '../colours';
|
|
6
6
|
class Attachment extends PureComponent {
|
|
7
7
|
render() {
|
|
@@ -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 '
|
|
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 '@rneui/themed';\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,eAAe;AACpC,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":[]}
|
|
@@ -5,7 +5,7 @@ import React, { Component } from 'react';
|
|
|
5
5
|
import { connect } from 'react-redux';
|
|
6
6
|
import _ from 'lodash';
|
|
7
7
|
import { TouchableOpacity, View, ScrollView, Text, StyleSheet } from 'react-native';
|
|
8
|
-
import { Icon } from '
|
|
8
|
+
import { Icon } from '@rneui/themed';
|
|
9
9
|
import { Services } from '../config';
|
|
10
10
|
import { FormCard } from './FormCard';
|
|
11
11
|
import { FormCardSection } from './FormCardSection';
|
|
@@ -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,GAAG,IAAIF,CAAC,CAACE,QAAQ,CAAC,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC,GAAGH,CAAC,CAACE,QAAQ,CAACE,SAAS,CAAC,CAAC,CAAC,KAAKJ,CAAC,CAACK,WAAW,EAAE,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,GAAG,YAAYO,CAAC,CAACZ,GAAG,EAAE;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,GAAG,YAAYc,CAAC,CAAClB,QAAQ,EAAE;QACnC,OAAO;UACLY,YAAY,EAAE,UAAU;UACxBC,qBAAqB,EAAEK,CAAC,CAAClB,QAAQ;UACjCI,EAAE;UACFD,KAAK,EAAE,cAAce,CAAC,CAACpB,WAAW,EAAE;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,GAAG,WAAWc,CAAC,CAACd,EAAE,EAAE;QAC5B,OAAO;UACLQ,YAAY,EAAE,UAAU;UACxBC,qBAAqB,EAAEK,CAAC,CAACd,EAAE;UAC3BA,EAAE;UACFD,KAAK,EAAE,aAAae,CAAC,CAACf,KAAK,EAAE;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,GAAE,sBAAsB2B,YAAY,EAAS,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","ignoreList":[]}
|
|
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 '@rneui/themed';\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":[]}
|
|
@@ -4,7 +4,7 @@ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e =
|
|
|
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';
|
|
7
|
-
import { Icon } from '
|
|
7
|
+
import { Icon } from '@rneui/themed';
|
|
8
8
|
import { getBottomSpace } from 'react-native-iphone-x-helper';
|
|
9
9
|
import _ from 'lodash';
|
|
10
10
|
import { getApiError } from '../session';
|
|
@@ -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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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","Component","connect","Keyboard","TextInput","View","ImageBackground","TouchableOpacity","Dimensions","Icon","getBottomSpace","_","getApiError","getShadowStyle","TEXT_BLUEGREY","TEXT_DARKEST","BG_GREY","Spinner","ImageUploader","reactionActions","SCREEN_HEIGHT","get","height","CommentReply","constructor","props","_defineProperty","setState","uploadingCommentImage","setTimeout","noScroll","_this$props$scrollVie","scrollView","current","scrollToEnd","animated","uri","commentImageInput","replace","state","commentInput","commentsLoading","addingComment","componentDidMount","commentSection","isLoading","focusInput","refs","replyInput","focus","loadingStarted","loadingCompleted","shouldShowImageInput","isEmpty","addComment","_this$props$scrollVie2","text","image","dismiss","_this$props$commentSe","startedAddingComment","entityId","entityType","entityName","site","threadId","then","res","_this$props$commentSe2","commentAdded","data","_this$props$scrollVie3","catch","err","console","log","removeImage","showUploadMenu","commentImageUploader","renderImageAttachment","createElement","style","styles","accessoryImage","accessoryImageBorder","borderWidth","borderColor","imageStyle","source","accessoryImageClose","onPress","bind","hitSlop","top","right","bottom","left","name","type","iconStyle","accessoryImageCloseIcon","accessoryImageCloseIconContainer","renderImageUploader","ref","onUploadStarted","onUploadSuccess","onUploadFailed","onLibrarySelected","quality","allowsEditing","fileName","popupTitle","userId","user","uid","hideLibrary","render","includes","hidden","inputContainer","input","marginRight","placeholder","value","onFocus","_this$props$scrollVie4","onChangeText","_this$props$scrollVie5","inputText","autoCapitalize","multiline","autoCorrect","autoGrow","sendContainer","padding","width","send","marginTop","borderRadius","position","backgroundColor","alignItems","justifyContent","fontSize","color","textAlign","paddingVertical","paddingHorizontal","paddingBottom","flexGrow","fontFamily","margin","maxHeight","mapStateToProps","commentReply","forwardRef"],"sources":["CommentReply.js"],"sourcesContent":["import React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport { Keyboard, TextInput, View, ImageBackground, TouchableOpacity, Dimensions } from 'react-native';\nimport { Icon } from '@rneui/themed';\nimport { getBottomSpace } from 'react-native-iphone-x-helper';\nimport _ from 'lodash';\nimport { getApiError } from '../session';\nimport { getShadowStyle } from '../helper';\nimport { TEXT_BLUEGREY, TEXT_DARKEST, BG_GREY } from '../colours';\nimport { Spinner } from './Spinner';\nimport ImageUploader from './ImageUploader';\nimport { reactionActions } from '../apis';\n\nconst SCREEN_HEIGHT = Dimensions.get('window').height;\n\nclass CommentReply extends Component {\n constructor(props) {\n super(props);\n\n this.state = {\n commentImageInput: '',\n commentInput: '',\n uploadingCommentImage: false,\n commentsLoading: true,\n addingComment: false,\n };\n }\n\n componentDidMount() {\n if (this.props.commentSection && this.props.commentSection.current) {\n this.setState({\n commentsLoading: this.props.commentSection.current.isLoading(),\n });\n }\n }\n\n onUploadStarted = () => {\n this.setState({\n uploadingCommentImage: true,\n });\n setTimeout(() => {\n if (!this.props.noScroll) {\n this.props.scrollView?.current?.scrollToEnd({ animated: true });\n }\n }, 500);\n };\n\n onUploadSuccess = uri => {\n this.setState({\n uploadingCommentImage: false,\n commentImageInput: uri.replace('/general/', '/general1400/'),\n });\n };\n\n onUploadFailed = () => {\n this.setState({\n uploadingCommentImage: false,\n commentImageInput: null,\n });\n };\n\n focusInput() {\n this.refs.replyInput.focus();\n }\n\n loadingStarted() {\n this.setState({\n commentsLoading: true,\n });\n }\n\n loadingCompleted() {\n this.setState({\n commentsLoading: false,\n });\n }\n\n shouldShowImageInput() {\n return this.state.uploadingCommentImage || !_.isEmpty(this.state.commentImageInput);\n }\n\n addComment() {\n setTimeout(() => {\n if (!this.props.noScroll) {\n this.props.scrollView?.current?.scrollToEnd({ animated: true });\n }\n }, 500);\n const text = this.state.commentInput;\n const image = this.state.commentImageInput;\n this.setState({\n addingComment: true,\n commentInput: '',\n commentImageInput: '',\n });\n Keyboard.dismiss();\n if (this.props.commentSection) {\n this.props.commentSection?.current?.startedAddingComment();\n }\n reactionActions\n .addComment(this.props.entityId, this.props.entityType, this.props.entityName, this.props.site, text, image, this.props.threadId)\n .then(res => {\n if (this.props.commentSection) {\n this.props.commentSection?.current?.commentAdded(res.data);\n }\n this.setState({\n addingComment: false,\n });\n setTimeout(() => {\n if (!this.props.noScroll) {\n this.props.scrollView?.current?.scrollToEnd({ animated: true });\n }\n }, 500);\n })\n .catch(err => {\n console.log(getApiError(err));\n });\n }\n\n removeImage() {\n this.setState({\n commentImageInput: null,\n });\n }\n\n showUploadMenu() {\n if (this.state.uploadingCommentImage || !_.isEmpty(this.state.commentImageInput)) {\n return;\n }\n this.commentImageUploader.showUploadMenu();\n }\n\n renderImageAttachment() {\n if (_.isEmpty(this.state.commentImageInput) && !this.state.uploadingCommentImage) {\n return null;\n }\n if (this.state.uploadingCommentImage) {\n return (\n <View style={[styles.accessoryImage, styles.accessoryImageBorder, { borderWidth: 1, borderColor: BG_GREY }]}>\n <Spinner />\n </View>\n );\n }\n return (\n <ImageBackground\n style={styles.accessoryImage}\n imageStyle={styles.accessoryImageBorder}\n source={{ uri: this.state.commentImageInput }}\n >\n <TouchableOpacity\n style={styles.accessoryImageClose}\n onPress={this.removeImage.bind(this)}\n hitSlop={{ top: 8, right: 8, bottom: 8, left: 8 }}\n >\n <Icon\n name=\"remove\"\n type=\"font-awesome\"\n iconStyle={styles.accessoryImageCloseIcon}\n style={styles.accessoryImageCloseIconContainer}\n />\n </TouchableOpacity>\n </ImageBackground>\n );\n }\n\n renderImageUploader() {\n return (\n <ImageUploader\n ref={ref => (this.commentImageUploader = ref)}\n onUploadStarted={this.onUploadStarted}\n onUploadSuccess={this.onUploadSuccess}\n onUploadFailed={this.onUploadFailed}\n onLibrarySelected={this.onUploadSuccess}\n quality={0.8}\n allowsEditing={false}\n fileName=\"commentImage\"\n popupTitle=\"Add Image\"\n userId={this.props.user.uid}\n hideLibrary\n />\n );\n }\n\n render() {\n if (_.includes(this.props.user.hidden, 'addComment')) {\n return null;\n }\n if (this.state.commentsLoading) {\n return null;\n }\n return (\n <View style={[styles.inputContainer, getShadowStyle(), this.props.style]}>\n <View\n style={[\n styles.input,\n {\n marginRight: _.isEmpty(this.state.commentInput) && _.isEmpty(this.state.commentImageInput) ? 40 : 80,\n },\n ]}\n >\n <TextInput\n ref=\"replyInput\"\n placeholder=\"Enter your comment here\"\n value={this.state.commentInput}\n onFocus={() => {\n if (!this.props.noScroll) {\n this.props.scrollView?.current?.scrollToEnd({ animated: true });\n }\n }}\n onChangeText={value => {\n if (!this.props.noScroll) {\n this.props.scrollView?.current?.scrollToEnd({ animated: false });\n }\n this.setState({\n commentInput: value,\n });\n }}\n style={styles.inputText}\n autoCapitalize=\"sentences\"\n multiline\n autoCorrect\n autoGrow\n />\n </View>\n {(!_.isEmpty(this.state.commentInput) || !_.isEmpty(this.state.commentImageInput)) && !this.state.addingComment && (\n <TouchableOpacity\n onPress={this.addComment.bind(this)}\n style={[\n styles.sendContainer,\n {\n right: 4,\n padding: 4,\n width: 40,\n height: 40,\n },\n ]}\n >\n <Icon name=\"paper-plane\" type=\"font-awesome\" iconStyle={[styles.send, { width: 40 }]} />\n </TouchableOpacity>\n )}\n <TouchableOpacity\n onPress={this.showUploadMenu.bind(this)}\n style={[\n styles.sendContainer,\n {\n right: _.isEmpty(this.state.commentInput) && _.isEmpty(this.state.commentImageInput) ? 4 : 44,\n padding: 4,\n width: 40,\n height: 40,\n },\n ]}\n >\n <Icon name=\"picture-o\" type=\"font-awesome\" iconStyle={[styles.send, { width: 40 }]} />\n </TouchableOpacity>\n {this.renderImageAttachment()}\n {this.renderImageUploader()}\n </View>\n );\n }\n}\n\nconst styles = {\n accessoryImage: {\n marginTop: 8,\n width: 60,\n height: 60,\n },\n accessoryImageBorder: {\n borderRadius: 2,\n },\n accessoryImageClose: {\n width: 14,\n height: 14,\n borderRadius: 7,\n position: 'absolute',\n top: -7,\n right: -7,\n backgroundColor: TEXT_BLUEGREY,\n },\n accessoryImageCloseIconContainer: {\n width: 14,\n height: 14,\n alignItems: 'center',\n justifyContent: 'center',\n },\n accessoryImageCloseIcon: {\n fontSize: 10,\n color: '#fff',\n textAlign: 'center',\n },\n inputContainer: {\n backgroundColor: '#fff',\n paddingVertical: 8,\n paddingHorizontal: 8,\n paddingBottom: 8 + getBottomSpace(),\n flexGrow: 1,\n },\n inputText: {\n color: TEXT_DARKEST,\n fontSize: 14,\n fontFamily: 'sf-medium',\n },\n input: {\n fontSize: 14,\n color: TEXT_DARKEST,\n fontFamily: 'sf-medium',\n margin: 0,\n backgroundColor: BG_GREY,\n borderRadius: 5,\n padding: 8,\n maxHeight: SCREEN_HEIGHT / 3,\n },\n sendContainer: {\n position: 'absolute',\n top: 8,\n right: 8,\n height: 30,\n width: 30,\n alignItems: 'center',\n justifyContent: 'center',\n backgroundColor: '#fff',\n },\n send: {\n color: TEXT_BLUEGREY,\n fontSize: 24,\n textAlign: 'center',\n },\n};\n\nconst mapStateToProps = state => {\n const { user } = state;\n return { user };\n};\n\nconst commentReply = connect(mapStateToProps, {}, null, { forwardRef: true })(CommentReply);\nexport { commentReply as CommentReply };\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -6,7 +6,7 @@ import { View, Text, TouchableOpacity, Image, StyleSheet } from 'react-native';
|
|
|
6
6
|
import _ from 'lodash';
|
|
7
7
|
import moment from 'moment';
|
|
8
8
|
import { connect } from 'react-redux';
|
|
9
|
-
import { Icon } from '
|
|
9
|
+
import { Icon } from '@rneui/themed';
|
|
10
10
|
import { getPluralS, getThumb300, get1400, getSiteSettingFromState, getFirstName, getPluralOptions } from '../helper';
|
|
11
11
|
import { getMainBrandingColourFromState, TEXT_DARKEST, BG_GREY, TEXT_LIGHT, LINEGREY } from '../colours';
|
|
12
12
|
import { reactionActions, notificationActions } from '../apis';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Component","View","Text","TouchableOpacity","Image","StyleSheet","_","moment","connect","Icon","getPluralS","getThumb300","get1400","getSiteSettingFromState","getFirstName","getPluralOptions","getMainBrandingColourFromState","TEXT_DARKEST","BG_GREY","TEXT_LIGHT","LINEGREY","reactionActions","notificationActions","blockUser","unblockUser","ConfirmPopup","ProfilePic","ImagePopup","InlineButton","Spinner","Services","CommentSection","constructor","props","_defineProperty","c","setState","commentToDelete","removeComment","state","Id","then","res","console","log","newComments","filter","comments","commentToReport","commentToBlock","userId","UserId","commentToUnblock","commentId","reportLoading","reportComment","commentReportedStatus","catch","error","comment","navigation","navigate","threadId","entityType","entityId","processing","data","muteEntity","muteExpiry","Expiry","unmuteEntity","actual","duration","diff","asHours","Math","abs","ceil","notificationsForComments","getEntityNotificationSetting","muteLoaded","commentsLoading","includes","blockedUsers","user","uid","isUserBlocked","hideReplyButton","threadComments","innerC","ParentId","content","isEmpty","createElement","style","styles","commentRepliesText","color","colourBrandingMain","User","displayName","profilePics","take","uniqBy","multiReplyContainer","map","i","key","marginRight","Diameter","profilePic","marginLeft","length","commentReplies","onPress","onOpenThread","addingComment","componentDidMount","getNotificationSate","hidden","getComments","componentWillUnmount","loadTimer","clearTimeout","onPressCommentImage","image","imagePopupSource","imagePopupOpen","onGoToAdd","_this$props$commentRe","commentReply","current","focusInput","getAdjustedSize","size","scaleFont","fontScale","commentsLoadStarted","_this$props$commentRe2","loadingStarted","loadComments","minTime","maxBy","Timestamp","_this$props$commentRe3","sortBy","concat","onCommentsLoaded","loadingCompleted","live","setTimeout","refreshFrequency","startedAddingComment","commentAdded","push","onCommentAdded","canRemoveComment","permissions","adminPermission","closeCommentGallery","renderCommentDeleteConfirm","visible","onConfirm","onPressConfirmDelete","onCancel","onPressCancelDelete","onClose","text","renderCommentReportConfirm","onPressConfirmReport","onPressCancelReport","extraContent","commentReportText","renderCommentBlockConfirm","onPressConfirmBlock","onPressCancelBlock","renderCommentUnblockConfirm","onPressConfirmUnblock","onPressCancelUnblock","renderCommentReportStatus","isSuccess","onPressConfirmReportStatus","hideNo","yesText","renderCommentImage","commentImageContainer","bind","commentImage","source","uri","renderComment","commentFlex","commentProfilePic","commentBlock","commentTitleRow","onPressDeleteComment","commentButtonContainer","backgroundColor","name","type","iconStyle","commentButtonIcon","disableFlag","onPressReportComment","canBlockComment","onPressUnblockUser","onPressBlockUser","commentName","fontSize","Comment","commentText","commentBottom","commentTime","utc","local","format","renderReplyText","renderMute","muteSpinnerContainer","isMuted","hours","getMuteRemaining","mutedFor","muteContainer","mutedForText","onUnmute","onMute","borderColor","muteButton","disabled","disabledOpacity","noText","muteButtonInner","muteButtonIcon","muteButtonText","renderComments","commentSection","isNil","placeHolder","commentsEmpty","reverseOrder","reverse","showReplies","commentSectionTitleRow","alignItems","hideAddComment","goToText","commentCount","renderCommentImagePopup","images","ref","renderReportLoading","reportLoadingContainer","render","commentSectionOuter","create","flex","paddingHorizontal","paddingVertical","borderTopColor","borderTopWidth","fontFamily","marginTop","flexDirection","borderRadius","padding","width","height","justifyContent","textAlign","paddingLeft","marginBottom","borderWidth","mapStateToProps","userSettings","forwardRef"],"sources":["CommentSection.js"],"sourcesContent":["import React, { Component } from 'react';\nimport { View, Text, TouchableOpacity, Image, StyleSheet } from 'react-native';\nimport _ from 'lodash';\nimport moment from 'moment';\nimport { connect } from 'react-redux';\nimport { Icon } from 'react-native-elements';\nimport { getPluralS, getThumb300, get1400, getSiteSettingFromState, getFirstName, getPluralOptions } from '../helper';\nimport { getMainBrandingColourFromState, TEXT_DARKEST, BG_GREY, TEXT_LIGHT, LINEGREY } from '../colours';\nimport { reactionActions, notificationActions } from '../apis';\nimport { blockUser, unblockUser } from '../actions';\nimport { ConfirmPopup } from './ConfirmPopup';\nimport { ProfilePic } from './ProfilePic';\nimport { ImagePopup } from './ImagePopup';\nimport { InlineButton } from './InlineButton';\nimport { Spinner } from './Spinner';\nimport { Services } from '../config';\n\nclass CommentSection extends Component {\n constructor(props) {\n super(props);\n this.state = {\n commentsLoading: false,\n comments: [],\n addingComment: false,\n commentToDelete: null,\n commentToReport: null,\n commentReportedStatus: null,\n reportLoading: false,\n processing: false,\n muteExpiry: null,\n muteLoaded: false,\n };\n }\n\n componentDidMount() {\n this.getNotificationSate();\n\n if (!_.includes(this.props.user.hidden, 'viewComment')) {\n this.getComments();\n }\n }\n\n componentWillUnmount() {\n if (this.loadTimer) {\n clearTimeout(this.loadTimer);\n }\n }\n\n onPressDeleteComment = c => {\n this.setState({ commentToDelete: c });\n };\n\n onPressConfirmDelete = () => {\n reactionActions.removeComment(this.state.commentToDelete.Id).then(res => {\n console.log('deleted');\n });\n const newComments = _.filter(this.state.comments, c => {\n return c.Id !== this.state.commentToDelete.Id;\n });\n this.setState({\n comments: newComments,\n commentToDelete: null,\n });\n };\n\n onPressCancelDelete = () => {\n this.setState({ commentToDelete: null });\n };\n\n onPressReportComment = c => {\n this.setState({ commentToReport: c });\n };\n\n onPressBlockUser = c => {\n this.setState({ commentToBlock: c });\n };\n\n onPressConfirmBlock = () => {\n const userId = this.state.commentToBlock.UserId;\n this.props.blockUser(userId);\n this.setState({ commentToBlock: null });\n };\n\n onPressCancelBlock = () => {\n this.setState({ commentToBlock: null });\n };\n\n onPressUnblockUser = c => {\n this.setState({ commentToUnblock: c });\n };\n\n onPressConfirmUnblock = () => {\n const userId = this.state.commentToUnblock.UserId;\n this.props.unblockUser(userId);\n this.setState({ commentToUnblock: null });\n };\n\n onPressCancelUnblock = () => {\n this.setState({ commentToUnblock: null });\n };\n\n onPressConfirmReport = () => {\n const commentId = this.state.commentToReport.Id;\n this.setState({ reportLoading: true, commentToReport: null }, () => {\n reactionActions\n .reportComment(commentId)\n .then(res => {\n this.setState({ commentReportedStatus: 'success', reportLoading: false });\n })\n .catch(error => {\n console.log('reportComment', error);\n this.setState({ commentReportedStatus: 'fail', reportLoading: false });\n });\n });\n };\n\n onPressCancelReport = () => {\n this.setState({ commentToReport: null });\n };\n\n onPressConfirmReportStatus = () => {\n this.setState({ commentReportedStatus: null });\n };\n\n onPressCommentImage(image) {\n this.setState({\n imagePopupSource: [image],\n imagePopupOpen: true,\n });\n }\n\n onGoToAdd() {\n this.props.commentReply?.current?.focusInput();\n }\n\n onOpenThread = comment => {\n Services.navigation.navigate('thread', { ...this.props, threadId: comment.Id });\n };\n\n onMute = () => {\n const { entityType, entityId } = this.props;\n this.setState({ processing: true }, async () => {\n try {\n const { data } = await notificationActions.muteEntity(entityType, entityId);\n // console.log('onMute', data);\n const muteExpiry = moment(data.Expiry);\n this.setState({ muteExpiry, processing: false });\n } catch (error) {\n console.error('onMute', error);\n this.setState({ processing: false });\n }\n });\n };\n\n onUnmute = () => {\n const { entityType, entityId } = this.props;\n this.setState({ processing: true }, async () => {\n try {\n const { data } = await notificationActions.unmuteEntity(entityType, entityId);\n // console.log('onUnmute', data);\n this.setState({ muteExpiry: null, processing: false });\n } catch (error) {\n console.error('onUnmute', error);\n this.setState({ processing: false });\n }\n });\n };\n\n isMuted = () => {\n const { muteExpiry } = this.state;\n return muteExpiry && moment() <= muteExpiry;\n };\n\n getMuteRemaining = () => {\n const { muteExpiry } = this.state;\n const actual = muteExpiry ? moment.duration(muteExpiry.diff(moment())).asHours() : 0;\n return Math.abs(Math.ceil(actual));\n };\n\n getNotificationSate = () => {\n const { processing } = this.state;\n const { entityType, entityId, notificationsForComments } = this.props;\n if (processing || !notificationsForComments) return;\n\n this.setState({ processing: true }, async () => {\n try {\n const { data } = await notificationActions.getEntityNotificationSetting(entityType, entityId);\n // console.log('getNotificationSate', data);\n const muteExpiry = data ? moment(data.Expiry) : null;\n this.setState({ muteExpiry, muteLoaded: true, processing: false });\n } catch (error) {\n console.error('getNotificationSate', error);\n this.setState({ processing: false });\n }\n });\n };\n\n getAdjustedSize(size) {\n if (this.props.scaleFont) {\n return size + this.props.user.fontScale;\n }\n return size;\n }\n\n getComments() {\n if (!this.state.commentsLoadStarted) {\n this.setState({\n commentsLoadStarted: true,\n commentsLoading: true,\n });\n this.props.commentReply?.current?.loadingStarted();\n\n this.loadComments();\n }\n }\n\n isEmpty() {\n return _.isEmpty(this.state.comments);\n }\n\n loadComments() {\n const minTime = this.isEmpty()\n ? 0\n : _.maxBy(this.state.comments, c => {\n return c.Timestamp;\n }).Timestamp;\n reactionActions.getComments(this.props.entityId, this.props.entityType, minTime).then(res => {\n this.setState(\n {\n comments: _.sortBy(\n _.uniqBy(\n _.filter(_.concat(this.state.comments, res.data), c => {\n if (!this.props.threadId) {\n return true;\n }\n return c.Id === this.props.threadId || c.ParentId === this.props.threadId;\n }),\n c => {\n return c.Id;\n },\n ),\n 'Timestamp',\n ),\n commentsLoading: false,\n },\n () => {\n if (this.props.onCommentsLoaded) {\n this.props.onCommentsLoaded(this.state.comments.length);\n }\n },\n );\n //if (this.props.commentReply) {\n this.props.commentReply?.current?.loadingCompleted();\n //}\n if (this.props.live) {\n this.loadTimer = setTimeout(() => {\n this.loadComments();\n }, this.props.refreshFrequency || 2000);\n }\n });\n }\n\n isLoading = () => {\n return this.state.commentsLoading;\n };\n\n startedAddingComment() {\n this.setState({\n addingComment: true,\n });\n }\n\n commentAdded(comment) {\n const newComments = this.state.comments;\n newComments.push(comment);\n this.setState(\n {\n addingComment: false,\n comments: newComments,\n },\n () => {\n if (this.props.onCommentAdded) {\n this.props.onCommentAdded();\n }\n },\n );\n }\n\n isUserBlocked = c => {\n return _.includes(this.props.blockedUsers, c.UserId);\n };\n\n canBlockComment = c => {\n return this.props.user.uid !== c.UserId;\n };\n\n canRemoveComment(c) {\n if (this.props.user.uid === c.UserId) {\n return true;\n }\n return _.includes(this.props.user.permissions, this.props.adminPermission);\n }\n\n closeCommentGallery() {\n this.setState({\n imagePopupSource: [],\n imagePopupOpen: false,\n });\n }\n\n renderCommentDeleteConfirm() {\n return (\n <ConfirmPopup\n visible={!!this.state.commentToDelete}\n onConfirm={this.onPressConfirmDelete}\n onCancel={this.onPressCancelDelete}\n onClose={this.onPressCancelDelete}\n text=\"Are you sure you want to delete this comment?\"\n />\n );\n }\n\n renderCommentReportConfirm() {\n return (\n <ConfirmPopup\n visible={!!this.state.commentToReport}\n onConfirm={this.onPressConfirmReport}\n onCancel={this.onPressCancelReport}\n onClose={this.onPressCancelReport}\n text=\"Are you sure you want to report this comment?\"\n extraContent={<Text style={styles.commentReportText}>This comment will be reported to our team and considered for deletion</Text>}\n />\n );\n }\n\n renderCommentBlockConfirm() {\n return (\n <ConfirmPopup\n visible={!!this.state.commentToBlock}\n onConfirm={this.onPressConfirmBlock}\n onCancel={this.onPressCancelBlock}\n onClose={this.onPressCancelBlock}\n text=\"Are you sure you want to block this user?\"\n extraContent={<Text style={styles.commentReportText}>You will no longer see comments made by this user</Text>}\n />\n );\n }\n\n renderCommentUnblockConfirm() {\n return (\n <ConfirmPopup\n visible={!!this.state.commentToUnblock}\n onConfirm={this.onPressConfirmUnblock}\n onCancel={this.onPressCancelUnblock}\n onClose={this.onPressCancelUnblock}\n text=\"Are you sure you want to unblock this user?\"\n extraContent={<Text style={styles.commentReportText}>You will once again see comments made by this user</Text>}\n />\n );\n }\n\n renderCommentReportStatus() {\n const { commentReportedStatus } = this.state;\n const isSuccess = commentReportedStatus === 'success';\n return (\n <ConfirmPopup\n visible={!!commentReportedStatus}\n onConfirm={this.onPressConfirmReportStatus}\n text={isSuccess ? 'Thank you for reporting' : 'Unable to report'}\n extraContent={\n <Text style={styles.commentReportText}>\n {isSuccess ? 'We will review the comment within 24 hours' : 'There was a problem reporting the comment please try again later'}\n </Text>\n }\n hideNo\n yesText={'Done'}\n />\n );\n }\n\n renderCommentImage(c) {\n if (_.isEmpty(c.Image)) {\n return null;\n }\n return (\n <TouchableOpacity style={styles.commentImageContainer} onPress={this.onPressCommentImage.bind(this, get1400(c.Image))}>\n <Image style={styles.commentImage} source={{ uri: getThumb300(c.Image) }} />\n </TouchableOpacity>\n );\n }\n\n renderReplyText = (c, isUserBlocked) => {\n if (this.props.threadId || this.props.hideReplyButton) {\n return null;\n }\n\n const threadComments = _.filter(this.state.comments, innerC => {\n return innerC.ParentId === c.Id;\n });\n\n let content = null;\n\n if (_.isEmpty(threadComments)) {\n // no replies\n content = (\n <Text style={[styles.commentRepliesText, { color: this.props.colourBrandingMain }]}>{`Reply to ${getFirstName(\n !isUserBlocked && c.User ? c.User.displayName : 'comment',\n )}`}</Text>\n );\n } else {\n // existing replies\n const profilePics = _.take(\n _.uniqBy(threadComments, c => c.UserId),\n 3,\n );\n content = (\n <View style={styles.multiReplyContainer}>\n {profilePics.map((c, i) => {\n return <ProfilePic key={c.Id} style={{ marginRight: -10 }} Diameter={20} ProfilePic={c.User.profilePic} />;\n })}\n <Text style={[styles.commentRepliesText, { marginLeft: 20, color: this.props.colourBrandingMain }]}>{`${\n threadComments.length\n } repl${getPluralOptions(threadComments.length, 'y', 'ies')}`}</Text>\n </View>\n );\n }\n\n return (\n <View style={styles.commentReplies}>\n <TouchableOpacity\n onPress={() => {\n this.onOpenThread(c);\n }}\n >\n {content}\n </TouchableOpacity>\n </View>\n );\n };\n\n renderComment(c) {\n const isUserBlocked = this.isUserBlocked(c);\n return (\n <View style={styles.comment} key={c.Id}>\n <View style={styles.commentFlex}>\n <ProfilePic ProfilePic={isUserBlocked ? null : c.User.profilePic} Diameter={40} style={styles.commentProfilePic} />\n <View style={styles.commentBlock}>\n <View style={styles.commentTitleRow}>\n {this.canRemoveComment(c) ? (\n <TouchableOpacity onPress={this.onPressDeleteComment.bind(this, c)}>\n <View style={[styles.commentButtonContainer, { backgroundColor: this.props.colourBrandingMain }]}>\n <Icon name=\"trash\" type=\"font-awesome\" iconStyle={styles.commentButtonIcon} />\n </View>\n </TouchableOpacity>\n ) : (\n !this.props.disableFlag && (\n <TouchableOpacity onPress={this.onPressReportComment.bind(this, c)}>\n <View style={[styles.commentButtonContainer, { backgroundColor: this.props.colourBrandingMain }]}>\n <Icon name=\"flag\" type=\"font-awesome\" iconStyle={styles.commentButtonIcon} />\n </View>\n </TouchableOpacity>\n )\n )}\n {!this.props.disableFlag &&\n this.canBlockComment(c) &&\n (isUserBlocked ? (\n <TouchableOpacity style={{ marginRight: 8 }} onPress={this.onPressUnblockUser.bind(this, c)}>\n <View style={[styles.commentButtonContainer, { backgroundColor: this.props.colourBrandingMain }]}>\n <Icon name=\"user-plus\" type=\"font-awesome\" iconStyle={styles.commentButtonIcon} />\n </View>\n </TouchableOpacity>\n ) : (\n <TouchableOpacity style={{ marginRight: 8 }} onPress={this.onPressBlockUser.bind(this, c)}>\n <View style={[styles.commentButtonContainer, { backgroundColor: this.props.colourBrandingMain }]}>\n <Icon name=\"user-times\" type=\"font-awesome\" iconStyle={styles.commentButtonIcon} />\n </View>\n </TouchableOpacity>\n ))}\n <Text style={[styles.commentName, { fontSize: this.getAdjustedSize(13) }]}>\n {isUserBlocked ? '[blocked user]' : c.User.displayName}\n </Text>\n </View>\n {!_.isEmpty(c.Comment) && (\n <Text style={[styles.commentText, { fontSize: this.getAdjustedSize(13) }]}>{isUserBlocked ? '[hidden]' : c.Comment}</Text>\n )}\n {!isUserBlocked && this.renderCommentImage(c)}\n </View>\n </View>\n <View style={styles.commentBottom}>\n <Text style={[styles.commentTime, { fontSize: this.getAdjustedSize(13) }]}>\n {moment\n .utc(c.Timestamp)\n .local()\n .format('D MMM • h:mma')}\n </Text>\n {this.renderReplyText(c, isUserBlocked)}\n </View>\n </View>\n );\n }\n\n renderMute() {\n const { notificationsForComments } = this.props;\n const { muteLoaded, muteExpiry, processing } = this.state;\n if (!notificationsForComments || !muteLoaded) return null;\n\n if (processing)\n return (\n <View style={styles.muteSpinnerContainer}>\n <Spinner size={'small'} color={this.props.colourBrandingMain} />\n </View>\n );\n\n const isMuted = this.isMuted();\n const hours = this.getMuteRemaining();\n const mutedFor = `Muted for ${hours} hour${getPluralS(hours)}`;\n // console.log(muteExpiry.format('DD MMM YYYY hh:mm a'));\n\n return (\n <View style={styles.muteContainer}>\n {isMuted && muteExpiry ? <Text style={[{ color: this.props.colourBrandingMain }, styles.mutedForText]}>{mutedFor}</Text> : null}\n <InlineButton\n onPress={isMuted ? this.onUnmute : this.onMute}\n color=\"#fff\"\n style={[{ borderColor: this.props.colourBrandingMain }, styles.muteButton]}\n disabled={processing}\n disabledOpacity\n noText\n >\n <View style={styles.muteButtonInner}>\n <Icon\n name={isMuted ? 'bell-o' : 'bell-slash-o'}\n type={'font-awesome'}\n iconStyle={[{ color: this.props.colourBrandingMain }, styles.muteButtonIcon]}\n />\n <Text style={[{ color: this.props.colourBrandingMain }, styles.muteButtonText]}>{isMuted ? 'Unmute' : 'Mute'}</Text>\n </View>\n </InlineButton>\n </View>\n );\n }\n\n renderComments() {\n if (this.state.commentsLoading) {\n return (\n <View style={styles.commentSection}>\n <Spinner color={this.props.colourBrandingMain} />\n </View>\n );\n }\n if (this.isEmpty() && !this.state.addingComment) {\n if (_.includes(this.props.user.hidden, 'addComment')) {\n return null;\n }\n if (!_.isNil(this.props.placeHolder) && _.isEmpty(this.props.placeHolder)) return null;\n return (\n <View style={styles.commentSection}>\n <Text style={[styles.commentsEmpty, { fontSize: this.getAdjustedSize(15) }]}>\n {_.isNil(this.props.placeHolder) ? 'Be the first to add a comment!' : this.props.placeHolder}\n </Text>\n </View>\n );\n }\n let source = [...this.state.comments];\n if (this.props.reverseOrder) {\n source = source.reverse();\n }\n if (!this.props.showReplies && !this.props.threadId) {\n source = _.filter(source, c => {\n return !c.ParentId;\n });\n }\n return (\n <View style={styles.commentSection}>\n {!this.isEmpty() && (\n <View style={styles.commentSectionTitleRow}>\n <View style={{ alignItems: 'flex-end' }}>\n {this.renderMute()}\n {!this.props.hideAddComment && this.state.comments.length > 2 && (\n <TouchableOpacity onPress={this.onGoToAdd.bind(this)}>\n <Text style={[styles.goToText, { color: this.props.colourBrandingMain }]}>Add a comment</Text>\n </TouchableOpacity>\n )}\n </View>\n <Text style={[styles.commentCount, { fontSize: this.getAdjustedSize(15) }]}>\n {this.state.comments.length}\n {` comment${getPluralS(this.state.comments.length)}`}\n </Text>\n </View>\n )}\n {this.props.reverseOrder && this.state.addingComment && <Spinner color={this.props.colourBrandingMain} />}\n {source.map(c => {\n return this.renderComment(c);\n })}\n {!this.props.reverseOrder && this.state.addingComment && <Spinner color={this.props.colourBrandingMain} />}\n </View>\n );\n }\n\n renderCommentImagePopup() {\n return (\n <ImagePopup\n visible={this.state.imagePopupOpen}\n images={this.state.imagePopupSource}\n onClose={this.closeCommentGallery.bind(this)}\n ref=\"commentImagePopup\"\n />\n );\n }\n\n renderReportLoading() {\n if (!this.state.reportLoading) return null;\n return (\n <View style={styles.reportLoadingContainer}>\n <Spinner color={this.props.colourBrandingMain} />\n </View>\n );\n }\n\n render() {\n if (_.includes(this.props.user.hidden, 'viewComment')) {\n return null;\n }\n return (\n <View style={[styles.commentSectionOuter, this.props.style]}>\n {this.renderComments()}\n {this.renderReportLoading()}\n {this.renderCommentDeleteConfirm()}\n {this.renderCommentReportConfirm()}\n {this.renderCommentBlockConfirm()}\n {this.renderCommentUnblockConfirm()}\n {this.renderCommentReportStatus()}\n {this.renderCommentImagePopup()}\n </View>\n );\n }\n}\n\nconst styles = StyleSheet.create({\n commentSectionOuter: {\n flex: 1,\n paddingHorizontal: 16,\n },\n commentSection: {\n flex: 1,\n paddingVertical: 12,\n borderTopColor: LINEGREY,\n borderTopWidth: 1,\n },\n commentCount: {\n fontFamily: 'sf-semibold',\n color: TEXT_DARKEST,\n flex: 1,\n marginTop: 4,\n },\n comment: {\n marginTop: 16,\n },\n commentFlex: {\n flexDirection: 'row',\n },\n commentProfilePic: {\n marginRight: 8,\n },\n commentBlock: {\n flex: 1,\n backgroundColor: BG_GREY,\n borderRadius: 5,\n padding: 8,\n },\n commentTitleRow: {\n flexDirection: 'row-reverse',\n alignItems: 'center',\n },\n commentButtonContainer: {\n width: 24,\n height: 24,\n borderRadius: 12,\n alignItems: 'center',\n justifyContent: 'center',\n },\n commentButtonIcon: {\n fontSize: 13,\n color: '#fff',\n },\n commentName: {\n fontFamily: 'sf-semibold',\n color: TEXT_DARKEST,\n flex: 1,\n },\n commentText: {\n marginTop: 8,\n fontFamily: 'sf-regular',\n color: TEXT_DARKEST,\n },\n commentBottom: {\n flexDirection: 'row-reverse',\n justifyContent: 'space-between',\n alignItems: 'center',\n },\n commentTime: {\n fontFamily: 'sf-regular',\n marginTop: 4,\n color: TEXT_LIGHT,\n textAlign: 'right',\n },\n commentReplies: {\n flex: 1,\n paddingLeft: 48,\n },\n commentRepliesText: {\n fontFamily: 'sf-semibold',\n fontSize: 15,\n },\n multiReplyContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n paddingVertical: 4,\n },\n commentImageContainer: {\n marginTop: 8,\n width: 60,\n height: 60,\n },\n commentImage: {\n width: 60,\n height: 60,\n borderRadius: 2,\n },\n commentsEmpty: {\n fontFamily: 'sf-semibold',\n color: TEXT_DARKEST,\n },\n commentSectionTitleRow: {\n flexDirection: 'row-reverse',\n },\n commentReportText: {\n fontFamily: 'sf-regular',\n fontSize: 14,\n paddingHorizontal: 22,\n textAlign: 'center',\n },\n reportLoadingContainer: {\n paddingVertical: 10,\n },\n goToText: {\n marginTop: 4,\n },\n muteSpinnerContainer: {\n width: 100,\n marginBottom: 6,\n },\n muteContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'flex-end',\n marginBottom: 6,\n },\n mutedForText: {\n fontFamily: 'sf-semibold',\n fontSize: 13,\n marginRight: 8,\n },\n muteButton: {\n borderWidth: 1,\n paddingHorizontal: 8,\n },\n muteButtonInner: {\n flexDirection: 'row',\n alignItems: 'center',\n },\n muteButtonIcon: {\n fontSize: 14,\n },\n muteButtonText: {\n fontFamily: 'sf-semibold',\n fontSize: 14,\n marginLeft: 6,\n },\n});\n\nconst mapStateToProps = state => {\n return {\n colourBrandingMain: getMainBrandingColourFromState(state),\n user: state.user,\n notificationsForComments: getSiteSettingFromState(state, 'NotificationsForComments', false),\n blockedUsers: state.userSettings.blockedUsers || [],\n };\n};\n\nconst commentSection = connect(mapStateToProps, { blockUser, unblockUser }, null, { forwardRef: true })(CommentSection);\nexport { commentSection as CommentSection };\n"],"mappings":";;;AAAA,OAAOA,KAAK,IAAIC,SAAS,QAAQ,OAAO;AACxC,SAASC,IAAI,EAAEC,IAAI,EAAEC,gBAAgB,EAAEC,KAAK,EAAEC,UAAU,QAAQ,cAAc;AAC9E,OAAOC,CAAC,MAAM,QAAQ;AACtB,OAAOC,MAAM,MAAM,QAAQ;AAC3B,SAASC,OAAO,QAAQ,aAAa;AACrC,SAASC,IAAI,QAAQ,uBAAuB;AAC5C,SAASC,UAAU,EAAEC,WAAW,EAAEC,OAAO,EAAEC,uBAAuB,EAAEC,YAAY,EAAEC,gBAAgB,QAAQ,WAAW;AACrH,SAASC,8BAA8B,EAAEC,YAAY,EAAEC,OAAO,EAAEC,UAAU,EAAEC,QAAQ,QAAQ,YAAY;AACxG,SAASC,eAAe,EAAEC,mBAAmB,QAAQ,SAAS;AAC9D,SAASC,SAAS,EAAEC,WAAW,QAAQ,YAAY;AACnD,SAASC,YAAY,QAAQ,gBAAgB;AAC7C,SAASC,UAAU,QAAQ,cAAc;AACzC,SAASC,UAAU,QAAQ,cAAc;AACzC,SAASC,YAAY,QAAQ,gBAAgB;AAC7C,SAASC,OAAO,QAAQ,WAAW;AACnC,SAASC,QAAQ,QAAQ,WAAW;AAEpC,MAAMC,cAAc,SAAS/B,SAAS,CAAC;EACrCgC,WAAWA,CAACC,KAAK,EAAE;IACjB,KAAK,CAACA,KAAK,CAAC;IAACC,eAAA,+BA6BQC,CAAC,IAAI;MAC1B,IAAI,CAACC,QAAQ,CAAC;QAAEC,eAAe,EAAEF;MAAE,CAAC,CAAC;IACvC,CAAC;IAAAD,eAAA,+BAEsB,MAAM;MAC3Bb,eAAe,CAACiB,aAAa,CAAC,IAAI,CAACC,KAAK,CAACF,eAAe,CAACG,EAAE,CAAC,CAACC,IAAI,CAACC,GAAG,IAAI;QACvEC,OAAO,CAACC,GAAG,CAAC,SAAS,CAAC;MACxB,CAAC,CAAC;MACF,MAAMC,WAAW,GAAGvC,CAAC,CAACwC,MAAM,CAAC,IAAI,CAACP,KAAK,CAACQ,QAAQ,EAAEZ,CAAC,IAAI;QACrD,OAAOA,CAAC,CAACK,EAAE,KAAK,IAAI,CAACD,KAAK,CAACF,eAAe,CAACG,EAAE;MAC/C,CAAC,CAAC;MACF,IAAI,CAACJ,QAAQ,CAAC;QACZW,QAAQ,EAAEF,WAAW;QACrBR,eAAe,EAAE;MACnB,CAAC,CAAC;IACJ,CAAC;IAAAH,eAAA,8BAEqB,MAAM;MAC1B,IAAI,CAACE,QAAQ,CAAC;QAAEC,eAAe,EAAE;MAAK,CAAC,CAAC;IAC1C,CAAC;IAAAH,eAAA,+BAEsBC,CAAC,IAAI;MAC1B,IAAI,CAACC,QAAQ,CAAC;QAAEY,eAAe,EAAEb;MAAE,CAAC,CAAC;IACvC,CAAC;IAAAD,eAAA,2BAEkBC,CAAC,IAAI;MACtB,IAAI,CAACC,QAAQ,CAAC;QAAEa,cAAc,EAAEd;MAAE,CAAC,CAAC;IACtC,CAAC;IAAAD,eAAA,8BAEqB,MAAM;MAC1B,MAAMgB,MAAM,GAAG,IAAI,CAACX,KAAK,CAACU,cAAc,CAACE,MAAM;MAC/C,IAAI,CAAClB,KAAK,CAACV,SAAS,CAAC2B,MAAM,CAAC;MAC5B,IAAI,CAACd,QAAQ,CAAC;QAAEa,cAAc,EAAE;MAAK,CAAC,CAAC;IACzC,CAAC;IAAAf,eAAA,6BAEoB,MAAM;MACzB,IAAI,CAACE,QAAQ,CAAC;QAAEa,cAAc,EAAE;MAAK,CAAC,CAAC;IACzC,CAAC;IAAAf,eAAA,6BAEoBC,CAAC,IAAI;MACxB,IAAI,CAACC,QAAQ,CAAC;QAAEgB,gBAAgB,EAAEjB;MAAE,CAAC,CAAC;IACxC,CAAC;IAAAD,eAAA,gCAEuB,MAAM;MAC5B,MAAMgB,MAAM,GAAG,IAAI,CAACX,KAAK,CAACa,gBAAgB,CAACD,MAAM;MACjD,IAAI,CAAClB,KAAK,CAACT,WAAW,CAAC0B,MAAM,CAAC;MAC9B,IAAI,CAACd,QAAQ,CAAC;QAAEgB,gBAAgB,EAAE;MAAK,CAAC,CAAC;IAC3C,CAAC;IAAAlB,eAAA,+BAEsB,MAAM;MAC3B,IAAI,CAACE,QAAQ,CAAC;QAAEgB,gBAAgB,EAAE;MAAK,CAAC,CAAC;IAC3C,CAAC;IAAAlB,eAAA,+BAEsB,MAAM;MAC3B,MAAMmB,SAAS,GAAG,IAAI,CAACd,KAAK,CAACS,eAAe,CAACR,EAAE;MAC/C,IAAI,CAACJ,QAAQ,CAAC;QAAEkB,aAAa,EAAE,IAAI;QAAEN,eAAe,EAAE;MAAK,CAAC,EAAE,MAAM;QAClE3B,eAAe,CACZkC,aAAa,CAACF,SAAS,CAAC,CACxBZ,IAAI,CAACC,GAAG,IAAI;UACX,IAAI,CAACN,QAAQ,CAAC;YAAEoB,qBAAqB,EAAE,SAAS;YAAEF,aAAa,EAAE;UAAM,CAAC,CAAC;QAC3E,CAAC,CAAC,CACDG,KAAK,CAACC,KAAK,IAAI;UACdf,OAAO,CAACC,GAAG,CAAC,eAAe,EAAEc,KAAK,CAAC;UACnC,IAAI,CAACtB,QAAQ,CAAC;YAAEoB,qBAAqB,EAAE,MAAM;YAAEF,aAAa,EAAE;UAAM,CAAC,CAAC;QACxE,CAAC,CAAC;MACN,CAAC,CAAC;IACJ,CAAC;IAAApB,eAAA,8BAEqB,MAAM;MAC1B,IAAI,CAACE,QAAQ,CAAC;QAAEY,eAAe,EAAE;MAAK,CAAC,CAAC;IAC1C,CAAC;IAAAd,eAAA,qCAE4B,MAAM;MACjC,IAAI,CAACE,QAAQ,CAAC;QAAEoB,qBAAqB,EAAE;MAAK,CAAC,CAAC;IAChD,CAAC;IAAAtB,eAAA,uBAacyB,OAAO,IAAI;MACxB7B,QAAQ,CAAC8B,UAAU,CAACC,QAAQ,CAAC,QAAQ,EAAE;QAAE,GAAG,IAAI,CAAC5B,KAAK;QAAE6B,QAAQ,EAAEH,OAAO,CAACnB;MAAG,CAAC,CAAC;IACjF,CAAC;IAAAN,eAAA,iBAEQ,MAAM;MACb,MAAM;QAAE6B,UAAU;QAAEC;MAAS,CAAC,GAAG,IAAI,CAAC/B,KAAK;MAC3C,IAAI,CAACG,QAAQ,CAAC;QAAE6B,UAAU,EAAE;MAAK,CAAC,EAAE,YAAY;QAC9C,IAAI;UACF,MAAM;YAAEC;UAAK,CAAC,GAAG,MAAM5C,mBAAmB,CAAC6C,UAAU,CAACJ,UAAU,EAAEC,QAAQ,CAAC;UAC3E;UACA,MAAMI,UAAU,GAAG7D,MAAM,CAAC2D,IAAI,CAACG,MAAM,CAAC;UACtC,IAAI,CAACjC,QAAQ,CAAC;YAAEgC,UAAU;YAAEH,UAAU,EAAE;UAAM,CAAC,CAAC;QAClD,CAAC,CAAC,OAAOP,KAAK,EAAE;UACdf,OAAO,CAACe,KAAK,CAAC,QAAQ,EAAEA,KAAK,CAAC;UAC9B,IAAI,CAACtB,QAAQ,CAAC;YAAE6B,UAAU,EAAE;UAAM,CAAC,CAAC;QACtC;MACF,CAAC,CAAC;IACJ,CAAC;IAAA/B,eAAA,mBAEU,MAAM;MACf,MAAM;QAAE6B,UAAU;QAAEC;MAAS,CAAC,GAAG,IAAI,CAAC/B,KAAK;MAC3C,IAAI,CAACG,QAAQ,CAAC;QAAE6B,UAAU,EAAE;MAAK,CAAC,EAAE,YAAY;QAC9C,IAAI;UACF,MAAM;YAAEC;UAAK,CAAC,GAAG,MAAM5C,mBAAmB,CAACgD,YAAY,CAACP,UAAU,EAAEC,QAAQ,CAAC;UAC7E;UACA,IAAI,CAAC5B,QAAQ,CAAC;YAAEgC,UAAU,EAAE,IAAI;YAAEH,UAAU,EAAE;UAAM,CAAC,CAAC;QACxD,CAAC,CAAC,OAAOP,KAAK,EAAE;UACdf,OAAO,CAACe,KAAK,CAAC,UAAU,EAAEA,KAAK,CAAC;UAChC,IAAI,CAACtB,QAAQ,CAAC;YAAE6B,UAAU,EAAE;UAAM,CAAC,CAAC;QACtC;MACF,CAAC,CAAC;IACJ,CAAC;IAAA/B,eAAA,kBAES,MAAM;MACd,MAAM;QAAEkC;MAAW,CAAC,GAAG,IAAI,CAAC7B,KAAK;MACjC,OAAO6B,UAAU,IAAI7D,MAAM,CAAC,CAAC,IAAI6D,UAAU;IAC7C,CAAC;IAAAlC,eAAA,2BAEkB,MAAM;MACvB,MAAM;QAAEkC;MAAW,CAAC,GAAG,IAAI,CAAC7B,KAAK;MACjC,MAAMgC,MAAM,GAAGH,UAAU,GAAG7D,MAAM,CAACiE,QAAQ,CAACJ,UAAU,CAACK,IAAI,CAAClE,MAAM,CAAC,CAAC,CAAC,CAAC,CAACmE,OAAO,CAAC,CAAC,GAAG,CAAC;MACpF,OAAOC,IAAI,CAACC,GAAG,CAACD,IAAI,CAACE,IAAI,CAACN,MAAM,CAAC,CAAC;IACpC,CAAC;IAAArC,eAAA,8BAEqB,MAAM;MAC1B,MAAM;QAAE+B;MAAW,CAAC,GAAG,IAAI,CAAC1B,KAAK;MACjC,MAAM;QAAEwB,UAAU;QAAEC,QAAQ;QAAEc;MAAyB,CAAC,GAAG,IAAI,CAAC7C,KAAK;MACrE,IAAIgC,UAAU,IAAI,CAACa,wBAAwB,EAAE;MAE7C,IAAI,CAAC1C,QAAQ,CAAC;QAAE6B,UAAU,EAAE;MAAK,CAAC,EAAE,YAAY;QAC9C,IAAI;UACF,MAAM;YAAEC;UAAK,CAAC,GAAG,MAAM5C,mBAAmB,CAACyD,4BAA4B,CAAChB,UAAU,EAAEC,QAAQ,CAAC;UAC7F;UACA,MAAMI,UAAU,GAAGF,IAAI,GAAG3D,MAAM,CAAC2D,IAAI,CAACG,MAAM,CAAC,GAAG,IAAI;UACpD,IAAI,CAACjC,QAAQ,CAAC;YAAEgC,UAAU;YAAEY,UAAU,EAAE,IAAI;YAAEf,UAAU,EAAE;UAAM,CAAC,CAAC;QACpE,CAAC,CAAC,OAAOP,KAAK,EAAE;UACdf,OAAO,CAACe,KAAK,CAAC,qBAAqB,EAAEA,KAAK,CAAC;UAC3C,IAAI,CAACtB,QAAQ,CAAC;YAAE6B,UAAU,EAAE;UAAM,CAAC,CAAC;QACtC;MACF,CAAC,CAAC;IACJ,CAAC;IAAA/B,eAAA,oBAmEW,MAAM;MAChB,OAAO,IAAI,CAACK,KAAK,CAAC0C,eAAe;IACnC,CAAC;IAAA/C,eAAA,wBAwBeC,CAAC,IAAI;MACnB,OAAO7B,CAAC,CAAC4E,QAAQ,CAAC,IAAI,CAACjD,KAAK,CAACkD,YAAY,EAAEhD,CAAC,CAACgB,MAAM,CAAC;IACtD,CAAC;IAAAjB,eAAA,0BAEiBC,CAAC,IAAI;MACrB,OAAO,IAAI,CAACF,KAAK,CAACmD,IAAI,CAACC,GAAG,KAAKlD,CAAC,CAACgB,MAAM;IACzC,CAAC;IAAAjB,eAAA,0BAiGiB,CAACC,CAAC,EAAEmD,aAAa,KAAK;MACtC,IAAI,IAAI,CAACrD,KAAK,CAAC6B,QAAQ,IAAI,IAAI,CAAC7B,KAAK,CAACsD,eAAe,EAAE;QACrD,OAAO,IAAI;MACb;MAEA,MAAMC,cAAc,GAAGlF,CAAC,CAACwC,MAAM,CAAC,IAAI,CAACP,KAAK,CAACQ,QAAQ,EAAE0C,MAAM,IAAI;QAC7D,OAAOA,MAAM,CAACC,QAAQ,KAAKvD,CAAC,CAACK,EAAE;MACjC,CAAC,CAAC;MAEF,IAAImD,OAAO,GAAG,IAAI;MAElB,IAAIrF,CAAC,CAACsF,OAAO,CAACJ,cAAc,CAAC,EAAE;QAC7B;QACAG,OAAO,gBACL5F,KAAA,CAAA8F,aAAA,CAAC3F,IAAI;UAAC4F,KAAK,EAAE,CAACC,MAAM,CAACC,kBAAkB,EAAE;YAAEC,KAAK,EAAE,IAAI,CAAChE,KAAK,CAACiE;UAAmB,CAAC;QAAE,GAAE,YAAYpF,YAAY,CAC3G,CAACwE,aAAa,IAAInD,CAAC,CAACgE,IAAI,GAAGhE,CAAC,CAACgE,IAAI,CAACC,WAAW,GAAG,SAClD,CAAC,EAAS,CACX;MACH,CAAC,MAAM;QACL;QACA,MAAMC,WAAW,GAAG/F,CAAC,CAACgG,IAAI,CACxBhG,CAAC,CAACiG,MAAM,CAACf,cAAc,EAAErD,CAAC,IAAIA,CAAC,CAACgB,MAAM,CAAC,EACvC,CACF,CAAC;QACDwC,OAAO,gBACL5F,KAAA,CAAA8F,aAAA,CAAC5F,IAAI;UAAC6F,KAAK,EAAEC,MAAM,CAACS;QAAoB,GACrCH,WAAW,CAACI,GAAG,CAAC,CAACtE,CAAC,EAAEuE,CAAC,KAAK;UACzB,oBAAO3G,KAAA,CAAA8F,aAAA,CAACnE,UAAU;YAACiF,GAAG,EAAExE,CAAC,CAACK,EAAG;YAACsD,KAAK,EAAE;cAAEc,WAAW,EAAE,CAAC;YAAG,CAAE;YAACC,QAAQ,EAAE,EAAG;YAACnF,UAAU,EAAES,CAAC,CAACgE,IAAI,CAACW;UAAW,CAAE,CAAC;QAC5G,CAAC,CAAC,eACF/G,KAAA,CAAA8F,aAAA,CAAC3F,IAAI;UAAC4F,KAAK,EAAE,CAACC,MAAM,CAACC,kBAAkB,EAAE;YAAEe,UAAU,EAAE,EAAE;YAAEd,KAAK,EAAE,IAAI,CAAChE,KAAK,CAACiE;UAAmB,CAAC;QAAE,GAAE,GACnGV,cAAc,CAACwB,MAAM,QACfjG,gBAAgB,CAACyE,cAAc,CAACwB,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,EAAS,CAChE,CACP;MACH;MAEA,oBACEjH,KAAA,CAAA8F,aAAA,CAAC5F,IAAI;QAAC6F,KAAK,EAAEC,MAAM,CAACkB;MAAe,gBACjClH,KAAA,CAAA8F,aAAA,CAAC1F,gBAAgB;QACf+G,OAAO,EAAEA,CAAA,KAAM;UACb,IAAI,CAACC,YAAY,CAAChF,CAAC,CAAC;QACtB;MAAE,GAEDwD,OACe,CACd,CAAC;IAEX,CAAC;IAlaC,IAAI,CAACpD,KAAK,GAAG;MACX0C,eAAe,EAAE,KAAK;MACtBlC,QAAQ,EAAE,EAAE;MACZqE,aAAa,EAAE,KAAK;MACpB/E,eAAe,EAAE,IAAI;MACrBW,eAAe,EAAE,IAAI;MACrBQ,qBAAqB,EAAE,IAAI;MAC3BF,aAAa,EAAE,KAAK;MACpBW,UAAU,EAAE,KAAK;MACjBG,UAAU,EAAE,IAAI;MAChBY,UAAU,EAAE;IACd,CAAC;EACH;EAEAqC,iBAAiBA,CAAA,EAAG;IAClB,IAAI,CAACC,mBAAmB,CAAC,CAAC;IAE1B,IAAI,CAAChH,CAAC,CAAC4E,QAAQ,CAAC,IAAI,CAACjD,KAAK,CAACmD,IAAI,CAACmC,MAAM,EAAE,aAAa,CAAC,EAAE;MACtD,IAAI,CAACC,WAAW,CAAC,CAAC;IACpB;EACF;EAEAC,oBAAoBA,CAAA,EAAG;IACrB,IAAI,IAAI,CAACC,SAAS,EAAE;MAClBC,YAAY,CAAC,IAAI,CAACD,SAAS,CAAC;IAC9B;EACF;EA8EAE,mBAAmBA,CAACC,KAAK,EAAE;IACzB,IAAI,CAACzF,QAAQ,CAAC;MACZ0F,gBAAgB,EAAE,CAACD,KAAK,CAAC;MACzBE,cAAc,EAAE;IAClB,CAAC,CAAC;EACJ;EAEAC,SAASA,CAAA,EAAG;IAAA,IAAAC,qBAAA;IACV,CAAAA,qBAAA,OAAI,CAAChG,KAAK,CAACiG,YAAY,cAAAD,qBAAA,gBAAAA,qBAAA,GAAvBA,qBAAA,CAAyBE,OAAO,cAAAF,qBAAA,eAAhCA,qBAAA,CAAkCG,UAAU,CAAC,CAAC;EAChD;EAgEAC,eAAeA,CAACC,IAAI,EAAE;IACpB,IAAI,IAAI,CAACrG,KAAK,CAACsG,SAAS,EAAE;MACxB,OAAOD,IAAI,GAAG,IAAI,CAACrG,KAAK,CAACmD,IAAI,CAACoD,SAAS;IACzC;IACA,OAAOF,IAAI;EACb;EAEAd,WAAWA,CAAA,EAAG;IACZ,IAAI,CAAC,IAAI,CAACjF,KAAK,CAACkG,mBAAmB,EAAE;MAAA,IAAAC,sBAAA;MACnC,IAAI,CAACtG,QAAQ,CAAC;QACZqG,mBAAmB,EAAE,IAAI;QACzBxD,eAAe,EAAE;MACnB,CAAC,CAAC;MACF,CAAAyD,sBAAA,OAAI,CAACzG,KAAK,CAACiG,YAAY,cAAAQ,sBAAA,gBAAAA,sBAAA,GAAvBA,sBAAA,CAAyBP,OAAO,cAAAO,sBAAA,eAAhCA,sBAAA,CAAkCC,cAAc,CAAC,CAAC;MAElD,IAAI,CAACC,YAAY,CAAC,CAAC;IACrB;EACF;EAEAhD,OAAOA,CAAA,EAAG;IACR,OAAOtF,CAAC,CAACsF,OAAO,CAAC,IAAI,CAACrD,KAAK,CAACQ,QAAQ,CAAC;EACvC;EAEA6F,YAAYA,CAAA,EAAG;IACb,MAAMC,OAAO,GAAG,IAAI,CAACjD,OAAO,CAAC,CAAC,GAC1B,CAAC,GACDtF,CAAC,CAACwI,KAAK,CAAC,IAAI,CAACvG,KAAK,CAACQ,QAAQ,EAAEZ,CAAC,IAAI;MAChC,OAAOA,CAAC,CAAC4G,SAAS;IACpB,CAAC,CAAC,CAACA,SAAS;IAChB1H,eAAe,CAACmG,WAAW,CAAC,IAAI,CAACvF,KAAK,CAAC+B,QAAQ,EAAE,IAAI,CAAC/B,KAAK,CAAC8B,UAAU,EAAE8E,OAAO,CAAC,CAACpG,IAAI,CAACC,GAAG,IAAI;MAAA,IAAAsG,sBAAA;MAC3F,IAAI,CAAC5G,QAAQ,CACX;QACEW,QAAQ,EAAEzC,CAAC,CAAC2I,MAAM,CAChB3I,CAAC,CAACiG,MAAM,CACNjG,CAAC,CAACwC,MAAM,CAACxC,CAAC,CAAC4I,MAAM,CAAC,IAAI,CAAC3G,KAAK,CAACQ,QAAQ,EAAEL,GAAG,CAACwB,IAAI,CAAC,EAAE/B,CAAC,IAAI;UACrD,IAAI,CAAC,IAAI,CAACF,KAAK,CAAC6B,QAAQ,EAAE;YACxB,OAAO,IAAI;UACb;UACA,OAAO3B,CAAC,CAACK,EAAE,KAAK,IAAI,CAACP,KAAK,CAAC6B,QAAQ,IAAI3B,CAAC,CAACuD,QAAQ,KAAK,IAAI,CAACzD,KAAK,CAAC6B,QAAQ;QAC3E,CAAC,CAAC,EACF3B,CAAC,IAAI;UACH,OAAOA,CAAC,CAACK,EAAE;QACb,CACF,CAAC,EACD,WACF,CAAC;QACDyC,eAAe,EAAE;MACnB,CAAC,EACD,MAAM;QACJ,IAAI,IAAI,CAAChD,KAAK,CAACkH,gBAAgB,EAAE;UAC/B,IAAI,CAAClH,KAAK,CAACkH,gBAAgB,CAAC,IAAI,CAAC5G,KAAK,CAACQ,QAAQ,CAACiE,MAAM,CAAC;QACzD;MACF,CACF,CAAC;MACD;MACA,CAAAgC,sBAAA,OAAI,CAAC/G,KAAK,CAACiG,YAAY,cAAAc,sBAAA,gBAAAA,sBAAA,GAAvBA,sBAAA,CAAyBb,OAAO,cAAAa,sBAAA,eAAhCA,sBAAA,CAAkCI,gBAAgB,CAAC,CAAC;MACpD;MACA,IAAI,IAAI,CAACnH,KAAK,CAACoH,IAAI,EAAE;QACnB,IAAI,CAAC3B,SAAS,GAAG4B,UAAU,CAAC,MAAM;UAChC,IAAI,CAACV,YAAY,CAAC,CAAC;QACrB,CAAC,EAAE,IAAI,CAAC3G,KAAK,CAACsH,gBAAgB,IAAI,IAAI,CAAC;MACzC;IACF,CAAC,CAAC;EACJ;EAMAC,oBAAoBA,CAAA,EAAG;IACrB,IAAI,CAACpH,QAAQ,CAAC;MACZgF,aAAa,EAAE;IACjB,CAAC,CAAC;EACJ;EAEAqC,YAAYA,CAAC9F,OAAO,EAAE;IACpB,MAAMd,WAAW,GAAG,IAAI,CAACN,KAAK,CAACQ,QAAQ;IACvCF,WAAW,CAAC6G,IAAI,CAAC/F,OAAO,CAAC;IACzB,IAAI,CAACvB,QAAQ,CACX;MACEgF,aAAa,EAAE,KAAK;MACpBrE,QAAQ,EAAEF;IACZ,CAAC,EACD,MAAM;MACJ,IAAI,IAAI,CAACZ,KAAK,CAAC0H,cAAc,EAAE;QAC7B,IAAI,CAAC1H,KAAK,CAAC0H,cAAc,CAAC,CAAC;MAC7B;IACF,CACF,CAAC;EACH;EAUAC,gBAAgBA,CAACzH,CAAC,EAAE;IAClB,IAAI,IAAI,CAACF,KAAK,CAACmD,IAAI,CAACC,GAAG,KAAKlD,CAAC,CAACgB,MAAM,EAAE;MACpC,OAAO,IAAI;IACb;IACA,OAAO7C,CAAC,CAAC4E,QAAQ,CAAC,IAAI,CAACjD,KAAK,CAACmD,IAAI,CAACyE,WAAW,EAAE,IAAI,CAAC5H,KAAK,CAAC6H,eAAe,CAAC;EAC5E;EAEAC,mBAAmBA,CAAA,EAAG;IACpB,IAAI,CAAC3H,QAAQ,CAAC;MACZ0F,gBAAgB,EAAE,EAAE;MACpBC,cAAc,EAAE;IAClB,CAAC,CAAC;EACJ;EAEAiC,0BAA0BA,CAAA,EAAG;IAC3B,oBACEjK,KAAA,CAAA8F,aAAA,CAACpE,YAAY;MACXwI,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC1H,KAAK,CAACF,eAAgB;MACtC6H,SAAS,EAAE,IAAI,CAACC,oBAAqB;MACrCC,QAAQ,EAAE,IAAI,CAACC,mBAAoB;MACnCC,OAAO,EAAE,IAAI,CAACD,mBAAoB;MAClCE,IAAI,EAAC;IAA+C,CACrD,CAAC;EAEN;EAEAC,0BAA0BA,CAAA,EAAG;IAC3B,oBACEzK,KAAA,CAAA8F,aAAA,CAACpE,YAAY;MACXwI,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC1H,KAAK,CAACS,eAAgB;MACtCkH,SAAS,EAAE,IAAI,CAACO,oBAAqB;MACrCL,QAAQ,EAAE,IAAI,CAACM,mBAAoB;MACnCJ,OAAO,EAAE,IAAI,CAACI,mBAAoB;MAClCH,IAAI,EAAC,+CAA+C;MACpDI,YAAY,eAAE5K,KAAA,CAAA8F,aAAA,CAAC3F,IAAI;QAAC4F,KAAK,EAAEC,MAAM,CAAC6E;MAAkB,GAAC,uEAA2E;IAAE,CACnI,CAAC;EAEN;EAEAC,yBAAyBA,CAAA,EAAG;IAC1B,oBACE9K,KAAA,CAAA8F,aAAA,CAACpE,YAAY;MACXwI,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC1H,KAAK,CAACU,cAAe;MACrCiH,SAAS,EAAE,IAAI,CAACY,mBAAoB;MACpCV,QAAQ,EAAE,IAAI,CAACW,kBAAmB;MAClCT,OAAO,EAAE,IAAI,CAACS,kBAAmB;MACjCR,IAAI,EAAC,2CAA2C;MAChDI,YAAY,eAAE5K,KAAA,CAAA8F,aAAA,CAAC3F,IAAI;QAAC4F,KAAK,EAAEC,MAAM,CAAC6E;MAAkB,GAAC,mDAAuD;IAAE,CAC/G,CAAC;EAEN;EAEAI,2BAA2BA,CAAA,EAAG;IAC5B,oBACEjL,KAAA,CAAA8F,aAAA,CAACpE,YAAY;MACXwI,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC1H,KAAK,CAACa,gBAAiB;MACvC8G,SAAS,EAAE,IAAI,CAACe,qBAAsB;MACtCb,QAAQ,EAAE,IAAI,CAACc,oBAAqB;MACpCZ,OAAO,EAAE,IAAI,CAACY,oBAAqB;MACnCX,IAAI,EAAC,6CAA6C;MAClDI,YAAY,eAAE5K,KAAA,CAAA8F,aAAA,CAAC3F,IAAI;QAAC4F,KAAK,EAAEC,MAAM,CAAC6E;MAAkB,GAAC,oDAAwD;IAAE,CAChH,CAAC;EAEN;EAEAO,yBAAyBA,CAAA,EAAG;IAC1B,MAAM;MAAE3H;IAAsB,CAAC,GAAG,IAAI,CAACjB,KAAK;IAC5C,MAAM6I,SAAS,GAAG5H,qBAAqB,KAAK,SAAS;IACrD,oBACEzD,KAAA,CAAA8F,aAAA,CAACpE,YAAY;MACXwI,OAAO,EAAE,CAAC,CAACzG,qBAAsB;MACjC0G,SAAS,EAAE,IAAI,CAACmB,0BAA2B;MAC3Cd,IAAI,EAAEa,SAAS,GAAG,yBAAyB,GAAG,kBAAmB;MACjET,YAAY,eACV5K,KAAA,CAAA8F,aAAA,CAAC3F,IAAI;QAAC4F,KAAK,EAAEC,MAAM,CAAC6E;MAAkB,GACnCQ,SAAS,GAAG,4CAA4C,GAAG,kEACxD,CACP;MACDE,MAAM;MACNC,OAAO,EAAE;IAAO,CACjB,CAAC;EAEN;EAEAC,kBAAkBA,CAACrJ,CAAC,EAAE;IACpB,IAAI7B,CAAC,CAACsF,OAAO,CAACzD,CAAC,CAAC/B,KAAK,CAAC,EAAE;MACtB,OAAO,IAAI;IACb;IACA,oBACEL,KAAA,CAAA8F,aAAA,CAAC1F,gBAAgB;MAAC2F,KAAK,EAAEC,MAAM,CAAC0F,qBAAsB;MAACvE,OAAO,EAAE,IAAI,CAACU,mBAAmB,CAAC8D,IAAI,CAAC,IAAI,EAAE9K,OAAO,CAACuB,CAAC,CAAC/B,KAAK,CAAC;IAAE,gBACpHL,KAAA,CAAA8F,aAAA,CAACzF,KAAK;MAAC0F,KAAK,EAAEC,MAAM,CAAC4F,YAAa;MAACC,MAAM,EAAE;QAAEC,GAAG,EAAElL,WAAW,CAACwB,CAAC,CAAC/B,KAAK;MAAE;IAAE,CAAE,CAC3D,CAAC;EAEvB;EAmDA0L,aAAaA,CAAC3J,CAAC,EAAE;IACf,MAAMmD,aAAa,GAAG,IAAI,CAACA,aAAa,CAACnD,CAAC,CAAC;IAC3C,oBACEpC,KAAA,CAAA8F,aAAA,CAAC5F,IAAI;MAAC6F,KAAK,EAAEC,MAAM,CAACpC,OAAQ;MAACgD,GAAG,EAAExE,CAAC,CAACK;IAAG,gBACrCzC,KAAA,CAAA8F,aAAA,CAAC5F,IAAI;MAAC6F,KAAK,EAAEC,MAAM,CAACgG;IAAY,gBAC9BhM,KAAA,CAAA8F,aAAA,CAACnE,UAAU;MAACA,UAAU,EAAE4D,aAAa,GAAG,IAAI,GAAGnD,CAAC,CAACgE,IAAI,CAACW,UAAW;MAACD,QAAQ,EAAE,EAAG;MAACf,KAAK,EAAEC,MAAM,CAACiG;IAAkB,CAAE,CAAC,eACnHjM,KAAA,CAAA8F,aAAA,CAAC5F,IAAI;MAAC6F,KAAK,EAAEC,MAAM,CAACkG;IAAa,gBAC/BlM,KAAA,CAAA8F,aAAA,CAAC5F,IAAI;MAAC6F,KAAK,EAAEC,MAAM,CAACmG;IAAgB,GACjC,IAAI,CAACtC,gBAAgB,CAACzH,CAAC,CAAC,gBACvBpC,KAAA,CAAA8F,aAAA,CAAC1F,gBAAgB;MAAC+G,OAAO,EAAE,IAAI,CAACiF,oBAAoB,CAACT,IAAI,CAAC,IAAI,EAAEvJ,CAAC;IAAE,gBACjEpC,KAAA,CAAA8F,aAAA,CAAC5F,IAAI;MAAC6F,KAAK,EAAE,CAACC,MAAM,CAACqG,sBAAsB,EAAE;QAAEC,eAAe,EAAE,IAAI,CAACpK,KAAK,CAACiE;MAAmB,CAAC;IAAE,gBAC/FnG,KAAA,CAAA8F,aAAA,CAACpF,IAAI;MAAC6L,IAAI,EAAC,OAAO;MAACC,IAAI,EAAC,cAAc;MAACC,SAAS,EAAEzG,MAAM,CAAC0G;IAAkB,CAAE,CACzE,CACU,CAAC,GAEnB,CAAC,IAAI,CAACxK,KAAK,CAACyK,WAAW,iBACrB3M,KAAA,CAAA8F,aAAA,CAAC1F,gBAAgB;MAAC+G,OAAO,EAAE,IAAI,CAACyF,oBAAoB,CAACjB,IAAI,CAAC,IAAI,EAAEvJ,CAAC;IAAE,gBACjEpC,KAAA,CAAA8F,aAAA,CAAC5F,IAAI;MAAC6F,KAAK,EAAE,CAACC,MAAM,CAACqG,sBAAsB,EAAE;QAAEC,eAAe,EAAE,IAAI,CAACpK,KAAK,CAACiE;MAAmB,CAAC;IAAE,gBAC/FnG,KAAA,CAAA8F,aAAA,CAACpF,IAAI;MAAC6L,IAAI,EAAC,MAAM;MAACC,IAAI,EAAC,cAAc;MAACC,SAAS,EAAEzG,MAAM,CAAC0G;IAAkB,CAAE,CACxE,CACU,CAErB,EACA,CAAC,IAAI,CAACxK,KAAK,CAACyK,WAAW,IACtB,IAAI,CAACE,eAAe,CAACzK,CAAC,CAAC,KACtBmD,aAAa,gBACZvF,KAAA,CAAA8F,aAAA,CAAC1F,gBAAgB;MAAC2F,KAAK,EAAE;QAAEc,WAAW,EAAE;MAAE,CAAE;MAACM,OAAO,EAAE,IAAI,CAAC2F,kBAAkB,CAACnB,IAAI,CAAC,IAAI,EAAEvJ,CAAC;IAAE,gBAC1FpC,KAAA,CAAA8F,aAAA,CAAC5F,IAAI;MAAC6F,KAAK,EAAE,CAACC,MAAM,CAACqG,sBAAsB,EAAE;QAAEC,eAAe,EAAE,IAAI,CAACpK,KAAK,CAACiE;MAAmB,CAAC;IAAE,gBAC/FnG,KAAA,CAAA8F,aAAA,CAACpF,IAAI;MAAC6L,IAAI,EAAC,WAAW;MAACC,IAAI,EAAC,cAAc;MAACC,SAAS,EAAEzG,MAAM,CAAC0G;IAAkB,CAAE,CAC7E,CACU,CAAC,gBAEnB1M,KAAA,CAAA8F,aAAA,CAAC1F,gBAAgB;MAAC2F,KAAK,EAAE;QAAEc,WAAW,EAAE;MAAE,CAAE;MAACM,OAAO,EAAE,IAAI,CAAC4F,gBAAgB,CAACpB,IAAI,CAAC,IAAI,EAAEvJ,CAAC;IAAE,gBACxFpC,KAAA,CAAA8F,aAAA,CAAC5F,IAAI;MAAC6F,KAAK,EAAE,CAACC,MAAM,CAACqG,sBAAsB,EAAE;QAAEC,eAAe,EAAE,IAAI,CAACpK,KAAK,CAACiE;MAAmB,CAAC;IAAE,gBAC/FnG,KAAA,CAAA8F,aAAA,CAACpF,IAAI;MAAC6L,IAAI,EAAC,YAAY;MAACC,IAAI,EAAC,cAAc;MAACC,SAAS,EAAEzG,MAAM,CAAC0G;IAAkB,CAAE,CAC9E,CACU,CACnB,CAAC,eACJ1M,KAAA,CAAA8F,aAAA,CAAC3F,IAAI;MAAC4F,KAAK,EAAE,CAACC,MAAM,CAACgH,WAAW,EAAE;QAAEC,QAAQ,EAAE,IAAI,CAAC3E,eAAe,CAAC,EAAE;MAAE,CAAC;IAAE,GACvE/C,aAAa,GAAG,gBAAgB,GAAGnD,CAAC,CAACgE,IAAI,CAACC,WACvC,CACF,CAAC,EACN,CAAC9F,CAAC,CAACsF,OAAO,CAACzD,CAAC,CAAC8K,OAAO,CAAC,iBACpBlN,KAAA,CAAA8F,aAAA,CAAC3F,IAAI;MAAC4F,KAAK,EAAE,CAACC,MAAM,CAACmH,WAAW,EAAE;QAAEF,QAAQ,EAAE,IAAI,CAAC3E,eAAe,CAAC,EAAE;MAAE,CAAC;IAAE,GAAE/C,aAAa,GAAG,UAAU,GAAGnD,CAAC,CAAC8K,OAAc,CAC1H,EACA,CAAC3H,aAAa,IAAI,IAAI,CAACkG,kBAAkB,CAACrJ,CAAC,CACxC,CACF,CAAC,eACPpC,KAAA,CAAA8F,aAAA,CAAC5F,IAAI;MAAC6F,KAAK,EAAEC,MAAM,CAACoH;IAAc,gBAChCpN,KAAA,CAAA8F,aAAA,CAAC3F,IAAI;MAAC4F,KAAK,EAAE,CAACC,MAAM,CAACqH,WAAW,EAAE;QAAEJ,QAAQ,EAAE,IAAI,CAAC3E,eAAe,CAAC,EAAE;MAAE,CAAC;IAAE,GACvE9H,MAAM,CACJ8M,GAAG,CAAClL,CAAC,CAAC4G,SAAS,CAAC,CAChBuE,KAAK,CAAC,CAAC,CACPC,MAAM,CAAC,eAAe,CACrB,CAAC,EACN,IAAI,CAACC,eAAe,CAACrL,CAAC,EAAEmD,aAAa,CAClC,CACF,CAAC;EAEX;EAEAmI,UAAUA,CAAA,EAAG;IACX,MAAM;MAAE3I;IAAyB,CAAC,GAAG,IAAI,CAAC7C,KAAK;IAC/C,MAAM;MAAE+C,UAAU;MAAEZ,UAAU;MAAEH;IAAW,CAAC,GAAG,IAAI,CAAC1B,KAAK;IACzD,IAAI,CAACuC,wBAAwB,IAAI,CAACE,UAAU,EAAE,OAAO,IAAI;IAEzD,IAAIf,UAAU,EACZ,oBACElE,KAAA,CAAA8F,aAAA,CAAC5F,IAAI;MAAC6F,KAAK,EAAEC,MAAM,CAAC2H;IAAqB,gBACvC3N,KAAA,CAAA8F,aAAA,CAAChE,OAAO;MAACyG,IAAI,EAAE,OAAQ;MAACrC,KAAK,EAAE,IAAI,CAAChE,KAAK,CAACiE;IAAmB,CAAE,CAC3D,CAAC;IAGX,MAAMyH,OAAO,GAAG,IAAI,CAACA,OAAO,CAAC,CAAC;IAC9B,MAAMC,KAAK,GAAG,IAAI,CAACC,gBAAgB,CAAC,CAAC;IACrC,MAAMC,QAAQ,GAAG,aAAaF,KAAK,QAAQlN,UAAU,CAACkN,KAAK,CAAC,EAAE;IAC9D;;IAEA,oBACE7N,KAAA,CAAA8F,aAAA,CAAC5F,IAAI;MAAC6F,KAAK,EAAEC,MAAM,CAACgI;IAAc,GAC/BJ,OAAO,IAAIvJ,UAAU,gBAAGrE,KAAA,CAAA8F,aAAA,CAAC3F,IAAI;MAAC4F,KAAK,EAAE,CAAC;QAAEG,KAAK,EAAE,IAAI,CAAChE,KAAK,CAACiE;MAAmB,CAAC,EAAEH,MAAM,CAACiI,YAAY;IAAE,GAAEF,QAAe,CAAC,GAAG,IAAI,eAC/H/N,KAAA,CAAA8F,aAAA,CAACjE,YAAY;MACXsF,OAAO,EAAEyG,OAAO,GAAG,IAAI,CAACM,QAAQ,GAAG,IAAI,CAACC,MAAO;MAC/CjI,KAAK,EAAC,MAAM;MACZH,KAAK,EAAE,CAAC;QAAEqI,WAAW,EAAE,IAAI,CAAClM,KAAK,CAACiE;MAAmB,CAAC,EAAEH,MAAM,CAACqI,UAAU,CAAE;MAC3EC,QAAQ,EAAEpK,UAAW;MACrBqK,eAAe;MACfC,MAAM;IAAA,gBAENxO,KAAA,CAAA8F,aAAA,CAAC5F,IAAI;MAAC6F,KAAK,EAAEC,MAAM,CAACyI;IAAgB,gBAClCzO,KAAA,CAAA8F,aAAA,CAACpF,IAAI;MACH6L,IAAI,EAAEqB,OAAO,GAAG,QAAQ,GAAG,cAAe;MAC1CpB,IAAI,EAAE,cAAe;MACrBC,SAAS,EAAE,CAAC;QAAEvG,KAAK,EAAE,IAAI,CAAChE,KAAK,CAACiE;MAAmB,CAAC,EAAEH,MAAM,CAAC0I,cAAc;IAAE,CAC9E,CAAC,eACF1O,KAAA,CAAA8F,aAAA,CAAC3F,IAAI;MAAC4F,KAAK,EAAE,CAAC;QAAEG,KAAK,EAAE,IAAI,CAAChE,KAAK,CAACiE;MAAmB,CAAC,EAAEH,MAAM,CAAC2I,cAAc;IAAE,GAAEf,OAAO,GAAG,QAAQ,GAAG,MAAa,CAC/G,CACM,CACV,CAAC;EAEX;EAEAgB,cAAcA,CAAA,EAAG;IACf,IAAI,IAAI,CAACpM,KAAK,CAAC0C,eAAe,EAAE;MAC9B,oBACElF,KAAA,CAAA8F,aAAA,CAAC5F,IAAI;QAAC6F,KAAK,EAAEC,MAAM,CAAC6I;MAAe,gBACjC7O,KAAA,CAAA8F,aAAA,CAAChE,OAAO;QAACoE,KAAK,EAAE,IAAI,CAAChE,KAAK,CAACiE;MAAmB,CAAE,CAC5C,CAAC;IAEX;IACA,IAAI,IAAI,CAACN,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAACrD,KAAK,CAAC6E,aAAa,EAAE;MAC/C,IAAI9G,CAAC,CAAC4E,QAAQ,CAAC,IAAI,CAACjD,KAAK,CAACmD,IAAI,CAACmC,MAAM,EAAE,YAAY,CAAC,EAAE;QACpD,OAAO,IAAI;MACb;MACA,IAAI,CAACjH,CAAC,CAACuO,KAAK,CAAC,IAAI,CAAC5M,KAAK,CAAC6M,WAAW,CAAC,IAAIxO,CAAC,CAACsF,OAAO,CAAC,IAAI,CAAC3D,KAAK,CAAC6M,WAAW,CAAC,EAAE,OAAO,IAAI;MACtF,oBACE/O,KAAA,CAAA8F,aAAA,CAAC5F,IAAI;QAAC6F,KAAK,EAAEC,MAAM,CAAC6I;MAAe,gBACjC7O,KAAA,CAAA8F,aAAA,CAAC3F,IAAI;QAAC4F,KAAK,EAAE,CAACC,MAAM,CAACgJ,aAAa,EAAE;UAAE/B,QAAQ,EAAE,IAAI,CAAC3E,eAAe,CAAC,EAAE;QAAE,CAAC;MAAE,GACzE/H,CAAC,CAACuO,KAAK,CAAC,IAAI,CAAC5M,KAAK,CAAC6M,WAAW,CAAC,GAAG,gCAAgC,GAAG,IAAI,CAAC7M,KAAK,CAAC6M,WAC7E,CACF,CAAC;IAEX;IACA,IAAIlD,MAAM,GAAG,CAAC,GAAG,IAAI,CAACrJ,KAAK,CAACQ,QAAQ,CAAC;IACrC,IAAI,IAAI,CAACd,KAAK,CAAC+M,YAAY,EAAE;MAC3BpD,MAAM,GAAGA,MAAM,CAACqD,OAAO,CAAC,CAAC;IAC3B;IACA,IAAI,CAAC,IAAI,CAAChN,KAAK,CAACiN,WAAW,IAAI,CAAC,IAAI,CAACjN,KAAK,CAAC6B,QAAQ,EAAE;MACnD8H,MAAM,GAAGtL,CAAC,CAACwC,MAAM,CAAC8I,MAAM,EAAEzJ,CAAC,IAAI;QAC7B,OAAO,CAACA,CAAC,CAACuD,QAAQ;MACpB,CAAC,CAAC;IACJ;IACA,oBACE3F,KAAA,CAAA8F,aAAA,CAAC5F,IAAI;MAAC6F,KAAK,EAAEC,MAAM,CAAC6I;IAAe,GAChC,CAAC,IAAI,CAAChJ,OAAO,CAAC,CAAC,iBACd7F,KAAA,CAAA8F,aAAA,CAAC5F,IAAI;MAAC6F,KAAK,EAAEC,MAAM,CAACoJ;IAAuB,gBACzCpP,KAAA,CAAA8F,aAAA,CAAC5F,IAAI;MAAC6F,KAAK,EAAE;QAAEsJ,UAAU,EAAE;MAAW;IAAE,GACrC,IAAI,CAAC3B,UAAU,CAAC,CAAC,EACjB,CAAC,IAAI,CAACxL,KAAK,CAACoN,cAAc,IAAI,IAAI,CAAC9M,KAAK,CAACQ,QAAQ,CAACiE,MAAM,GAAG,CAAC,iBAC3DjH,KAAA,CAAA8F,aAAA,CAAC1F,gBAAgB;MAAC+G,OAAO,EAAE,IAAI,CAACc,SAAS,CAAC0D,IAAI,CAAC,IAAI;IAAE,gBACnD3L,KAAA,CAAA8F,aAAA,CAAC3F,IAAI;MAAC4F,KAAK,EAAE,CAACC,MAAM,CAACuJ,QAAQ,EAAE;QAAErJ,KAAK,EAAE,IAAI,CAAChE,KAAK,CAACiE;MAAmB,CAAC;IAAE,GAAC,eAAmB,CAC7E,CAEhB,CAAC,eACPnG,KAAA,CAAA8F,aAAA,CAAC3F,IAAI;MAAC4F,KAAK,EAAE,CAACC,MAAM,CAACwJ,YAAY,EAAE;QAAEvC,QAAQ,EAAE,IAAI,CAAC3E,eAAe,CAAC,EAAE;MAAE,CAAC;IAAE,GACxE,IAAI,CAAC9F,KAAK,CAACQ,QAAQ,CAACiE,MAAM,EAC1B,WAAWtG,UAAU,CAAC,IAAI,CAAC6B,KAAK,CAACQ,QAAQ,CAACiE,MAAM,CAAC,EAC9C,CACF,CACP,EACA,IAAI,CAAC/E,KAAK,CAAC+M,YAAY,IAAI,IAAI,CAACzM,KAAK,CAAC6E,aAAa,iBAAIrH,KAAA,CAAA8F,aAAA,CAAChE,OAAO;MAACoE,KAAK,EAAE,IAAI,CAAChE,KAAK,CAACiE;IAAmB,CAAE,CAAC,EACxG0F,MAAM,CAACnF,GAAG,CAACtE,CAAC,IAAI;MACf,OAAO,IAAI,CAAC2J,aAAa,CAAC3J,CAAC,CAAC;IAC9B,CAAC,CAAC,EACD,CAAC,IAAI,CAACF,KAAK,CAAC+M,YAAY,IAAI,IAAI,CAACzM,KAAK,CAAC6E,aAAa,iBAAIrH,KAAA,CAAA8F,aAAA,CAAChE,OAAO;MAACoE,KAAK,EAAE,IAAI,CAAChE,KAAK,CAACiE;IAAmB,CAAE,CACrG,CAAC;EAEX;EAEAsJ,uBAAuBA,CAAA,EAAG;IACxB,oBACEzP,KAAA,CAAA8F,aAAA,CAAClE,UAAU;MACTsI,OAAO,EAAE,IAAI,CAAC1H,KAAK,CAACwF,cAAe;MACnC0H,MAAM,EAAE,IAAI,CAAClN,KAAK,CAACuF,gBAAiB;MACpCwC,OAAO,EAAE,IAAI,CAACP,mBAAmB,CAAC2B,IAAI,CAAC,IAAI,CAAE;MAC7CgE,GAAG,EAAC;IAAmB,CACxB,CAAC;EAEN;EAEAC,mBAAmBA,CAAA,EAAG;IACpB,IAAI,CAAC,IAAI,CAACpN,KAAK,CAACe,aAAa,EAAE,OAAO,IAAI;IAC1C,oBACEvD,KAAA,CAAA8F,aAAA,CAAC5F,IAAI;MAAC6F,KAAK,EAAEC,MAAM,CAAC6J;IAAuB,gBACzC7P,KAAA,CAAA8F,aAAA,CAAChE,OAAO;MAACoE,KAAK,EAAE,IAAI,CAAChE,KAAK,CAACiE;IAAmB,CAAE,CAC5C,CAAC;EAEX;EAEA2J,MAAMA,CAAA,EAAG;IACP,IAAIvP,CAAC,CAAC4E,QAAQ,CAAC,IAAI,CAACjD,KAAK,CAACmD,IAAI,CAACmC,MAAM,EAAE,aAAa,CAAC,EAAE;MACrD,OAAO,IAAI;IACb;IACA,oBACExH,KAAA,CAAA8F,aAAA,CAAC5F,IAAI;MAAC6F,KAAK,EAAE,CAACC,MAAM,CAAC+J,mBAAmB,EAAE,IAAI,CAAC7N,KAAK,CAAC6D,KAAK;IAAE,GACzD,IAAI,CAAC6I,cAAc,CAAC,CAAC,EACrB,IAAI,CAACgB,mBAAmB,CAAC,CAAC,EAC1B,IAAI,CAAC3F,0BAA0B,CAAC,CAAC,EACjC,IAAI,CAACQ,0BAA0B,CAAC,CAAC,EACjC,IAAI,CAACK,yBAAyB,CAAC,CAAC,EAChC,IAAI,CAACG,2BAA2B,CAAC,CAAC,EAClC,IAAI,CAACG,yBAAyB,CAAC,CAAC,EAChC,IAAI,CAACqE,uBAAuB,CAAC,CAC1B,CAAC;EAEX;AACF;AAEA,MAAMzJ,MAAM,GAAG1F,UAAU,CAAC0P,MAAM,CAAC;EAC/BD,mBAAmB,EAAE;IACnBE,IAAI,EAAE,CAAC;IACPC,iBAAiB,EAAE;EACrB,CAAC;EACDrB,cAAc,EAAE;IACdoB,IAAI,EAAE,CAAC;IACPE,eAAe,EAAE,EAAE;IACnBC,cAAc,EAAE/O,QAAQ;IACxBgP,cAAc,EAAE;EAClB,CAAC;EACDb,YAAY,EAAE;IACZc,UAAU,EAAE,aAAa;IACzBpK,KAAK,EAAEhF,YAAY;IACnB+O,IAAI,EAAE,CAAC;IACPM,SAAS,EAAE;EACb,CAAC;EACD3M,OAAO,EAAE;IACP2M,SAAS,EAAE;EACb,CAAC;EACDvE,WAAW,EAAE;IACXwE,aAAa,EAAE;EACjB,CAAC;EACDvE,iBAAiB,EAAE;IACjBpF,WAAW,EAAE;EACf,CAAC;EACDqF,YAAY,EAAE;IACZ+D,IAAI,EAAE,CAAC;IACP3D,eAAe,EAAEnL,OAAO;IACxBsP,YAAY,EAAE,CAAC;IACfC,OAAO,EAAE;EACX,CAAC;EACDvE,eAAe,EAAE;IACfqE,aAAa,EAAE,aAAa;IAC5BnB,UAAU,EAAE;EACd,CAAC;EACDhD,sBAAsB,EAAE;IACtBsE,KAAK,EAAE,EAAE;IACTC,MAAM,EAAE,EAAE;IACVH,YAAY,EAAE,EAAE;IAChBpB,UAAU,EAAE,QAAQ;IACpBwB,cAAc,EAAE;EAClB,CAAC;EACDnE,iBAAiB,EAAE;IACjBO,QAAQ,EAAE,EAAE;IACZ/G,KAAK,EAAE;EACT,CAAC;EACD8G,WAAW,EAAE;IACXsD,UAAU,EAAE,aAAa;IACzBpK,KAAK,EAAEhF,YAAY;IACnB+O,IAAI,EAAE;EACR,CAAC;EACD9C,WAAW,EAAE;IACXoD,SAAS,EAAE,CAAC;IACZD,UAAU,EAAE,YAAY;IACxBpK,KAAK,EAAEhF;EACT,CAAC;EACDkM,aAAa,EAAE;IACboD,aAAa,EAAE,aAAa;IAC5BK,cAAc,EAAE,eAAe;IAC/BxB,UAAU,EAAE;EACd,CAAC;EACDhC,WAAW,EAAE;IACXiD,UAAU,EAAE,YAAY;IACxBC,SAAS,EAAE,CAAC;IACZrK,KAAK,EAAE9E,UAAU;IACjB0P,SAAS,EAAE;EACb,CAAC;EACD5J,cAAc,EAAE;IACd+I,IAAI,EAAE,CAAC;IACPc,WAAW,EAAE;EACf,CAAC;EACD9K,kBAAkB,EAAE;IAClBqK,UAAU,EAAE,aAAa;IACzBrD,QAAQ,EAAE;EACZ,CAAC;EACDxG,mBAAmB,EAAE;IACnB+J,aAAa,EAAE,KAAK;IACpBnB,UAAU,EAAE,QAAQ;IACpBc,eAAe,EAAE;EACnB,CAAC;EACDzE,qBAAqB,EAAE;IACrB6E,SAAS,EAAE,CAAC;IACZI,KAAK,EAAE,EAAE;IACTC,MAAM,EAAE;EACV,CAAC;EACDhF,YAAY,EAAE;IACZ+E,KAAK,EAAE,EAAE;IACTC,MAAM,EAAE,EAAE;IACVH,YAAY,EAAE;EAChB,CAAC;EACDzB,aAAa,EAAE;IACbsB,UAAU,EAAE,aAAa;IACzBpK,KAAK,EAAEhF;EACT,CAAC;EACDkO,sBAAsB,EAAE;IACtBoB,aAAa,EAAE;EACjB,CAAC;EACD3F,iBAAiB,EAAE;IACjByF,UAAU,EAAE,YAAY;IACxBrD,QAAQ,EAAE,EAAE;IACZiD,iBAAiB,EAAE,EAAE;IACrBY,SAAS,EAAE;EACb,CAAC;EACDjB,sBAAsB,EAAE;IACtBM,eAAe,EAAE;EACnB,CAAC;EACDZ,QAAQ,EAAE;IACRgB,SAAS,EAAE;EACb,CAAC;EACD5C,oBAAoB,EAAE;IACpBgD,KAAK,EAAE,GAAG;IACVK,YAAY,EAAE;EAChB,CAAC;EACDhD,aAAa,EAAE;IACbwC,aAAa,EAAE,KAAK;IACpBnB,UAAU,EAAE,QAAQ;IACpBwB,cAAc,EAAE,UAAU;IAC1BG,YAAY,EAAE;EAChB,CAAC;EACD/C,YAAY,EAAE;IACZqC,UAAU,EAAE,aAAa;IACzBrD,QAAQ,EAAE,EAAE;IACZpG,WAAW,EAAE;EACf,CAAC;EACDwH,UAAU,EAAE;IACV4C,WAAW,EAAE,CAAC;IACdf,iBAAiB,EAAE;EACrB,CAAC;EACDzB,eAAe,EAAE;IACf+B,aAAa,EAAE,KAAK;IACpBnB,UAAU,EAAE;EACd,CAAC;EACDX,cAAc,EAAE;IACdzB,QAAQ,EAAE;EACZ,CAAC;EACD0B,cAAc,EAAE;IACd2B,UAAU,EAAE,aAAa;IACzBrD,QAAQ,EAAE,EAAE;IACZjG,UAAU,EAAE;EACd;AACF,CAAC,CAAC;AAEF,MAAMkK,eAAe,GAAG1O,KAAK,IAAI;EAC/B,OAAO;IACL2D,kBAAkB,EAAElF,8BAA8B,CAACuB,KAAK,CAAC;IACzD6C,IAAI,EAAE7C,KAAK,CAAC6C,IAAI;IAChBN,wBAAwB,EAAEjE,uBAAuB,CAAC0B,KAAK,EAAE,0BAA0B,EAAE,KAAK,CAAC;IAC3F4C,YAAY,EAAE5C,KAAK,CAAC2O,YAAY,CAAC/L,YAAY,IAAI;EACnD,CAAC;AACH,CAAC;AAED,MAAMyJ,cAAc,GAAGpO,OAAO,CAACyQ,eAAe,EAAE;EAAE1P,SAAS;EAAEC;AAAY,CAAC,EAAE,IAAI,EAAE;EAAE2P,UAAU,EAAE;AAAK,CAAC,CAAC,CAACpP,cAAc,CAAC;AACvH,SAAS6M,cAAc,IAAI7M,cAAc","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","Component","View","Text","TouchableOpacity","Image","StyleSheet","_","moment","connect","Icon","getPluralS","getThumb300","get1400","getSiteSettingFromState","getFirstName","getPluralOptions","getMainBrandingColourFromState","TEXT_DARKEST","BG_GREY","TEXT_LIGHT","LINEGREY","reactionActions","notificationActions","blockUser","unblockUser","ConfirmPopup","ProfilePic","ImagePopup","InlineButton","Spinner","Services","CommentSection","constructor","props","_defineProperty","c","setState","commentToDelete","removeComment","state","Id","then","res","console","log","newComments","filter","comments","commentToReport","commentToBlock","userId","UserId","commentToUnblock","commentId","reportLoading","reportComment","commentReportedStatus","catch","error","comment","navigation","navigate","threadId","entityType","entityId","processing","data","muteEntity","muteExpiry","Expiry","unmuteEntity","actual","duration","diff","asHours","Math","abs","ceil","notificationsForComments","getEntityNotificationSetting","muteLoaded","commentsLoading","includes","blockedUsers","user","uid","isUserBlocked","hideReplyButton","threadComments","innerC","ParentId","content","isEmpty","createElement","style","styles","commentRepliesText","color","colourBrandingMain","User","displayName","profilePics","take","uniqBy","multiReplyContainer","map","i","key","marginRight","Diameter","profilePic","marginLeft","length","commentReplies","onPress","onOpenThread","addingComment","componentDidMount","getNotificationSate","hidden","getComments","componentWillUnmount","loadTimer","clearTimeout","onPressCommentImage","image","imagePopupSource","imagePopupOpen","onGoToAdd","_this$props$commentRe","commentReply","current","focusInput","getAdjustedSize","size","scaleFont","fontScale","commentsLoadStarted","_this$props$commentRe2","loadingStarted","loadComments","minTime","maxBy","Timestamp","_this$props$commentRe3","sortBy","concat","onCommentsLoaded","loadingCompleted","live","setTimeout","refreshFrequency","startedAddingComment","commentAdded","push","onCommentAdded","canRemoveComment","permissions","adminPermission","closeCommentGallery","renderCommentDeleteConfirm","visible","onConfirm","onPressConfirmDelete","onCancel","onPressCancelDelete","onClose","text","renderCommentReportConfirm","onPressConfirmReport","onPressCancelReport","extraContent","commentReportText","renderCommentBlockConfirm","onPressConfirmBlock","onPressCancelBlock","renderCommentUnblockConfirm","onPressConfirmUnblock","onPressCancelUnblock","renderCommentReportStatus","isSuccess","onPressConfirmReportStatus","hideNo","yesText","renderCommentImage","commentImageContainer","bind","commentImage","source","uri","renderComment","commentFlex","commentProfilePic","commentBlock","commentTitleRow","onPressDeleteComment","commentButtonContainer","backgroundColor","name","type","iconStyle","commentButtonIcon","disableFlag","onPressReportComment","canBlockComment","onPressUnblockUser","onPressBlockUser","commentName","fontSize","Comment","commentText","commentBottom","commentTime","utc","local","format","renderReplyText","renderMute","muteSpinnerContainer","isMuted","hours","getMuteRemaining","mutedFor","muteContainer","mutedForText","onUnmute","onMute","borderColor","muteButton","disabled","disabledOpacity","noText","muteButtonInner","muteButtonIcon","muteButtonText","renderComments","commentSection","isNil","placeHolder","commentsEmpty","reverseOrder","reverse","showReplies","commentSectionTitleRow","alignItems","hideAddComment","goToText","commentCount","renderCommentImagePopup","images","ref","renderReportLoading","reportLoadingContainer","render","commentSectionOuter","create","flex","paddingHorizontal","paddingVertical","borderTopColor","borderTopWidth","fontFamily","marginTop","flexDirection","borderRadius","padding","width","height","justifyContent","textAlign","paddingLeft","marginBottom","borderWidth","mapStateToProps","userSettings","forwardRef"],"sources":["CommentSection.js"],"sourcesContent":["import React, { Component } from 'react';\nimport { View, Text, TouchableOpacity, Image, StyleSheet } from 'react-native';\nimport _ from 'lodash';\nimport moment from 'moment';\nimport { connect } from 'react-redux';\nimport { Icon } from '@rneui/themed';\nimport { getPluralS, getThumb300, get1400, getSiteSettingFromState, getFirstName, getPluralOptions } from '../helper';\nimport { getMainBrandingColourFromState, TEXT_DARKEST, BG_GREY, TEXT_LIGHT, LINEGREY } from '../colours';\nimport { reactionActions, notificationActions } from '../apis';\nimport { blockUser, unblockUser } from '../actions';\nimport { ConfirmPopup } from './ConfirmPopup';\nimport { ProfilePic } from './ProfilePic';\nimport { ImagePopup } from './ImagePopup';\nimport { InlineButton } from './InlineButton';\nimport { Spinner } from './Spinner';\nimport { Services } from '../config';\n\nclass CommentSection extends Component {\n constructor(props) {\n super(props);\n this.state = {\n commentsLoading: false,\n comments: [],\n addingComment: false,\n commentToDelete: null,\n commentToReport: null,\n commentReportedStatus: null,\n reportLoading: false,\n processing: false,\n muteExpiry: null,\n muteLoaded: false,\n };\n }\n\n componentDidMount() {\n this.getNotificationSate();\n\n if (!_.includes(this.props.user.hidden, 'viewComment')) {\n this.getComments();\n }\n }\n\n componentWillUnmount() {\n if (this.loadTimer) {\n clearTimeout(this.loadTimer);\n }\n }\n\n onPressDeleteComment = c => {\n this.setState({ commentToDelete: c });\n };\n\n onPressConfirmDelete = () => {\n reactionActions.removeComment(this.state.commentToDelete.Id).then(res => {\n console.log('deleted');\n });\n const newComments = _.filter(this.state.comments, c => {\n return c.Id !== this.state.commentToDelete.Id;\n });\n this.setState({\n comments: newComments,\n commentToDelete: null,\n });\n };\n\n onPressCancelDelete = () => {\n this.setState({ commentToDelete: null });\n };\n\n onPressReportComment = c => {\n this.setState({ commentToReport: c });\n };\n\n onPressBlockUser = c => {\n this.setState({ commentToBlock: c });\n };\n\n onPressConfirmBlock = () => {\n const userId = this.state.commentToBlock.UserId;\n this.props.blockUser(userId);\n this.setState({ commentToBlock: null });\n };\n\n onPressCancelBlock = () => {\n this.setState({ commentToBlock: null });\n };\n\n onPressUnblockUser = c => {\n this.setState({ commentToUnblock: c });\n };\n\n onPressConfirmUnblock = () => {\n const userId = this.state.commentToUnblock.UserId;\n this.props.unblockUser(userId);\n this.setState({ commentToUnblock: null });\n };\n\n onPressCancelUnblock = () => {\n this.setState({ commentToUnblock: null });\n };\n\n onPressConfirmReport = () => {\n const commentId = this.state.commentToReport.Id;\n this.setState({ reportLoading: true, commentToReport: null }, () => {\n reactionActions\n .reportComment(commentId)\n .then(res => {\n this.setState({ commentReportedStatus: 'success', reportLoading: false });\n })\n .catch(error => {\n console.log('reportComment', error);\n this.setState({ commentReportedStatus: 'fail', reportLoading: false });\n });\n });\n };\n\n onPressCancelReport = () => {\n this.setState({ commentToReport: null });\n };\n\n onPressConfirmReportStatus = () => {\n this.setState({ commentReportedStatus: null });\n };\n\n onPressCommentImage(image) {\n this.setState({\n imagePopupSource: [image],\n imagePopupOpen: true,\n });\n }\n\n onGoToAdd() {\n this.props.commentReply?.current?.focusInput();\n }\n\n onOpenThread = comment => {\n Services.navigation.navigate('thread', { ...this.props, threadId: comment.Id });\n };\n\n onMute = () => {\n const { entityType, entityId } = this.props;\n this.setState({ processing: true }, async () => {\n try {\n const { data } = await notificationActions.muteEntity(entityType, entityId);\n // console.log('onMute', data);\n const muteExpiry = moment(data.Expiry);\n this.setState({ muteExpiry, processing: false });\n } catch (error) {\n console.error('onMute', error);\n this.setState({ processing: false });\n }\n });\n };\n\n onUnmute = () => {\n const { entityType, entityId } = this.props;\n this.setState({ processing: true }, async () => {\n try {\n const { data } = await notificationActions.unmuteEntity(entityType, entityId);\n // console.log('onUnmute', data);\n this.setState({ muteExpiry: null, processing: false });\n } catch (error) {\n console.error('onUnmute', error);\n this.setState({ processing: false });\n }\n });\n };\n\n isMuted = () => {\n const { muteExpiry } = this.state;\n return muteExpiry && moment() <= muteExpiry;\n };\n\n getMuteRemaining = () => {\n const { muteExpiry } = this.state;\n const actual = muteExpiry ? moment.duration(muteExpiry.diff(moment())).asHours() : 0;\n return Math.abs(Math.ceil(actual));\n };\n\n getNotificationSate = () => {\n const { processing } = this.state;\n const { entityType, entityId, notificationsForComments } = this.props;\n if (processing || !notificationsForComments) return;\n\n this.setState({ processing: true }, async () => {\n try {\n const { data } = await notificationActions.getEntityNotificationSetting(entityType, entityId);\n // console.log('getNotificationSate', data);\n const muteExpiry = data ? moment(data.Expiry) : null;\n this.setState({ muteExpiry, muteLoaded: true, processing: false });\n } catch (error) {\n console.error('getNotificationSate', error);\n this.setState({ processing: false });\n }\n });\n };\n\n getAdjustedSize(size) {\n if (this.props.scaleFont) {\n return size + this.props.user.fontScale;\n }\n return size;\n }\n\n getComments() {\n if (!this.state.commentsLoadStarted) {\n this.setState({\n commentsLoadStarted: true,\n commentsLoading: true,\n });\n this.props.commentReply?.current?.loadingStarted();\n\n this.loadComments();\n }\n }\n\n isEmpty() {\n return _.isEmpty(this.state.comments);\n }\n\n loadComments() {\n const minTime = this.isEmpty()\n ? 0\n : _.maxBy(this.state.comments, c => {\n return c.Timestamp;\n }).Timestamp;\n reactionActions.getComments(this.props.entityId, this.props.entityType, minTime).then(res => {\n this.setState(\n {\n comments: _.sortBy(\n _.uniqBy(\n _.filter(_.concat(this.state.comments, res.data), c => {\n if (!this.props.threadId) {\n return true;\n }\n return c.Id === this.props.threadId || c.ParentId === this.props.threadId;\n }),\n c => {\n return c.Id;\n },\n ),\n 'Timestamp',\n ),\n commentsLoading: false,\n },\n () => {\n if (this.props.onCommentsLoaded) {\n this.props.onCommentsLoaded(this.state.comments.length);\n }\n },\n );\n //if (this.props.commentReply) {\n this.props.commentReply?.current?.loadingCompleted();\n //}\n if (this.props.live) {\n this.loadTimer = setTimeout(() => {\n this.loadComments();\n }, this.props.refreshFrequency || 2000);\n }\n });\n }\n\n isLoading = () => {\n return this.state.commentsLoading;\n };\n\n startedAddingComment() {\n this.setState({\n addingComment: true,\n });\n }\n\n commentAdded(comment) {\n const newComments = this.state.comments;\n newComments.push(comment);\n this.setState(\n {\n addingComment: false,\n comments: newComments,\n },\n () => {\n if (this.props.onCommentAdded) {\n this.props.onCommentAdded();\n }\n },\n );\n }\n\n isUserBlocked = c => {\n return _.includes(this.props.blockedUsers, c.UserId);\n };\n\n canBlockComment = c => {\n return this.props.user.uid !== c.UserId;\n };\n\n canRemoveComment(c) {\n if (this.props.user.uid === c.UserId) {\n return true;\n }\n return _.includes(this.props.user.permissions, this.props.adminPermission);\n }\n\n closeCommentGallery() {\n this.setState({\n imagePopupSource: [],\n imagePopupOpen: false,\n });\n }\n\n renderCommentDeleteConfirm() {\n return (\n <ConfirmPopup\n visible={!!this.state.commentToDelete}\n onConfirm={this.onPressConfirmDelete}\n onCancel={this.onPressCancelDelete}\n onClose={this.onPressCancelDelete}\n text=\"Are you sure you want to delete this comment?\"\n />\n );\n }\n\n renderCommentReportConfirm() {\n return (\n <ConfirmPopup\n visible={!!this.state.commentToReport}\n onConfirm={this.onPressConfirmReport}\n onCancel={this.onPressCancelReport}\n onClose={this.onPressCancelReport}\n text=\"Are you sure you want to report this comment?\"\n extraContent={<Text style={styles.commentReportText}>This comment will be reported to our team and considered for deletion</Text>}\n />\n );\n }\n\n renderCommentBlockConfirm() {\n return (\n <ConfirmPopup\n visible={!!this.state.commentToBlock}\n onConfirm={this.onPressConfirmBlock}\n onCancel={this.onPressCancelBlock}\n onClose={this.onPressCancelBlock}\n text=\"Are you sure you want to block this user?\"\n extraContent={<Text style={styles.commentReportText}>You will no longer see comments made by this user</Text>}\n />\n );\n }\n\n renderCommentUnblockConfirm() {\n return (\n <ConfirmPopup\n visible={!!this.state.commentToUnblock}\n onConfirm={this.onPressConfirmUnblock}\n onCancel={this.onPressCancelUnblock}\n onClose={this.onPressCancelUnblock}\n text=\"Are you sure you want to unblock this user?\"\n extraContent={<Text style={styles.commentReportText}>You will once again see comments made by this user</Text>}\n />\n );\n }\n\n renderCommentReportStatus() {\n const { commentReportedStatus } = this.state;\n const isSuccess = commentReportedStatus === 'success';\n return (\n <ConfirmPopup\n visible={!!commentReportedStatus}\n onConfirm={this.onPressConfirmReportStatus}\n text={isSuccess ? 'Thank you for reporting' : 'Unable to report'}\n extraContent={\n <Text style={styles.commentReportText}>\n {isSuccess ? 'We will review the comment within 24 hours' : 'There was a problem reporting the comment please try again later'}\n </Text>\n }\n hideNo\n yesText={'Done'}\n />\n );\n }\n\n renderCommentImage(c) {\n if (_.isEmpty(c.Image)) {\n return null;\n }\n return (\n <TouchableOpacity style={styles.commentImageContainer} onPress={this.onPressCommentImage.bind(this, get1400(c.Image))}>\n <Image style={styles.commentImage} source={{ uri: getThumb300(c.Image) }} />\n </TouchableOpacity>\n );\n }\n\n renderReplyText = (c, isUserBlocked) => {\n if (this.props.threadId || this.props.hideReplyButton) {\n return null;\n }\n\n const threadComments = _.filter(this.state.comments, innerC => {\n return innerC.ParentId === c.Id;\n });\n\n let content = null;\n\n if (_.isEmpty(threadComments)) {\n // no replies\n content = (\n <Text style={[styles.commentRepliesText, { color: this.props.colourBrandingMain }]}>{`Reply to ${getFirstName(\n !isUserBlocked && c.User ? c.User.displayName : 'comment',\n )}`}</Text>\n );\n } else {\n // existing replies\n const profilePics = _.take(\n _.uniqBy(threadComments, c => c.UserId),\n 3,\n );\n content = (\n <View style={styles.multiReplyContainer}>\n {profilePics.map((c, i) => {\n return <ProfilePic key={c.Id} style={{ marginRight: -10 }} Diameter={20} ProfilePic={c.User.profilePic} />;\n })}\n <Text style={[styles.commentRepliesText, { marginLeft: 20, color: this.props.colourBrandingMain }]}>{`${threadComments.length\n } repl${getPluralOptions(threadComments.length, 'y', 'ies')}`}</Text>\n </View>\n );\n }\n\n return (\n <View style={styles.commentReplies}>\n <TouchableOpacity\n onPress={() => {\n this.onOpenThread(c);\n }}\n >\n {content}\n </TouchableOpacity>\n </View>\n );\n };\n\n renderComment(c) {\n const isUserBlocked = this.isUserBlocked(c);\n return (\n <View style={styles.comment} key={c.Id}>\n <View style={styles.commentFlex}>\n <ProfilePic ProfilePic={isUserBlocked ? null : c.User.profilePic} Diameter={40} style={styles.commentProfilePic} />\n <View style={styles.commentBlock}>\n <View style={styles.commentTitleRow}>\n {this.canRemoveComment(c) ? (\n <TouchableOpacity onPress={this.onPressDeleteComment.bind(this, c)}>\n <View style={[styles.commentButtonContainer, { backgroundColor: this.props.colourBrandingMain }]}>\n <Icon name=\"trash\" type=\"font-awesome\" iconStyle={styles.commentButtonIcon} />\n </View>\n </TouchableOpacity>\n ) : (\n !this.props.disableFlag && (\n <TouchableOpacity onPress={this.onPressReportComment.bind(this, c)}>\n <View style={[styles.commentButtonContainer, { backgroundColor: this.props.colourBrandingMain }]}>\n <Icon name=\"flag\" type=\"font-awesome\" iconStyle={styles.commentButtonIcon} />\n </View>\n </TouchableOpacity>\n )\n )}\n {!this.props.disableFlag &&\n this.canBlockComment(c) &&\n (isUserBlocked ? (\n <TouchableOpacity style={{ marginRight: 8 }} onPress={this.onPressUnblockUser.bind(this, c)}>\n <View style={[styles.commentButtonContainer, { backgroundColor: this.props.colourBrandingMain }]}>\n <Icon name=\"user-plus\" type=\"font-awesome\" iconStyle={styles.commentButtonIcon} />\n </View>\n </TouchableOpacity>\n ) : (\n <TouchableOpacity style={{ marginRight: 8 }} onPress={this.onPressBlockUser.bind(this, c)}>\n <View style={[styles.commentButtonContainer, { backgroundColor: this.props.colourBrandingMain }]}>\n <Icon name=\"user-times\" type=\"font-awesome\" iconStyle={styles.commentButtonIcon} />\n </View>\n </TouchableOpacity>\n ))}\n <Text style={[styles.commentName, { fontSize: this.getAdjustedSize(13) }]}>\n {isUserBlocked ? '[blocked user]' : c.User.displayName}\n </Text>\n </View>\n {!_.isEmpty(c.Comment) && (\n <Text style={[styles.commentText, { fontSize: this.getAdjustedSize(13) }]}>{isUserBlocked ? '[hidden]' : c.Comment}</Text>\n )}\n {!isUserBlocked && this.renderCommentImage(c)}\n </View>\n </View>\n <View style={styles.commentBottom}>\n <Text style={[styles.commentTime, { fontSize: this.getAdjustedSize(13) }]}>\n {moment\n .utc(c.Timestamp)\n .local()\n .format('D MMM • h:mma')}\n </Text>\n {this.renderReplyText(c, isUserBlocked)}\n </View>\n </View>\n );\n }\n\n renderMute() {\n const { notificationsForComments } = this.props;\n const { muteLoaded, muteExpiry, processing } = this.state;\n if (!notificationsForComments || !muteLoaded) return null;\n\n if (processing)\n return (\n <View style={styles.muteSpinnerContainer}>\n <Spinner size={'small'} color={this.props.colourBrandingMain} />\n </View>\n );\n\n const isMuted = this.isMuted();\n const hours = this.getMuteRemaining();\n const mutedFor = `Muted for ${hours} hour${getPluralS(hours)}`;\n // console.log(muteExpiry.format('DD MMM YYYY hh:mm a'));\n\n return (\n <View style={styles.muteContainer}>\n {isMuted && muteExpiry ? <Text style={[{ color: this.props.colourBrandingMain }, styles.mutedForText]}>{mutedFor}</Text> : null}\n <InlineButton\n onPress={isMuted ? this.onUnmute : this.onMute}\n color=\"#fff\"\n style={[{ borderColor: this.props.colourBrandingMain }, styles.muteButton]}\n disabled={processing}\n disabledOpacity\n noText\n >\n <View style={styles.muteButtonInner}>\n <Icon\n name={isMuted ? 'bell-o' : 'bell-slash-o'}\n type={'font-awesome'}\n iconStyle={[{ color: this.props.colourBrandingMain }, styles.muteButtonIcon]}\n />\n <Text style={[{ color: this.props.colourBrandingMain }, styles.muteButtonText]}>{isMuted ? 'Unmute' : 'Mute'}</Text>\n </View>\n </InlineButton>\n </View>\n );\n }\n\n renderComments() {\n if (this.state.commentsLoading) {\n return (\n <View style={styles.commentSection}>\n <Spinner color={this.props.colourBrandingMain} />\n </View>\n );\n }\n if (this.isEmpty() && !this.state.addingComment) {\n if (_.includes(this.props.user.hidden, 'addComment')) {\n return null;\n }\n if (!_.isNil(this.props.placeHolder) && _.isEmpty(this.props.placeHolder)) return null;\n return (\n <View style={styles.commentSection}>\n <Text style={[styles.commentsEmpty, { fontSize: this.getAdjustedSize(15) }]}>\n {_.isNil(this.props.placeHolder) ? 'Be the first to add a comment!' : this.props.placeHolder}\n </Text>\n </View>\n );\n }\n let source = [...this.state.comments];\n if (this.props.reverseOrder) {\n source = source.reverse();\n }\n if (!this.props.showReplies && !this.props.threadId) {\n source = _.filter(source, c => {\n return !c.ParentId;\n });\n }\n return (\n <View style={styles.commentSection}>\n {!this.isEmpty() && (\n <View style={styles.commentSectionTitleRow}>\n <View style={{ alignItems: 'flex-end' }}>\n {this.renderMute()}\n {!this.props.hideAddComment && this.state.comments.length > 2 && (\n <TouchableOpacity onPress={this.onGoToAdd.bind(this)}>\n <Text style={[styles.goToText, { color: this.props.colourBrandingMain }]}>Add a comment</Text>\n </TouchableOpacity>\n )}\n </View>\n <Text style={[styles.commentCount, { fontSize: this.getAdjustedSize(15) }]}>\n {this.state.comments.length}\n {` comment${getPluralS(this.state.comments.length)}`}\n </Text>\n </View>\n )}\n {this.props.reverseOrder && this.state.addingComment && <Spinner color={this.props.colourBrandingMain} />}\n {source.map(c => {\n return this.renderComment(c);\n })}\n {!this.props.reverseOrder && this.state.addingComment && <Spinner color={this.props.colourBrandingMain} />}\n </View>\n );\n }\n\n renderCommentImagePopup() {\n return (\n <ImagePopup\n visible={this.state.imagePopupOpen}\n images={this.state.imagePopupSource}\n onClose={this.closeCommentGallery.bind(this)}\n ref=\"commentImagePopup\"\n />\n );\n }\n\n renderReportLoading() {\n if (!this.state.reportLoading) return null;\n return (\n <View style={styles.reportLoadingContainer}>\n <Spinner color={this.props.colourBrandingMain} />\n </View>\n );\n }\n\n render() {\n if (_.includes(this.props.user.hidden, 'viewComment')) {\n return null;\n }\n return (\n <View style={[styles.commentSectionOuter, this.props.style]}>\n {this.renderComments()}\n {this.renderReportLoading()}\n {this.renderCommentDeleteConfirm()}\n {this.renderCommentReportConfirm()}\n {this.renderCommentBlockConfirm()}\n {this.renderCommentUnblockConfirm()}\n {this.renderCommentReportStatus()}\n {this.renderCommentImagePopup()}\n </View>\n );\n }\n}\n\nconst styles = StyleSheet.create({\n commentSectionOuter: {\n flex: 1,\n paddingHorizontal: 16,\n },\n commentSection: {\n flex: 1,\n paddingVertical: 12,\n borderTopColor: LINEGREY,\n borderTopWidth: 1,\n },\n commentCount: {\n fontFamily: 'sf-semibold',\n color: TEXT_DARKEST,\n flex: 1,\n marginTop: 4,\n },\n comment: {\n marginTop: 16,\n },\n commentFlex: {\n flexDirection: 'row',\n },\n commentProfilePic: {\n marginRight: 8,\n },\n commentBlock: {\n flex: 1,\n backgroundColor: BG_GREY,\n borderRadius: 5,\n padding: 8,\n },\n commentTitleRow: {\n flexDirection: 'row-reverse',\n alignItems: 'center',\n },\n commentButtonContainer: {\n width: 24,\n height: 24,\n borderRadius: 12,\n alignItems: 'center',\n justifyContent: 'center',\n },\n commentButtonIcon: {\n fontSize: 13,\n color: '#fff',\n },\n commentName: {\n fontFamily: 'sf-semibold',\n color: TEXT_DARKEST,\n flex: 1,\n },\n commentText: {\n marginTop: 8,\n fontFamily: 'sf-regular',\n color: TEXT_DARKEST,\n },\n commentBottom: {\n flexDirection: 'row-reverse',\n justifyContent: 'space-between',\n alignItems: 'center',\n },\n commentTime: {\n fontFamily: 'sf-regular',\n marginTop: 4,\n color: TEXT_LIGHT,\n textAlign: 'right',\n },\n commentReplies: {\n flex: 1,\n paddingLeft: 48,\n },\n commentRepliesText: {\n fontFamily: 'sf-semibold',\n fontSize: 15,\n },\n multiReplyContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n paddingVertical: 4,\n },\n commentImageContainer: {\n marginTop: 8,\n width: 60,\n height: 60,\n },\n commentImage: {\n width: 60,\n height: 60,\n borderRadius: 2,\n },\n commentsEmpty: {\n fontFamily: 'sf-semibold',\n color: TEXT_DARKEST,\n },\n commentSectionTitleRow: {\n flexDirection: 'row-reverse',\n },\n commentReportText: {\n fontFamily: 'sf-regular',\n fontSize: 14,\n paddingHorizontal: 22,\n textAlign: 'center',\n },\n reportLoadingContainer: {\n paddingVertical: 10,\n },\n goToText: {\n marginTop: 4,\n },\n muteSpinnerContainer: {\n width: 100,\n marginBottom: 6,\n },\n muteContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'flex-end',\n marginBottom: 6,\n },\n mutedForText: {\n fontFamily: 'sf-semibold',\n fontSize: 13,\n marginRight: 8,\n },\n muteButton: {\n borderWidth: 1,\n paddingHorizontal: 8,\n },\n muteButtonInner: {\n flexDirection: 'row',\n alignItems: 'center',\n },\n muteButtonIcon: {\n fontSize: 14,\n },\n muteButtonText: {\n fontFamily: 'sf-semibold',\n fontSize: 14,\n marginLeft: 6,\n },\n});\n\nconst mapStateToProps = state => {\n return {\n colourBrandingMain: getMainBrandingColourFromState(state),\n user: state.user,\n notificationsForComments: getSiteSettingFromState(state, 'NotificationsForComments', false),\n blockedUsers: state.userSettings.blockedUsers || [],\n };\n};\n\nconst commentSection = connect(mapStateToProps, { blockUser, unblockUser }, null, { forwardRef: true })(CommentSection);\nexport { commentSection as CommentSection };\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -4,7 +4,7 @@ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e =
|
|
|
4
4
|
import React, { Component } from 'react';
|
|
5
5
|
import _ from 'lodash';
|
|
6
6
|
import { Text, TouchableOpacity } from 'react-native';
|
|
7
|
-
import { Icon } from '
|
|
7
|
+
import { Icon } from '@rneui/themed';
|
|
8
8
|
import { connect } from 'react-redux';
|
|
9
9
|
import { TEXT_DARK, getMainBrandingColourFromState } from '../colours';
|
|
10
10
|
class DropDownItem extends Component {
|