@plusscommunities/pluss-circles-app 8.0.4 → 8.0.6-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.
Files changed (133) hide show
  1. package/dist/module/actions/ChatActions.js +3 -3
  2. package/dist/module/actions/ChatActions.js.map +1 -1
  3. package/dist/module/actions/GroupActions.js +18 -18
  4. package/dist/module/actions/GroupActions.js.map +1 -1
  5. package/dist/module/actions/index.js +3 -3
  6. package/dist/module/actions/index.js.map +1 -1
  7. package/dist/module/actions/types.js +2 -2
  8. package/dist/module/actions/types.js.map +1 -1
  9. package/dist/module/assets/fonts.js +1 -1
  10. package/dist/module/assets/fonts.js.map +1 -1
  11. package/dist/module/components/chat/Chat.js +83 -101
  12. package/dist/module/components/chat/Chat.js.map +1 -1
  13. package/dist/module/components/chat/ChatList.js +49 -49
  14. package/dist/module/components/chat/ChatList.js.map +1 -1
  15. package/dist/module/components/chat/ContactsList.js +21 -21
  16. package/dist/module/components/chat/ContactsList.js.map +1 -1
  17. package/dist/module/components/chat/KioskPeoplePage.js +38 -37
  18. package/dist/module/components/chat/KioskPeoplePage.js.map +1 -1
  19. package/dist/module/components/chat/PeopleContainer.js +5 -5
  20. package/dist/module/components/chat/PeopleContainer.js.map +1 -1
  21. package/dist/module/components/chat/PeoplePage.js +41 -41
  22. package/dist/module/components/chat/PeoplePage.js.map +1 -1
  23. package/dist/module/components/common/SwipeableUserListing.js +22 -22
  24. package/dist/module/components/common/SwipeableUserListing.js.map +1 -1
  25. package/dist/module/components/common/index.js +2 -2
  26. package/dist/module/components/common/index.js.map +1 -1
  27. package/dist/module/components/events/EventInvitePopup.js +40 -40
  28. package/dist/module/components/events/EventInvitePopup.js.map +1 -1
  29. package/dist/module/components/groups/EditGroup.js +62 -62
  30. package/dist/module/components/groups/EditGroup.js.map +1 -1
  31. package/dist/module/components/groups/GroupDetails.js +32 -32
  32. package/dist/module/components/groups/GroupDetails.js.map +1 -1
  33. package/dist/module/components/groups/GroupsList.js +10 -10
  34. package/dist/module/components/groups/GroupsList.js.map +1 -1
  35. package/dist/module/components/groups/GroupsWidget.js +18 -18
  36. package/dist/module/components/groups/GroupsWidget.js.map +1 -1
  37. package/dist/module/components/groups/NewGroup.js +101 -101
  38. package/dist/module/components/groups/NewGroup.js.map +1 -1
  39. package/dist/module/components/groups/PublicGroup.js +17 -17
  40. package/dist/module/components/groups/PublicGroup.js.map +1 -1
  41. package/dist/module/components/groups/PublicGroupAction.js +39 -39
  42. package/dist/module/components/groups/PublicGroupAction.js.map +1 -1
  43. package/dist/module/components/notifications/GroupInvite.js +25 -25
  44. package/dist/module/components/notifications/GroupInvite.js.map +1 -1
  45. package/dist/module/components/notifications/GroupInviteAction.js +44 -44
  46. package/dist/module/components/notifications/GroupInviteAction.js.map +1 -1
  47. package/dist/module/components/notifications/GroupMessage.js +17 -17
  48. package/dist/module/components/notifications/GroupMessage.js.map +1 -1
  49. package/dist/module/components/takeover/TakeoverBackground.js +5 -5
  50. package/dist/module/components/takeover/TakeoverBackground.js.map +1 -1
  51. package/dist/module/config/index.js +2 -2
  52. package/dist/module/config/index.js.map +1 -1
  53. package/dist/module/core.config.js +1 -1
  54. package/dist/module/core.config.js.map +1 -1
  55. package/dist/module/feature.config.js +27 -27
  56. package/dist/module/feature.config.js.map +1 -1
  57. package/dist/module/index.js +14 -14
  58. package/dist/module/index.js.map +1 -1
  59. package/dist/module/js/Colors.js +1 -1
  60. package/dist/module/js/Colors.js.map +1 -1
  61. package/dist/module/js/NavigationService.js +1 -1
  62. package/dist/module/js/NavigationService.js.map +1 -1
  63. package/dist/module/js/Styles.js +1 -1
  64. package/dist/module/js/Styles.js.map +1 -1
  65. package/dist/module/js/circles/MapStateToDirectMessages.js +2 -2
  66. package/dist/module/js/circles/MapStateToDirectMessages.js.map +1 -1
  67. package/dist/module/js/index.js +3 -3
  68. package/dist/module/js/index.js.map +1 -1
  69. package/dist/module/reducers/ChatsReducer.js +4 -4
  70. package/dist/module/reducers/ChatsReducer.js.map +1 -1
  71. package/dist/module/reducers/GroupsReducer.js +5 -5
  72. package/dist/module/reducers/GroupsReducer.js.map +1 -1
  73. package/dist/module/reducers/reducerKeys.js +1 -1
  74. package/dist/module/reducers/reducerKeys.js.map +1 -1
  75. package/dist/module/values.config.default.js +25 -25
  76. package/dist/module/values.config.default.js.map +1 -1
  77. package/dist/module/values.config.groups.js +25 -25
  78. package/dist/module/values.config.groups.js.map +1 -1
  79. package/dist/module/values.config.js +25 -25
  80. package/dist/module/values.config.js.map +1 -1
  81. package/dist/module/webapi/circleActions.js +31 -31
  82. package/dist/module/webapi/circleActions.js.map +1 -1
  83. package/dist/module/webapi/helper.js +1 -1
  84. package/dist/module/webapi/helper.js.map +1 -1
  85. package/dist/module/webapi/index.js +3 -3
  86. package/dist/module/webapi/index.js.map +1 -1
  87. package/dist/module/webapi/messageActions.js +10 -10
  88. package/dist/module/webapi/messageActions.js.map +1 -1
  89. package/package.json +54 -54
  90. package/src/actions/ChatActions.js +55 -55
  91. package/src/actions/GroupActions.js +245 -237
  92. package/src/actions/index.js +3 -3
  93. package/src/actions/types.js +2 -2
  94. package/src/assets/fonts.js +1 -1
  95. package/src/components/chat/Chat.js +730 -669
  96. package/src/components/chat/ChatList.js +603 -512
  97. package/src/components/chat/ContactsList.js +186 -169
  98. package/src/components/chat/KioskPeoplePage.js +315 -291
  99. package/src/components/chat/PeopleContainer.js +14 -14
  100. package/src/components/chat/PeoplePage.js +450 -383
  101. package/src/components/common/SwipeableUserListing.js +118 -106
  102. package/src/components/common/index.js +2 -2
  103. package/src/components/events/EventInvitePopup.js +587 -505
  104. package/src/components/groups/EditGroup.js +607 -538
  105. package/src/components/groups/GroupDetails.js +385 -305
  106. package/src/components/groups/GroupsList.js +91 -79
  107. package/src/components/groups/GroupsWidget.js +122 -116
  108. package/src/components/groups/NewGroup.js +758 -639
  109. package/src/components/groups/PublicGroup.js +129 -101
  110. package/src/components/groups/PublicGroupAction.js +312 -244
  111. package/src/components/notifications/GroupInvite.js +167 -139
  112. package/src/components/notifications/GroupInviteAction.js +371 -273
  113. package/src/components/notifications/GroupMessage.js +110 -102
  114. package/src/components/takeover/TakeoverBackground.js +24 -18
  115. package/src/config/index.js +4 -4
  116. package/src/core.config.js +27 -3
  117. package/src/feature.config.js +257 -245
  118. package/src/index.js +24 -21
  119. package/src/js/Colors.js +5 -3
  120. package/src/js/NavigationService.js +5 -4
  121. package/src/js/Styles.js +1 -1
  122. package/src/js/circles/MapStateToDirectMessages.js +6 -6
  123. package/src/js/index.js +3 -3
  124. package/src/reducers/ChatsReducer.js +66 -53
  125. package/src/reducers/GroupsReducer.js +203 -190
  126. package/src/reducers/reducerKeys.js +1 -1
  127. package/src/values.config.default.js +29 -29
  128. package/src/values.config.groups.js +29 -29
  129. package/src/values.config.js +29 -29
  130. package/src/webapi/circleActions.js +109 -109
  131. package/src/webapi/helper.js +1 -1
  132. package/src/webapi/index.js +3 -3
  133. package/src/webapi/messageActions.js +47 -47
