@plusscommunities/pluss-circles-app 8.0.10-beta.0 → 8.1.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/module/components/chat/ChatList.js +4 -5
- package/dist/module/components/chat/ChatList.js.map +1 -1
- package/dist/module/components/chat/ContactsList.js +1 -2
- package/dist/module/components/chat/ContactsList.js.map +1 -1
- package/dist/module/components/chat/KioskPeoplePage.js +1 -2
- package/dist/module/components/chat/KioskPeoplePage.js.map +1 -1
- package/dist/module/components/common/SwipeableUserListing.js +1 -2
- package/dist/module/components/common/SwipeableUserListing.js.map +1 -1
- package/dist/module/components/common/index.js +1 -1
- package/dist/module/components/common/index.js.map +1 -1
- package/dist/module/components/events/EventInvitePopup.js +1 -2
- package/dist/module/components/events/EventInvitePopup.js.map +1 -1
- package/dist/module/components/groups/EditGroup.js +3 -4
- package/dist/module/components/groups/EditGroup.js.map +1 -1
- package/dist/module/components/groups/GroupDetails.js +5 -6
- package/dist/module/components/groups/GroupDetails.js.map +1 -1
- package/dist/module/components/groups/GroupsWidget.js +1 -2
- package/dist/module/components/groups/GroupsWidget.js.map +1 -1
- package/dist/module/components/groups/NewGroup.js +1 -2
- package/dist/module/components/groups/NewGroup.js.map +1 -1
- package/dist/module/components/groups/PublicGroup.js +1 -2
- package/dist/module/components/groups/PublicGroup.js.map +1 -1
- package/dist/module/components/groups/PublicGroupAction.js +1 -2
- package/dist/module/components/groups/PublicGroupAction.js.map +1 -1
- package/dist/module/components/notifications/GroupInvite.js +2 -3
- package/dist/module/components/notifications/GroupInvite.js.map +1 -1
- package/dist/module/components/notifications/GroupInviteAction.js +1 -2
- package/dist/module/components/notifications/GroupInviteAction.js.map +1 -1
- package/dist/module/components/notifications/GroupMessage.js +1 -2
- package/dist/module/components/notifications/GroupMessage.js.map +1 -1
- package/package.json +3 -8
- package/src/components/chat/ChatList.js +12 -7
- package/src/components/chat/ContactsList.js +1 -2
- package/src/components/chat/KioskPeoplePage.js +1 -2
- package/src/components/common/SwipeableUserListing.js +1 -2
- package/src/components/common/index.js +1 -1
- package/src/components/events/EventInvitePopup.js +1 -1
- package/src/components/groups/EditGroup.js +3 -2
- package/src/components/groups/GroupDetails.js +6 -6
- package/src/components/groups/GroupsWidget.js +1 -2
- package/src/components/groups/NewGroup.js +1 -1
- package/src/components/groups/PublicGroup.js +1 -2
- package/src/components/groups/PublicGroupAction.js +7 -2
- package/src/components/notifications/GroupInvite.js +2 -3
- package/src/components/notifications/GroupInviteAction.js +7 -2
- package/src/components/notifications/GroupMessage.js +1 -2
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import React, { Component } from "react";
|
|
2
|
-
import { Text } from "
|
|
3
|
-
import { View, TouchableOpacity, FlatList, ScrollView } from "react-native";
|
|
2
|
+
import { View, TouchableOpacity, Text, FlatList, ScrollView } from "react-native";
|
|
4
3
|
import { connect } from "react-redux";
|
|
5
4
|
import moment from "moment";
|
|
6
5
|
import _ from "lodash";
|
|
7
6
|
import { Icon } from "@rneui/themed";
|
|
8
|
-
import { ProfilePic, EmptyStateMain } from "../common";
|
|
7
|
+
import { ProfilePic, EmptyStateMain, TextStyle } from "../common";
|
|
9
8
|
import NavigationService from "../../js/NavigationService";
|
|
10
9
|
import { TEXT_DARK, TEXT_MID, TEXT_LIGHT, COLOUR_GREEN, getMainBrandingColourFromState, getSiteSettingFromState } from "../../js";
|
|
11
10
|
import { clearGroupCounter } from "../../actions";
|
|
@@ -191,10 +190,10 @@ class ChatList extends Component {
|
|
|
191
190
|
}
|
|
192
191
|
return /*#__PURE__*/React.createElement(View, {
|
|
193
192
|
style: styles.publicGroupsHeaderContainer
|
|
194
|
-
}, /*#__PURE__*/React.createElement(
|
|
193
|
+
}, /*#__PURE__*/React.createElement(TextStyle, {
|
|
195
194
|
type: "label",
|
|
196
195
|
style: styles.publicGroupsTitle
|
|
197
|
-
}, "Groups You Can Join"), /*#__PURE__*/React.createElement(
|
|
196
|
+
}, "Groups You Can Join"), /*#__PURE__*/React.createElement(TextStyle, {
|
|
198
197
|
type: "body",
|
|
199
198
|
style: styles.publicGroupsHelper
|
|
200
199
|
}, "Any member of your community can join these groups. Tap any group to join."));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Component","Text","View","TouchableOpacity","FlatList","ScrollView","connect","moment","_","Icon","ProfilePic","EmptyStateMain","NavigationService","TEXT_DARK","TEXT_MID","TEXT_LIGHT","COLOUR_GREEN","getMainBrandingColourFromState","getSiteSettingFromState","clearGroupCounter","GroupInvite","CONST_STRINGS","PublicGroup","values","ChatList","constructor","_isMounted","state","showMore","dataSource","invites","publicGroups","componentDidMount","createDataSource","props","setState","UNSAFE_componentWillReceiveProps","nextProps","groups","setTimeout","shouldComponentUpdate","nextState","componentWillUnmount","onPressChat","group","Id","user","uid","navigate","screenCircleChat","chat","onPressBack","goBack","onClosePublicGroup","joined","index","indexOf","splice","newPublicGroups","getChatName","isEmpty","Title","IsPrivate","otherUser","find","Audience","u","userId","displayName","userNames","names","without","Object","keys","length","join","getChatImage","Thumbnail","Image","profilePic","getTimeText","input","gug","local","isBefore","startOf","format","getLastMessage","lastMessage","entityName","text","deleted","chatsToUse","filter","Deleted","messages","orderBy","chats","take","first","getEmptyStateText","options","EmptyText","EMPTY_GROUPS","shouldRenderPublicGroups","circleAllowPublicCircles","category","renderPublicGroupsHeader","createElement","style","styles","publicGroupsHeaderContainer","type","publicGroupsTitle","publicGroupsHelper","renderReply","lastUserKey","name","iconStyle","chatReplyIcon","renderUnreadCounter","counter","isUndefined","counterText","renderChat","chatName","chatImage","unreadCounter","Unread","key","marginTop","activeOpacity","onPress","bind","listItem","Diameter","listItemTextContainer","rowReverse","chatTimeStamp","color","fontFamily","Changed","fill","chatUserName","chatTextBold","numberOfLines","chatLastMessage","renderInvites","source","item","Rejected","map","invite","event","showHeader","renderPublicGroups","onClose","renderListHeader","ListHeaderComponent","isWidget","internalHeader","horizontal","showsHorizontalScrollIndicator","renderEmptyList","isLoading","title","height","paddingTop","marginHorizontal","render","limit","slice","isDataReady","container","mainContainer","keyboardShouldPersistTaps","data","ListEmptyComponent","keyExtractor","renderItem","ListFooterComponent","extraData","Fragment","paddingVertical","card","position","paddingHorizontal","marginBottom","sectionTitleContainer","paddingBottom","justifyContent","sectionTitle","fontSize","flex","flexDirection","alignItems","backgroundColor","extraSeparation","unreadMarker","width","borderRadius","marginLeft","chatLastMessageContainer","paddingRight","marginRight","addButtonContainer","right","bottom","addButton","left","minWidth","textAlign","lineHeight","mapStateToProps","circles","reducerKey","list","unreadCount","colourBrandingMain","allowPublicKey"],"sources":["ChatList.js"],"sourcesContent":["import React, { Component } from \"react\";\nimport { Text } from \"@plusscommunities/pluss-core-app/components\";\nimport { View, TouchableOpacity, FlatList, ScrollView } from \"react-native\";\nimport { connect } from \"react-redux\";\nimport moment from \"moment\";\nimport _ from \"lodash\";\nimport { Icon } from \"@rneui/themed\";\nimport { ProfilePic, EmptyStateMain } from \"../common\";\nimport NavigationService from \"../../js/NavigationService\";\nimport {\n\tTEXT_DARK,\n\tTEXT_MID,\n\tTEXT_LIGHT,\n\tCOLOUR_GREEN,\n\tgetMainBrandingColourFromState,\n\tgetSiteSettingFromState,\n} from \"../../js\";\nimport { clearGroupCounter } from \"../../actions\";\nimport GroupInvite from \"../notifications/GroupInvite\";\nimport { CONST_STRINGS } from \"../../config\";\nimport PublicGroup from \"../groups/PublicGroup\";\nimport { values } from \"../../values.config\";\n\nclass ChatList extends Component {\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._isMounted = false;\n\t\tthis.state = {\n\t\t\tshowMore: true,\n\t\t\tdataSource: [],\n\t\t\tinvites: [],\n\t\t\tpublicGroups: [],\n\t\t};\n\t}\n\n\tasync componentDidMount() {\n\t\tthis._isMounted = true;\n\n\t\tthis.createDataSource(this.props);\n\t\tthis.setState({ publicGroups: this.props.publicGroups });\n\t}\n\n\tUNSAFE_componentWillReceiveProps(nextProps) {\n\t\tif (nextProps.groups !== this.props.groups) {\n\t\t\tsetTimeout(() => {\n\t\t\t\tthis.createDataSource(nextProps);\n\t\t\t}, 500);\n\t\t}\n\t\tif (nextProps.publicGroups !== this.props.publicGroups) {\n\t\t\tthis.setState({\n\t\t\t\tpublicGroups: nextProps.publicGroups,\n\t\t\t});\n\t\t}\n\t}\n\n\tshouldComponentUpdate(nextProps, nextState) {\n\t\treturn (\n\t\t\tnextState.dataSource !== this.state.dataSource ||\n\t\t\tnextState.publicGroups !== this.state.publicGroups ||\n\t\t\tnextState.invites !== this.state.invites\n\t\t);\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis._isMounted = false;\n\t}\n\n\tonPressChat(group) {\n\t\tthis.props.clearGroupCounter(group.Id, this.props.user.uid);\n\t\tNavigationService.navigate(values.screenCircleChat, { chat: group });\n\t}\n\n\tonPressBack() {\n\t\tNavigationService.goBack();\n\t}\n\n\tonClosePublicGroup(group, joined) {\n\t\tif (joined) {\n\t\t\tconst index = this.state.publicGroups.indexOf(group);\n\t\t\tif (index > -1) {\n\t\t\t\tthis.state.publicGroups.splice(index, 1);\n\t\t\t\tconst newPublicGroups = this.state.publicGroups;\n\t\t\t\tif (this._isMounted) {\n\t\t\t\t\tthis.setState({\n\t\t\t\t\t\tpublicGroups: newPublicGroups,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tgetChatName(chat) {\n\t\tif (!_.isEmpty(chat.Title)) {\n\t\t\treturn chat.Title;\n\t\t}\n\t\tif (chat.IsPrivate) {\n\t\t\tconst otherUser = _.find(chat.Audience || [], (u) => {\n\t\t\t\treturn u.userId !== this.props.user.Id;\n\t\t\t});\n\t\t\tif (otherUser) {\n\t\t\t\treturn otherUser.displayName;\n\t\t\t}\n\t\t\treturn null;\n\t\t}\n\t\tif (chat.userNames) {\n\t\t\tconst names = _.without(\n\t\t\t\tObject.keys(chat.userNames),\n\t\t\t\tthis.props.user.displayName,\n\t\t\t);\n\t\t\treturn names.length > 2\n\t\t\t\t? `${names[0]} & ${names.length - 1} others`\n\t\t\t\t: names.join(\", \");\n\t\t}\n\t\treturn \"no title detected\";\n\t}\n\n\tgetChatImage(chat) {\n\t\tif (!_.isEmpty(chat.Thumbnail)) {\n\t\t\treturn chat.Thumbnail;\n\t\t}\n\t\tif (!_.isEmpty(chat.Image)) {\n\t\t\treturn chat.Image;\n\t\t}\n\t\tif (chat.IsPrivate) {\n\t\t\tconst otherUser = _.find(chat.Audience || [], (u) => {\n\t\t\t\treturn u.userId !== this.props.user.Id;\n\t\t\t});\n\t\t\tif (otherUser) {\n\t\t\t\treturn otherUser.profilePic;\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tgetTimeText(input) {\n\t\tconst gug = moment(input).local();\n\t\tif (gug.isBefore(moment().local().startOf(\"d\"))) {\n\t\t\treturn gug.format(\"D MMM\");\n\t\t}\n\t\treturn gug.format(\"h:mma\");\n\t}\n\n\tgetLastMessage(chat) {\n\t\tif (!chat.lastMessage) {\n\t\t\tif (chat.IsPrivate) {\n\t\t\t\treturn \"\";\n\t\t\t}\n\t\t\treturn `New ${values.entityName}`;\n\t\t}\n\t\tif (typeof chat.lastMessage === \"string\") {\n\t\t\treturn chat.lastMessage;\n\t\t}\n\t\t// Handle deleted messages or missing text\n\t\tif (!chat.lastMessage.text) {\n\t\t\treturn chat.lastMessage.deleted ? \"[Message deleted]\" : \"\";\n\t\t}\n\t\t// TODO recognise user name of last message\n\t\treturn chat.lastMessage.text;\n\t}\n\n\tshowMore() {\n\t\tif (this._isMounted) {\n\t\t\tthis.setState({ showMore: true });\n\t\t}\n\t\tsetTimeout(() => {\n\t\t\tthis.createDataSource(this.props);\n\t\t}, 50);\n\t}\n\n\tcreateDataSource(nextProps) {\n\t\tconst chatsToUse = _.filter(nextProps.groups, (chat) => {\n\t\t\treturn (\n\t\t\t\t!_.isEmpty(chat) &&\n\t\t\t\t!chat.deleted &&\n\t\t\t\t!chat.Deleted &&\n\t\t\t\tchat != null &&\n\t\t\t\t!chat.IsPrivate\n\t\t\t);\n\t\t});\n\n\t\tconst messages = _.orderBy(chatsToUse, \"Changed\", \"desc\");\n\n\t\tconst chats = [...(!this.state.showMore ? _.take(messages, 3) : messages)];\n\t\t// const chats = [\n\t\t// ...messages,\n\t\t// !this.state.showMore && chatsToUse.length > 3 ? { type: 'more' } : {}\n\t\t// ];\n\n\t\tif (!_.isEmpty(chats[0]) && chats[0] != null) {\n\t\t\tchats[0].first = true;\n\t\t}\n\n\t\tlet invites = nextProps.invites;\n\t\tif (invites == null) {\n\t\t\tinvites = [];\n\t\t}\n\t\tif (this._isMounted) {\n\t\t\tthis.setState({\n\t\t\t\tdataSource: chats,\n\t\t\t\tinvites,\n\t\t\t});\n\t\t}\n\t}\n\n\tgetEmptyStateText() {\n\t\tif (this.props.options && !_.isEmpty(this.props.options.EmptyText)) {\n\t\t\treturn this.props.options.EmptyText;\n\t\t}\n\t\treturn CONST_STRINGS.EMPTY_GROUPS;\n\t}\n\n\tshouldRenderPublicGroups() {\n\t\tif (!this.props.circleAllowPublicCircles) {\n\t\t\treturn false;\n\t\t}\n\t\tif (_.isEmpty(this.state.publicGroups)) {\n\t\t\treturn false;\n\t\t}\n\t\tif (this.props.user.category === \"family\") {\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t}\n\n\trenderPublicGroupsHeader() {\n\t\tif (!this.shouldRenderPublicGroups()) {\n\t\t\treturn null;\n\t\t}\n\t\treturn (\n\t\t\t<View style={styles.publicGroupsHeaderContainer}>\n\t\t\t\t<Text type=\"label\" style={styles.publicGroupsTitle}>\n\t\t\t\t\tGroups You Can Join\n\t\t\t\t</Text>\n\t\t\t\t<Text type=\"body\" style={styles.publicGroupsHelper}>\n\t\t\t\t\tAny member of your community can join these groups. Tap any group to\n\t\t\t\t\tjoin.\n\t\t\t\t</Text>\n\t\t\t</View>\n\t\t);\n\t}\n\n\trenderReply(chat) {\n\t\tif (chat.lastUserKey === this.props.user.uid) {\n\t\t\treturn (\n\t\t\t\t<Icon\n\t\t\t\t\tname=\"mail-reply\"\n\t\t\t\t\ttype=\"font-awesome\"\n\t\t\t\t\ticonStyle={styles.chatReplyIcon}\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\t\treturn null;\n\t}\n\n\trenderUnreadCounter(counter) {\n\t\tif (_.isUndefined(counter) || counter < 1) {\n\t\t\treturn null;\n\t\t}\n\t\treturn (\n\t\t\t<View style={styles.counter}>\n\t\t\t\t<Text style={styles.counterText}>{counter}</Text>\n\t\t\t</View>\n\t\t);\n\t}\n\n\trenderChat(chat) {\n\t\tif (_.isEmpty(chat) || chat.deleted || chat == null) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst chatName = this.getChatName(chat);\n\t\tconst chatImage = this.getChatImage(chat);\n\t\tconst unreadCounter = (chat.Unread && chat.Unread[this.props.user.Id]) || 0;\n\n\t\treturn (\n\t\t\t<View\n\t\t\t\tkey={`chat${chat.Id}`}\n\t\t\t\tstyle={[\n\t\t\t\t\tchat.first && _.isEmpty(this.state.invites) && { marginTop: 8 },\n\t\t\t\t]}\n\t\t\t>\n\t\t\t\t<TouchableOpacity\n\t\t\t\t\tactiveOpacity={0.9}\n\t\t\t\t\tonPress={this.onPressChat.bind(this, chat)}\n\t\t\t\t>\n\t\t\t\t\t<View\n\t\t\t\t\t\tstyle={[\n\t\t\t\t\t\t\tstyles.listItem,\n\t\t\t\t\t\t\t// extraSeparation && styles.extraSeparation\n\t\t\t\t\t\t]}\n\t\t\t\t\t>\n\t\t\t\t\t\t<ProfilePic Diameter={40} name={chatName} ProfilePic={chatImage} />\n\t\t\t\t\t\t<View style={styles.listItemTextContainer}>\n\t\t\t\t\t\t\t<View style={styles.rowReverse}>\n\t\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\t\tstyle={[\n\t\t\t\t\t\t\t\t\t\tstyles.chatTimeStamp,\n\t\t\t\t\t\t\t\t\t\t!!unreadCounter && {\n\t\t\t\t\t\t\t\t\t\t\tcolor: TEXT_DARK,\n\t\t\t\t\t\t\t\t\t\t\tfontFamily: \"sf-bold\",\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t]}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{this.getTimeText(chat.Changed)}\n\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t<View style={styles.fill}>\n\t\t\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\t\t\tstyle={[\n\t\t\t\t\t\t\t\t\t\t\tstyles.chatUserName,\n\t\t\t\t\t\t\t\t\t\t\t!!unreadCounter && styles.chatTextBold,\n\t\t\t\t\t\t\t\t\t\t]}\n\t\t\t\t\t\t\t\t\t\tnumberOfLines={1}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{chatName}\n\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t<View style={styles.rowReverse}>\n\t\t\t\t\t\t\t\t{this.renderUnreadCounter(unreadCounter)}\n\t\t\t\t\t\t\t\t<View style={styles.fill}>\n\t\t\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\t\t\tstyle={[styles.chatLastMessage, !!unreadCounter && {}]}\n\t\t\t\t\t\t\t\t\t\tnumberOfLines={1}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{this.getLastMessage(chat)}\n\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t</View>\n\t\t\t\t\t</View>\n\t\t\t\t</TouchableOpacity>\n\t\t\t</View>\n\t\t);\n\t}\n\n\trenderInvites() {\n\t\tconst source = _.filter(this.state.invites, (item) => {\n\t\t\treturn !item.Deleted && !item.Rejected;\n\t\t});\n\n\t\treturn source.map((invite, index) => {\n\t\t\tif (invite != null) {\n\t\t\t\treturn (\n\t\t\t\t\t<View key={invite.Id}>\n\t\t\t\t\t\t<GroupInvite\n\t\t\t\t\t\t\tinvite={invite}\n\t\t\t\t\t\t\tevent={invite}\n\t\t\t\t\t\t\tindex={index}\n\t\t\t\t\t\t\tkey={invite.Id}\n\t\t\t\t\t\t\tshowHeader\n\t\t\t\t\t\t/>\n\t\t\t\t\t</View>\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn null;\n\t\t});\n\t}\n\n\trenderPublicGroups() {\n\t\tif (!this.shouldRenderPublicGroups()) {\n\t\t\treturn null;\n\t\t}\n\t\treturn this.state.publicGroups.map((group, index) => {\n\t\t\tif (!group) {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\treturn (\n\t\t\t\t<View key={group.Id}>\n\t\t\t\t\t<PublicGroup\n\t\t\t\t\t\tgroup={group}\n\t\t\t\t\t\tindex={index}\n\t\t\t\t\t\tkey={group.Id}\n\t\t\t\t\t\tshowHeader\n\t\t\t\t\t\tonClose={this.onClosePublicGroup.bind(this, group)}\n\t\t\t\t\t/>\n\t\t\t\t</View>\n\t\t\t);\n\t\t});\n\t}\n\n\trenderListHeader() {\n\t\tif (\n\t\t\t!this.props.ListHeaderComponent &&\n\t\t\t((_.isEmpty(this.state.invites) && !this.shouldRenderPublicGroups()) ||\n\t\t\t\tthis.props.isWidget)\n\t\t) {\n\t\t\treturn null;\n\t\t}\n\t\tlet internalHeader = null;\n\t\tif (!_.isEmpty(this.state.invites) || this.shouldRenderPublicGroups()) {\n\t\t\tinternalHeader = (\n\t\t\t\t<View>\n\t\t\t\t\t{this.renderPublicGroupsHeader()}\n\t\t\t\t\t<ScrollView horizontal showsHorizontalScrollIndicator={false}>\n\t\t\t\t\t\t{!_.isEmpty(this.state.invites) && this.renderInvites()}\n\t\t\t\t\t\t{this.renderPublicGroups()}\n\t\t\t\t\t</ScrollView>\n\t\t\t\t</View>\n\t\t\t);\n\t\t}\n\t\treturn (\n\t\t\t<View>\n\t\t\t\t{this.props.ListHeaderComponent}\n\t\t\t\t{internalHeader}\n\t\t\t</View>\n\t\t);\n\t}\n\n\trenderEmptyList() {\n\t\tif (this.props.isLoading)\n\t\t\treturn (\n\t\t\t\t<EmptyStateMain\n\t\t\t\t\ttitle=\"Loading\"\n\t\t\t\t\tstyle={{ height: 180, paddingTop: 16, marginHorizontal: 16 }}\n\t\t\t\t/>\n\t\t\t);\n\t\tif (this.props.isWidget)\n\t\t\treturn (\n\t\t\t\t<EmptyStateMain\n\t\t\t\t\ttitle={this.getEmptyStateText()}\n\t\t\t\t\tstyle={{ height: 180, paddingTop: 16, marginHorizontal: 16 }}\n\t\t\t\t/>\n\t\t\t);\n\t\treturn (\n\t\t\t<EmptyStateMain\n\t\t\t\ttitle={this.getEmptyStateText()}\n\t\t\t\tstyle={{ marginHorizontal: 16, marginTop: 16 }}\n\t\t\t/>\n\t\t);\n\t}\n\n\trender() {\n\t\tconst dataSource = this.props.limit\n\t\t\t? this.state.dataSource.slice(0, this.props.limit)\n\t\t\t: this.state.dataSource;\n\t\tconst isDataReady = !_.isEmpty(this.state.dataSource);\n\n\t\treturn (\n\t\t\t<View\n\t\t\t\tstyle={[styles.container, !this.props.isWidget && styles.mainContainer]}\n\t\t\t>\n\t\t\t\t{isDataReady && (\n\t\t\t\t\t<FlatList\n\t\t\t\t\t\tkeyboardShouldPersistTaps=\"always\"\n\t\t\t\t\t\tstyle={styles.fill}\n\t\t\t\t\t\tdata={dataSource}\n\t\t\t\t\t\tListEmptyComponent={this.renderEmptyList()}\n\t\t\t\t\t\tListHeaderComponent={this.renderListHeader()}\n\t\t\t\t\t\tkeyExtractor={(item) => item.Id}\n\t\t\t\t\t\trenderItem={({ item, index }) => this.renderChat(item, index)}\n\t\t\t\t\t\tListFooterComponent={\n\t\t\t\t\t\t\t!this.props.isWidget && <View style={{ height: 15 }} />\n\t\t\t\t\t\t}\n\t\t\t\t\t\textraData={this.state}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t\t{!isDataReady && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{this.renderListHeader()}\n\t\t\t\t\t\t{this.renderEmptyList()}\n\t\t\t\t\t</>\n\t\t\t\t)}\n\t\t\t</View>\n\t\t);\n\t}\n}\n\nconst styles = {\n\tmainContainer: {\n\t\tpaddingVertical: 16,\n\t},\n\tcard: {\n\t\tposition: \"relative\",\n\t\tpaddingHorizontal: 0,\n\t\tpaddingVertical: 16,\n\t\tmarginBottom: 8,\n\t},\n\tsectionTitleContainer: {\n\t\theight: 30,\n\t\tpaddingHorizontal: 16,\n\t\tpaddingBottom: 8,\n\t\tjustifyContent: \"center\",\n\t},\n\tsectionTitle: {\n\t\tfontSize: 16,\n\t\tfontFamily: \"sf-semibold\",\n\t\tcolor: TEXT_DARK,\n\t},\n\tcontainer: {\n\t\tflex: 1,\n\t\tposition: \"relative\",\n\t},\n\trowReverse: {\n\t\tflexDirection: \"row-reverse\",\n\t\talignItems: \"center\",\n\t},\n\tfill: {\n\t\tflex: 1,\n\t\tbackgroundColor: \"#fff\",\n\t},\n\tlistItem: {\n\t\tbackgroundColor: \"#fff\",\n\t\tpaddingHorizontal: 15,\n\t\tpaddingBottom: 16,\n\t\tjustifyContent: \"flex-start\",\n\t\tflexDirection: \"row\",\n\t\tposition: \"relative\",\n\t},\n\textraSeparation: {\n\t\tmarginTop: 15,\n\t},\n\tunreadMarker: {\n\t\tbackgroundColor: \"transparent\",\n\t\tmarginTop: 35,\n\t\twidth: 10,\n\t\theight: 10,\n\t\tborderRadius: 5,\n\t},\n\tlistItemTextContainer: {\n\t\tflex: 1,\n\t\tmarginLeft: 10,\n\t},\n\tchatUserName: {\n\t\tfontSize: 16,\n\t\tfontFamily: \"sf-bold\",\n\t\tcolor: TEXT_DARK,\n\t},\n\tchatLastMessageContainer: {\n\t\tflexDirection: \"row\",\n\t\tjustifyContent: \"flex-start\",\n\t\tpaddingRight: 20,\n\t},\n\tchatReplyIcon: {\n\t\tfontSize: 18,\n\t\tfontFamily: \"sf-regular\",\n\t\tcolor: TEXT_MID,\n\t\tmarginRight: 5,\n\t},\n\tchatLastMessage: {\n\t\tfontSize: 13,\n\t\tfontFamily: \"sf-medium\",\n\t\tcolor: TEXT_LIGHT,\n\t\tmarginRight: 5,\n\t},\n\tchatTextBold: {\n\t\tfontFamily: \"sf-bold\",\n\t},\n\tchatTimeStamp: {\n\t\tfontSize: 10,\n\t\tfontFamily: \"sf-semibold\",\n\t\tcolor: TEXT_LIGHT,\n\t},\n\taddButtonContainer: {\n\t\tposition: \"absolute\",\n\t\tright: 20,\n\t\tbottom: 20,\n\t},\n\taddButton: {\n\t\tleft: 0,\n\t\twidth: 45,\n\t\theight: 45,\n\t},\n\tcounter: {\n\t\tborderRadius: 10,\n\t\theight: 20,\n\t\tjustifyContent: \"center\",\n\t\tminWidth: 20,\n\t\tpaddingHorizontal: 4,\n\t\tbackgroundColor: COLOUR_GREEN,\n\t},\n\tcounterText: {\n\t\tcolor: \"#fff\",\n\t\tfontSize: 12,\n\t\tfontFamily: \"sf-semibold\",\n\t\ttextAlign: \"center\",\n\t},\n\tpublicGroupsHeaderContainer: {\n\t\tpaddingHorizontal: 16,\n\t\tpaddingTop: 16,\n\t\tpaddingBottom: 8,\n\t},\n\tpublicGroupsTitle: {\n\t\tmarginBottom: 4,\n\t},\n\tpublicGroupsHelper: {\n\t\tlineHeight: 20,\n\t},\n};\n\nconst mapStateToProps = (state) => {\n\tconst circles = state[values.reducerKey];\n\tconst { user } = state;\n\n\treturn {\n\t\tgroups: circles.list,\n\t\tinvites: circles.invites,\n\t\tunreadCount: circles && circles.unreadCount ? circles.unreadCount : 0,\n\t\tuser,\n\t\tcolourBrandingMain: getMainBrandingColourFromState(state),\n\t\tcircleAllowPublicCircles: getSiteSettingFromState(\n\t\t\tstate,\n\t\t\tvalues.allowPublicKey,\n\t\t),\n\t};\n};\n\nexport default connect(mapStateToProps, { clearGroupCounter })(ChatList);\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["React","Component","View","TouchableOpacity","Text","FlatList","ScrollView","connect","moment","_","Icon","ProfilePic","EmptyStateMain","TextStyle","NavigationService","TEXT_DARK","TEXT_MID","TEXT_LIGHT","COLOUR_GREEN","getMainBrandingColourFromState","getSiteSettingFromState","clearGroupCounter","GroupInvite","CONST_STRINGS","PublicGroup","values","ChatList","constructor","_isMounted","state","showMore","dataSource","invites","publicGroups","componentDidMount","createDataSource","props","setState","UNSAFE_componentWillReceiveProps","nextProps","groups","setTimeout","shouldComponentUpdate","nextState","componentWillUnmount","onPressChat","group","Id","user","uid","navigate","screenCircleChat","chat","onPressBack","goBack","onClosePublicGroup","joined","index","indexOf","splice","newPublicGroups","getChatName","isEmpty","Title","IsPrivate","otherUser","find","Audience","u","userId","displayName","userNames","names","without","Object","keys","length","join","getChatImage","Thumbnail","Image","profilePic","getTimeText","input","gug","local","isBefore","startOf","format","getLastMessage","lastMessage","entityName","text","deleted","chatsToUse","filter","Deleted","messages","orderBy","chats","take","first","getEmptyStateText","options","EmptyText","EMPTY_GROUPS","shouldRenderPublicGroups","circleAllowPublicCircles","category","renderPublicGroupsHeader","createElement","style","styles","publicGroupsHeaderContainer","type","publicGroupsTitle","publicGroupsHelper","renderReply","lastUserKey","name","iconStyle","chatReplyIcon","renderUnreadCounter","counter","isUndefined","counterText","renderChat","chatName","chatImage","unreadCounter","Unread","key","marginTop","activeOpacity","onPress","bind","listItem","Diameter","listItemTextContainer","rowReverse","chatTimeStamp","color","fontFamily","Changed","fill","chatUserName","chatTextBold","numberOfLines","chatLastMessage","renderInvites","source","item","Rejected","map","invite","event","showHeader","renderPublicGroups","onClose","renderListHeader","ListHeaderComponent","isWidget","internalHeader","horizontal","showsHorizontalScrollIndicator","renderEmptyList","isLoading","title","height","paddingTop","marginHorizontal","render","limit","slice","isDataReady","container","mainContainer","keyboardShouldPersistTaps","data","ListEmptyComponent","keyExtractor","renderItem","ListFooterComponent","extraData","Fragment","paddingVertical","card","position","paddingHorizontal","marginBottom","sectionTitleContainer","paddingBottom","justifyContent","sectionTitle","fontSize","flex","flexDirection","alignItems","backgroundColor","extraSeparation","unreadMarker","width","borderRadius","marginLeft","chatLastMessageContainer","paddingRight","marginRight","addButtonContainer","right","bottom","addButton","left","minWidth","textAlign","lineHeight","mapStateToProps","circles","reducerKey","list","unreadCount","colourBrandingMain","allowPublicKey"],"sources":["ChatList.js"],"sourcesContent":["import React, { Component } from \"react\";\nimport {\n\tView,\n\tTouchableOpacity,\n\tText,\n\tFlatList,\n\tScrollView,\n} from \"react-native\";\nimport { connect } from \"react-redux\";\nimport moment from \"moment\";\nimport _ from \"lodash\";\nimport { Icon } from \"@rneui/themed\";\nimport { ProfilePic, EmptyStateMain, TextStyle } from \"../common\";\nimport NavigationService from \"../../js/NavigationService\";\nimport {\n\tTEXT_DARK,\n\tTEXT_MID,\n\tTEXT_LIGHT,\n\tCOLOUR_GREEN,\n\tgetMainBrandingColourFromState,\n\tgetSiteSettingFromState,\n} from \"../../js\";\nimport { clearGroupCounter } from \"../../actions\";\nimport GroupInvite from \"../notifications/GroupInvite\";\nimport { CONST_STRINGS } from \"../../config\";\nimport PublicGroup from \"../groups/PublicGroup\";\nimport { values } from \"../../values.config\";\n\nclass ChatList extends Component {\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._isMounted = false;\n\t\tthis.state = {\n\t\t\tshowMore: true,\n\t\t\tdataSource: [],\n\t\t\tinvites: [],\n\t\t\tpublicGroups: [],\n\t\t};\n\t}\n\n\tasync componentDidMount() {\n\t\tthis._isMounted = true;\n\n\t\tthis.createDataSource(this.props);\n\t\tthis.setState({ publicGroups: this.props.publicGroups });\n\t}\n\n\tUNSAFE_componentWillReceiveProps(nextProps) {\n\t\tif (nextProps.groups !== this.props.groups) {\n\t\t\tsetTimeout(() => {\n\t\t\t\tthis.createDataSource(nextProps);\n\t\t\t}, 500);\n\t\t}\n\t\tif (nextProps.publicGroups !== this.props.publicGroups) {\n\t\t\tthis.setState({\n\t\t\t\tpublicGroups: nextProps.publicGroups,\n\t\t\t});\n\t\t}\n\t}\n\n\tshouldComponentUpdate(nextProps, nextState) {\n\t\treturn (\n\t\t\tnextState.dataSource !== this.state.dataSource ||\n\t\t\tnextState.publicGroups !== this.state.publicGroups ||\n\t\t\tnextState.invites !== this.state.invites\n\t\t);\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis._isMounted = false;\n\t}\n\n\tonPressChat(group) {\n\t\tthis.props.clearGroupCounter(group.Id, this.props.user.uid);\n\t\tNavigationService.navigate(values.screenCircleChat, { chat: group });\n\t}\n\n\tonPressBack() {\n\t\tNavigationService.goBack();\n\t}\n\n\tonClosePublicGroup(group, joined) {\n\t\tif (joined) {\n\t\t\tconst index = this.state.publicGroups.indexOf(group);\n\t\t\tif (index > -1) {\n\t\t\t\tthis.state.publicGroups.splice(index, 1);\n\t\t\t\tconst newPublicGroups = this.state.publicGroups;\n\t\t\t\tif (this._isMounted) {\n\t\t\t\t\tthis.setState({\n\t\t\t\t\t\tpublicGroups: newPublicGroups,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tgetChatName(chat) {\n\t\tif (!_.isEmpty(chat.Title)) {\n\t\t\treturn chat.Title;\n\t\t}\n\t\tif (chat.IsPrivate) {\n\t\t\tconst otherUser = _.find(chat.Audience || [], (u) => {\n\t\t\t\treturn u.userId !== this.props.user.Id;\n\t\t\t});\n\t\t\tif (otherUser) {\n\t\t\t\treturn otherUser.displayName;\n\t\t\t}\n\t\t\treturn null;\n\t\t}\n\t\tif (chat.userNames) {\n\t\t\tconst names = _.without(\n\t\t\t\tObject.keys(chat.userNames),\n\t\t\t\tthis.props.user.displayName,\n\t\t\t);\n\t\t\treturn names.length > 2\n\t\t\t\t? `${names[0]} & ${names.length - 1} others`\n\t\t\t\t: names.join(\", \");\n\t\t}\n\t\treturn \"no title detected\";\n\t}\n\n\tgetChatImage(chat) {\n\t\tif (!_.isEmpty(chat.Thumbnail)) {\n\t\t\treturn chat.Thumbnail;\n\t\t}\n\t\tif (!_.isEmpty(chat.Image)) {\n\t\t\treturn chat.Image;\n\t\t}\n\t\tif (chat.IsPrivate) {\n\t\t\tconst otherUser = _.find(chat.Audience || [], (u) => {\n\t\t\t\treturn u.userId !== this.props.user.Id;\n\t\t\t});\n\t\t\tif (otherUser) {\n\t\t\t\treturn otherUser.profilePic;\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tgetTimeText(input) {\n\t\tconst gug = moment(input).local();\n\t\tif (gug.isBefore(moment().local().startOf(\"d\"))) {\n\t\t\treturn gug.format(\"D MMM\");\n\t\t}\n\t\treturn gug.format(\"h:mma\");\n\t}\n\n\tgetLastMessage(chat) {\n\t\tif (!chat.lastMessage) {\n\t\t\tif (chat.IsPrivate) {\n\t\t\t\treturn \"\";\n\t\t\t}\n\t\t\treturn `New ${values.entityName}`;\n\t\t}\n\t\tif (typeof chat.lastMessage === \"string\") {\n\t\t\treturn chat.lastMessage;\n\t\t}\n\t\t// Handle deleted messages or missing text\n\t\tif (!chat.lastMessage.text) {\n\t\t\treturn chat.lastMessage.deleted ? \"[Message deleted]\" : \"\";\n\t\t}\n\t\t// TODO recognise user name of last message\n\t\treturn chat.lastMessage.text;\n\t}\n\n\tshowMore() {\n\t\tif (this._isMounted) {\n\t\t\tthis.setState({ showMore: true });\n\t\t}\n\t\tsetTimeout(() => {\n\t\t\tthis.createDataSource(this.props);\n\t\t}, 50);\n\t}\n\n\tcreateDataSource(nextProps) {\n\t\tconst chatsToUse = _.filter(nextProps.groups, (chat) => {\n\t\t\treturn (\n\t\t\t\t!_.isEmpty(chat) &&\n\t\t\t\t!chat.deleted &&\n\t\t\t\t!chat.Deleted &&\n\t\t\t\tchat != null &&\n\t\t\t\t!chat.IsPrivate\n\t\t\t);\n\t\t});\n\n\t\tconst messages = _.orderBy(chatsToUse, \"Changed\", \"desc\");\n\n\t\tconst chats = [...(!this.state.showMore ? _.take(messages, 3) : messages)];\n\t\t// const chats = [\n\t\t// ...messages,\n\t\t// !this.state.showMore && chatsToUse.length > 3 ? { type: 'more' } : {}\n\t\t// ];\n\n\t\tif (!_.isEmpty(chats[0]) && chats[0] != null) {\n\t\t\tchats[0].first = true;\n\t\t}\n\n\t\tlet invites = nextProps.invites;\n\t\tif (invites == null) {\n\t\t\tinvites = [];\n\t\t}\n\t\tif (this._isMounted) {\n\t\t\tthis.setState({\n\t\t\t\tdataSource: chats,\n\t\t\t\tinvites,\n\t\t\t});\n\t\t}\n\t}\n\n\tgetEmptyStateText() {\n\t\tif (this.props.options && !_.isEmpty(this.props.options.EmptyText)) {\n\t\t\treturn this.props.options.EmptyText;\n\t\t}\n\t\treturn CONST_STRINGS.EMPTY_GROUPS;\n\t}\n\n\tshouldRenderPublicGroups() {\n\t\tif (!this.props.circleAllowPublicCircles) {\n\t\t\treturn false;\n\t\t}\n\t\tif (_.isEmpty(this.state.publicGroups)) {\n\t\t\treturn false;\n\t\t}\n\t\tif (this.props.user.category === \"family\") {\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t}\n\n\trenderPublicGroupsHeader() {\n\t\tif (!this.shouldRenderPublicGroups()) {\n\t\t\treturn null;\n\t\t}\n\t\treturn (\n\t\t\t<View style={styles.publicGroupsHeaderContainer}>\n\t\t\t\t<TextStyle type=\"label\" style={styles.publicGroupsTitle}>\n\t\t\t\t\tGroups You Can Join\n\t\t\t\t</TextStyle>\n\t\t\t\t<TextStyle type=\"body\" style={styles.publicGroupsHelper}>\n\t\t\t\t\tAny member of your community can join these groups. Tap any group to\n\t\t\t\t\tjoin.\n\t\t\t\t</TextStyle>\n\t\t\t</View>\n\t\t);\n\t}\n\n\trenderReply(chat) {\n\t\tif (chat.lastUserKey === this.props.user.uid) {\n\t\t\treturn (\n\t\t\t\t<Icon\n\t\t\t\t\tname=\"mail-reply\"\n\t\t\t\t\ttype=\"font-awesome\"\n\t\t\t\t\ticonStyle={styles.chatReplyIcon}\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\t\treturn null;\n\t}\n\n\trenderUnreadCounter(counter) {\n\t\tif (_.isUndefined(counter) || counter < 1) {\n\t\t\treturn null;\n\t\t}\n\t\treturn (\n\t\t\t<View style={styles.counter}>\n\t\t\t\t<Text style={styles.counterText}>{counter}</Text>\n\t\t\t</View>\n\t\t);\n\t}\n\n\trenderChat(chat) {\n\t\tif (_.isEmpty(chat) || chat.deleted || chat == null) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst chatName = this.getChatName(chat);\n\t\tconst chatImage = this.getChatImage(chat);\n\t\tconst unreadCounter = (chat.Unread && chat.Unread[this.props.user.Id]) || 0;\n\n\t\treturn (\n\t\t\t<View\n\t\t\t\tkey={`chat${chat.Id}`}\n\t\t\t\tstyle={[\n\t\t\t\t\tchat.first && _.isEmpty(this.state.invites) && { marginTop: 8 },\n\t\t\t\t]}\n\t\t\t>\n\t\t\t\t<TouchableOpacity\n\t\t\t\t\tactiveOpacity={0.9}\n\t\t\t\t\tonPress={this.onPressChat.bind(this, chat)}\n\t\t\t\t>\n\t\t\t\t\t<View\n\t\t\t\t\t\tstyle={[\n\t\t\t\t\t\t\tstyles.listItem,\n\t\t\t\t\t\t\t// extraSeparation && styles.extraSeparation\n\t\t\t\t\t\t]}\n\t\t\t\t\t>\n\t\t\t\t\t\t<ProfilePic Diameter={40} name={chatName} ProfilePic={chatImage} />\n\t\t\t\t\t\t<View style={styles.listItemTextContainer}>\n\t\t\t\t\t\t\t<View style={styles.rowReverse}>\n\t\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\t\tstyle={[\n\t\t\t\t\t\t\t\t\t\tstyles.chatTimeStamp,\n\t\t\t\t\t\t\t\t\t\t!!unreadCounter && {\n\t\t\t\t\t\t\t\t\t\t\tcolor: TEXT_DARK,\n\t\t\t\t\t\t\t\t\t\t\tfontFamily: \"sf-bold\",\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t]}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{this.getTimeText(chat.Changed)}\n\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t<View style={styles.fill}>\n\t\t\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\t\t\tstyle={[\n\t\t\t\t\t\t\t\t\t\t\tstyles.chatUserName,\n\t\t\t\t\t\t\t\t\t\t\t!!unreadCounter && styles.chatTextBold,\n\t\t\t\t\t\t\t\t\t\t]}\n\t\t\t\t\t\t\t\t\t\tnumberOfLines={1}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{chatName}\n\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t<View style={styles.rowReverse}>\n\t\t\t\t\t\t\t\t{this.renderUnreadCounter(unreadCounter)}\n\t\t\t\t\t\t\t\t<View style={styles.fill}>\n\t\t\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\t\t\tstyle={[styles.chatLastMessage, !!unreadCounter && {}]}\n\t\t\t\t\t\t\t\t\t\tnumberOfLines={1}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{this.getLastMessage(chat)}\n\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t</View>\n\t\t\t\t\t</View>\n\t\t\t\t</TouchableOpacity>\n\t\t\t</View>\n\t\t);\n\t}\n\n\trenderInvites() {\n\t\tconst source = _.filter(this.state.invites, (item) => {\n\t\t\treturn !item.Deleted && !item.Rejected;\n\t\t});\n\n\t\treturn source.map((invite, index) => {\n\t\t\tif (invite != null) {\n\t\t\t\treturn (\n\t\t\t\t\t<View key={invite.Id}>\n\t\t\t\t\t\t<GroupInvite\n\t\t\t\t\t\t\tinvite={invite}\n\t\t\t\t\t\t\tevent={invite}\n\t\t\t\t\t\t\tindex={index}\n\t\t\t\t\t\t\tkey={invite.Id}\n\t\t\t\t\t\t\tshowHeader\n\t\t\t\t\t\t/>\n\t\t\t\t\t</View>\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn null;\n\t\t});\n\t}\n\n\trenderPublicGroups() {\n\t\tif (!this.shouldRenderPublicGroups()) {\n\t\t\treturn null;\n\t\t}\n\t\treturn this.state.publicGroups.map((group, index) => {\n\t\t\tif (!group) {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\treturn (\n\t\t\t\t<View key={group.Id}>\n\t\t\t\t\t<PublicGroup\n\t\t\t\t\t\tgroup={group}\n\t\t\t\t\t\tindex={index}\n\t\t\t\t\t\tkey={group.Id}\n\t\t\t\t\t\tshowHeader\n\t\t\t\t\t\tonClose={this.onClosePublicGroup.bind(this, group)}\n\t\t\t\t\t/>\n\t\t\t\t</View>\n\t\t\t);\n\t\t});\n\t}\n\n\trenderListHeader() {\n\t\tif (\n\t\t\t!this.props.ListHeaderComponent &&\n\t\t\t((_.isEmpty(this.state.invites) && !this.shouldRenderPublicGroups()) ||\n\t\t\t\tthis.props.isWidget)\n\t\t) {\n\t\t\treturn null;\n\t\t}\n\t\tlet internalHeader = null;\n\t\tif (!_.isEmpty(this.state.invites) || this.shouldRenderPublicGroups()) {\n\t\t\tinternalHeader = (\n\t\t\t\t<View>\n\t\t\t\t\t{this.renderPublicGroupsHeader()}\n\t\t\t\t\t<ScrollView horizontal showsHorizontalScrollIndicator={false}>\n\t\t\t\t\t\t{!_.isEmpty(this.state.invites) && this.renderInvites()}\n\t\t\t\t\t\t{this.renderPublicGroups()}\n\t\t\t\t\t</ScrollView>\n\t\t\t\t</View>\n\t\t\t);\n\t\t}\n\t\treturn (\n\t\t\t<View>\n\t\t\t\t{this.props.ListHeaderComponent}\n\t\t\t\t{internalHeader}\n\t\t\t</View>\n\t\t);\n\t}\n\n\trenderEmptyList() {\n\t\tif (this.props.isLoading)\n\t\t\treturn (\n\t\t\t\t<EmptyStateMain\n\t\t\t\t\ttitle=\"Loading\"\n\t\t\t\t\tstyle={{ height: 180, paddingTop: 16, marginHorizontal: 16 }}\n\t\t\t\t/>\n\t\t\t);\n\t\tif (this.props.isWidget)\n\t\t\treturn (\n\t\t\t\t<EmptyStateMain\n\t\t\t\t\ttitle={this.getEmptyStateText()}\n\t\t\t\t\tstyle={{ height: 180, paddingTop: 16, marginHorizontal: 16 }}\n\t\t\t\t/>\n\t\t\t);\n\t\treturn (\n\t\t\t<EmptyStateMain\n\t\t\t\ttitle={this.getEmptyStateText()}\n\t\t\t\tstyle={{ marginHorizontal: 16, marginTop: 16 }}\n\t\t\t/>\n\t\t);\n\t}\n\n\trender() {\n\t\tconst dataSource = this.props.limit\n\t\t\t? this.state.dataSource.slice(0, this.props.limit)\n\t\t\t: this.state.dataSource;\n\t\tconst isDataReady = !_.isEmpty(this.state.dataSource);\n\n\t\treturn (\n\t\t\t<View\n\t\t\t\tstyle={[styles.container, !this.props.isWidget && styles.mainContainer]}\n\t\t\t>\n\t\t\t\t{isDataReady && (\n\t\t\t\t\t<FlatList\n\t\t\t\t\t\tkeyboardShouldPersistTaps=\"always\"\n\t\t\t\t\t\tstyle={styles.fill}\n\t\t\t\t\t\tdata={dataSource}\n\t\t\t\t\t\tListEmptyComponent={this.renderEmptyList()}\n\t\t\t\t\t\tListHeaderComponent={this.renderListHeader()}\n\t\t\t\t\t\tkeyExtractor={(item) => item.Id}\n\t\t\t\t\t\trenderItem={({ item, index }) => this.renderChat(item, index)}\n\t\t\t\t\t\tListFooterComponent={\n\t\t\t\t\t\t\t!this.props.isWidget && <View style={{ height: 15 }} />\n\t\t\t\t\t\t}\n\t\t\t\t\t\textraData={this.state}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t\t{!isDataReady && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{this.renderListHeader()}\n\t\t\t\t\t\t{this.renderEmptyList()}\n\t\t\t\t\t</>\n\t\t\t\t)}\n\t\t\t</View>\n\t\t);\n\t}\n}\n\nconst styles = {\n\tmainContainer: {\n\t\tpaddingVertical: 16,\n\t},\n\tcard: {\n\t\tposition: \"relative\",\n\t\tpaddingHorizontal: 0,\n\t\tpaddingVertical: 16,\n\t\tmarginBottom: 8,\n\t},\n\tsectionTitleContainer: {\n\t\theight: 30,\n\t\tpaddingHorizontal: 16,\n\t\tpaddingBottom: 8,\n\t\tjustifyContent: \"center\",\n\t},\n\tsectionTitle: {\n\t\tfontSize: 16,\n\t\tfontFamily: \"sf-semibold\",\n\t\tcolor: TEXT_DARK,\n\t},\n\tcontainer: {\n\t\tflex: 1,\n\t\tposition: \"relative\",\n\t},\n\trowReverse: {\n\t\tflexDirection: \"row-reverse\",\n\t\talignItems: \"center\",\n\t},\n\tfill: {\n\t\tflex: 1,\n\t\tbackgroundColor: \"#fff\",\n\t},\n\tlistItem: {\n\t\tbackgroundColor: \"#fff\",\n\t\tpaddingHorizontal: 15,\n\t\tpaddingBottom: 16,\n\t\tjustifyContent: \"flex-start\",\n\t\tflexDirection: \"row\",\n\t\tposition: \"relative\",\n\t},\n\textraSeparation: {\n\t\tmarginTop: 15,\n\t},\n\tunreadMarker: {\n\t\tbackgroundColor: \"transparent\",\n\t\tmarginTop: 35,\n\t\twidth: 10,\n\t\theight: 10,\n\t\tborderRadius: 5,\n\t},\n\tlistItemTextContainer: {\n\t\tflex: 1,\n\t\tmarginLeft: 10,\n\t},\n\tchatUserName: {\n\t\tfontSize: 16,\n\t\tfontFamily: \"sf-bold\",\n\t\tcolor: TEXT_DARK,\n\t},\n\tchatLastMessageContainer: {\n\t\tflexDirection: \"row\",\n\t\tjustifyContent: \"flex-start\",\n\t\tpaddingRight: 20,\n\t},\n\tchatReplyIcon: {\n\t\tfontSize: 18,\n\t\tfontFamily: \"sf-regular\",\n\t\tcolor: TEXT_MID,\n\t\tmarginRight: 5,\n\t},\n\tchatLastMessage: {\n\t\tfontSize: 13,\n\t\tfontFamily: \"sf-medium\",\n\t\tcolor: TEXT_LIGHT,\n\t\tmarginRight: 5,\n\t},\n\tchatTextBold: {\n\t\tfontFamily: \"sf-bold\",\n\t},\n\tchatTimeStamp: {\n\t\tfontSize: 10,\n\t\tfontFamily: \"sf-semibold\",\n\t\tcolor: TEXT_LIGHT,\n\t},\n\taddButtonContainer: {\n\t\tposition: \"absolute\",\n\t\tright: 20,\n\t\tbottom: 20,\n\t},\n\taddButton: {\n\t\tleft: 0,\n\t\twidth: 45,\n\t\theight: 45,\n\t},\n\tcounter: {\n\t\tborderRadius: 10,\n\t\theight: 20,\n\t\tjustifyContent: \"center\",\n\t\tminWidth: 20,\n\t\tpaddingHorizontal: 4,\n\t\tbackgroundColor: COLOUR_GREEN,\n\t},\n\tcounterText: {\n\t\tcolor: \"#fff\",\n\t\tfontSize: 12,\n\t\tfontFamily: \"sf-semibold\",\n\t\ttextAlign: \"center\",\n\t},\n\tpublicGroupsHeaderContainer: {\n\t\tpaddingHorizontal: 16,\n\t\tpaddingTop: 16,\n\t\tpaddingBottom: 8,\n\t},\n\tpublicGroupsTitle: {\n\t\tmarginBottom: 4,\n\t},\n\tpublicGroupsHelper: {\n\t\tlineHeight: 20,\n\t},\n};\n\nconst mapStateToProps = (state) => {\n\tconst circles = state[values.reducerKey];\n\tconst { user } = state;\n\n\treturn {\n\t\tgroups: circles.list,\n\t\tinvites: circles.invites,\n\t\tunreadCount: circles && circles.unreadCount ? circles.unreadCount : 0,\n\t\tuser,\n\t\tcolourBrandingMain: getMainBrandingColourFromState(state),\n\t\tcircleAllowPublicCircles: getSiteSettingFromState(\n\t\t\tstate,\n\t\t\tvalues.allowPublicKey,\n\t\t),\n\t};\n};\n\nexport default connect(mapStateToProps, { clearGroupCounter })(ChatList);\n"],"mappings":"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"}
|
|
@@ -3,8 +3,7 @@ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol"
|
|
|
3
3
|
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
4
4
|
/* eslint-disable no-param-reassign */
|
|
5
5
|
import React, { PureComponent } from "react";
|
|
6
|
-
import { View, SectionList } from "react-native";
|
|
7
|
-
import { Text } from "@plusscommunities/pluss-core-app/components";
|
|
6
|
+
import { View, Text, SectionList } from "react-native";
|
|
8
7
|
import { connect } from "react-redux";
|
|
9
8
|
import moment from "moment";
|
|
10
9
|
import _ from "lodash";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","PureComponent","View","SectionList","Text","connect","moment","_","UserMessageListing","EmptyStateMain","SwipeableUserListing","LINEGREY","TEXT_BLUEGREY","CONST_STRINGS","values","ContactsList","constructor","props","_defineProperty","item","index","createElement","user","enabled","chat","onArchive","handleArchive","listItemStyle","styles","contactListItem","key","lastMessageAt","unread","myId","today","state","onUserArchived","_isMounted","dataSource","componentDidMount","createDataSource","UNSAFE_componentWillReceiveProps","nextProps","componentWillUnmount","getRelationshipKey","isUndefined","relationship","section","order","siteName","relationshipTypes","users","source","sortBy","otherMessages","forEach","keyObj","id","find","title","data","isLast","push","length","setState","local","format","getEmptyStateText","options","isEmpty","EmptyText","EMPTY_PEOPLE","renderSectionHeader","style","sectionHeader","sectionHeaderTextContainer","sectionHeaderText","renderSectionFooter","sectionFooter","borderBottomColor","borderBottomWidth","renderEmptyList","isLoading","marginHorizontal","marginTop","render","sections","ListEmptyComponent","ListHeaderComponent","renderItem","keyExtractor","height","justifyContent","backgroundColor","fontFamily","color","fontSize","paddingTop","paddingBottom","paddingHorizontal","mapStateToProps","uid","siteInfo","privateList","reducerKey"],"sources":["ContactsList.js"],"sourcesContent":["/* eslint-disable no-param-reassign */\nimport React, { PureComponent } from \"react\";\nimport { View, SectionList } from \"react-native\";\nimport { Text } from \"@plusscommunities/pluss-core-app/components\";\nimport { connect } from \"react-redux\";\nimport moment from \"moment\";\nimport _ from \"lodash\";\nimport {\n\tUserMessageListing,\n\tEmptyStateMain,\n\tSwipeableUserListing,\n} from \"../common\";\nimport { LINEGREY, TEXT_BLUEGREY } from \"../../js\";\nimport { CONST_STRINGS } from \"../../config\";\nimport { values } from \"../../values.config\";\n\nclass ContactsList extends PureComponent {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis._isMounted = false;\n\t\tthis.state = {\n\t\t\tdataSource: [],\n\t\t};\n\t}\n\n\tasync componentDidMount() {\n\t\tthis._isMounted = true;\n\t\tthis.createDataSource(this.props);\n\t}\n\n\tUNSAFE_componentWillReceiveProps(nextProps) {\n\t\tthis.createDataSource(nextProps);\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis._isMounted = false;\n\t}\n\n\tgetRelationshipKey(user) {\n\t\tif (_.isUndefined(user.relationship)) {\n\t\t\tif (user.section === \"Others\") {\n\t\t\t\treturn { key: \"Others\", order: 3 };\n\t\t\t}\n\t\t\treturn { key: this.props.siteName, order: 2 };\n\t\t}\n\n\t\tif (user.relationship === \"Friend\") {\n\t\t\treturn { key: \"Friends\", order: 1 };\n\t\t}\n\t\treturn { key: \"Family\", order: 0 };\n\t}\n\n\tcreateDataSource(props) {\n\t\tconst relationshipTypes = {};\n\t\tconst users = _.isUndefined(props.source) ? [] : props.source;\n\n\t\t// Build datasource ordered by relationship type\n\t\t_.sortBy([...users, ...this.props.otherMessages], \"displayName\").forEach(\n\t\t\t(user) => {\n\t\t\t\tconst keyObj = this.getRelationshipKey(user);\n\t\t\t\tuser.section = keyObj.key;\n\t\t\t\tuser.key = user.id;\n\n\t\t\t\tif (!_.find(relationshipTypes, { title: keyObj.key })) {\n\t\t\t\t\trelationshipTypes[keyObj.key] = {\n\t\t\t\t\t\ttitle: keyObj.key,\n\t\t\t\t\t\torder: keyObj.order,\n\t\t\t\t\t\tdata: [user],\n\t\t\t\t\t\tisLast: false,\n\t\t\t\t\t};\n\t\t\t\t} else {\n\t\t\t\t\trelationshipTypes[keyObj.key].data.push(user);\n\t\t\t\t}\n\t\t\t},\n\t\t);\n\t\tconst dataSource = _.sortBy(_.values(relationshipTypes), \"order\");\n\t\tif (dataSource.length > 0) dataSource[dataSource.length - 1].isLast = true;\n\n\t\tif (this._isMounted) {\n\t\t\tthis.setState({\n\t\t\t\tdataSource,\n\t\t\t\ttoday: moment().local().format(\"D MMM YYYY\"),\n\t\t\t});\n\t\t}\n\t}\n\n\tgetEmptyStateText() {\n\t\tif (this.props.options && !_.isEmpty(this.props.options.EmptyText)) {\n\t\t\treturn this.props.options.EmptyText;\n\t\t}\n\t\treturn CONST_STRINGS.EMPTY_PEOPLE;\n\t}\n\n\trenderSectionHeader({ section }) {\n\t\tif (_.isEmpty(section.title)) return null;\n\t\treturn (\n\t\t\t<View style={styles.sectionHeader}>\n\t\t\t\t<View style={styles.sectionHeaderTextContainer}>\n\t\t\t\t\t<Text style={styles.sectionHeaderText}>{section.title}</Text>\n\t\t\t\t</View>\n\t\t\t</View>\n\t\t);\n\t}\n\n\trenderSectionFooter({ section }) {\n\t\treturn (\n\t\t\t<View\n\t\t\t\tstyle={[\n\t\t\t\t\tstyles.sectionFooter,\n\t\t\t\t\t!section.isLast && {\n\t\t\t\t\t\tborderBottomColor: LINEGREY,\n\t\t\t\t\t\tborderBottomWidth: 1,\n\t\t\t\t\t},\n\t\t\t\t]}\n\t\t\t/>\n\t\t);\n\t}\n\n\trenderItem = ({ item, index }) => {\n\t\treturn (\n\t\t\t<SwipeableUserListing\n\t\t\t\tuser={item}\n\t\t\t\tenabled={item.chat != null}\n\t\t\t\tonArchive={() => this.handleArchive(item)}\n\t\t\t>\n\t\t\t\t<UserMessageListing\n\t\t\t\t\tlistItemStyle={styles.contactListItem}\n\t\t\t\t\tuser={item}\n\t\t\t\t\tkey={index + item.lastMessageAt + item.unread}\n\t\t\t\t\tmyId={this.props.myId}\n\t\t\t\t\ttoday={this.state.today}\n\t\t\t\t/>\n\t\t\t</SwipeableUserListing>\n\t\t);\n\t};\n\n\thandleArchive = (user) => {\n\t\tif (this.props.onUserArchived) {\n\t\t\tthis.props.onUserArchived(user);\n\t\t}\n\t};\n\n\trenderEmptyList() {\n\t\treturn this.props.isLoading ? null : (\n\t\t\t<EmptyStateMain\n\t\t\t\ttitle={this.getEmptyStateText()}\n\t\t\t\tstyle={{ marginHorizontal: 16, marginTop: 16 }}\n\t\t\t/>\n\t\t);\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<SectionList\n\t\t\t\tsections={this.state.dataSource}\n\t\t\t\tListEmptyComponent={this.renderEmptyList()}\n\t\t\t\tListHeaderComponent={this.props.ListHeaderComponent}\n\t\t\t\trenderItem={this.renderItem}\n\t\t\t\trenderSectionHeader={this.renderSectionHeader}\n\t\t\t\trenderSectionFooter={this.renderSectionFooter}\n\t\t\t\tkeyExtractor={(item) => item.key}\n\t\t\t/>\n\t\t);\n\t}\n}\n\nconst styles = {\n\tsectionHeader: {\n\t\theight: 35,\n\t\tjustifyContent: \"center\",\n\t\tbackgroundColor: \"rgba(255, 255, 255, 0.8)\",\n\t},\n\tsectionFooter: {\n\t\tmarginTop: 10,\n\t\tmarginHorizontal: 19,\n\t},\n\tsectionHeaderTextContainer: {\n\t\tmarginHorizontal: 19,\n\t},\n\tsectionHeaderText: {\n\t\tfontFamily: \"sf-semibold\",\n\t\tcolor: TEXT_BLUEGREY,\n\t\tfontSize: 17,\n\t},\n\tcontactListItem: {\n\t\tpaddingTop: 10,\n\t\tpaddingBottom: 10,\n\t\tpaddingHorizontal: 20,\n\t},\n};\n\nconst mapStateToProps = (state) => ({\n\tmyId: state.user.uid,\n\tsiteName: state.user.siteInfo ? state.user.siteInfo.siteName : \"\",\n\tprivateList: state[values.reducerKey].privateList,\n});\n\nexport default connect(mapStateToProps, {})(ContactsList);\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["React","PureComponent","View","Text","SectionList","connect","moment","_","UserMessageListing","EmptyStateMain","SwipeableUserListing","LINEGREY","TEXT_BLUEGREY","CONST_STRINGS","values","ContactsList","constructor","props","_defineProperty","item","index","createElement","user","enabled","chat","onArchive","handleArchive","listItemStyle","styles","contactListItem","key","lastMessageAt","unread","myId","today","state","onUserArchived","_isMounted","dataSource","componentDidMount","createDataSource","UNSAFE_componentWillReceiveProps","nextProps","componentWillUnmount","getRelationshipKey","isUndefined","relationship","section","order","siteName","relationshipTypes","users","source","sortBy","otherMessages","forEach","keyObj","id","find","title","data","isLast","push","length","setState","local","format","getEmptyStateText","options","isEmpty","EmptyText","EMPTY_PEOPLE","renderSectionHeader","style","sectionHeader","sectionHeaderTextContainer","sectionHeaderText","renderSectionFooter","sectionFooter","borderBottomColor","borderBottomWidth","renderEmptyList","isLoading","marginHorizontal","marginTop","render","sections","ListEmptyComponent","ListHeaderComponent","renderItem","keyExtractor","height","justifyContent","backgroundColor","fontFamily","color","fontSize","paddingTop","paddingBottom","paddingHorizontal","mapStateToProps","uid","siteInfo","privateList","reducerKey"],"sources":["ContactsList.js"],"sourcesContent":["/* eslint-disable no-param-reassign */\nimport React, { PureComponent } from \"react\";\nimport { View, Text, SectionList } from \"react-native\";\nimport { connect } from \"react-redux\";\nimport moment from \"moment\";\nimport _ from \"lodash\";\nimport {\n\tUserMessageListing,\n\tEmptyStateMain,\n\tSwipeableUserListing,\n} from \"../common\";\nimport { LINEGREY, TEXT_BLUEGREY } from \"../../js\";\nimport { CONST_STRINGS } from \"../../config\";\nimport { values } from \"../../values.config\";\n\nclass ContactsList extends PureComponent {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis._isMounted = false;\n\t\tthis.state = {\n\t\t\tdataSource: [],\n\t\t};\n\t}\n\n\tasync componentDidMount() {\n\t\tthis._isMounted = true;\n\t\tthis.createDataSource(this.props);\n\t}\n\n\tUNSAFE_componentWillReceiveProps(nextProps) {\n\t\tthis.createDataSource(nextProps);\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis._isMounted = false;\n\t}\n\n\tgetRelationshipKey(user) {\n\t\tif (_.isUndefined(user.relationship)) {\n\t\t\tif (user.section === \"Others\") {\n\t\t\t\treturn { key: \"Others\", order: 3 };\n\t\t\t}\n\t\t\treturn { key: this.props.siteName, order: 2 };\n\t\t}\n\n\t\tif (user.relationship === \"Friend\") {\n\t\t\treturn { key: \"Friends\", order: 1 };\n\t\t}\n\t\treturn { key: \"Family\", order: 0 };\n\t}\n\n\tcreateDataSource(props) {\n\t\tconst relationshipTypes = {};\n\t\tconst users = _.isUndefined(props.source) ? [] : props.source;\n\n\t\t// Build datasource ordered by relationship type\n\t\t_.sortBy([...users, ...this.props.otherMessages], \"displayName\").forEach(\n\t\t\t(user) => {\n\t\t\t\tconst keyObj = this.getRelationshipKey(user);\n\t\t\t\tuser.section = keyObj.key;\n\t\t\t\tuser.key = user.id;\n\n\t\t\t\tif (!_.find(relationshipTypes, { title: keyObj.key })) {\n\t\t\t\t\trelationshipTypes[keyObj.key] = {\n\t\t\t\t\t\ttitle: keyObj.key,\n\t\t\t\t\t\torder: keyObj.order,\n\t\t\t\t\t\tdata: [user],\n\t\t\t\t\t\tisLast: false,\n\t\t\t\t\t};\n\t\t\t\t} else {\n\t\t\t\t\trelationshipTypes[keyObj.key].data.push(user);\n\t\t\t\t}\n\t\t\t},\n\t\t);\n\t\tconst dataSource = _.sortBy(_.values(relationshipTypes), \"order\");\n\t\tif (dataSource.length > 0) dataSource[dataSource.length - 1].isLast = true;\n\n\t\tif (this._isMounted) {\n\t\t\tthis.setState({\n\t\t\t\tdataSource,\n\t\t\t\ttoday: moment().local().format(\"D MMM YYYY\"),\n\t\t\t});\n\t\t}\n\t}\n\n\tgetEmptyStateText() {\n\t\tif (this.props.options && !_.isEmpty(this.props.options.EmptyText)) {\n\t\t\treturn this.props.options.EmptyText;\n\t\t}\n\t\treturn CONST_STRINGS.EMPTY_PEOPLE;\n\t}\n\n\trenderSectionHeader({ section }) {\n\t\tif (_.isEmpty(section.title)) return null;\n\t\treturn (\n\t\t\t<View style={styles.sectionHeader}>\n\t\t\t\t<View style={styles.sectionHeaderTextContainer}>\n\t\t\t\t\t<Text style={styles.sectionHeaderText}>{section.title}</Text>\n\t\t\t\t</View>\n\t\t\t</View>\n\t\t);\n\t}\n\n\trenderSectionFooter({ section }) {\n\t\treturn (\n\t\t\t<View\n\t\t\t\tstyle={[\n\t\t\t\t\tstyles.sectionFooter,\n\t\t\t\t\t!section.isLast && {\n\t\t\t\t\t\tborderBottomColor: LINEGREY,\n\t\t\t\t\t\tborderBottomWidth: 1,\n\t\t\t\t\t},\n\t\t\t\t]}\n\t\t\t/>\n\t\t);\n\t}\n\n\trenderItem = ({ item, index }) => {\n\t\treturn (\n\t\t\t<SwipeableUserListing\n\t\t\t\tuser={item}\n\t\t\t\tenabled={item.chat != null}\n\t\t\t\tonArchive={() => this.handleArchive(item)}\n\t\t\t>\n\t\t\t\t<UserMessageListing\n\t\t\t\t\tlistItemStyle={styles.contactListItem}\n\t\t\t\t\tuser={item}\n\t\t\t\t\tkey={index + item.lastMessageAt + item.unread}\n\t\t\t\t\tmyId={this.props.myId}\n\t\t\t\t\ttoday={this.state.today}\n\t\t\t\t/>\n\t\t\t</SwipeableUserListing>\n\t\t);\n\t};\n\n\thandleArchive = (user) => {\n\t\tif (this.props.onUserArchived) {\n\t\t\tthis.props.onUserArchived(user);\n\t\t}\n\t};\n\n\trenderEmptyList() {\n\t\treturn this.props.isLoading ? null : (\n\t\t\t<EmptyStateMain\n\t\t\t\ttitle={this.getEmptyStateText()}\n\t\t\t\tstyle={{ marginHorizontal: 16, marginTop: 16 }}\n\t\t\t/>\n\t\t);\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<SectionList\n\t\t\t\tsections={this.state.dataSource}\n\t\t\t\tListEmptyComponent={this.renderEmptyList()}\n\t\t\t\tListHeaderComponent={this.props.ListHeaderComponent}\n\t\t\t\trenderItem={this.renderItem}\n\t\t\t\trenderSectionHeader={this.renderSectionHeader}\n\t\t\t\trenderSectionFooter={this.renderSectionFooter}\n\t\t\t\tkeyExtractor={(item) => item.key}\n\t\t\t/>\n\t\t);\n\t}\n}\n\nconst styles = {\n\tsectionHeader: {\n\t\theight: 35,\n\t\tjustifyContent: \"center\",\n\t\tbackgroundColor: \"rgba(255, 255, 255, 0.8)\",\n\t},\n\tsectionFooter: {\n\t\tmarginTop: 10,\n\t\tmarginHorizontal: 19,\n\t},\n\tsectionHeaderTextContainer: {\n\t\tmarginHorizontal: 19,\n\t},\n\tsectionHeaderText: {\n\t\tfontFamily: \"sf-semibold\",\n\t\tcolor: TEXT_BLUEGREY,\n\t\tfontSize: 17,\n\t},\n\tcontactListItem: {\n\t\tpaddingTop: 10,\n\t\tpaddingBottom: 10,\n\t\tpaddingHorizontal: 20,\n\t},\n};\n\nconst mapStateToProps = (state) => ({\n\tmyId: state.user.uid,\n\tsiteName: state.user.siteInfo ? state.user.siteInfo.siteName : \"\",\n\tprivateList: state[values.reducerKey].privateList,\n});\n\nexport default connect(mapStateToProps, {})(ContactsList);\n"],"mappings":"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"}
|
|
@@ -3,8 +3,7 @@ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol"
|
|
|
3
3
|
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
4
4
|
import React, { Component } from "react";
|
|
5
5
|
import { connect } from "react-redux";
|
|
6
|
-
import { View, SectionList } from "react-native";
|
|
7
|
-
import { Text } from "@plusscommunities/pluss-core-app/components";
|
|
6
|
+
import { View, Text, SectionList } from "react-native";
|
|
8
7
|
import { withNavigationFocus } from "@plusscommunities/pluss-core-app";
|
|
9
8
|
import _ from "lodash";
|
|
10
9
|
import moment from "moment";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Component","connect","View","SectionList","Text","withNavigationFocus","_","moment","userActions","getSite","TEXT_DARKEST","getMainBrandingColourFromState","getShadowStyle","NavigationService","Header","ProfilePic","GenericInput","KioskPeoplePage","constructor","args","_defineProperty","source","results","searchInput","lastSearchKey","isHomeTab","goBack","componentDidMount","setState","getParentRoute","getData","onChangeText","value","keyTime","valueOf","setTimeout","state","setData","getSiteUsers","props","user","site","then","res","data","searchValue","newResidents","newStaff","sortedList","sortBy","filter","u","displayName","toLowerCase","indexOf","toUpperCase","forEach","firstLetter","category","Key","Letter","Object","keys","length","Title","push","finalList","values","JSON","parse","stringify","renderHeader","createElement","leftIcon","onPressLeft","onPressBack","text","centerContent","icon","iconType","placeholder","ref","hasClear","onClear","containerStyle","marginHorizontal","marginVertical","renderSectionHeader","section","key","isEmpty","style","styles","sectionTitle","sectionLetter","backgroundColor","colourBrandingMain","sectionLetterText","renderItem","item","sectionKey","index","userContainer","userInner","Diameter","profilePic","userName","numberOfLines","renderList","row","column","paddingLeft","paddingRight","n","i","map","render","pageContainer","enableEmptySections","keyExtractor","stickySectionHeadersEnabled","sections","ListHeaderComponent","peopleTitle","initialNumToRender","flex","position","width","flexDirection","padding","paddingBottom","fontFamily","color","fontSize","sectionContainer","paddingTop","marginTop","height","borderRadius","alignItems","justifyContent","marginLeft","textAlign","lineHeight","userContainer0","userContainer1","userContainer2","userContainer3","paddingHorizontal","userLocation","mapStateToProps"],"sources":["KioskPeoplePage.js"],"sourcesContent":["import React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport { View, SectionList } from \"react-native\";\nimport { Text } from \"@plusscommunities/pluss-core-app/components\";\nimport { withNavigationFocus } from \"@plusscommunities/pluss-core-app\";\nimport _ from \"lodash\";\nimport moment from \"moment\";\nimport { userActions } from \"../../webapi\";\nimport {\n\tgetSite,\n\tTEXT_DARKEST,\n\tgetMainBrandingColourFromState,\n\tgetShadowStyle,\n} from \"../../js\";\nimport NavigationService from \"../../js/NavigationService\";\nimport { Header, ProfilePic, GenericInput } from \"../common\";\n\nclass KioskPeoplePage extends Component {\n\tstate = {\n\t\tsource: [],\n\t\tresults: [],\n\t\tsearchInput: \"\",\n\t\tlastSearchKey: 0,\n\t\tisHomeTab: false,\n\t};\n\n\tcomponentDidMount() {\n\t\tthis.setState({ isHomeTab: !NavigationService.getParentRoute() });\n\t\tthis.getData();\n\t}\n\n\tonChangeText(value) {\n\t\tconst keyTime = moment().valueOf();\n\t\tthis.setState({\n\t\t\tsearchInput: value,\n\t\t\tlastSearchKey: keyTime,\n\t\t\tresults: [],\n\t\t});\n\t\tsetTimeout(() => {\n\t\t\tif (this.state.lastSearchKey === keyTime) {\n\t\t\t\tthis.setData(this.state.source, value);\n\t\t\t}\n\t\t}, 500);\n\t}\n\n\tgetData() {\n\t\tuserActions.getSiteUsers(getSite(this.props.user.site)).then((res) => {\n\t\t\tthis.setState({\n\t\t\t\tsource: res.data,\n\t\t\t});\n\t\t\tthis.setData(res.data, this.state.searchInput);\n\t\t});\n\t}\n\n\tsetData(source, searchValue) {\n\t\tconst newResidents = {};\n\t\tconst newStaff = {};\n\n\t\tconst sortedList = _.sortBy(\n\t\t\t_.filter(source, (u) => {\n\t\t\t\treturn u.displayName.toLowerCase().indexOf(searchValue) > -1;\n\t\t\t}),\n\t\t\t(u) => {\n\t\t\t\treturn u.displayName.toUpperCase();\n\t\t\t},\n\t\t);\n\n\t\tsortedList.forEach((u) => {\n\t\t\tconst firstLetter = u.displayName[0].toUpperCase();\n\t\t\tif (u.category === \"resident\") {\n\t\t\t\tif (!newResidents[firstLetter]) {\n\t\t\t\t\tnewResidents[firstLetter] = {\n\t\t\t\t\t\tKey: `R${firstLetter}`,\n\t\t\t\t\t\tLetter: firstLetter,\n\t\t\t\t\t\tdata: [],\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\tif (Object.keys(newResidents).length === 1) {\n\t\t\t\t\tnewResidents[firstLetter].Title = \"Residents\";\n\t\t\t\t}\n\t\t\t\tnewResidents[firstLetter].data.push(u);\n\t\t\t} else if (u.category === \"staff\") {\n\t\t\t\tif (!newStaff[firstLetter]) {\n\t\t\t\t\tnewStaff[firstLetter] = {\n\t\t\t\t\t\tKey: `S${firstLetter}`,\n\t\t\t\t\t\tLetter: firstLetter,\n\t\t\t\t\t\tdata: [],\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\tif (Object.keys(newStaff).length === 1) {\n\t\t\t\t\tnewStaff[firstLetter].Title = \"Staff\";\n\t\t\t\t}\n\t\t\t\tnewStaff[firstLetter].data.push(u);\n\t\t\t}\n\t\t});\n\n\t\tconst finalList = [..._.values(newResidents), ..._.values(newStaff)];\n\n\t\tthis.setState({\n\t\t\tresults: JSON.parse(JSON.stringify(finalList)),\n\t\t});\n\t}\n\n\tonPressBack = () => {\n\t\tNavigationService.goBack();\n\t};\n\n\trenderHeader() {\n\t\tif (!this.state.isHomeTab)\n\t\t\treturn (\n\t\t\t\t<Header\n\t\t\t\t\tleftIcon=\"angle-left\"\n\t\t\t\t\tonPressLeft={this.onPressBack}\n\t\t\t\t\ttext={\"People\"}\n\t\t\t\t/>\n\t\t\t);\n\n\t\treturn (\n\t\t\t<Header\n\t\t\t\tcenterContent={\n\t\t\t\t\t<GenericInput\n\t\t\t\t\t\tvalue={this.state.searchInput}\n\t\t\t\t\t\ticon=\"magnifying-glass\"\n\t\t\t\t\t\ticonType=\"pl60\"\n\t\t\t\t\t\tplaceholder={`Search people`}\n\t\t\t\t\t\tref=\"searchText\"\n\t\t\t\t\t\thasClear\n\t\t\t\t\t\tonClear={() => {\n\t\t\t\t\t\t\tthis.onChangeText(\"\");\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tonChangeText={(value) => {\n\t\t\t\t\t\t\tthis.onChangeText(value);\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tcontainerStyle={{\n\t\t\t\t\t\t\tmarginHorizontal: 24,\n\t\t\t\t\t\t\tmarginVertical: 17,\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t/>\n\t\t);\n\t}\n\n\trenderSectionHeader(section) {\n\t\treturn (\n\t\t\t<View key={section.Key}>\n\t\t\t\t{!_.isEmpty(section.Title) && (\n\t\t\t\t\t<Text style={styles.sectionTitle}>{section.Title}</Text>\n\t\t\t\t)}\n\t\t\t\t<View style={styles.section}>\n\t\t\t\t\t<View\n\t\t\t\t\t\tstyle={[\n\t\t\t\t\t\t\tstyles.sectionLetter,\n\t\t\t\t\t\t\t{ backgroundColor: this.props.colourBrandingMain },\n\t\t\t\t\t\t]}\n\t\t\t\t\t>\n\t\t\t\t\t\t<Text style={styles.sectionLetterText}>{section.Letter}</Text>\n\t\t\t\t\t</View>\n\t\t\t\t</View>\n\t\t\t</View>\n\t\t);\n\t}\n\n\trenderItem(item, sectionKey, index) {\n\t\treturn (\n\t\t\t<View key={`${sectionKey}_${index}`} style={[styles.userContainer]}>\n\t\t\t\t<View style={[styles.userInner, getShadowStyle()]}>\n\t\t\t\t\t<ProfilePic Diameter={50} ProfilePic={item.profilePic} />\n\t\t\t\t\t<Text style={styles.userName} numberOfLines={2}>\n\t\t\t\t\t\t{item.displayName}\n\t\t\t\t\t</Text>\n\t\t\t\t\t{/* <Text style={styles.userLocation} numberOfLines={1}>{item.unit}</Text> */}\n\t\t\t\t</View>\n\t\t\t</View>\n\t\t);\n\t}\n\n\trenderList(section, index) {\n\t\tif (index !== 0) return null;\n\n\t\treturn (\n\t\t\t<View style={styles.row} key={section.Key}>\n\t\t\t\t<View style={[styles.column, { paddingLeft: 24, paddingRight: 6 }]}>\n\t\t\t\t\t{_.filter(section.data, (n, i) => {\n\t\t\t\t\t\treturn i % 4 === 0;\n\t\t\t\t\t}).map((n, i) => {\n\t\t\t\t\t\treturn this.renderItem(n, section.Key, i);\n\t\t\t\t\t})}\n\t\t\t\t</View>\n\t\t\t\t<View style={[styles.column, { paddingLeft: 18, paddingRight: 12 }]}>\n\t\t\t\t\t{_.filter(section.data, (n, i) => {\n\t\t\t\t\t\treturn i % 4 === 1;\n\t\t\t\t\t}).map((n, i) => {\n\t\t\t\t\t\treturn this.renderItem(n, section.Key, i);\n\t\t\t\t\t})}\n\t\t\t\t</View>\n\t\t\t\t<View style={[styles.column, { paddingLeft: 12, paddingRight: 18 }]}>\n\t\t\t\t\t{_.filter(section.data, (n, i) => {\n\t\t\t\t\t\treturn i % 4 === 2;\n\t\t\t\t\t}).map((n, i) => {\n\t\t\t\t\t\treturn this.renderItem(n, section.Key, i);\n\t\t\t\t\t})}\n\t\t\t\t</View>\n\t\t\t\t<View style={[styles.column, { paddingLeft: 6, paddingRight: 24 }]}>\n\t\t\t\t\t{_.filter(section.data, (n, i) => {\n\t\t\t\t\t\treturn i % 4 === 3;\n\t\t\t\t\t}).map((n, i) => {\n\t\t\t\t\t\treturn this.renderItem(n, section.Key, i);\n\t\t\t\t\t})}\n\t\t\t\t</View>\n\t\t\t</View>\n\t\t);\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<View style={styles.pageContainer}>\n\t\t\t\t{this.renderHeader()}\n\t\t\t\t<SectionList\n\t\t\t\t\tenableEmptySections\n\t\t\t\t\tkeyExtractor={(item) => item.Key}\n\t\t\t\t\tstickySectionHeadersEnabled={false}\n\t\t\t\t\trenderSectionHeader={({ section }) =>\n\t\t\t\t\t\tthis.renderSectionHeader(section)\n\t\t\t\t\t}\n\t\t\t\t\trenderItem={({ section, index }) => {\n\t\t\t\t\t\treturn this.renderList(section, index);\n\t\t\t\t\t}}\n\t\t\t\t\tsections={this.state.results}\n\t\t\t\t\tListHeaderComponent={<Text style={styles.peopleTitle}>People</Text>}\n\t\t\t\t\tinitialNumToRender={15}\n\t\t\t\t/>\n\t\t\t</View>\n\t\t);\n\t}\n}\n\nconst styles = {\n\tpageContainer: {\n\t\tflex: 1,\n\t\tposition: \"relative\",\n\t\tbackgroundColor: \"#fff\",\n\t},\n\trow: {\n\t\twidth: \"100%\",\n\t\tflexDirection: \"row\",\n\t},\n\tcolumn: {\n\t\tflex: 1,\n\t},\n\tpeopleTitle: {\n\t\tpadding: 24,\n\t\tpaddingBottom: 12,\n\t\tfontFamily: \"sf-bold\",\n\t\tcolor: TEXT_DARKEST,\n\t\tfontSize: 24,\n\t},\n\tsectionContainer: {\n\t\tpadding: 24,\n\t},\n\tsectionTitle: {\n\t\tfontFamily: \"sf-medium\",\n\t\tcolor: TEXT_DARKEST,\n\t\tfontSize: 20,\n\t\tpaddingTop: 24,\n\t\tpaddingLeft: 24,\n\t},\n\tsection: {\n\t\tmarginTop: 36,\n\t},\n\tsectionLetter: {\n\t\twidth: 22,\n\t\theight: 22,\n\t\tborderRadius: 11,\n\t\talignItems: \"center\",\n\t\tjustifyContent: \"center\",\n\t\tmarginLeft: 24,\n\t},\n\tsectionLetterText: {\n\t\tcolor: \"#fff\",\n\t\tfontSize: 12,\n\t\tfontFamily: \"sf-semibold\",\n\t\ttextAlign: \"center\",\n\t\tlineHeight: 22,\n\t},\n\tuserContainer: {\n\t\twidth: \"100%\",\n\t\theight: 140,\n\t\tmarginTop: 24,\n\t},\n\tuserContainer0: {\n\t\tpaddingLeft: 24,\n\t\tpaddingRight: 6,\n\t},\n\tuserContainer1: {\n\t\tpaddingLeft: 18,\n\t\tpaddingRight: 12,\n\t},\n\tuserContainer2: {\n\t\tpaddingLeft: 12,\n\t\tpaddingRight: 18,\n\t},\n\tuserContainer3: {\n\t\tpaddingLeft: 6,\n\t\tpaddingRight: 24,\n\t},\n\tuserInner: {\n\t\tborderRadius: 4,\n\t\twidth: \"100%\",\n\t\theight: \"100%\",\n\t\talignItems: \"center\",\n\t\tpaddingTop: 32,\n\t\tpaddingHorizontal: 16,\n\t\tbackgroundColor: \"#fff\",\n\t},\n\tuserName: {\n\t\tfontFamily: \"sf-semibold\",\n\t\tcolor: TEXT_DARKEST,\n\t\tfontSize: 14,\n\t\ttextAlign: \"center\",\n\t\tmarginTop: 4,\n\t},\n\tuserLocation: {\n\t\tfontFamily: \"sf-regular\",\n\t\tcolor: TEXT_DARKEST,\n\t\tfontSize: 13,\n\t\ttextAlign: \"center\",\n\t\tmarginTop: 4,\n\t},\n};\n\nconst mapStateToProps = (state) => {\n\treturn {\n\t\tcolourBrandingMain: getMainBrandingColourFromState(state),\n\t\tuser: state.user,\n\t};\n};\n\nexport default withNavigationFocus(\n\tconnect(mapStateToProps, {})(KioskPeoplePage),\n);\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["React","Component","connect","View","Text","SectionList","withNavigationFocus","_","moment","userActions","getSite","TEXT_DARKEST","getMainBrandingColourFromState","getShadowStyle","NavigationService","Header","ProfilePic","GenericInput","KioskPeoplePage","constructor","args","_defineProperty","source","results","searchInput","lastSearchKey","isHomeTab","goBack","componentDidMount","setState","getParentRoute","getData","onChangeText","value","keyTime","valueOf","setTimeout","state","setData","getSiteUsers","props","user","site","then","res","data","searchValue","newResidents","newStaff","sortedList","sortBy","filter","u","displayName","toLowerCase","indexOf","toUpperCase","forEach","firstLetter","category","Key","Letter","Object","keys","length","Title","push","finalList","values","JSON","parse","stringify","renderHeader","createElement","leftIcon","onPressLeft","onPressBack","text","centerContent","icon","iconType","placeholder","ref","hasClear","onClear","containerStyle","marginHorizontal","marginVertical","renderSectionHeader","section","key","isEmpty","style","styles","sectionTitle","sectionLetter","backgroundColor","colourBrandingMain","sectionLetterText","renderItem","item","sectionKey","index","userContainer","userInner","Diameter","profilePic","userName","numberOfLines","renderList","row","column","paddingLeft","paddingRight","n","i","map","render","pageContainer","enableEmptySections","keyExtractor","stickySectionHeadersEnabled","sections","ListHeaderComponent","peopleTitle","initialNumToRender","flex","position","width","flexDirection","padding","paddingBottom","fontFamily","color","fontSize","sectionContainer","paddingTop","marginTop","height","borderRadius","alignItems","justifyContent","marginLeft","textAlign","lineHeight","userContainer0","userContainer1","userContainer2","userContainer3","paddingHorizontal","userLocation","mapStateToProps"],"sources":["KioskPeoplePage.js"],"sourcesContent":["import React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport { View, Text, SectionList } from \"react-native\";\nimport { withNavigationFocus } from \"@plusscommunities/pluss-core-app\";\nimport _ from \"lodash\";\nimport moment from \"moment\";\nimport { userActions } from \"../../webapi\";\nimport {\n\tgetSite,\n\tTEXT_DARKEST,\n\tgetMainBrandingColourFromState,\n\tgetShadowStyle,\n} from \"../../js\";\nimport NavigationService from \"../../js/NavigationService\";\nimport { Header, ProfilePic, GenericInput } from \"../common\";\n\nclass KioskPeoplePage extends Component {\n\tstate = {\n\t\tsource: [],\n\t\tresults: [],\n\t\tsearchInput: \"\",\n\t\tlastSearchKey: 0,\n\t\tisHomeTab: false,\n\t};\n\n\tcomponentDidMount() {\n\t\tthis.setState({ isHomeTab: !NavigationService.getParentRoute() });\n\t\tthis.getData();\n\t}\n\n\tonChangeText(value) {\n\t\tconst keyTime = moment().valueOf();\n\t\tthis.setState({\n\t\t\tsearchInput: value,\n\t\t\tlastSearchKey: keyTime,\n\t\t\tresults: [],\n\t\t});\n\t\tsetTimeout(() => {\n\t\t\tif (this.state.lastSearchKey === keyTime) {\n\t\t\t\tthis.setData(this.state.source, value);\n\t\t\t}\n\t\t}, 500);\n\t}\n\n\tgetData() {\n\t\tuserActions.getSiteUsers(getSite(this.props.user.site)).then((res) => {\n\t\t\tthis.setState({\n\t\t\t\tsource: res.data,\n\t\t\t});\n\t\t\tthis.setData(res.data, this.state.searchInput);\n\t\t});\n\t}\n\n\tsetData(source, searchValue) {\n\t\tconst newResidents = {};\n\t\tconst newStaff = {};\n\n\t\tconst sortedList = _.sortBy(\n\t\t\t_.filter(source, (u) => {\n\t\t\t\treturn u.displayName.toLowerCase().indexOf(searchValue) > -1;\n\t\t\t}),\n\t\t\t(u) => {\n\t\t\t\treturn u.displayName.toUpperCase();\n\t\t\t},\n\t\t);\n\n\t\tsortedList.forEach((u) => {\n\t\t\tconst firstLetter = u.displayName[0].toUpperCase();\n\t\t\tif (u.category === \"resident\") {\n\t\t\t\tif (!newResidents[firstLetter]) {\n\t\t\t\t\tnewResidents[firstLetter] = {\n\t\t\t\t\t\tKey: `R${firstLetter}`,\n\t\t\t\t\t\tLetter: firstLetter,\n\t\t\t\t\t\tdata: [],\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\tif (Object.keys(newResidents).length === 1) {\n\t\t\t\t\tnewResidents[firstLetter].Title = \"Residents\";\n\t\t\t\t}\n\t\t\t\tnewResidents[firstLetter].data.push(u);\n\t\t\t} else if (u.category === \"staff\") {\n\t\t\t\tif (!newStaff[firstLetter]) {\n\t\t\t\t\tnewStaff[firstLetter] = {\n\t\t\t\t\t\tKey: `S${firstLetter}`,\n\t\t\t\t\t\tLetter: firstLetter,\n\t\t\t\t\t\tdata: [],\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\tif (Object.keys(newStaff).length === 1) {\n\t\t\t\t\tnewStaff[firstLetter].Title = \"Staff\";\n\t\t\t\t}\n\t\t\t\tnewStaff[firstLetter].data.push(u);\n\t\t\t}\n\t\t});\n\n\t\tconst finalList = [..._.values(newResidents), ..._.values(newStaff)];\n\n\t\tthis.setState({\n\t\t\tresults: JSON.parse(JSON.stringify(finalList)),\n\t\t});\n\t}\n\n\tonPressBack = () => {\n\t\tNavigationService.goBack();\n\t};\n\n\trenderHeader() {\n\t\tif (!this.state.isHomeTab)\n\t\t\treturn (\n\t\t\t\t<Header\n\t\t\t\t\tleftIcon=\"angle-left\"\n\t\t\t\t\tonPressLeft={this.onPressBack}\n\t\t\t\t\ttext={\"People\"}\n\t\t\t\t/>\n\t\t\t);\n\n\t\treturn (\n\t\t\t<Header\n\t\t\t\tcenterContent={\n\t\t\t\t\t<GenericInput\n\t\t\t\t\t\tvalue={this.state.searchInput}\n\t\t\t\t\t\ticon=\"magnifying-glass\"\n\t\t\t\t\t\ticonType=\"pl60\"\n\t\t\t\t\t\tplaceholder={`Search people`}\n\t\t\t\t\t\tref=\"searchText\"\n\t\t\t\t\t\thasClear\n\t\t\t\t\t\tonClear={() => {\n\t\t\t\t\t\t\tthis.onChangeText(\"\");\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tonChangeText={(value) => {\n\t\t\t\t\t\t\tthis.onChangeText(value);\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tcontainerStyle={{\n\t\t\t\t\t\t\tmarginHorizontal: 24,\n\t\t\t\t\t\t\tmarginVertical: 17,\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t/>\n\t\t);\n\t}\n\n\trenderSectionHeader(section) {\n\t\treturn (\n\t\t\t<View key={section.Key}>\n\t\t\t\t{!_.isEmpty(section.Title) && (\n\t\t\t\t\t<Text style={styles.sectionTitle}>{section.Title}</Text>\n\t\t\t\t)}\n\t\t\t\t<View style={styles.section}>\n\t\t\t\t\t<View\n\t\t\t\t\t\tstyle={[\n\t\t\t\t\t\t\tstyles.sectionLetter,\n\t\t\t\t\t\t\t{ backgroundColor: this.props.colourBrandingMain },\n\t\t\t\t\t\t]}\n\t\t\t\t\t>\n\t\t\t\t\t\t<Text style={styles.sectionLetterText}>{section.Letter}</Text>\n\t\t\t\t\t</View>\n\t\t\t\t</View>\n\t\t\t</View>\n\t\t);\n\t}\n\n\trenderItem(item, sectionKey, index) {\n\t\treturn (\n\t\t\t<View key={`${sectionKey}_${index}`} style={[styles.userContainer]}>\n\t\t\t\t<View style={[styles.userInner, getShadowStyle()]}>\n\t\t\t\t\t<ProfilePic Diameter={50} ProfilePic={item.profilePic} />\n\t\t\t\t\t<Text style={styles.userName} numberOfLines={2}>\n\t\t\t\t\t\t{item.displayName}\n\t\t\t\t\t</Text>\n\t\t\t\t\t{/* <Text style={styles.userLocation} numberOfLines={1}>{item.unit}</Text> */}\n\t\t\t\t</View>\n\t\t\t</View>\n\t\t);\n\t}\n\n\trenderList(section, index) {\n\t\tif (index !== 0) return null;\n\n\t\treturn (\n\t\t\t<View style={styles.row} key={section.Key}>\n\t\t\t\t<View style={[styles.column, { paddingLeft: 24, paddingRight: 6 }]}>\n\t\t\t\t\t{_.filter(section.data, (n, i) => {\n\t\t\t\t\t\treturn i % 4 === 0;\n\t\t\t\t\t}).map((n, i) => {\n\t\t\t\t\t\treturn this.renderItem(n, section.Key, i);\n\t\t\t\t\t})}\n\t\t\t\t</View>\n\t\t\t\t<View style={[styles.column, { paddingLeft: 18, paddingRight: 12 }]}>\n\t\t\t\t\t{_.filter(section.data, (n, i) => {\n\t\t\t\t\t\treturn i % 4 === 1;\n\t\t\t\t\t}).map((n, i) => {\n\t\t\t\t\t\treturn this.renderItem(n, section.Key, i);\n\t\t\t\t\t})}\n\t\t\t\t</View>\n\t\t\t\t<View style={[styles.column, { paddingLeft: 12, paddingRight: 18 }]}>\n\t\t\t\t\t{_.filter(section.data, (n, i) => {\n\t\t\t\t\t\treturn i % 4 === 2;\n\t\t\t\t\t}).map((n, i) => {\n\t\t\t\t\t\treturn this.renderItem(n, section.Key, i);\n\t\t\t\t\t})}\n\t\t\t\t</View>\n\t\t\t\t<View style={[styles.column, { paddingLeft: 6, paddingRight: 24 }]}>\n\t\t\t\t\t{_.filter(section.data, (n, i) => {\n\t\t\t\t\t\treturn i % 4 === 3;\n\t\t\t\t\t}).map((n, i) => {\n\t\t\t\t\t\treturn this.renderItem(n, section.Key, i);\n\t\t\t\t\t})}\n\t\t\t\t</View>\n\t\t\t</View>\n\t\t);\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<View style={styles.pageContainer}>\n\t\t\t\t{this.renderHeader()}\n\t\t\t\t<SectionList\n\t\t\t\t\tenableEmptySections\n\t\t\t\t\tkeyExtractor={(item) => item.Key}\n\t\t\t\t\tstickySectionHeadersEnabled={false}\n\t\t\t\t\trenderSectionHeader={({ section }) =>\n\t\t\t\t\t\tthis.renderSectionHeader(section)\n\t\t\t\t\t}\n\t\t\t\t\trenderItem={({ section, index }) => {\n\t\t\t\t\t\treturn this.renderList(section, index);\n\t\t\t\t\t}}\n\t\t\t\t\tsections={this.state.results}\n\t\t\t\t\tListHeaderComponent={<Text style={styles.peopleTitle}>People</Text>}\n\t\t\t\t\tinitialNumToRender={15}\n\t\t\t\t/>\n\t\t\t</View>\n\t\t);\n\t}\n}\n\nconst styles = {\n\tpageContainer: {\n\t\tflex: 1,\n\t\tposition: \"relative\",\n\t\tbackgroundColor: \"#fff\",\n\t},\n\trow: {\n\t\twidth: \"100%\",\n\t\tflexDirection: \"row\",\n\t},\n\tcolumn: {\n\t\tflex: 1,\n\t},\n\tpeopleTitle: {\n\t\tpadding: 24,\n\t\tpaddingBottom: 12,\n\t\tfontFamily: \"sf-bold\",\n\t\tcolor: TEXT_DARKEST,\n\t\tfontSize: 24,\n\t},\n\tsectionContainer: {\n\t\tpadding: 24,\n\t},\n\tsectionTitle: {\n\t\tfontFamily: \"sf-medium\",\n\t\tcolor: TEXT_DARKEST,\n\t\tfontSize: 20,\n\t\tpaddingTop: 24,\n\t\tpaddingLeft: 24,\n\t},\n\tsection: {\n\t\tmarginTop: 36,\n\t},\n\tsectionLetter: {\n\t\twidth: 22,\n\t\theight: 22,\n\t\tborderRadius: 11,\n\t\talignItems: \"center\",\n\t\tjustifyContent: \"center\",\n\t\tmarginLeft: 24,\n\t},\n\tsectionLetterText: {\n\t\tcolor: \"#fff\",\n\t\tfontSize: 12,\n\t\tfontFamily: \"sf-semibold\",\n\t\ttextAlign: \"center\",\n\t\tlineHeight: 22,\n\t},\n\tuserContainer: {\n\t\twidth: \"100%\",\n\t\theight: 140,\n\t\tmarginTop: 24,\n\t},\n\tuserContainer0: {\n\t\tpaddingLeft: 24,\n\t\tpaddingRight: 6,\n\t},\n\tuserContainer1: {\n\t\tpaddingLeft: 18,\n\t\tpaddingRight: 12,\n\t},\n\tuserContainer2: {\n\t\tpaddingLeft: 12,\n\t\tpaddingRight: 18,\n\t},\n\tuserContainer3: {\n\t\tpaddingLeft: 6,\n\t\tpaddingRight: 24,\n\t},\n\tuserInner: {\n\t\tborderRadius: 4,\n\t\twidth: \"100%\",\n\t\theight: \"100%\",\n\t\talignItems: \"center\",\n\t\tpaddingTop: 32,\n\t\tpaddingHorizontal: 16,\n\t\tbackgroundColor: \"#fff\",\n\t},\n\tuserName: {\n\t\tfontFamily: \"sf-semibold\",\n\t\tcolor: TEXT_DARKEST,\n\t\tfontSize: 14,\n\t\ttextAlign: \"center\",\n\t\tmarginTop: 4,\n\t},\n\tuserLocation: {\n\t\tfontFamily: \"sf-regular\",\n\t\tcolor: TEXT_DARKEST,\n\t\tfontSize: 13,\n\t\ttextAlign: \"center\",\n\t\tmarginTop: 4,\n\t},\n};\n\nconst mapStateToProps = (state) => {\n\treturn {\n\t\tcolourBrandingMain: getMainBrandingColourFromState(state),\n\t\tuser: state.user,\n\t};\n};\n\nexport default withNavigationFocus(\n\tconnect(mapStateToProps, {})(KioskPeoplePage),\n);\n"],"mappings":"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"}
|
|
@@ -2,8 +2,7 @@ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key i
|
|
|
2
2
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
|
|
3
3
|
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
4
4
|
import React, { Component } from "react";
|
|
5
|
-
import { View, TouchableOpacity, Animated, Alert } from "react-native";
|
|
6
|
-
import { Text } from "@plusscommunities/pluss-core-app/components";
|
|
5
|
+
import { View, Text, TouchableOpacity, Animated, Alert } from "react-native";
|
|
7
6
|
import { Swipeable } from "react-native-gesture-handler";
|
|
8
7
|
import { Icon } from "@rneui/themed";
|
|
9
8
|
import { connect } from "react-redux";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Component","View","TouchableOpacity","Animated","Alert","
|
|
1
|
+
{"version":3,"names":["React","Component","View","Text","TouchableOpacity","Animated","Alert","Swipeable","Icon","connect","getMainBrandingColourFromState","Config","SwipeableUserListing","constructor","props","_defineProperty","user","onArchive","alert","displayName","text","onPress","_this$swipeableRef$cu","swipeableRef","current","close","style","chat","archiveConversation","success","cancelable","progress","dragX","translateX","interpolate","inputRange","outputRange","extrapolate","createElement","transform","flexDirection","alignItems","styles","archiveButton","backgroundColor","colourBrandingMain","handleArchive","name","type","color","size","archiveText","createRef","render","children","enabled","ref","renderRightActions","overshootRight","friction","rightThreshold","justifyContent","width","height","paddingHorizontal","paddingVertical","fontSize","marginTop","fontFamily","textAlign","mapStateToProps","state","mapDispatchToProps","dispatch","groupId","messaging","Promise","resolve"],"sources":["SwipeableUserListing.js"],"sourcesContent":["import React, { Component } from \"react\";\nimport { View, Text, TouchableOpacity, Animated, Alert } from \"react-native\";\nimport { Swipeable } from \"react-native-gesture-handler\";\nimport { Icon } from \"@rneui/themed\";\nimport { connect } from \"react-redux\";\nimport { getMainBrandingColourFromState } from \"../../js\";\nimport { Config } from \"../../feature.config\";\n\nclass SwipeableUserListing extends Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.swipeableRef = React.createRef();\n\t}\n\n\thandleArchive = () => {\n\t\tconst { user, onArchive } = this.props;\n\n\t\tAlert.alert(\n\t\t\t\"Archive Conversation\",\n\t\t\t`Archive your conversation with ${user.displayName}? You can still view messages by opening their profile.`,\n\t\t\t[\n\t\t\t\t{\n\t\t\t\t\ttext: \"Cancel\",\n\t\t\t\t\tonPress: () => this.swipeableRef.current?.close(),\n\t\t\t\t\tstyle: \"cancel\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ttext: \"Archive\",\n\t\t\t\t\tonPress: async () => {\n\t\t\t\t\t\tif (this.swipeableRef.current) {\n\t\t\t\t\t\t\tthis.swipeableRef.current.close();\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (user.chat && this.props.archiveConversation) {\n\t\t\t\t\t\t\tconst success = await this.props.archiveConversation(user.chat);\n\t\t\t\t\t\t\tif (success && onArchive) {\n\t\t\t\t\t\t\t\tonArchive(user);\n\t\t\t\t\t\t\t} else if (!success) {\n\t\t\t\t\t\t\t\tAlert.alert(\n\t\t\t\t\t\t\t\t\t\"Error\",\n\t\t\t\t\t\t\t\t\t\"Failed to archive conversation. Please try again.\",\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tstyle: \"destructive\",\n\t\t\t\t},\n\t\t\t],\n\t\t\t{ cancelable: true },\n\t\t);\n\t};\n\n\trenderRightActions = (progress, dragX) => {\n\t\tconst translateX = dragX.interpolate({\n\t\t\tinputRange: [-100, 0],\n\t\t\toutputRange: [0, 100],\n\t\t\textrapolate: \"clamp\",\n\t\t});\n\n\t\treturn (\n\t\t\t<Animated.View\n\t\t\t\tstyle={{\n\t\t\t\t\ttransform: [{ translateX }],\n\t\t\t\t\tflexDirection: \"row\",\n\t\t\t\t\talignItems: \"center\",\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<TouchableOpacity\n\t\t\t\t\tstyle={[\n\t\t\t\t\t\tstyles.archiveButton,\n\t\t\t\t\t\t{ backgroundColor: this.props.colourBrandingMain },\n\t\t\t\t\t]}\n\t\t\t\t\tonPress={this.handleArchive}\n\t\t\t\t>\n\t\t\t\t\t<Icon name=\"archive\" type=\"material\" color=\"white\" size={24} />\n\t\t\t\t\t<Text style={styles.archiveText}>Archive</Text>\n\t\t\t\t</TouchableOpacity>\n\t\t\t</Animated.View>\n\t\t);\n\t};\n\n\trender() {\n\t\tconst { children, enabled = true } = this.props;\n\n\t\tif (!enabled) {\n\t\t\treturn children;\n\t\t}\n\n\t\treturn (\n\t\t\t<Swipeable\n\t\t\t\tref={this.swipeableRef}\n\t\t\t\trenderRightActions={this.renderRightActions}\n\t\t\t\tovershootRight={false}\n\t\t\t\tfriction={2}\n\t\t\t\trightThreshold={40}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</Swipeable>\n\t\t);\n\t}\n}\n\nconst styles = {\n\tarchiveButton: {\n\t\tjustifyContent: \"center\",\n\t\talignItems: \"center\",\n\t\twidth: 100,\n\t\theight: \"100%\",\n\t\tpaddingHorizontal: 15,\n\t\tpaddingVertical: 10,\n\t},\n\tarchiveText: {\n\t\tcolor: \"white\",\n\t\tfontSize: 13,\n\t\tmarginTop: 5,\n\t\tfontFamily: \"sf-semibold\",\n\t\ttextAlign: \"center\",\n\t},\n};\n\nconst mapStateToProps = (state) => ({\n\tcolourBrandingMain: getMainBrandingColourFromState(state),\n});\n\nconst mapDispatchToProps = (dispatch) => ({\n\tarchiveConversation: (groupId) => {\n\t\tif (Config.messaging && Config.messaging.archiveConversation) {\n\t\t\treturn dispatch(Config.messaging.archiveConversation(groupId));\n\t\t}\n\t\treturn Promise.resolve(false);\n\t},\n});\n\nexport default connect(\n\tmapStateToProps,\n\tmapDispatchToProps,\n)(SwipeableUserListing);\n"],"mappings":"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"}
|
|
@@ -21,7 +21,7 @@ export const PlussChat = Components.PlussChat;
|
|
|
21
21
|
export const ProfilePic = Components.ProfilePic;
|
|
22
22
|
export const Spinner = Components.Spinner;
|
|
23
23
|
export const StickyFooter = Components.StickyFooter;
|
|
24
|
-
export const
|
|
24
|
+
export const TextStyle = Components.TextStyle;
|
|
25
25
|
export const Toggle = Components.Toggle;
|
|
26
26
|
export const UserListing = Components.UserListing;
|
|
27
27
|
export const UserMessageListing = Components.UserMessageListing;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Components","Attachment","BackButton","ConfirmPopup","FontAwesome","DropDownMenu","DropDownItem","EmptyStateMain","FormCard","FormCardSection","GenericInput","Header","ImagePopup","ImageUploader","InlineButton","Input","LoadingIndicator","MiddlePopup","PDFPopup","PlussChat","ProfilePic","Spinner","StickyFooter","
|
|
1
|
+
{"version":3,"names":["Components","Attachment","BackButton","ConfirmPopup","FontAwesome","DropDownMenu","DropDownItem","EmptyStateMain","FormCard","FormCardSection","GenericInput","Header","ImagePopup","ImageUploader","InlineButton","Input","LoadingIndicator","MiddlePopup","PDFPopup","PlussChat","ProfilePic","Spinner","StickyFooter","TextStyle","Toggle","UserListing","UserMessageListing","default","SwipeableUserListing"],"sources":["index.js"],"sourcesContent":["import { Components } from \"../../core.config\";\n\nexport const Attachment = Components.Attachment;\nexport const BackButton = Components.BackButton;\nexport const ConfirmPopup = Components.ConfirmPopup;\nexport const FontAwesome = Components.FontAwesome;\nexport const DropDownMenu = Components.DropDownMenu;\nexport const DropDownItem = Components.DropDownItem;\nexport const EmptyStateMain = Components.EmptyStateMain;\nexport const FormCard = Components.FormCard;\nexport const FormCardSection = Components.FormCardSection;\nexport const GenericInput = Components.GenericInput;\nexport const Header = Components.Header;\nexport const ImagePopup = Components.ImagePopup;\nexport const ImageUploader = Components.ImageUploader;\nexport const InlineButton = Components.InlineButton;\nexport const Input = Components.Input;\nexport const LoadingIndicator = Components.LoadingIndicator;\nexport const MiddlePopup = Components.MiddlePopup;\nexport const PDFPopup = Components.PDFPopup;\nexport const PlussChat = Components.PlussChat;\nexport const ProfilePic = Components.ProfilePic;\nexport const Spinner = Components.Spinner;\nexport const StickyFooter = Components.StickyFooter;\nexport const TextStyle = Components.TextStyle;\nexport const Toggle = Components.Toggle;\nexport const UserListing = Components.UserListing;\nexport const UserMessageListing = Components.UserMessageListing;\nexport { default as SwipeableUserListing } from \"./SwipeableUserListing\";\n"],"mappings":"AAAA,SAASA,UAAU,QAAQ,mBAAmB;AAE9C,OAAO,MAAMC,UAAU,GAAGD,UAAU,CAACC,UAAU;AAC/C,OAAO,MAAMC,UAAU,GAAGF,UAAU,CAACE,UAAU;AAC/C,OAAO,MAAMC,YAAY,GAAGH,UAAU,CAACG,YAAY;AACnD,OAAO,MAAMC,WAAW,GAAGJ,UAAU,CAACI,WAAW;AACjD,OAAO,MAAMC,YAAY,GAAGL,UAAU,CAACK,YAAY;AACnD,OAAO,MAAMC,YAAY,GAAGN,UAAU,CAACM,YAAY;AACnD,OAAO,MAAMC,cAAc,GAAGP,UAAU,CAACO,cAAc;AACvD,OAAO,MAAMC,QAAQ,GAAGR,UAAU,CAACQ,QAAQ;AAC3C,OAAO,MAAMC,eAAe,GAAGT,UAAU,CAACS,eAAe;AACzD,OAAO,MAAMC,YAAY,GAAGV,UAAU,CAACU,YAAY;AACnD,OAAO,MAAMC,MAAM,GAAGX,UAAU,CAACW,MAAM;AACvC,OAAO,MAAMC,UAAU,GAAGZ,UAAU,CAACY,UAAU;AAC/C,OAAO,MAAMC,aAAa,GAAGb,UAAU,CAACa,aAAa;AACrD,OAAO,MAAMC,YAAY,GAAGd,UAAU,CAACc,YAAY;AACnD,OAAO,MAAMC,KAAK,GAAGf,UAAU,CAACe,KAAK;AACrC,OAAO,MAAMC,gBAAgB,GAAGhB,UAAU,CAACgB,gBAAgB;AAC3D,OAAO,MAAMC,WAAW,GAAGjB,UAAU,CAACiB,WAAW;AACjD,OAAO,MAAMC,QAAQ,GAAGlB,UAAU,CAACkB,QAAQ;AAC3C,OAAO,MAAMC,SAAS,GAAGnB,UAAU,CAACmB,SAAS;AAC7C,OAAO,MAAMC,UAAU,GAAGpB,UAAU,CAACoB,UAAU;AAC/C,OAAO,MAAMC,OAAO,GAAGrB,UAAU,CAACqB,OAAO;AACzC,OAAO,MAAMC,YAAY,GAAGtB,UAAU,CAACsB,YAAY;AACnD,OAAO,MAAMC,SAAS,GAAGvB,UAAU,CAACuB,SAAS;AAC7C,OAAO,MAAMC,MAAM,GAAGxB,UAAU,CAACwB,MAAM;AACvC,OAAO,MAAMC,WAAW,GAAGzB,UAAU,CAACyB,WAAW;AACjD,OAAO,MAAMC,kBAAkB,GAAG1B,UAAU,CAAC0B,kBAAkB;AAC/D,SAASC,OAAO,IAAIC,oBAAoB,QAAQ,wBAAwB"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import React, { Component } from "react";
|
|
2
|
-
import { Text } from "
|
|
3
|
-
import { Keyboard, View, Modal, FlatList, TouchableWithoutFeedback } from "react-native";
|
|
2
|
+
import { Keyboard, Text, View, Modal, FlatList, TouchableWithoutFeedback } from "react-native";
|
|
4
3
|
import _ from "lodash";
|
|
5
4
|
import { connect } from "react-redux";
|
|
6
5
|
import { TEXT_DARK, LINEGREY, COLOUR_GREEN, TEXT_LIGHT, getMainBrandingColourFromState } from "../../js/Colors";
|