@@ -1 +1 @@
1
- {"version":3,"names":["React","Component","View","connect","withNavigationFocus","_","moment","Header","TouchableSearchBar","CategoryTabs","LoadingIndicator","getSite","NavigationService","ChatList","getGroupInvites","updatePublicGroups","updateGroups","updateUnreadCounter","clearGroupCounter","residentsLoaded","getFollowers","linkedUsersLoaded","linkedToUsersLoaded","circleActions","contactActions","userActions","TakeoverBackground","ContactsList","BaseComponents","values","PeoplePage","constructor","props","_defineProperty","user","uid","res","getGroups","data","Items","error","console","log","goBack","groupFetchInterval","state","selectedCategory","onlyGroups","textFeatureTitle","nextGroupsFetch","nextPeopleFetch","fetchingPublicGroups","fetchingResidents","fetchingLinkedUsers","fetchingLinkedToMe","isHomeTab","categories","categoryCounter","Circles","Contacts","componentDidMount","setState","getParentRoute","tab","setTimeout","getUserGroups","fetchUsers","getPublicGroups","setInterval","bind","updateLastFetch","UNSAFE_componentWillReceiveProps","nextProps","checkFocusRefresh","isFocused","componentWillUnmount","clearInterval","newFocus","utc","valueOf","updateBoth","add","site","category","getSiteResidents","isEmpty","results","sortBy","getLinkedUsers","getLinkedToMe","selectCategory","renderCategories","onlyPeople","createElement","categoryKeys","counterValues","groupUnread","peopleUnread","initialCategory","currentTab","onSelect","noScroll","catStyle","paddingHorizontal","renderHeader","leftIcon","onPressLeft","onPressBack","text","title","tabTitle","extraHeaderContent","centerContent","searchName","featureKey","priorityType","style","includes","hidden","marginRight","rightContent","NotificationBell","goToNotifs","renderPage","loading","content","publicGroups","isLoading","options","source","users","otherMessages","flex","visible","render","takeover","userTakeover","mapStateToProps","residents","list","unionBy","linkedList","linkedToList","others","circles","reducerKey","forEach","element","isUndefined","Unread","privateList","PrivateChatUser","lastMessage","find","id","userId","_element$lastMessage","_element$lastMessage2","lastMessageAt","createdAt","unread","_element$lastMessage3","_element$lastMessage4","displayName","key","profilePic","profilePicThumb","section","push","filter","publicList","group","some","Audience","u","following","followers"],"sources":["PeoplePage.js"],"sourcesContent":["import React, { Component } from 'react';\nimport { View } from 'react-native';\nimport { connect } from 'react-redux';\nimport { withNavigationFocus } from '@plusscommunities/pluss-core-app';\nimport _ from 'lodash';\nimport moment from 'moment';\nimport { Header, TouchableSearchBar, CategoryTabs, LoadingIndicator } from '../common';\nimport { getSite } from '../../js';\nimport NavigationService from '../../js/NavigationService';\nimport ChatList from './ChatList';\nimport {\n getGroupInvites,\n updatePublicGroups,\n updateGroups,\n updateUnreadCounter,\n clearGroupCounter,\n residentsLoaded,\n getFollowers,\n linkedUsersLoaded,\n linkedToUsersLoaded,\n} from '../../actions';\nimport { circleActions, contactActions, userActions } from '../../webapi';\nimport TakeoverBackground from '../takeover/TakeoverBackground';\nimport ContactsList from './ContactsList';\nimport { BaseComponents } from '../../feature.config';\nimport { values } from '../../values.config';\n\nclass PeoplePage extends Component {\n constructor(props) {\n super(props);\n this.groupFetchInterval = null;\n this.state = {\n selectedCategory: this.props.onlyGroups ? values.textFeatureTitle : 'Contacts',\n nextGroupsFetch: 0,\n nextPeopleFetch: 0,\n fetchingPublicGroups: true,\n fetchingResidents: true,\n fetchingLinkedUsers: true,\n fetchingLinkedToMe: true,\n isHomeTab: false,\n };\n this.categories = ['Contacts', values.textFeatureTitle];\n this.categoryCounter = { Circles: true, Contacts: true };\n }\n\n async componentDidMount() {\n this.setState({ isHomeTab: !NavigationService.getParentRoute() });\n\n if (this.props.tab) {\n this.setState({ selectedCategory: this.props.tab });\n }\n\n setTimeout(() => {\n this.getGroupInvites();\n }, 100);\n setTimeout(() => {\n this.getUserGroups();\n }, 200);\n setTimeout(() => {\n this.props.getFollowers(this.props.user.uid);\n }, 300);\n setTimeout(() => {\n this.fetchUsers();\n }, 2000);\n setTimeout(() => {\n this.getPublicGroups();\n }, 2500);\n\n this.groupFetchInterval = setInterval(this.getUserGroups.bind(this), 2000);\n\n this.updateLastFetch(true);\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n if (nextProps.tab && nextProps.tab !== this.props.tab) {\n this.setState({ selectedCategory: nextProps.tab });\n }\n\n this.checkFocusRefresh(nextProps.isFocused);\n }\n\n componentWillUnmount() {\n clearInterval(this.groupFetchInterval);\n }\n\n checkFocusRefresh(newFocus) {\n if (newFocus && !this.props.isFocused) {\n setTimeout(() => {\n if (this.state.selectedCategory === values.textFeatureTitle && this.state.nextGroupsFetch < moment.utc().valueOf()) {\n this.getGroupInvites();\n this.getPublicGroups();\n this.updateLastFetch(false, true);\n }\n if (this.state.selectedCategory !== values.textFeatureTitle && this.state.nextPeopleFetch < moment.utc().valueOf()) {\n this.fetchUsers();\n this.props.getFollowers(this.props.user.uid);\n this.updateLastFetch(false, false);\n }\n this.getUserGroups();\n setTimeout(() => {\n this.getUserGroups();\n }, 5000);\n }, 1000);\n }\n }\n\n updateLastFetch(updateBoth, updateGroups) {\n const nextGroupsFetch = moment.utc();\n const nextPeopleFetch = moment.utc();\n nextGroupsFetch.add(2, 'seconds');\n nextPeopleFetch.add(5, 'minutes');\n\n if (updateBoth) {\n this.setState({\n nextGroupsFetch: nextGroupsFetch.valueOf(),\n nextPeopleFetch: nextPeopleFetch.valueOf(),\n });\n } else {\n if (updateGroups) {\n this.setState({\n nextGroupsFetch: nextGroupsFetch.valueOf(),\n });\n } else {\n this.setState({\n nextPeopleFetch: nextPeopleFetch.valueOf(),\n });\n }\n }\n }\n\n /***\n * Circles/Chat page functions\n */\n getGroupInvites = () => {\n this.props.getGroupInvites(this.props.user.uid);\n };\n\n getPublicGroups() {\n this.setState({ fetchingPublicGroups: true }, async () => {\n try {\n const res = await circleActions.getPublicGroups(getSite(this.props.user.site));\n // console.log('getPublicGroups', res.data);\n this.props.updatePublicGroups(res.data);\n } catch (error) {\n console.log('fetch public circles FAIL', error);\n } finally {\n this.setState({ fetchingPublicGroups: false });\n }\n });\n }\n\n getUserGroups = async () => {\n try {\n // Always exclude archived groups (false parameter)\n const res = await circleActions.getGroups(false);\n this.props.updateGroups(res.data.Items);\n this.props.updateUnreadCounter(res.data.Items, this.props.user.uid);\n } catch (error) {\n console.log('fetch circles FAIL', error);\n }\n };\n\n /***\n * Contacts page refetch\n */\n fetchUsers() {\n if (this.props.user.category !== 'family') {\n this.setState({ fetchingResidents: true }, async () => {\n try {\n const res = await contactActions.getSiteResidents(getSite(this.props.user.site));\n // console.log('getSiteResidents', res.data);\n if (!_.isEmpty(res.data.results.Items)) {\n this.props.residentsLoaded(_.sortBy(res.data.results.Items, 'displayName'));\n }\n } catch (error) {\n console.log('fetch site residents FAIL', error);\n } finally {\n this.setState({ fetchingResidents: false });\n }\n });\n } else {\n this.setState({ fetchingResidents: false });\n }\n\n this.setState({ fetchingLinkedUsers: true }, async () => {\n try {\n const res = await userActions.getLinkedUsers(this.props.user.uid);\n // console.log('getLinkedUsers', res.data);\n if (!_.isEmpty(res.data)) {\n this.props.linkedToUsersLoaded(_.sortBy(res.data, 'displayName'));\n }\n } catch (error) {\n console.log('fetch linked users FAIL', error);\n } finally {\n this.setState({ fetchingLinkedUsers: false });\n }\n });\n\n this.setState({ fetchingLinkedToMe: true }, async () => {\n try {\n const res = await userActions.getLinkedToMe(this.props.user.uid);\n // console.log('getLinkedToMe', res.data);\n if (!_.isEmpty(res.data)) {\n this.props.linkedUsersLoaded(_.sortBy(res.data.Items, 'displayName'));\n }\n } catch (error) {\n console.log('fetch linked to me FAIL', error);\n } finally {\n this.setState({ fetchingLinkedToMe: false });\n }\n });\n }\n\n selectCategory(category) {\n this.setState({\n selectedCategory: category,\n });\n if (category === values.textFeatureTitle && this.state.nextGroupsFetch < moment.utc().valueOf()) {\n this.getGroupInvites();\n this.getUserGroups();\n this.getPublicGroups();\n this.updateLastFetch(false, true);\n }\n if (category !== values.textFeatureTitle && this.state.nextPeopleFetch < moment.utc().valueOf()) {\n this.fetchUsers();\n this.props.getFollowers(this.props.user.uid);\n this.updateLastFetch(false, false);\n }\n }\n\n onPressBack = () => {\n NavigationService.goBack();\n };\n\n renderCategories() {\n if (this.props.onlyGroups || this.props.onlyPeople) {\n return null;\n }\n return (\n <CategoryTabs\n categoryKeys={this.categories}\n categoryCounter={this.categoryCounter}\n counterValues={{ Circles: this.props.groupUnread, Contacts: this.props.peopleUnread }}\n initialCategory={'Contacts'}\n currentTab={this.state.selectedCategory}\n onSelect={this.selectCategory.bind(this)}\n noScroll\n catStyle={{ paddingHorizontal: 16 }}\n />\n );\n }\n\n renderHeader() {\n if (!this.state.isHomeTab)\n return (\n <Header\n leftIcon=\"angle-left\"\n onPressLeft={this.onPressBack}\n text={this.props.title || this.props.tabTitle || 'People'}\n extraHeaderContent={this.renderCategories()}\n />\n );\n\n return (\n <Header\n centerContent={\n <TouchableSearchBar\n searchName={this.state.selectedCategory === values.textFeatureTitle ? values.featureKey : 'people'}\n priorityType={this.state.selectedCategory === values.textFeatureTitle ? values.featureKey : 'users'}\n style={_.includes(this.props.user.hidden, 'notifications') ? null : { marginRight: 0 }}\n />\n }\n rightContent={\n _.includes(this.props.user.hidden, 'notifications') ? null : (\n <BaseComponents.NotificationBell\n goToNotifs={() => {\n this.goToNotifs.bind(this);\n }}\n />\n )\n }\n extraHeaderContent={this.renderCategories()}\n />\n );\n }\n\n renderPage() {\n let loading = false;\n const content = (() => {\n // console.log('renderPage', this.state.selectedCategory);\n switch (this.state.selectedCategory) {\n case values.textFeatureTitle:\n loading = this.state.fetchingPublicGroups;\n return <ChatList publicGroups={this.props.publicGroups} isLoading={loading} options={this.props.options} />;\n case 'Contacts':\n loading = this.state.fetchingResidents || this.state.fetchingLinkedUsers || this.state.fetchingLinkedToMe;\n return (\n <ContactsList\n source={this.props.users}\n otherMessages={this.props.otherMessages}\n isLoading={loading}\n options={this.props.options}\n />\n );\n default:\n break;\n }\n return null;\n })();\n\n return (\n <View style={{ flex: 1 }}>\n <LoadingIndicator visible={loading} />\n {content}\n </View>\n );\n }\n\n render() {\n return (\n <TakeoverBackground takeover={this.props.userTakeover}>\n {this.renderHeader()}\n {this.renderPage()}\n </TakeoverBackground>\n );\n }\n}\n\nconst mapStateToProps = state => {\n // console.log('mapStateToProps circles', state.circles);\n const residents = state.user.category !== 'family' ? state.residents.list : [];\n let users = _.unionBy([...state.residents.linkedList, ...state.residents.linkedToList, ...residents], 'id');\n let groupUnread = 0;\n let peopleUnread = 0;\n const others = [];\n const circles = state[values.reducerKey];\n if (state.user.uid != null) {\n (circles.list || []).forEach(element => {\n if (\n !_.isUndefined(element.Unread) &&\n !_.isEmpty(element.Unread) &&\n !_.isUndefined(element.Unread[state.user.uid]) &&\n element.Unread[state.user.uid] > 0\n ) {\n groupUnread += 1;\n }\n });\n (circles.privateList || []).forEach(element => {\n if (\n !!element.PrivateChatUser &&\n !_.isUndefined(element.Unread) &&\n !_.isEmpty(element.Unread) &&\n !_.isUndefined(element.Unread[state.user.uid]) &&\n element.Unread[state.user.uid] > 0\n ) {\n peopleUnread += 1;\n }\n if (!!element.lastMessage && !!element.PrivateChatUser) {\n const user = _.find(users, { id: element.PrivateChatUser.userId });\n if (!_.isUndefined(user)) {\n // fill in information in users list\n user.lastMessage = element.lastMessage?.text || '';\n user.lastMessageAt = !_.isEmpty(user.lastMessage) ? element.lastMessage?.createdAt : null;\n if (!_.isUndefined(element.Unread) && !_.isEmpty(element.Unread) && !_.isUndefined(element.Unread[state.user.uid])) {\n user.unread = element.Unread[state.user.uid];\n }\n } else {\n // add to others section\n const user = {\n displayName: element.PrivateChatUser.displayName,\n id: element.PrivateChatUser.userId,\n key: element.PrivateChatUser.userId,\n lastMessage: element.lastMessage?.text || '',\n lastMessageAt: element.lastMessage?.createdAt || null,\n profilePic: element.PrivateChatUser.profilePic,\n profilePicThumb: element.PrivateChatUser.profilePic,\n section: 'Others',\n };\n if (!_.isUndefined(element.Unread) && !_.isEmpty(element.Unread) && !_.isUndefined(element.Unread[state.user.uid])) {\n user.unread = element.Unread[state.user.uid];\n }\n others.push(user);\n }\n }\n });\n }\n const publicGroups = _.filter(circles.publicList, group => {\n // console.log('publicGroups', group.Audience);\n // filter circles you are in\n return !_.some(group.Audience, u => {\n return u.userId === state.user.uid;\n });\n });\n\n return {\n user: state.user,\n following: state.followers.following,\n users,\n otherMessages: others,\n groupUnread,\n peopleUnread,\n publicGroups,\n };\n};\n\nexport default withNavigationFocus(\n connect(mapStateToProps, {\n getGroupInvites,\n updatePublicGroups,\n updateGroups,\n updateUnreadCounter,\n clearGroupCounter,\n residentsLoaded,\n getFollowers,\n linkedUsersLoaded,\n linkedToUsersLoaded,\n })(PeoplePage),\n);\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","Component","View","connect","withNavigationFocus","_","moment","Header","TouchableSearchBar","CategoryTabs","LoadingIndicator","getSite","NavigationService","ChatList","getGroupInvites","updatePublicGroups","updateGroups","updateUnreadCounter","clearGroupCounter","residentsLoaded","getFollowers","linkedUsersLoaded","linkedToUsersLoaded","circleActions","contactActions","userActions","TakeoverBackground","ContactsList","BaseComponents","values","PeoplePage","constructor","props","_defineProperty","user","uid","res","getGroups","data","Items","error","console","log","goBack","groupFetchInterval","state","selectedCategory","onlyGroups","textFeatureTitle","nextGroupsFetch","nextPeopleFetch","fetchingPublicGroups","fetchingResidents","fetchingLinkedUsers","fetchingLinkedToMe","isHomeTab","categories","categoryCounter","Circles","Contacts","componentDidMount","setState","getParentRoute","tab","setTimeout","getUserGroups","fetchUsers","getPublicGroups","setInterval","bind","updateLastFetch","UNSAFE_componentWillReceiveProps","nextProps","checkFocusRefresh","isFocused","componentWillUnmount","clearInterval","newFocus","utc","valueOf","updateBoth","add","site","category","getSiteResidents","isEmpty","results","sortBy","getLinkedUsers","getLinkedToMe","selectCategory","renderCategories","onlyPeople","createElement","categoryKeys","counterValues","groupUnread","peopleUnread","initialCategory","currentTab","onSelect","noScroll","catStyle","paddingHorizontal","renderHeader","leftIcon","onPressLeft","onPressBack","text","title","tabTitle","extraHeaderContent","centerContent","searchName","featureKey","priorityType","style","includes","hidden","marginRight","rightContent","NotificationBell","goToNotifs","renderPage","loading","content","publicGroups","isLoading","options","source","users","otherMessages","flex","visible","render","takeover","userTakeover","mapStateToProps","residents","list","unionBy","linkedList","linkedToList","others","circles","reducerKey","forEach","element","isUndefined","Unread","privateList","PrivateChatUser","lastMessage","find","id","userId","_element$lastMessage","_element$lastMessage2","lastMessageAt","createdAt","unread","_element$lastMessage3","_element$lastMessage4","displayName","key","profilePic","profilePicThumb","section","push","filter","publicList","group","some","Audience","u","following","followers"],"sources":["PeoplePage.js"],"sourcesContent":["import React, { Component } from \"react\";\nimport { View } from \"react-native\";\nimport { connect } from \"react-redux\";\nimport { withNavigationFocus } from \"react-navigation\";\nimport _ from \"lodash\";\nimport moment from \"moment\";\nimport {\n\tHeader,\n\tTouchableSearchBar,\n\tCategoryTabs,\n\tLoadingIndicator,\n} from \"../common\";\nimport { getSite } from \"../../js\";\nimport NavigationService from \"../../js/NavigationService\";\nimport ChatList from \"./ChatList\";\nimport {\n\tgetGroupInvites,\n\tupdatePublicGroups,\n\tupdateGroups,\n\tupdateUnreadCounter,\n\tclearGroupCounter,\n\tresidentsLoaded,\n\tgetFollowers,\n\tlinkedUsersLoaded,\n\tlinkedToUsersLoaded,\n} from \"../../actions\";\nimport { circleActions, contactActions, userActions } from \"../../webapi\";\nimport TakeoverBackground from \"../takeover/TakeoverBackground\";\nimport ContactsList from \"./ContactsList\";\nimport { BaseComponents } from \"../../feature.config\";\nimport { values } from \"../../values.config\";\n\nclass PeoplePage extends Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.groupFetchInterval = null;\n\t\tthis.state = {\n\t\t\tselectedCategory: this.props.onlyGroups\n\t\t\t\t? values.textFeatureTitle\n\t\t\t\t: \"Contacts\",\n\t\t\tnextGroupsFetch: 0,\n\t\t\tnextPeopleFetch: 0,\n\t\t\tfetchingPublicGroups: true,\n\t\t\tfetchingResidents: true,\n\t\t\tfetchingLinkedUsers: true,\n\t\t\tfetchingLinkedToMe: true,\n\t\t\tisHomeTab: false,\n\t\t};\n\t\tthis.categories = [\"Contacts\", values.textFeatureTitle];\n\t\tthis.categoryCounter = { Circles: true, Contacts: true };\n\t}\n\n\tasync componentDidMount() {\n\t\tthis.setState({ isHomeTab: !NavigationService.getParentRoute() });\n\n\t\tif (this.props.tab) {\n\t\t\tthis.setState({ selectedCategory: this.props.tab });\n\t\t}\n\n\t\tsetTimeout(() => {\n\t\t\tthis.getGroupInvites();\n\t\t}, 100);\n\t\tsetTimeout(() => {\n\t\t\tthis.getUserGroups();\n\t\t}, 200);\n\t\tsetTimeout(() => {\n\t\t\tthis.props.getFollowers(this.props.user.uid);\n\t\t}, 300);\n\t\tsetTimeout(() => {\n\t\t\tthis.fetchUsers();\n\t\t}, 2000);\n\t\tsetTimeout(() => {\n\t\t\tthis.getPublicGroups();\n\t\t}, 2500);\n\n\t\tthis.groupFetchInterval = setInterval(this.getUserGroups.bind(this), 2000);\n\n\t\tthis.updateLastFetch(true);\n\t}\n\n\tUNSAFE_componentWillReceiveProps(nextProps) {\n\t\tif (nextProps.tab && nextProps.tab !== this.props.tab) {\n\t\t\tthis.setState({ selectedCategory: nextProps.tab });\n\t\t}\n\n\t\tthis.checkFocusRefresh(nextProps.isFocused);\n\t}\n\n\tcomponentWillUnmount() {\n\t\tclearInterval(this.groupFetchInterval);\n\t}\n\n\tcheckFocusRefresh(newFocus) {\n\t\tif (newFocus && !this.props.isFocused) {\n\t\t\tsetTimeout(() => {\n\t\t\t\tif (\n\t\t\t\t\tthis.state.selectedCategory === values.textFeatureTitle &&\n\t\t\t\t\tthis.state.nextGroupsFetch < moment.utc().valueOf()\n\t\t\t\t) {\n\t\t\t\t\tthis.getGroupInvites();\n\t\t\t\t\tthis.getPublicGroups();\n\t\t\t\t\tthis.updateLastFetch(false, true);\n\t\t\t\t}\n\t\t\t\tif (\n\t\t\t\t\tthis.state.selectedCategory !== values.textFeatureTitle &&\n\t\t\t\t\tthis.state.nextPeopleFetch < moment.utc().valueOf()\n\t\t\t\t) {\n\t\t\t\t\tthis.fetchUsers();\n\t\t\t\t\tthis.props.getFollowers(this.props.user.uid);\n\t\t\t\t\tthis.updateLastFetch(false, false);\n\t\t\t\t}\n\t\t\t\tthis.getUserGroups();\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tthis.getUserGroups();\n\t\t\t\t}, 5000);\n\t\t\t}, 1000);\n\t\t}\n\t}\n\n\tupdateLastFetch(updateBoth, updateGroups) {\n\t\tconst nextGroupsFetch = moment.utc();\n\t\tconst nextPeopleFetch = moment.utc();\n\t\tnextGroupsFetch.add(2, \"seconds\");\n\t\tnextPeopleFetch.add(5, \"minutes\");\n\n\t\tif (updateBoth) {\n\t\t\tthis.setState({\n\t\t\t\tnextGroupsFetch: nextGroupsFetch.valueOf(),\n\t\t\t\tnextPeopleFetch: nextPeopleFetch.valueOf(),\n\t\t\t});\n\t\t} else {\n\t\t\tif (updateGroups) {\n\t\t\t\tthis.setState({\n\t\t\t\t\tnextGroupsFetch: nextGroupsFetch.valueOf(),\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tthis.setState({\n\t\t\t\t\tnextPeopleFetch: nextPeopleFetch.valueOf(),\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\n\t/***\n\t * Circles/Chat page functions\n\t */\n\tgetGroupInvites = () => {\n\t\tthis.props.getGroupInvites(this.props.user.uid);\n\t};\n\n\tgetPublicGroups() {\n\t\tthis.setState({ fetchingPublicGroups: true }, async () => {\n\t\t\ttry {\n\t\t\t\tconst res = await circleActions.getPublicGroups(\n\t\t\t\t\tgetSite(this.props.user.site),\n\t\t\t\t);\n\t\t\t\t// console.log('getPublicGroups', res.data);\n\t\t\t\tthis.props.updatePublicGroups(res.data);\n\t\t\t} catch (error) {\n\t\t\t\tconsole.log(\"fetch public circles FAIL\", error);\n\t\t\t} finally {\n\t\t\t\tthis.setState({ fetchingPublicGroups: false });\n\t\t\t}\n\t\t});\n\t}\n\n\tgetUserGroups = async () => {\n\t\ttry {\n\t\t\t// Always exclude archived groups (false parameter)\n\t\t\tconst res = await circleActions.getGroups(false);\n\t\t\tthis.props.updateGroups(res.data.Items);\n\t\t\tthis.props.updateUnreadCounter(res.data.Items, this.props.user.uid);\n\t\t} catch (error) {\n\t\t\tconsole.log(\"fetch circles FAIL\", error);\n\t\t}\n\t};\n\n\t/***\n\t * Contacts page refetch\n\t */\n\tfetchUsers() {\n\t\tif (this.props.user.category !== \"family\") {\n\t\t\tthis.setState({ fetchingResidents: true }, async () => {\n\t\t\t\ttry {\n\t\t\t\t\tconst res = await contactActions.getSiteResidents(\n\t\t\t\t\t\tgetSite(this.props.user.site),\n\t\t\t\t\t);\n\t\t\t\t\t// console.log('getSiteResidents', res.data);\n\t\t\t\t\tif (!_.isEmpty(res.data.results.Items)) {\n\t\t\t\t\t\tthis.props.residentsLoaded(\n\t\t\t\t\t\t\t_.sortBy(res.data.results.Items, \"displayName\"),\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t} catch (error) {\n\t\t\t\t\tconsole.log(\"fetch site residents FAIL\", error);\n\t\t\t\t} finally {\n\t\t\t\t\tthis.setState({ fetchingResidents: false });\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tthis.setState({ fetchingResidents: false });\n\t\t}\n\n\t\tthis.setState({ fetchingLinkedUsers: true }, async () => {\n\t\t\ttry {\n\t\t\t\tconst res = await userActions.getLinkedUsers(this.props.user.uid);\n\t\t\t\t// console.log('getLinkedUsers', res.data);\n\t\t\t\tif (!_.isEmpty(res.data)) {\n\t\t\t\t\tthis.props.linkedToUsersLoaded(_.sortBy(res.data, \"displayName\"));\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\tconsole.log(\"fetch linked users FAIL\", error);\n\t\t\t} finally {\n\t\t\t\tthis.setState({ fetchingLinkedUsers: false });\n\t\t\t}\n\t\t});\n\n\t\tthis.setState({ fetchingLinkedToMe: true }, async () => {\n\t\t\ttry {\n\t\t\t\tconst res = await userActions.getLinkedToMe(this.props.user.uid);\n\t\t\t\t// console.log('getLinkedToMe', res.data);\n\t\t\t\tif (!_.isEmpty(res.data)) {\n\t\t\t\t\tthis.props.linkedUsersLoaded(_.sortBy(res.data.Items, \"displayName\"));\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\tconsole.log(\"fetch linked to me FAIL\", error);\n\t\t\t} finally {\n\t\t\t\tthis.setState({ fetchingLinkedToMe: false });\n\t\t\t}\n\t\t});\n\t}\n\n\tselectCategory(category) {\n\t\tthis.setState({\n\t\t\tselectedCategory: category,\n\t\t});\n\t\tif (\n\t\t\tcategory === values.textFeatureTitle &&\n\t\t\tthis.state.nextGroupsFetch < moment.utc().valueOf()\n\t\t) {\n\t\t\tthis.getGroupInvites();\n\t\t\tthis.getUserGroups();\n\t\t\tthis.getPublicGroups();\n\t\t\tthis.updateLastFetch(false, true);\n\t\t}\n\t\tif (\n\t\t\tcategory !== values.textFeatureTitle &&\n\t\t\tthis.state.nextPeopleFetch < moment.utc().valueOf()\n\t\t) {\n\t\t\tthis.fetchUsers();\n\t\t\tthis.props.getFollowers(this.props.user.uid);\n\t\t\tthis.updateLastFetch(false, false);\n\t\t}\n\t}\n\n\tonPressBack = () => {\n\t\tNavigationService.goBack();\n\t};\n\n\trenderCategories() {\n\t\tif (this.props.onlyGroups || this.props.onlyPeople) {\n\t\t\treturn null;\n\t\t}\n\t\treturn (\n\t\t\t<CategoryTabs\n\t\t\t\tcategoryKeys={this.categories}\n\t\t\t\tcategoryCounter={this.categoryCounter}\n\t\t\t\tcounterValues={{\n\t\t\t\t\tCircles: this.props.groupUnread,\n\t\t\t\t\tContacts: this.props.peopleUnread,\n\t\t\t\t}}\n\t\t\t\tinitialCategory={\"Contacts\"}\n\t\t\t\tcurrentTab={this.state.selectedCategory}\n\t\t\t\tonSelect={this.selectCategory.bind(this)}\n\t\t\t\tnoScroll\n\t\t\t\tcatStyle={{ paddingHorizontal: 16 }}\n\t\t\t/>\n\t\t);\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={this.props.title || this.props.tabTitle || \"People\"}\n\t\t\t\t\textraHeaderContent={this.renderCategories()}\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<TouchableSearchBar\n\t\t\t\t\t\tsearchName={\n\t\t\t\t\t\t\tthis.state.selectedCategory === values.textFeatureTitle\n\t\t\t\t\t\t\t\t? values.featureKey\n\t\t\t\t\t\t\t\t: \"people\"\n\t\t\t\t\t\t}\n\t\t\t\t\t\tpriorityType={\n\t\t\t\t\t\t\tthis.state.selectedCategory === values.textFeatureTitle\n\t\t\t\t\t\t\t\t? values.featureKey\n\t\t\t\t\t\t\t\t: \"users\"\n\t\t\t\t\t\t}\n\t\t\t\t\t\tstyle={\n\t\t\t\t\t\t\t_.includes(this.props.user.hidden, \"notifications\")\n\t\t\t\t\t\t\t\t? null\n\t\t\t\t\t\t\t\t: { marginRight: 0 }\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t\trightContent={\n\t\t\t\t\t_.includes(this.props.user.hidden, \"notifications\") ? null : (\n\t\t\t\t\t\t<BaseComponents.NotificationBell\n\t\t\t\t\t\t\tgoToNotifs={() => {\n\t\t\t\t\t\t\t\tthis.goToNotifs.bind(this);\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}\n\t\t\t\textraHeaderContent={this.renderCategories()}\n\t\t\t/>\n\t\t);\n\t}\n\n\trenderPage() {\n\t\tlet loading = false;\n\t\tconst content = (() => {\n\t\t\t// console.log('renderPage', this.state.selectedCategory);\n\t\t\tswitch (this.state.selectedCategory) {\n\t\t\t\tcase values.textFeatureTitle:\n\t\t\t\t\tloading = this.state.fetchingPublicGroups;\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<ChatList\n\t\t\t\t\t\t\tpublicGroups={this.props.publicGroups}\n\t\t\t\t\t\t\tisLoading={loading}\n\t\t\t\t\t\t\toptions={this.props.options}\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\tcase \"Contacts\":\n\t\t\t\t\tloading =\n\t\t\t\t\t\tthis.state.fetchingResidents ||\n\t\t\t\t\t\tthis.state.fetchingLinkedUsers ||\n\t\t\t\t\t\tthis.state.fetchingLinkedToMe;\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<ContactsList\n\t\t\t\t\t\t\tsource={this.props.users}\n\t\t\t\t\t\t\totherMessages={this.props.otherMessages}\n\t\t\t\t\t\t\tisLoading={loading}\n\t\t\t\t\t\t\toptions={this.props.options}\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\tdefault:\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\treturn null;\n\t\t})();\n\n\t\treturn (\n\t\t\t<View style={{ flex: 1 }}>\n\t\t\t\t<LoadingIndicator visible={loading} />\n\t\t\t\t{content}\n\t\t\t</View>\n\t\t);\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<TakeoverBackground takeover={this.props.userTakeover}>\n\t\t\t\t{this.renderHeader()}\n\t\t\t\t{this.renderPage()}\n\t\t\t</TakeoverBackground>\n\t\t);\n\t}\n}\n\nconst mapStateToProps = (state) => {\n\t// console.log('mapStateToProps circles', state.circles);\n\tconst residents =\n\t\tstate.user.category !== \"family\" ? state.residents.list : [];\n\tlet users = _.unionBy(\n\t\t[\n\t\t\t...state.residents.linkedList,\n\t\t\t...state.residents.linkedToList,\n\t\t\t...residents,\n\t\t],\n\t\t\"id\",\n\t);\n\tlet groupUnread = 0;\n\tlet peopleUnread = 0;\n\tconst others = [];\n\tconst circles = state[values.reducerKey];\n\tif (state.user.uid != null) {\n\t\t(circles.list || []).forEach((element) => {\n\t\t\tif (\n\t\t\t\t!_.isUndefined(element.Unread) &&\n\t\t\t\t!_.isEmpty(element.Unread) &&\n\t\t\t\t!_.isUndefined(element.Unread[state.user.uid]) &&\n\t\t\t\telement.Unread[state.user.uid] > 0\n\t\t\t) {\n\t\t\t\tgroupUnread += 1;\n\t\t\t}\n\t\t});\n\t\t(circles.privateList || []).forEach((element) => {\n\t\t\tif (\n\t\t\t\t!!element.PrivateChatUser &&\n\t\t\t\t!_.isUndefined(element.Unread) &&\n\t\t\t\t!_.isEmpty(element.Unread) &&\n\t\t\t\t!_.isUndefined(element.Unread[state.user.uid]) &&\n\t\t\t\telement.Unread[state.user.uid] > 0\n\t\t\t) {\n\t\t\t\tpeopleUnread += 1;\n\t\t\t}\n\t\t\tif (!!element.lastMessage && !!element.PrivateChatUser) {\n\t\t\t\tconst user = _.find(users, { id: element.PrivateChatUser.userId });\n\t\t\t\tif (!_.isUndefined(user)) {\n\t\t\t\t\t// fill in information in users list\n\t\t\t\t\tuser.lastMessage = element.lastMessage?.text || \"\";\n\t\t\t\t\tuser.lastMessageAt = !_.isEmpty(user.lastMessage)\n\t\t\t\t\t\t? element.lastMessage?.createdAt\n\t\t\t\t\t\t: null;\n\t\t\t\t\tif (\n\t\t\t\t\t\t!_.isUndefined(element.Unread) &&\n\t\t\t\t\t\t!_.isEmpty(element.Unread) &&\n\t\t\t\t\t\t!_.isUndefined(element.Unread[state.user.uid])\n\t\t\t\t\t) {\n\t\t\t\t\t\tuser.unread = element.Unread[state.user.uid];\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t// add to others section\n\t\t\t\t\tconst user = {\n\t\t\t\t\t\tdisplayName: element.PrivateChatUser.displayName,\n\t\t\t\t\t\tid: element.PrivateChatUser.userId,\n\t\t\t\t\t\tkey: element.PrivateChatUser.userId,\n\t\t\t\t\t\tlastMessage: element.lastMessage?.text || \"\",\n\t\t\t\t\t\tlastMessageAt: element.lastMessage?.createdAt || null,\n\t\t\t\t\t\tprofilePic: element.PrivateChatUser.profilePic,\n\t\t\t\t\t\tprofilePicThumb: element.PrivateChatUser.profilePic,\n\t\t\t\t\t\tsection: \"Others\",\n\t\t\t\t\t};\n\t\t\t\t\tif (\n\t\t\t\t\t\t!_.isUndefined(element.Unread) &&\n\t\t\t\t\t\t!_.isEmpty(element.Unread) &&\n\t\t\t\t\t\t!_.isUndefined(element.Unread[state.user.uid])\n\t\t\t\t\t) {\n\t\t\t\t\t\tuser.unread = element.Unread[state.user.uid];\n\t\t\t\t\t}\n\t\t\t\t\tothers.push(user);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\tconst publicGroups = _.filter(circles.publicList, (group) => {\n\t\t// console.log('publicGroups', group.Audience);\n\t\t// filter circles you are in\n\t\treturn !_.some(group.Audience, (u) => {\n\t\t\treturn u.userId === state.user.uid;\n\t\t});\n\t});\n\n\treturn {\n\t\tuser: state.user,\n\t\tfollowing: state.followers.following,\n\t\tusers,\n\t\totherMessages: others,\n\t\tgroupUnread,\n\t\tpeopleUnread,\n\t\tpublicGroups,\n\t};\n};\n\nexport default withNavigationFocus(\n\tconnect(mapStateToProps, {\n\t\tgetGroupInvites,\n\t\tupdatePublicGroups,\n\t\tupdateGroups,\n\t\tupdateUnreadCounter,\n\t\tclearGroupCounter,\n\t\tresidentsLoaded,\n\t\tgetFollowers,\n\t\tlinkedUsersLoaded,\n\t\tlinkedToUsersLoaded,\n\t})(PeoplePage),\n);\n"],"mappings":"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"}
@@ -1,13 +1,13 @@
1
1
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
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
- import React, { Component } from 'react';
5
- import { View, Text, TouchableOpacity, Animated, Alert } from 'react-native';
6
- import { Swipeable } from 'react-native-gesture-handler';
7
- import { Icon } from '@rneui/themed';
8
- import { connect } from 'react-redux';
9
- import { getMainBrandingColourFromState } from '../../js';
10
- import { Config } from '../../feature.config';
4
+ import React, { Component } from "react";
5
+ import { View, Text, TouchableOpacity, Animated, Alert } from "react-native";
6
+ import { Swipeable } from "react-native-gesture-handler";
7
+ import { Icon } from "@rneui/themed";
8
+ import { connect } from "react-redux";
9
+ import { getMainBrandingColourFromState } from "../../js";
10
+ import { Config } from "../../feature.config";
11
11
  class SwipeableUserListing extends Component {
12
12
  constructor(props) {
13
13
  super(props);
@@ -16,15 +16,15 @@ class SwipeableUserListing extends Component {
16
16
  user,
17
17
  onArchive
18
18
  } = this.props;
19
- Alert.alert('Archive Conversation', `Archive your conversation with ${user.displayName}? You can still view messages by opening their profile.`, [{
20
- text: 'Cancel',
19
+ Alert.alert("Archive Conversation", `Archive your conversation with ${user.displayName}? You can still view messages by opening their profile.`, [{
20
+ text: "Cancel",
21
21
  onPress: () => {
22
22
  var _this$swipeableRef$cu;
23
23
  return (_this$swipeableRef$cu = this.swipeableRef.current) === null || _this$swipeableRef$cu === void 0 ? void 0 : _this$swipeableRef$cu.close();
24
24
  },
25
- style: 'cancel'
25
+ style: "cancel"
26
26
  }, {
27
- text: 'Archive',
27
+ text: "Archive",
28
28
  onPress: async () => {
29
29
  if (this.swipeableRef.current) {
30
30
  this.swipeableRef.current.close();
@@ -34,11 +34,11 @@ class SwipeableUserListing extends Component {
34
34
  if (success && onArchive) {
35
35
  onArchive(user);
36
36
  } else if (!success) {
37
- Alert.alert('Error', 'Failed to archive conversation. Please try again.');
37
+ Alert.alert("Error", "Failed to archive conversation. Please try again.");
38
38
  }
39
39
  }
40
40
  },
41
- style: 'destructive'
41
+ style: "destructive"
42
42
  }], {
43
43
  cancelable: true
44
44
  });
@@ -47,15 +47,15 @@ class SwipeableUserListing extends Component {
47
47
  const translateX = dragX.interpolate({
48
48
  inputRange: [-100, 0],
49
49
  outputRange: [0, 100],
50
- extrapolate: 'clamp'
50
+ extrapolate: "clamp"
51
51
  });
52
52
  return /*#__PURE__*/React.createElement(Animated.View, {
53
53
  style: {
54
54
  transform: [{
55
55
  translateX
56
56
  }],
57
- flexDirection: 'row',
58
- alignItems: 'center'
57
+ flexDirection: "row",
58
+ alignItems: "center"
59
59
  }
60
60
  }, /*#__PURE__*/React.createElement(TouchableOpacity, {
61
61
  style: [styles.archiveButton, {
@@ -92,19 +92,19 @@ class SwipeableUserListing extends Component {
92
92
  }
93
93
  const styles = {
94
94
  archiveButton: {
95
- justifyContent: 'center',
96
- alignItems: 'center',
95
+ justifyContent: "center",
96
+ alignItems: "center",
97
97
  width: 100,
98
- height: '100%',
98
+ height: "100%",
99
99
  paddingHorizontal: 15,
100
100
  paddingVertical: 10
101
101
  },
102
102
  archiveText: {
103
- color: 'white',
103
+ color: "white",
104
104
  fontSize: 13,
105
105
  marginTop: 5,
106
- fontFamily: 'sf-semibold',
107
- textAlign: 'center'
106
+ fontFamily: "sf-semibold",
107
+ textAlign: "center"
108
108
  }
109
109
  };
110
110
  const mapStateToProps = state => ({
@@ -1 +1 @@
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 constructor(props) {\n super(props);\n this.swipeableRef = React.createRef();\n }\n\n handleArchive = () => {\n const { user, onArchive } = this.props;\n\n Alert.alert(\n 'Archive Conversation',\n `Archive your conversation with ${user.displayName}? You can still view messages by opening their profile.`,\n [\n {\n text: 'Cancel',\n onPress: () => this.swipeableRef.current?.close(),\n style: 'cancel',\n },\n {\n text: 'Archive',\n onPress: async () => {\n if (this.swipeableRef.current) {\n this.swipeableRef.current.close();\n }\n if (user.chat && this.props.archiveConversation) {\n const success = await this.props.archiveConversation(user.chat);\n if (success && onArchive) {\n onArchive(user);\n } else if (!success) {\n Alert.alert('Error', 'Failed to archive conversation. Please try again.');\n }\n }\n },\n style: 'destructive',\n },\n ],\n { cancelable: true },\n );\n };\n\n renderRightActions = (progress, dragX) => {\n const translateX = dragX.interpolate({\n inputRange: [-100, 0],\n outputRange: [0, 100],\n extrapolate: 'clamp',\n });\n\n return (\n <Animated.View\n style={{\n transform: [{ translateX }],\n flexDirection: 'row',\n alignItems: 'center',\n }}\n >\n <TouchableOpacity style={[styles.archiveButton, { backgroundColor: this.props.colourBrandingMain }]} onPress={this.handleArchive}>\n <Icon name=\"archive\" type=\"material\" color=\"white\" size={24} />\n <Text style={styles.archiveText}>Archive</Text>\n </TouchableOpacity>\n </Animated.View>\n );\n };\n\n render() {\n const { children, enabled = true } = this.props;\n\n if (!enabled) {\n return children;\n }\n\n return (\n <Swipeable\n ref={this.swipeableRef}\n renderRightActions={this.renderRightActions}\n overshootRight={false}\n friction={2}\n rightThreshold={40}\n >\n {children}\n </Swipeable>\n );\n }\n}\n\nconst styles = {\n archiveButton: {\n justifyContent: 'center',\n alignItems: 'center',\n width: 100,\n height: '100%',\n paddingHorizontal: 15,\n paddingVertical: 10,\n },\n archiveText: {\n color: 'white',\n fontSize: 13,\n marginTop: 5,\n fontFamily: 'sf-semibold',\n textAlign: 'center',\n },\n};\n\nconst mapStateToProps = state => ({\n colourBrandingMain: getMainBrandingColourFromState(state),\n});\n\nconst mapDispatchToProps = dispatch => ({\n archiveConversation: groupId => {\n if (Config.messaging && Config.messaging.archiveConversation) {\n return dispatch(Config.messaging.archiveConversation(groupId));\n }\n return Promise.resolve(false);\n },\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(SwipeableUserListing);\n"],"mappings":"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"}
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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"}
@@ -1,4 +1,4 @@
1
- import { Components } from '../../core.config';
1
+ import { Components } from "../../core.config";
2
2
  export const Attachment = Components.Attachment;
3
3
  export const BackButton = Components.BackButton;
4
4
  export const ConfirmPopup = Components.ConfirmPopup;
@@ -24,5 +24,5 @@ export const TextStyle = Components.TextStyle;
24
24
  export const Toggle = Components.Toggle;
25
25
  export const UserListing = Components.UserListing;
26
26
  export const UserMessageListing = Components.UserMessageListing;
27
- export { default as SwipeableUserListing } from './SwipeableUserListing';
27
+ export { default as SwipeableUserListing } from "./SwipeableUserListing";
28
28
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Components","Attachment","BackButton","ConfirmPopup","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 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,YAAY,GAAGJ,UAAU,CAACI,YAAY;AACnD,OAAO,MAAMC,YAAY,GAAGL,UAAU,CAACK,YAAY;AACnD,OAAO,MAAMC,cAAc,GAAGN,UAAU,CAACM,cAAc;AACvD,OAAO,MAAMC,QAAQ,GAAGP,UAAU,CAACO,QAAQ;AAC3C,OAAO,MAAMC,eAAe,GAAGR,UAAU,CAACQ,eAAe;AACzD,OAAO,MAAMC,YAAY,GAAGT,UAAU,CAACS,YAAY;AACnD,OAAO,MAAMC,MAAM,GAAGV,UAAU,CAACU,MAAM;AACvC,OAAO,MAAMC,UAAU,GAAGX,UAAU,CAACW,UAAU;AAC/C,OAAO,MAAMC,aAAa,GAAGZ,UAAU,CAACY,aAAa;AACrD,OAAO,MAAMC,YAAY,GAAGb,UAAU,CAACa,YAAY;AACnD,OAAO,MAAMC,KAAK,GAAGd,UAAU,CAACc,KAAK;AACrC,OAAO,MAAMC,gBAAgB,GAAGf,UAAU,CAACe,gBAAgB;AAC3D,OAAO,MAAMC,WAAW,GAAGhB,UAAU,CAACgB,WAAW;AACjD,OAAO,MAAMC,QAAQ,GAAGjB,UAAU,CAACiB,QAAQ;AAC3C,OAAO,MAAMC,SAAS,GAAGlB,UAAU,CAACkB,SAAS;AAC7C,OAAO,MAAMC,UAAU,GAAGnB,UAAU,CAACmB,UAAU;AAC/C,OAAO,MAAMC,OAAO,GAAGpB,UAAU,CAACoB,OAAO;AACzC,OAAO,MAAMC,YAAY,GAAGrB,UAAU,CAACqB,YAAY;AACnD,OAAO,MAAMC,SAAS,GAAGtB,UAAU,CAACsB,SAAS;AAC7C,OAAO,MAAMC,MAAM,GAAGvB,UAAU,CAACuB,MAAM;AACvC,OAAO,MAAMC,WAAW,GAAGxB,UAAU,CAACwB,WAAW;AACjD,OAAO,MAAMC,kBAAkB,GAAGzB,UAAU,CAACyB,kBAAkB;AAC/D,SAASC,OAAO,IAAIC,oBAAoB,QAAQ,wBAAwB"}
1
+ {"version":3,"names":["Components","Attachment","BackButton","ConfirmPopup","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 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,YAAY,GAAGJ,UAAU,CAACI,YAAY;AACnD,OAAO,MAAMC,YAAY,GAAGL,UAAU,CAACK,YAAY;AACnD,OAAO,MAAMC,cAAc,GAAGN,UAAU,CAACM,cAAc;AACvD,OAAO,MAAMC,QAAQ,GAAGP,UAAU,CAACO,QAAQ;AAC3C,OAAO,MAAMC,eAAe,GAAGR,UAAU,CAACQ,eAAe;AACzD,OAAO,MAAMC,YAAY,GAAGT,UAAU,CAACS,YAAY;AACnD,OAAO,MAAMC,MAAM,GAAGV,UAAU,CAACU,MAAM;AACvC,OAAO,MAAMC,UAAU,GAAGX,UAAU,CAACW,UAAU;AAC/C,OAAO,MAAMC,aAAa,GAAGZ,UAAU,CAACY,aAAa;AACrD,OAAO,MAAMC,YAAY,GAAGb,UAAU,CAACa,YAAY;AACnD,OAAO,MAAMC,KAAK,GAAGd,UAAU,CAACc,KAAK;AACrC,OAAO,MAAMC,gBAAgB,GAAGf,UAAU,CAACe,gBAAgB;AAC3D,OAAO,MAAMC,WAAW,GAAGhB,UAAU,CAACgB,WAAW;AACjD,OAAO,MAAMC,QAAQ,GAAGjB,UAAU,CAACiB,QAAQ;AAC3C,OAAO,MAAMC,SAAS,GAAGlB,UAAU,CAACkB,SAAS;AAC7C,OAAO,MAAMC,UAAU,GAAGnB,UAAU,CAACmB,UAAU;AAC/C,OAAO,MAAMC,OAAO,GAAGpB,UAAU,CAACoB,OAAO;AACzC,OAAO,MAAMC,YAAY,GAAGrB,UAAU,CAACqB,YAAY;AACnD,OAAO,MAAMC,SAAS,GAAGtB,UAAU,CAACsB,SAAS;AAC7C,OAAO,MAAMC,MAAM,GAAGvB,UAAU,CAACuB,MAAM;AACvC,OAAO,MAAMC,WAAW,GAAGxB,UAAU,CAACwB,WAAW;AACjD,OAAO,MAAMC,kBAAkB,GAAGzB,UAAU,CAACyB,kBAAkB;AAC/D,SAASC,OAAO,IAAIC,oBAAoB,QAAQ,wBAAwB"}
@@ -1,12 +1,12 @@
1
- import React, { Component } from 'react';
2
- import { Keyboard, Text, View, Modal, FlatList, TouchableWithoutFeedback } from 'react-native';
3
- import _ from 'lodash';
4
- import { connect } from 'react-redux';
5
- import { TEXT_DARK, LINEGREY, COLOUR_GREEN, TEXT_LIGHT, getMainBrandingColourFromState } from '../../js/Colors';
6
- import { UserListing, InlineButton, Spinner, GenericInput } from '../common';
7
- import { addFollower, selectEventTime } from '../../actions';
8
- import { eventActions, contactActions, userActions } from '../../webapi';
9
- import { getSite, getValueOrDefault, usersToSearchResult, searchUsers } from '../../js';
1
+ import React, { Component } from "react";
2
+ import { Keyboard, Text, View, Modal, FlatList, TouchableWithoutFeedback } from "react-native";
3
+ import _ from "lodash";
4
+ import { connect } from "react-redux";
5
+ import { TEXT_DARK, LINEGREY, COLOUR_GREEN, TEXT_LIGHT, getMainBrandingColourFromState } from "../../js/Colors";
6
+ import { UserListing, InlineButton, Spinner, GenericInput } from "../common";
7
+ import { addFollower, selectEventTime } from "../../actions";
8
+ import { eventActions, contactActions, userActions } from "../../webapi";
9
+ import { getSite, getValueOrDefault, usersToSearchResult, searchUsers } from "../../js";
10
10
  class EventInvitePopup extends Component {
11
11
  constructor(props) {
12
12
  super(props);
@@ -14,14 +14,14 @@ class EventInvitePopup extends Component {
14
14
  invitePending: [],
15
15
  displayedUsers: [],
16
16
  inviteSent: [],
17
- searchText: '',
17
+ searchText: "",
18
18
  source: []
19
19
  };
20
20
  }
21
21
  UNSAFE_componentWillMount() {
22
22
  this.onNextProps(this.props);
23
- if (this.props.source && this.props.source === 'residents') {
24
- if (this.props.user.category !== 'family') {
23
+ if (this.props.source && this.props.source === "residents") {
24
+ if (this.props.user.category !== "family") {
25
25
  this.getResidentUsers();
26
26
  }
27
27
  this.getLinked();
@@ -64,7 +64,7 @@ class EventInvitePopup extends Component {
64
64
  const userId = getValueOrDefault(user.id, user.userId);
65
65
  if (!_.isUndefined(this.props.isNewEvent) && this.props.isNewEvent) {
66
66
  this.setState({
67
- searchText: ''
67
+ searchText: ""
68
68
  });
69
69
  this.props.onNewEventInvite({
70
70
  userId,
@@ -107,7 +107,7 @@ class EventInvitePopup extends Component {
107
107
  }
108
108
  getResidentUsers() {
109
109
  contactActions.getSiteResidents(getSite(this.props.site)).then(res => {
110
- const source = _.uniqBy([...usersToSearchResult(this.props.attendees), ...this.state.source, ...usersToSearchResult(_.sortBy(res.data.results.Items, 'displayName'), [])], 'id');
110
+ const source = _.uniqBy([...usersToSearchResult(this.props.attendees), ...this.state.source, ...usersToSearchResult(_.sortBy(res.data.results.Items, "displayName"), [])], "id");
111
111
  this.setState({
112
112
  source
113
113
  });
@@ -117,7 +117,7 @@ class EventInvitePopup extends Component {
117
117
  getLinked() {
118
118
  userActions.getLinkedUsers(this.props.user.uid).then(res => {
119
119
  if (!_.isEmpty(res.data)) {
120
- const source = [...this.state.source, ...usersToSearchResult(_.sortBy(res.data, 'displayName'), [])];
120
+ const source = [...this.state.source, ...usersToSearchResult(_.sortBy(res.data, "displayName"), [])];
121
121
  this.setState({
122
122
  source
123
123
  });
@@ -126,7 +126,7 @@ class EventInvitePopup extends Component {
126
126
  });
127
127
  userActions.getLinkedToMe(this.props.user.uid).then(res => {
128
128
  if (!_.isEmpty(res.data) && !_.isEmpty(res.data.Items)) {
129
- const source = [...this.state.source, ...usersToSearchResult(_.sortBy(res.data.Items, 'displayName'), [])];
129
+ const source = [...this.state.source, ...usersToSearchResult(_.sortBy(res.data.Items, "displayName"), [])];
130
130
  this.setState({
131
131
  source
132
132
  });
@@ -136,7 +136,7 @@ class EventInvitePopup extends Component {
136
136
  }
137
137
  getUsers() {
138
138
  userActions.getSiteUsers(getSite(this.props.user.site)).then(res => {
139
- const source = usersToSearchResult(_.sortBy(res.data, 'displayName'), []);
139
+ const source = usersToSearchResult(_.sortBy(res.data, "displayName"), []);
140
140
  this.setState({
141
141
  source
142
142
  });
@@ -160,7 +160,7 @@ class EventInvitePopup extends Component {
160
160
  style: {
161
161
  color: COLOUR_GREEN
162
162
  }
163
- }, this.props.attendingStatusText || 'Attending');
163
+ }, this.props.attendingStatusText || "Attending");
164
164
  }
165
165
  if (this.props.declined && _.some(this.props.declined, u => {
166
166
  return u.userId === userId;
@@ -256,7 +256,7 @@ class EventInvitePopup extends Component {
256
256
  color: COLOUR_GREEN
257
257
  },
258
258
  disabled: true
259
- }, !_.isUndefined(this.props.attendingText) ? this.props.attendingText : 'Attending');
259
+ }, !_.isUndefined(this.props.attendingText) ? this.props.attendingText : "Attending");
260
260
  }
261
261
 
262
262
  // in process of invite
@@ -270,7 +270,7 @@ class EventInvitePopup extends Component {
270
270
  disabled: true,
271
271
  noText: true
272
272
  }, /*#__PURE__*/React.createElement(Spinner, {
273
- size: 'small',
273
+ size: "small",
274
274
  color: this.props.colourBrandingMain
275
275
  }));
276
276
  }
@@ -303,7 +303,7 @@ class EventInvitePopup extends Component {
303
303
  textStyle: {
304
304
  color: TEXT_LIGHT
305
305
  }
306
- }, this.props.invitedText || 'Un-invite');
306
+ }, this.props.invitedText || "Un-invite");
307
307
  }
308
308
  return /*#__PURE__*/React.createElement(InlineButton, {
309
309
  onPress: this.onUninviteUser.bind(this, user),
@@ -316,7 +316,7 @@ class EventInvitePopup extends Component {
316
316
  color: TEXT_LIGHT
317
317
  },
318
318
  disabled: _.isUndefined(this.props.isNewEvent) || !this.props.isNewEvent
319
- }, this.props.invitedText || 'Added');
319
+ }, this.props.invitedText || "Added");
320
320
  }
321
321
 
322
322
  // nothing yet
@@ -330,7 +330,7 @@ class EventInvitePopup extends Component {
330
330
  textStyle: {
331
331
  color: this.props.colourBrandingMain
332
332
  }
333
- }, this.props.inviteText || 'Add');
333
+ }, this.props.inviteText || "Add");
334
334
  }
335
335
  renderHeader() {
336
336
  if (this.props.isSearchable) {
@@ -338,11 +338,11 @@ class EventInvitePopup extends Component {
338
338
  style: [styles.titleContainer, this.props.titleContainerStyle]
339
339
  }, /*#__PURE__*/React.createElement(View, {
340
340
  style: [styles.titleContent, {
341
- justifyContent: 'flex-start'
341
+ justifyContent: "flex-start"
342
342
  }, this.props.titleContentStyle]
343
343
  }, /*#__PURE__*/React.createElement(GenericInput, {
344
344
  icon: "search",
345
- placeholder: 'Search people',
345
+ placeholder: "Search people",
346
346
  value: this.state.searchText,
347
347
  onChangeText: value => {
348
348
  this.onChangeSearch(value);
@@ -364,8 +364,8 @@ class EventInvitePopup extends Component {
364
364
  renderScrollContainer() {
365
365
  return /*#__PURE__*/React.createElement(FlatList, {
366
366
  style: {
367
- width: '100%',
368
- backgroundColor: '#fff'
367
+ width: "100%",
368
+ backgroundColor: "#fff"
369
369
  },
370
370
  data: this.state.displayedUsers,
371
371
  renderItem: ({
@@ -423,11 +423,11 @@ class EventInvitePopup extends Component {
423
423
  const styles = {
424
424
  popup: {
425
425
  flex: 1,
426
- justifyContent: 'center'
426
+ justifyContent: "center"
427
427
  },
428
428
  popupOverlay: {
429
- position: 'absolute',
430
- backgroundColor: 'rgba(19, 19, 26, .25)',
429
+ position: "absolute",
430
+ backgroundColor: "rgba(19, 19, 26, .25)",
431
431
  top: 0,
432
432
  left: 0,
433
433
  right: 0,
@@ -436,7 +436,7 @@ const styles = {
436
436
  popupContent: {
437
437
  borderRadius: 3,
438
438
  marginTop: 150,
439
- backgroundColor: '#fff',
439
+ backgroundColor: "#fff",
440
440
  flex: 1,
441
441
  borderTopLeftRadius: 15,
442
442
  borderTopRightRadius: 15
@@ -445,19 +445,19 @@ const styles = {
445
445
  padding: 16,
446
446
  borderTopWidth: 1,
447
447
  borderColor: LINEGREY,
448
- backgroundColor: '#fff'
448
+ backgroundColor: "#fff"
449
449
  },
450
450
  footerButton: {
451
- width: '100%',
451
+ width: "100%",
452
452
  height: 40
453
453
  },
454
454
  timeButtonText: {
455
- color: '#fff',
456
- fontFamily: 'sf-semibold',
455
+ color: "#fff",
456
+ fontFamily: "sf-semibold",
457
457
  fontSize: 15
458
458
  },
459
459
  titleContainer: {
460
- alignSelf: 'stretch',
460
+ alignSelf: "stretch",
461
461
  padding: 24,
462
462
  paddingTop: 16,
463
463
  paddingBottom: 0
@@ -465,8 +465,8 @@ const styles = {
465
465
  titleContent: {
466
466
  borderColor: LINEGREY,
467
467
  borderBottomWidth: 1,
468
- flexDirection: 'row',
469
- justifyContent: 'space-between',
468
+ flexDirection: "row",
469
+ justifyContent: "space-between",
470
470
  paddingBottom: 15
471
471
  },
472
472
  friendsButton: {
@@ -477,11 +477,11 @@ const styles = {
477
477
  },
478
478
  title: {
479
479
  fontSize: 15,
480
- fontFamily: 'sf-semibold',
480
+ fontFamily: "sf-semibold",
481
481
  color: TEXT_DARK
482
482
  },
483
483
  semibold: {
484
- fontFamily: 'sf-semibold'
484
+ fontFamily: "sf-semibold"
485
485
  },
486
486
  optionsContainer: {
487
487
  flex: 1,