@plusscommunities/pluss-circles-app-groups 7.0.2 → 7.0.16
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/actions/GroupActions.js +4 -4
- package/dist/module/actions/GroupActions.js.map +1 -1
- package/dist/module/actions/types.js +3 -0
- package/dist/module/actions/types.js.map +1 -1
- package/dist/module/components/chat/ContactsList.js +12 -3
- package/dist/module/components/chat/ContactsList.js.map +1 -1
- package/dist/module/components/chat/PeoplePage.js +4 -4
- package/dist/module/components/chat/PeoplePage.js.map +1 -1
- package/dist/module/components/common/SwipeableUserListing.js +122 -0
- package/dist/module/components/common/SwipeableUserListing.js.map +1 -0
- package/dist/module/components/common/index.js +2 -0
- package/dist/module/components/common/index.js.map +1 -1
- package/dist/module/feature.config.js +26 -7
- package/dist/module/feature.config.js.map +1 -1
- package/dist/module/reducers/GroupsReducer.js +73 -11
- package/dist/module/reducers/GroupsReducer.js.map +1 -1
- package/dist/module/webapi/circleActions.js +15 -2
- package/dist/module/webapi/circleActions.js.map +1 -1
- package/package.json +2 -2
- package/src/actions/GroupActions.js +4 -3
- package/src/actions/types.js +3 -0
- package/src/components/chat/ContactsList.js +20 -8
- package/src/components/chat/PeoplePage.js +4 -4
- package/src/components/common/SwipeableUserListing.js +127 -0
- package/src/components/common/index.js +2 -0
- package/src/feature.config.js +26 -6
- package/src/reducers/GroupsReducer.js +72 -9
- package/src/webapi/circleActions.js +9 -1
|
@@ -3,11 +3,11 @@ import { circleActions } from '../webapi';
|
|
|
3
3
|
import { getUrl } from '../webapi/helper';
|
|
4
4
|
import { authedFunction } from '../js';
|
|
5
5
|
import NavigationService from '../js/NavigationService';
|
|
6
|
-
import { PUBLIC_CIRCLES_LOAD_INITIALISE, CIRCLES_LOAD_INITIALISE, CIRCLE_INVITES_UPDATED, CIRCLE_INVITES_LOADED, CREATED_CIRCLE, CIRCLES_LOADED, UPDATE_CIRCLE_UNREAD, CLEAR_SINGLE_CIRCLE_UNREAD } from './types';
|
|
6
|
+
import { PUBLIC_CIRCLES_LOAD_INITIALISE, CIRCLES_LOAD_INITIALISE, CIRCLE_INVITES_UPDATED, CIRCLE_INVITES_LOADED, CREATED_CIRCLE, CIRCLES_LOADED, UPDATE_CIRCLE_UNREAD, CLEAR_SINGLE_CIRCLE_UNREAD, ARCHIVE_CIRCLE } from './types';
|
|
7
7
|
import { values } from '../values.config';
|
|
8
|
-
export const refreshGroups = () => {
|
|
8
|
+
export const refreshGroups = (includeArchived = false) => {
|
|
9
9
|
return async dispatch => {
|
|
10
|
-
const res = await circleActions.getGroups();
|
|
10
|
+
const res = await circleActions.getGroups(includeArchived);
|
|
11
11
|
dispatch({
|
|
12
12
|
type: CIRCLES_LOAD_INITIALISE,
|
|
13
13
|
payload: res.data.Items
|
|
@@ -209,7 +209,7 @@ export const deleteGroup = group => {
|
|
|
209
209
|
});
|
|
210
210
|
await authedFunction({
|
|
211
211
|
method: 'POST',
|
|
212
|
-
url:
|
|
212
|
+
url: getUrl(values.serviceKey, 'update/delete'),
|
|
213
213
|
data: {
|
|
214
214
|
circleId: group.Id
|
|
215
215
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_","circleActions","getUrl","authedFunction","NavigationService","PUBLIC_CIRCLES_LOAD_INITIALISE","CIRCLES_LOAD_INITIALISE","CIRCLE_INVITES_UPDATED","CIRCLE_INVITES_LOADED","CREATED_CIRCLE","CIRCLES_LOADED","UPDATE_CIRCLE_UNREAD","CLEAR_SINGLE_CIRCLE_UNREAD","values","refreshGroups","dispatch","res","getGroups","type","payload","data","Items","loadGroups","groups","updatePublicGroups","publicGroups","updateGroups","updateUnreadCounter","userId","isEmpty","counter","forEach","element","Deleted","isUndefined","Unread","clearGroupCounter","groupId","isPrivate","clearGroupUnread","createGroup","group","updateInvites","invites","getGroupInvites","userID","token","then","catch","err","console","log","handleGroupInvite","invite","action","tempUserId","tempEvent","clone","newInvite","cloneDeep","fetchingLatest","ads","findIndex","Invites","item","userToUse","splice","Audience","push","chat","key","Id","title","Title","unread","userKeys","userNames","userProfilePics","setTimeout","navigate","screenCircleChat","new","back","screenCircleChatList","method","url","serviceKey","inviteID","joinGroup","tempGroup","softLeaveGroup","newGroup","groupID","deleteGroup","Helper","circleId","editGroup","usersToAdd","usersToRemove","localGroup","filter","user","some","e"],"sources":["GroupActions.js"],"sourcesContent":["import _ from 'lodash';\nimport { circleActions } from '../webapi';\nimport { getUrl } from '../webapi/helper';\nimport { authedFunction } from '../js';\nimport NavigationService from '../js/NavigationService';\nimport {\n PUBLIC_CIRCLES_LOAD_INITIALISE,\n CIRCLES_LOAD_INITIALISE,\n CIRCLE_INVITES_UPDATED,\n CIRCLE_INVITES_LOADED,\n CREATED_CIRCLE,\n CIRCLES_LOADED,\n UPDATE_CIRCLE_UNREAD,\n CLEAR_SINGLE_CIRCLE_UNREAD,\n} from './types';\nimport { values } from '../values.config';\n\nexport const refreshGroups = () => {\n return async dispatch => {\n const res = await circleActions.getGroups();\n dispatch({\n type: CIRCLES_LOAD_INITIALISE,\n payload: res.data.Items,\n });\n };\n};\n\nexport const loadGroups = groups => {\n return dispatch => {\n dispatch({\n type: CIRCLES_LOADED,\n payload: groups,\n });\n };\n};\n\nexport const updatePublicGroups = publicGroups => {\n return async dispatch => {\n dispatch({\n type: PUBLIC_CIRCLES_LOAD_INITIALISE,\n payload: publicGroups,\n });\n };\n};\n\nexport const updateGroups = groups => {\n return async dispatch => {\n dispatch({\n type: CIRCLES_LOAD_INITIALISE,\n payload: groups,\n });\n };\n};\n\nexport const updateUnreadCounter = (groups, userId) => {\n return async dispatch => {\n if (!_.isEmpty(groups)) {\n let counter = 0;\n groups.forEach(element => {\n if (!element.Deleted && !_.isUndefined(element.Unread) && !_.isEmpty(element.Unread) && !_.isUndefined(element.Unread[userId])) {\n counter += element.Unread[userId];\n }\n });\n\n dispatch({\n type: UPDATE_CIRCLE_UNREAD,\n payload: counter,\n });\n }\n };\n};\n\nexport const clearGroupCounter = (groupId, userId, isPrivate) => {\n circleActions.clearGroupUnread(groupId, userId);\n return {\n type: CLEAR_SINGLE_CIRCLE_UNREAD,\n payload: { groupId, userId, isPrivate },\n };\n};\n\nexport const createGroup = group => {\n return dispatch => {\n dispatch({\n type: CREATED_CIRCLE,\n payload: group,\n });\n };\n};\n\nexport const updateInvites = invites => {\n return dispatch => {\n dispatch({\n type: CIRCLE_INVITES_LOADED,\n payload: invites,\n });\n };\n};\n\nexport const getGroupInvites = () => {\n return async dispatch => {\n circleActions\n .getGroupInvites(userID, token)\n .then(res => {\n dispatch({\n type: CIRCLE_INVITES_LOADED,\n payload: res.data.Items,\n });\n })\n .catch(err => {\n console.log('fetch circle invites FAIL');\n console.log(err);\n });\n };\n};\n\nexport const handleGroupInvite = (invite, action, tempUserId) => {\n const tempEvent = _.clone(invite);\n const newInvite = _.cloneDeep(invite);\n newInvite.Deleted = true;\n return async dispatch => {\n dispatch({\n type: CIRCLE_INVITES_UPDATED,\n payload: [newInvite],\n });\n if (action) {\n tempEvent.fetchingLatest = true;\n const ads = _.findIndex(tempEvent.Invites, item => {\n return item.userId === tempUserId;\n });\n const userToUse = tempEvent.Invites[ads];\n tempEvent.Invites.splice(ads, 1);\n tempEvent.Audience.push(userToUse);\n\n const chat = {\n key: invite.Id,\n title: invite.Title,\n unread: [],\n userKeys: [],\n userNames: [],\n userProfilePics: [],\n };\n dispatch({\n type: CIRCLES_LOADED,\n payload: [tempEvent],\n });\n setTimeout(() => {\n NavigationService.navigate(values.screenCircleChat, {\n chat,\n new: true,\n back: values.screenCircleChatList,\n });\n }, 100);\n }\n\n await authedFunction({\n method: 'post',\n url: getUrl(values.serviceKey, 'handleGroupInvite'),\n data: {\n inviteID: invite.Id,\n action,\n },\n })\n .then(res => {\n if (action) {\n dispatch({\n type: CIRCLES_LOADED,\n payload: [res.data.group],\n });\n }\n })\n .catch(err => {\n console.log('handle event invite fail', err);\n });\n };\n};\n\nexport const joinGroup = group => {\n const tempGroup = _.clone(group);\n return async dispatch => {\n tempGroup.fetchingLatest = true;\n\n const chat = {\n key: group.Id,\n title: group.Title,\n unread: [],\n userKeys: [],\n userNames: [],\n userProfilePics: [],\n };\n dispatch({\n type: CIRCLES_LOADED,\n payload: [tempGroup],\n });\n setTimeout(() => {\n NavigationService.navigate(values.screenCircleChat, {\n chat,\n new: true,\n back: values.screenCircleChatList,\n });\n }, 100);\n\n await circleActions\n .joinGroup(group.Id)\n .then(res => {\n dispatch({\n type: CIRCLES_LOADED,\n payload: [res.data.group],\n });\n })\n .catch(err => {\n console.log('handle join group fail', err);\n });\n };\n};\n\nexport const softLeaveGroup = group => {\n const newGroup = _.cloneDeep(group);\n newGroup.Deleted = true;\n return async dispatch => {\n dispatch({\n type: CIRCLES_LOADED,\n payload: [newGroup],\n });\n await authedFunction({\n method: 'post',\n url: getUrl(values.serviceKey, 'leaveGroup'),\n data: {\n groupID: group.Id,\n },\n });\n };\n};\n\nexport const deleteGroup = group => {\n group.Deleted = true;\n return async dispatch => {\n dispatch({\n type: CIRCLES_LOADED,\n payload: [group],\n });\n\n await authedFunction({\n method: 'POST',\n url: Helper.getUrl(values.serviceKey, 'update/delete'),\n data: {\n circleId: group.Id,\n },\n });\n };\n};\n\nexport const editGroup = (group, usersToAdd, usersToRemove) => {\n return async dispatch => {\n // push to local store\n const localGroup = { ...group };\n localGroup.Audience = _.filter([...localGroup.Audience, ...usersToAdd], user => {\n return !_.some(usersToRemove, userId => {\n return user.userId === userId;\n });\n });\n dispatch({\n type: CIRCLES_LOADED,\n payload: [localGroup],\n });\n\n try {\n await authedFunction({\n method: 'post',\n url: getUrl(values.serviceKey, 'editUsersGroup'),\n data: {\n group,\n usersToAdd,\n usersToRemove,\n },\n });\n } catch (e) {}\n };\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_","circleActions","getUrl","authedFunction","NavigationService","PUBLIC_CIRCLES_LOAD_INITIALISE","CIRCLES_LOAD_INITIALISE","CIRCLE_INVITES_UPDATED","CIRCLE_INVITES_LOADED","CREATED_CIRCLE","CIRCLES_LOADED","UPDATE_CIRCLE_UNREAD","CLEAR_SINGLE_CIRCLE_UNREAD","ARCHIVE_CIRCLE","values","refreshGroups","includeArchived","dispatch","res","getGroups","type","payload","data","Items","loadGroups","groups","updatePublicGroups","publicGroups","updateGroups","updateUnreadCounter","userId","isEmpty","counter","forEach","element","Deleted","isUndefined","Unread","clearGroupCounter","groupId","isPrivate","clearGroupUnread","createGroup","group","updateInvites","invites","getGroupInvites","userID","token","then","catch","err","console","log","handleGroupInvite","invite","action","tempUserId","tempEvent","clone","newInvite","cloneDeep","fetchingLatest","ads","findIndex","Invites","item","userToUse","splice","Audience","push","chat","key","Id","title","Title","unread","userKeys","userNames","userProfilePics","setTimeout","navigate","screenCircleChat","new","back","screenCircleChatList","method","url","serviceKey","inviteID","joinGroup","tempGroup","softLeaveGroup","newGroup","groupID","deleteGroup","circleId","editGroup","usersToAdd","usersToRemove","localGroup","filter","user","some","e"],"sources":["GroupActions.js"],"sourcesContent":["import _ from 'lodash';\nimport { circleActions } from '../webapi';\nimport { getUrl } from '../webapi/helper';\nimport { authedFunction } from '../js';\nimport NavigationService from '../js/NavigationService';\nimport {\n PUBLIC_CIRCLES_LOAD_INITIALISE,\n CIRCLES_LOAD_INITIALISE,\n CIRCLE_INVITES_UPDATED,\n CIRCLE_INVITES_LOADED,\n CREATED_CIRCLE,\n CIRCLES_LOADED,\n UPDATE_CIRCLE_UNREAD,\n CLEAR_SINGLE_CIRCLE_UNREAD,\n ARCHIVE_CIRCLE,\n} from './types';\nimport { values } from '../values.config';\n\nexport const refreshGroups = (includeArchived = false) => {\n return async dispatch => {\n const res = await circleActions.getGroups(includeArchived);\n dispatch({\n type: CIRCLES_LOAD_INITIALISE,\n payload: res.data.Items,\n });\n };\n};\n\nexport const loadGroups = groups => {\n return dispatch => {\n dispatch({\n type: CIRCLES_LOADED,\n payload: groups,\n });\n };\n};\n\nexport const updatePublicGroups = publicGroups => {\n return async dispatch => {\n dispatch({\n type: PUBLIC_CIRCLES_LOAD_INITIALISE,\n payload: publicGroups,\n });\n };\n};\n\nexport const updateGroups = groups => {\n return async dispatch => {\n dispatch({\n type: CIRCLES_LOAD_INITIALISE,\n payload: groups,\n });\n };\n};\n\nexport const updateUnreadCounter = (groups, userId) => {\n return async dispatch => {\n if (!_.isEmpty(groups)) {\n let counter = 0;\n groups.forEach(element => {\n if (!element.Deleted && !_.isUndefined(element.Unread) && !_.isEmpty(element.Unread) && !_.isUndefined(element.Unread[userId])) {\n counter += element.Unread[userId];\n }\n });\n\n dispatch({\n type: UPDATE_CIRCLE_UNREAD,\n payload: counter,\n });\n }\n };\n};\n\nexport const clearGroupCounter = (groupId, userId, isPrivate) => {\n circleActions.clearGroupUnread(groupId, userId);\n return {\n type: CLEAR_SINGLE_CIRCLE_UNREAD,\n payload: { groupId, userId, isPrivate },\n };\n};\n\nexport const createGroup = group => {\n return dispatch => {\n dispatch({\n type: CREATED_CIRCLE,\n payload: group,\n });\n };\n};\n\nexport const updateInvites = invites => {\n return dispatch => {\n dispatch({\n type: CIRCLE_INVITES_LOADED,\n payload: invites,\n });\n };\n};\n\nexport const getGroupInvites = () => {\n return async dispatch => {\n circleActions\n .getGroupInvites(userID, token)\n .then(res => {\n dispatch({\n type: CIRCLE_INVITES_LOADED,\n payload: res.data.Items,\n });\n })\n .catch(err => {\n console.log('fetch circle invites FAIL');\n console.log(err);\n });\n };\n};\n\nexport const handleGroupInvite = (invite, action, tempUserId) => {\n const tempEvent = _.clone(invite);\n const newInvite = _.cloneDeep(invite);\n newInvite.Deleted = true;\n return async dispatch => {\n dispatch({\n type: CIRCLE_INVITES_UPDATED,\n payload: [newInvite],\n });\n if (action) {\n tempEvent.fetchingLatest = true;\n const ads = _.findIndex(tempEvent.Invites, item => {\n return item.userId === tempUserId;\n });\n const userToUse = tempEvent.Invites[ads];\n tempEvent.Invites.splice(ads, 1);\n tempEvent.Audience.push(userToUse);\n\n const chat = {\n key: invite.Id,\n title: invite.Title,\n unread: [],\n userKeys: [],\n userNames: [],\n userProfilePics: [],\n };\n dispatch({\n type: CIRCLES_LOADED,\n payload: [tempEvent],\n });\n setTimeout(() => {\n NavigationService.navigate(values.screenCircleChat, {\n chat,\n new: true,\n back: values.screenCircleChatList,\n });\n }, 100);\n }\n\n await authedFunction({\n method: 'post',\n url: getUrl(values.serviceKey, 'handleGroupInvite'),\n data: {\n inviteID: invite.Id,\n action,\n },\n })\n .then(res => {\n if (action) {\n dispatch({\n type: CIRCLES_LOADED,\n payload: [res.data.group],\n });\n }\n })\n .catch(err => {\n console.log('handle event invite fail', err);\n });\n };\n};\n\nexport const joinGroup = group => {\n const tempGroup = _.clone(group);\n return async dispatch => {\n tempGroup.fetchingLatest = true;\n\n const chat = {\n key: group.Id,\n title: group.Title,\n unread: [],\n userKeys: [],\n userNames: [],\n userProfilePics: [],\n };\n dispatch({\n type: CIRCLES_LOADED,\n payload: [tempGroup],\n });\n setTimeout(() => {\n NavigationService.navigate(values.screenCircleChat, {\n chat,\n new: true,\n back: values.screenCircleChatList,\n });\n }, 100);\n\n await circleActions\n .joinGroup(group.Id)\n .then(res => {\n dispatch({\n type: CIRCLES_LOADED,\n payload: [res.data.group],\n });\n })\n .catch(err => {\n console.log('handle join group fail', err);\n });\n };\n};\n\nexport const softLeaveGroup = group => {\n const newGroup = _.cloneDeep(group);\n newGroup.Deleted = true;\n return async dispatch => {\n dispatch({\n type: CIRCLES_LOADED,\n payload: [newGroup],\n });\n await authedFunction({\n method: 'post',\n url: getUrl(values.serviceKey, 'leaveGroup'),\n data: {\n groupID: group.Id,\n },\n });\n };\n};\n\nexport const deleteGroup = group => {\n group.Deleted = true;\n return async dispatch => {\n dispatch({\n type: CIRCLES_LOADED,\n payload: [group],\n });\n\n await authedFunction({\n method: 'POST',\n url: getUrl(values.serviceKey, 'update/delete'),\n data: {\n circleId: group.Id,\n },\n });\n };\n};\n\nexport const editGroup = (group, usersToAdd, usersToRemove) => {\n return async dispatch => {\n // push to local store\n const localGroup = { ...group };\n localGroup.Audience = _.filter([...localGroup.Audience, ...usersToAdd], user => {\n return !_.some(usersToRemove, userId => {\n return user.userId === userId;\n });\n });\n dispatch({\n type: CIRCLES_LOADED,\n payload: [localGroup],\n });\n\n try {\n await authedFunction({\n method: 'post',\n url: getUrl(values.serviceKey, 'editUsersGroup'),\n data: {\n group,\n usersToAdd,\n usersToRemove,\n },\n });\n } catch (e) {}\n };\n};\n"],"mappings":"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"}
|
|
@@ -25,4 +25,7 @@ export const UPDATE_CIRCLE_UNREAD = `UPDATE_${values.actionCircleKey}_UNREAD`;
|
|
|
25
25
|
export const CLEAR_SINGLE_CIRCLE_UNREAD = `CLEAR_SINGLE_${values.actionCircleKey}_UNREAD`;
|
|
26
26
|
export const CIRCLE_INVITES_LOADED = `${values.actionCircleKey}_INVITES_LOADED`;
|
|
27
27
|
export const CIRCLE_INVITES_UPDATED = `${values.actionCircleKey}_INVITES_UPDATED`;
|
|
28
|
+
|
|
29
|
+
// Archive Actions
|
|
30
|
+
export const ARCHIVE_CIRCLE = `ARCHIVE_${values.actionCircleKey}`;
|
|
28
31
|
//# sourceMappingURL=types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["values","ActionTypes","LOGOUT","CHANGE_ROLE","SOFT_ADD_CIRCLE_CHAT","actionCircleKey","RECEIVED_CIRCLE_MESSAGES","START_FETCHING_CIRCLE_CHATS","RECEIVED_CIRCLE_CHATS","CREATED_CIRCLE_CHAT","DELETED_CIRCLE_CHAT","DISCONNECTED_CIRCLE_CHAT","DISCONNECTED_CIRCLE_CHAT_LIST","BLOCKED_CIRCLE_USER","RECEIVED_BLOCKED_CIRCLE_USERS","PUBLIC_CIRCLES_LOAD_INITIALISE","CIRCLES_LOAD_INITIALISE","CIRCLES_LOADED","CREATED_CIRCLE","CLEAR_CIRCLES","UPDATE_CIRCLE_UNREAD","CLEAR_SINGLE_CIRCLE_UNREAD","CIRCLE_INVITES_LOADED","CIRCLE_INVITES_UPDATED"],"sources":["types.js"],"sourcesContent":["import { values } from '../values.config';\nimport { ActionTypes } from '../core.config';\n\nexport const LOGOUT = ActionTypes.LOGOUT;\nexport const CHANGE_ROLE = ActionTypes.CHANGE_ROLE;\n\n// Chat Actions\nexport const SOFT_ADD_CIRCLE_CHAT = `SOFT_ADD_${values.actionCircleKey}_CHAT`;\nexport const RECEIVED_CIRCLE_MESSAGES = `RECEIVED_${values.actionCircleKey}_MESSAGES`;\nexport const START_FETCHING_CIRCLE_CHATS = `START_FETCHING_${values.actionCircleKey}_CHATS`;\nexport const RECEIVED_CIRCLE_CHATS = `RECEIVED_${values.actionCircleKey}_CHATS`;\nexport const CREATED_CIRCLE_CHAT = `CREATED_${values.actionCircleKey}_CHAT`;\nexport const DELETED_CIRCLE_CHAT = `DELETED_${values.actionCircleKey}_CHAT`;\nexport const DISCONNECTED_CIRCLE_CHAT = `DISCONNECTED_${values.actionCircleKey}_CHAT`;\nexport const DISCONNECTED_CIRCLE_CHAT_LIST = `DISCONNECTED_${values.actionCircleKey}_CHAT_LIST`;\nexport const BLOCKED_CIRCLE_USER = `BLOCKED_${values.actionCircleKey}_USER`;\nexport const RECEIVED_BLOCKED_CIRCLE_USERS = `RECEIVED_BLOCKED_${values.actionCircleKey}_USERS`;\n\n// Circle Actions\nexport const PUBLIC_CIRCLES_LOAD_INITIALISE = `PUBLIC_${values.actionCircleKey}S_LOAD_INITIALISE`;\nexport const CIRCLES_LOAD_INITIALISE = `${values.actionCircleKey}S_LOAD_INITIALISE`;\nexport const CIRCLES_LOADED = `${values.actionCircleKey}S_LOADED`;\nexport const CREATED_CIRCLE = `CREATED_${values.actionCircleKey}`;\nexport const CLEAR_CIRCLES = `CLEAR_${values.actionCircleKey}S`;\nexport const UPDATE_CIRCLE_UNREAD = `UPDATE_${values.actionCircleKey}_UNREAD`;\nexport const CLEAR_SINGLE_CIRCLE_UNREAD = `CLEAR_SINGLE_${values.actionCircleKey}_UNREAD`;\n\nexport const CIRCLE_INVITES_LOADED = `${values.actionCircleKey}_INVITES_LOADED`;\nexport const CIRCLE_INVITES_UPDATED = `${values.actionCircleKey}_INVITES_UPDATED`;\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,kBAAkB;AACzC,SAASC,WAAW,QAAQ,gBAAgB;AAE5C,OAAO,MAAMC,MAAM,GAAGD,WAAW,CAACC,MAAM;AACxC,OAAO,MAAMC,WAAW,GAAGF,WAAW,CAACE,WAAW;;AAElD;AACA,OAAO,MAAMC,oBAAoB,GAAI,YAAWJ,MAAM,CAACK,eAAgB,OAAM;AAC7E,OAAO,MAAMC,wBAAwB,GAAI,YAAWN,MAAM,CAACK,eAAgB,WAAU;AACrF,OAAO,MAAME,2BAA2B,GAAI,kBAAiBP,MAAM,CAACK,eAAgB,QAAO;AAC3F,OAAO,MAAMG,qBAAqB,GAAI,YAAWR,MAAM,CAACK,eAAgB,QAAO;AAC/E,OAAO,MAAMI,mBAAmB,GAAI,WAAUT,MAAM,CAACK,eAAgB,OAAM;AAC3E,OAAO,MAAMK,mBAAmB,GAAI,WAAUV,MAAM,CAACK,eAAgB,OAAM;AAC3E,OAAO,MAAMM,wBAAwB,GAAI,gBAAeX,MAAM,CAACK,eAAgB,OAAM;AACrF,OAAO,MAAMO,6BAA6B,GAAI,gBAAeZ,MAAM,CAACK,eAAgB,YAAW;AAC/F,OAAO,MAAMQ,mBAAmB,GAAI,WAAUb,MAAM,CAACK,eAAgB,OAAM;AAC3E,OAAO,MAAMS,6BAA6B,GAAI,oBAAmBd,MAAM,CAACK,eAAgB,QAAO;;AAE/F;AACA,OAAO,MAAMU,8BAA8B,GAAI,UAASf,MAAM,CAACK,eAAgB,mBAAkB;AACjG,OAAO,MAAMW,uBAAuB,GAAI,GAAEhB,MAAM,CAACK,eAAgB,mBAAkB;AACnF,OAAO,MAAMY,cAAc,GAAI,GAAEjB,MAAM,CAACK,eAAgB,UAAS;AACjE,OAAO,MAAMa,cAAc,GAAI,WAAUlB,MAAM,CAACK,eAAgB,EAAC;AACjE,OAAO,MAAMc,aAAa,GAAI,SAAQnB,MAAM,CAACK,eAAgB,GAAE;AAC/D,OAAO,MAAMe,oBAAoB,GAAI,UAASpB,MAAM,CAACK,eAAgB,SAAQ;AAC7E,OAAO,MAAMgB,0BAA0B,GAAI,gBAAerB,MAAM,CAACK,eAAgB,SAAQ;AAEzF,OAAO,MAAMiB,qBAAqB,GAAI,GAAEtB,MAAM,CAACK,eAAgB,iBAAgB;AAC/E,OAAO,MAAMkB,sBAAsB,GAAI,GAAEvB,MAAM,CAACK,eAAgB,kBAAiB"}
|
|
1
|
+
{"version":3,"names":["values","ActionTypes","LOGOUT","CHANGE_ROLE","SOFT_ADD_CIRCLE_CHAT","actionCircleKey","RECEIVED_CIRCLE_MESSAGES","START_FETCHING_CIRCLE_CHATS","RECEIVED_CIRCLE_CHATS","CREATED_CIRCLE_CHAT","DELETED_CIRCLE_CHAT","DISCONNECTED_CIRCLE_CHAT","DISCONNECTED_CIRCLE_CHAT_LIST","BLOCKED_CIRCLE_USER","RECEIVED_BLOCKED_CIRCLE_USERS","PUBLIC_CIRCLES_LOAD_INITIALISE","CIRCLES_LOAD_INITIALISE","CIRCLES_LOADED","CREATED_CIRCLE","CLEAR_CIRCLES","UPDATE_CIRCLE_UNREAD","CLEAR_SINGLE_CIRCLE_UNREAD","CIRCLE_INVITES_LOADED","CIRCLE_INVITES_UPDATED","ARCHIVE_CIRCLE"],"sources":["types.js"],"sourcesContent":["import { values } from '../values.config';\nimport { ActionTypes } from '../core.config';\n\nexport const LOGOUT = ActionTypes.LOGOUT;\nexport const CHANGE_ROLE = ActionTypes.CHANGE_ROLE;\n\n// Chat Actions\nexport const SOFT_ADD_CIRCLE_CHAT = `SOFT_ADD_${values.actionCircleKey}_CHAT`;\nexport const RECEIVED_CIRCLE_MESSAGES = `RECEIVED_${values.actionCircleKey}_MESSAGES`;\nexport const START_FETCHING_CIRCLE_CHATS = `START_FETCHING_${values.actionCircleKey}_CHATS`;\nexport const RECEIVED_CIRCLE_CHATS = `RECEIVED_${values.actionCircleKey}_CHATS`;\nexport const CREATED_CIRCLE_CHAT = `CREATED_${values.actionCircleKey}_CHAT`;\nexport const DELETED_CIRCLE_CHAT = `DELETED_${values.actionCircleKey}_CHAT`;\nexport const DISCONNECTED_CIRCLE_CHAT = `DISCONNECTED_${values.actionCircleKey}_CHAT`;\nexport const DISCONNECTED_CIRCLE_CHAT_LIST = `DISCONNECTED_${values.actionCircleKey}_CHAT_LIST`;\nexport const BLOCKED_CIRCLE_USER = `BLOCKED_${values.actionCircleKey}_USER`;\nexport const RECEIVED_BLOCKED_CIRCLE_USERS = `RECEIVED_BLOCKED_${values.actionCircleKey}_USERS`;\n\n// Circle Actions\nexport const PUBLIC_CIRCLES_LOAD_INITIALISE = `PUBLIC_${values.actionCircleKey}S_LOAD_INITIALISE`;\nexport const CIRCLES_LOAD_INITIALISE = `${values.actionCircleKey}S_LOAD_INITIALISE`;\nexport const CIRCLES_LOADED = `${values.actionCircleKey}S_LOADED`;\nexport const CREATED_CIRCLE = `CREATED_${values.actionCircleKey}`;\nexport const CLEAR_CIRCLES = `CLEAR_${values.actionCircleKey}S`;\nexport const UPDATE_CIRCLE_UNREAD = `UPDATE_${values.actionCircleKey}_UNREAD`;\nexport const CLEAR_SINGLE_CIRCLE_UNREAD = `CLEAR_SINGLE_${values.actionCircleKey}_UNREAD`;\n\nexport const CIRCLE_INVITES_LOADED = `${values.actionCircleKey}_INVITES_LOADED`;\nexport const CIRCLE_INVITES_UPDATED = `${values.actionCircleKey}_INVITES_UPDATED`;\n\n// Archive Actions\nexport const ARCHIVE_CIRCLE = `ARCHIVE_${values.actionCircleKey}`;\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,kBAAkB;AACzC,SAASC,WAAW,QAAQ,gBAAgB;AAE5C,OAAO,MAAMC,MAAM,GAAGD,WAAW,CAACC,MAAM;AACxC,OAAO,MAAMC,WAAW,GAAGF,WAAW,CAACE,WAAW;;AAElD;AACA,OAAO,MAAMC,oBAAoB,GAAI,YAAWJ,MAAM,CAACK,eAAgB,OAAM;AAC7E,OAAO,MAAMC,wBAAwB,GAAI,YAAWN,MAAM,CAACK,eAAgB,WAAU;AACrF,OAAO,MAAME,2BAA2B,GAAI,kBAAiBP,MAAM,CAACK,eAAgB,QAAO;AAC3F,OAAO,MAAMG,qBAAqB,GAAI,YAAWR,MAAM,CAACK,eAAgB,QAAO;AAC/E,OAAO,MAAMI,mBAAmB,GAAI,WAAUT,MAAM,CAACK,eAAgB,OAAM;AAC3E,OAAO,MAAMK,mBAAmB,GAAI,WAAUV,MAAM,CAACK,eAAgB,OAAM;AAC3E,OAAO,MAAMM,wBAAwB,GAAI,gBAAeX,MAAM,CAACK,eAAgB,OAAM;AACrF,OAAO,MAAMO,6BAA6B,GAAI,gBAAeZ,MAAM,CAACK,eAAgB,YAAW;AAC/F,OAAO,MAAMQ,mBAAmB,GAAI,WAAUb,MAAM,CAACK,eAAgB,OAAM;AAC3E,OAAO,MAAMS,6BAA6B,GAAI,oBAAmBd,MAAM,CAACK,eAAgB,QAAO;;AAE/F;AACA,OAAO,MAAMU,8BAA8B,GAAI,UAASf,MAAM,CAACK,eAAgB,mBAAkB;AACjG,OAAO,MAAMW,uBAAuB,GAAI,GAAEhB,MAAM,CAACK,eAAgB,mBAAkB;AACnF,OAAO,MAAMY,cAAc,GAAI,GAAEjB,MAAM,CAACK,eAAgB,UAAS;AACjE,OAAO,MAAMa,cAAc,GAAI,WAAUlB,MAAM,CAACK,eAAgB,EAAC;AACjE,OAAO,MAAMc,aAAa,GAAI,SAAQnB,MAAM,CAACK,eAAgB,GAAE;AAC/D,OAAO,MAAMe,oBAAoB,GAAI,UAASpB,MAAM,CAACK,eAAgB,SAAQ;AAC7E,OAAO,MAAMgB,0BAA0B,GAAI,gBAAerB,MAAM,CAACK,eAAgB,SAAQ;AAEzF,OAAO,MAAMiB,qBAAqB,GAAI,GAAEtB,MAAM,CAACK,eAAgB,iBAAgB;AAC/E,OAAO,MAAMkB,sBAAsB,GAAI,GAAEvB,MAAM,CAACK,eAAgB,kBAAiB;;AAEjF;AACA,OAAO,MAAMmB,cAAc,GAAI,WAAUxB,MAAM,CAACK,eAAgB,EAAC"}
|
|
@@ -7,7 +7,7 @@ import { View, Text, SectionList } from 'react-native';
|
|
|
7
7
|
import { connect } from 'react-redux';
|
|
8
8
|
import moment from 'moment';
|
|
9
9
|
import _ from 'lodash';
|
|
10
|
-
import { UserMessageListing, EmptyStateMain } from '../common';
|
|
10
|
+
import { UserMessageListing, EmptyStateMain, SwipeableUserListing } from '../common';
|
|
11
11
|
import { LINEGREY, TEXT_BLUEGREY } from '../../js';
|
|
12
12
|
import { CONST_STRINGS } from '../../config';
|
|
13
13
|
import { values } from '../../values.config';
|
|
@@ -18,13 +18,22 @@ class ContactsList extends PureComponent {
|
|
|
18
18
|
item,
|
|
19
19
|
index
|
|
20
20
|
}) => {
|
|
21
|
-
return /*#__PURE__*/React.createElement(
|
|
21
|
+
return /*#__PURE__*/React.createElement(SwipeableUserListing, {
|
|
22
|
+
user: item,
|
|
23
|
+
enabled: item.chat != null,
|
|
24
|
+
onArchive: () => this.handleArchive(item)
|
|
25
|
+
}, /*#__PURE__*/React.createElement(UserMessageListing, {
|
|
22
26
|
listItemStyle: styles.contactListItem,
|
|
23
27
|
user: item,
|
|
24
28
|
key: index + item.lastMessageAt + item.unread,
|
|
25
29
|
myId: this.props.myId,
|
|
26
30
|
today: this.state.today
|
|
27
|
-
});
|
|
31
|
+
}));
|
|
32
|
+
});
|
|
33
|
+
_defineProperty(this, "handleArchive", user => {
|
|
34
|
+
if (this.props.onUserArchived) {
|
|
35
|
+
this.props.onUserArchived(user);
|
|
36
|
+
}
|
|
28
37
|
});
|
|
29
38
|
this._isMounted = false;
|
|
30
39
|
this.state = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","PureComponent","View","Text","SectionList","connect","moment","_","UserMessageListing","EmptyStateMain","LINEGREY","TEXT_BLUEGREY","CONST_STRINGS","values","ContactsList","constructor","props","_defineProperty","item","index","createElement","listItemStyle","styles","contactListItem","user","key","lastMessageAt","unread","myId","today","state","_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 { UserMessageListing, EmptyStateMain } from '../common';\nimport { LINEGREY, TEXT_BLUEGREY } from '../../js';\nimport { CONST_STRINGS } from '../../config';\nimport { values } from '../../values.config';\n\nclass ContactsList extends PureComponent {\n constructor(props) {\n super(props);\n this._isMounted = false;\n this.state = {\n dataSource: [],\n };\n }\n\n async componentDidMount() {\n this._isMounted = true;\n this.createDataSource(this.props);\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n this.createDataSource(nextProps);\n }\n\n componentWillUnmount() {\n this._isMounted = false;\n }\n\n getRelationshipKey(user) {\n if (_.isUndefined(user.relationship)) {\n if (user.section === 'Others') {\n return { key: 'Others', order: 3 };\n }\n return { key: this.props.siteName, order: 2 };\n }\n\n if (user.relationship === 'Friend') {\n return { key: 'Friends', order: 1 };\n }\n return { key: 'Family', order: 0 };\n }\n\n createDataSource(props) {\n const relationshipTypes = {};\n const users = _.isUndefined(props.source) ? [] : props.source;\n\n // Build datasource ordered by relationship type\n _.sortBy([...users, ...this.props.otherMessages], 'displayName').forEach(user => {\n const keyObj = this.getRelationshipKey(user);\n user.section = keyObj.key;\n user.key = user.id;\n\n if (!_.find(relationshipTypes, { title: keyObj.key })) {\n relationshipTypes[keyObj.key] = {\n title: keyObj.key,\n order: keyObj.order,\n data: [user],\n isLast: false,\n };\n } else {\n relationshipTypes[keyObj.key].data.push(user);\n }\n });\n const dataSource = _.sortBy(_.values(relationshipTypes), 'order');\n if (dataSource.length > 0) dataSource[dataSource.length - 1].isLast = true;\n\n if (this._isMounted) {\n this.setState({\n dataSource,\n today: moment()\n .local()\n .format('D MMM YYYY'),\n });\n }\n }\n\n getEmptyStateText() {\n if (this.props.options && !_.isEmpty(this.props.options.EmptyText)) {\n return this.props.options.EmptyText;\n }\n return CONST_STRINGS.EMPTY_PEOPLE;\n }\n\n renderSectionHeader({ section }) {\n if (_.isEmpty(section.title)) return null;\n return (\n <View style={styles.sectionHeader}>\n <View style={styles.sectionHeaderTextContainer}>\n <Text style={styles.sectionHeaderText}>{section.title}</Text>\n </View>\n </View>\n );\n }\n\n renderSectionFooter({ section }) {\n return <View style={[styles.sectionFooter, !section.isLast && { borderBottomColor: LINEGREY, borderBottomWidth: 1 }]} />;\n }\n\n renderItem = ({ item, index }) => {\n return (\n <UserMessageListing\n listItemStyle={styles.contactListItem}\n user={item}\n key={index + item.lastMessageAt + item.unread}\n myId={this.props.myId}\n today={this.state.today}\n />\n );\n };\n\n renderEmptyList() {\n return this.props.isLoading ? null : (\n <EmptyStateMain title={this.getEmptyStateText()} style={{ marginHorizontal: 16, marginTop: 16 }} />\n );\n }\n\n render() {\n return (\n <SectionList\n sections={this.state.dataSource}\n ListEmptyComponent={this.renderEmptyList()}\n ListHeaderComponent={this.props.ListHeaderComponent}\n renderItem={this.renderItem}\n renderSectionHeader={this.renderSectionHeader}\n renderSectionFooter={this.renderSectionFooter}\n keyExtractor={item => item.key}\n />\n );\n }\n}\n\nconst styles = {\n sectionHeader: {\n height: 35,\n justifyContent: 'center',\n backgroundColor: 'rgba(255, 255, 255, 0.8)',\n },\n sectionFooter: {\n marginTop: 10,\n marginHorizontal: 19,\n },\n sectionHeaderTextContainer: {\n marginHorizontal: 19,\n },\n sectionHeaderText: {\n fontFamily: 'sf-semibold',\n color: TEXT_BLUEGREY,\n fontSize: 17,\n },\n contactListItem: {\n paddingTop: 10,\n paddingBottom: 10,\n paddingHorizontal: 20,\n },\n};\n\nconst mapStateToProps = state => ({\n myId: state.user.uid,\n siteName: state.user.siteInfo ? state.user.siteInfo.siteName : '',\n privateList: 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 { UserMessageListing, EmptyStateMain, SwipeableUserListing } from '../common';\nimport { LINEGREY, TEXT_BLUEGREY } from '../../js';\nimport { CONST_STRINGS } from '../../config';\nimport { values } from '../../values.config';\n\nclass ContactsList extends PureComponent {\n constructor(props) {\n super(props);\n this._isMounted = false;\n this.state = {\n dataSource: [],\n };\n }\n\n async componentDidMount() {\n this._isMounted = true;\n this.createDataSource(this.props);\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n this.createDataSource(nextProps);\n }\n\n componentWillUnmount() {\n this._isMounted = false;\n }\n\n getRelationshipKey(user) {\n if (_.isUndefined(user.relationship)) {\n if (user.section === 'Others') {\n return { key: 'Others', order: 3 };\n }\n return { key: this.props.siteName, order: 2 };\n }\n\n if (user.relationship === 'Friend') {\n return { key: 'Friends', order: 1 };\n }\n return { key: 'Family', order: 0 };\n }\n\n createDataSource(props) {\n const relationshipTypes = {};\n const users = _.isUndefined(props.source) ? [] : props.source;\n\n // Build datasource ordered by relationship type\n _.sortBy([...users, ...this.props.otherMessages], 'displayName').forEach(user => {\n const keyObj = this.getRelationshipKey(user);\n user.section = keyObj.key;\n user.key = user.id;\n\n if (!_.find(relationshipTypes, { title: keyObj.key })) {\n relationshipTypes[keyObj.key] = {\n title: keyObj.key,\n order: keyObj.order,\n data: [user],\n isLast: false,\n };\n } else {\n relationshipTypes[keyObj.key].data.push(user);\n }\n });\n const dataSource = _.sortBy(_.values(relationshipTypes), 'order');\n if (dataSource.length > 0) dataSource[dataSource.length - 1].isLast = true;\n\n if (this._isMounted) {\n this.setState({\n dataSource,\n today: moment()\n .local()\n .format('D MMM YYYY'),\n });\n }\n }\n\n getEmptyStateText() {\n if (this.props.options && !_.isEmpty(this.props.options.EmptyText)) {\n return this.props.options.EmptyText;\n }\n return CONST_STRINGS.EMPTY_PEOPLE;\n }\n\n renderSectionHeader({ section }) {\n if (_.isEmpty(section.title)) return null;\n return (\n <View style={styles.sectionHeader}>\n <View style={styles.sectionHeaderTextContainer}>\n <Text style={styles.sectionHeaderText}>{section.title}</Text>\n </View>\n </View>\n );\n }\n\n renderSectionFooter({ section }) {\n return <View style={[styles.sectionFooter, !section.isLast && { borderBottomColor: LINEGREY, borderBottomWidth: 1 }]} />;\n }\n\n renderItem = ({ item, index }) => {\n return (\n <SwipeableUserListing \n user={item} \n enabled={item.chat != null}\n onArchive={() => this.handleArchive(item)}\n >\n <UserMessageListing\n listItemStyle={styles.contactListItem}\n user={item}\n key={index + item.lastMessageAt + item.unread}\n myId={this.props.myId}\n today={this.state.today}\n />\n </SwipeableUserListing>\n );\n };\n\n handleArchive = (user) => {\n if (this.props.onUserArchived) {\n this.props.onUserArchived(user);\n }\n };\n\n renderEmptyList() {\n return this.props.isLoading ? null : (\n <EmptyStateMain title={this.getEmptyStateText()} style={{ marginHorizontal: 16, marginTop: 16 }} />\n );\n }\n\n render() {\n return (\n <SectionList\n sections={this.state.dataSource}\n ListEmptyComponent={this.renderEmptyList()}\n ListHeaderComponent={this.props.ListHeaderComponent}\n renderItem={this.renderItem}\n renderSectionHeader={this.renderSectionHeader}\n renderSectionFooter={this.renderSectionFooter}\n keyExtractor={item => item.key}\n />\n );\n }\n}\n\nconst styles = {\n sectionHeader: {\n height: 35,\n justifyContent: 'center',\n backgroundColor: 'rgba(255, 255, 255, 0.8)',\n },\n sectionFooter: {\n marginTop: 10,\n marginHorizontal: 19,\n },\n sectionHeaderTextContainer: {\n marginHorizontal: 19,\n },\n sectionHeaderText: {\n fontFamily: 'sf-semibold',\n color: TEXT_BLUEGREY,\n fontSize: 17,\n },\n contactListItem: {\n paddingTop: 10,\n paddingBottom: 10,\n paddingHorizontal: 20,\n },\n};\n\nconst mapStateToProps = state => ({\n myId: state.user.uid,\n siteName: state.user.siteInfo ? state.user.siteInfo.siteName : '',\n privateList: state[values.reducerKey].privateList,\n});\n\nexport default connect(mapStateToProps, {})(ContactsList);\n"],"mappings":"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"}
|
|
@@ -28,8 +28,8 @@ class PeoplePage extends Component {
|
|
|
28
28
|
});
|
|
29
29
|
_defineProperty(this, "getUserGroups", async () => {
|
|
30
30
|
try {
|
|
31
|
-
|
|
32
|
-
|
|
31
|
+
// Always exclude archived groups (false parameter)
|
|
32
|
+
const res = await circleActions.getGroups(false);
|
|
33
33
|
this.props.updateGroups(res.data.Items);
|
|
34
34
|
this.props.updateUnreadCounter(res.data.Items, this.props.user.uid);
|
|
35
35
|
} catch (error) {
|
|
@@ -322,12 +322,12 @@ const mapStateToProps = state => {
|
|
|
322
322
|
const others = [];
|
|
323
323
|
const circles = state[values.reducerKey];
|
|
324
324
|
if (state.user.uid != null) {
|
|
325
|
-
circles.list.forEach(element => {
|
|
325
|
+
(circles.list || []).forEach(element => {
|
|
326
326
|
if (!_.isUndefined(element.Unread) && !_.isEmpty(element.Unread) && !_.isUndefined(element.Unread[state.user.uid]) && element.Unread[state.user.uid] > 0) {
|
|
327
327
|
groupUnread += 1;
|
|
328
328
|
}
|
|
329
329
|
});
|
|
330
|
-
circles.privateList.forEach(element => {
|
|
330
|
+
(circles.privateList || []).forEach(element => {
|
|
331
331
|
if (!!element.PrivateChatUser && !_.isUndefined(element.Unread) && !_.isEmpty(element.Unread) && !_.isUndefined(element.Unread[state.user.uid]) && element.Unread[state.user.uid] > 0) {
|
|
332
332
|
peopleUnread += 1;
|
|
333
333
|
}
|
|
@@ -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 'react-navigation';\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 const res = await circleActions.getGroups(this.props.user.uid);\n // console.log('getGroups', res.data);\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 { 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":";;;AAAA,OAAOA,KAAK,IAAIC,SAAS,QAAQ,OAAO;AACxC,SAASC,IAAI,QAAQ,cAAc;AACnC,SAASC,OAAO,QAAQ,aAAa;AACrC,SAASC,mBAAmB,QAAQ,kBAAkB;AACtD,OAAOC,CAAC,MAAM,QAAQ;AACtB,OAAOC,MAAM,MAAM,QAAQ;AAC3B,SAASC,MAAM,EAAEC,kBAAkB,EAAEC,YAAY,EAAEC,gBAAgB,QAAQ,WAAW;AACtF,SAASC,OAAO,QAAQ,UAAU;AAClC,OAAOC,iBAAiB,MAAM,4BAA4B;AAC1D,OAAOC,QAAQ,MAAM,YAAY;AACjC,SACEC,eAAe,EACfC,kBAAkB,EAClBC,YAAY,EACZC,mBAAmB,EACnBC,iBAAiB,EACjBC,eAAe,EACfC,YAAY,EACZC,iBAAiB,EACjBC,mBAAmB,QACd,eAAe;AACtB,SAASC,aAAa,EAAEC,cAAc,EAAEC,WAAW,QAAQ,cAAc;AACzE,OAAOC,kBAAkB,MAAM,gCAAgC;AAC/D,OAAOC,YAAY,MAAM,gBAAgB;AACzC,SAASC,cAAc,QAAQ,sBAAsB;AACrD,SAASC,MAAM,QAAQ,qBAAqB;AAE5C,MAAMC,UAAU,SAAS7B,SAAS,CAAC;EACjC8B,WAAWA,CAACC,KAAK,EAAE;IACjB,KAAK,CAACA,KAAK,CAAC;IAqGd;AACF;AACA;IAFEC,eAAA,0BAGkB,MAAM;MACtB,IAAI,CAACD,KAAK,CAAClB,eAAe,CAAC,IAAI,CAACkB,KAAK,CAACE,IAAI,CAACC,GAAG,CAAC;IACjD,CAAC;IAAAF,eAAA,wBAgBe,YAAY;MAC1B,IAAI;QACF;QACA,MAAMG,GAAG,GAAG,MAAMb,aAAa,CAACc,SAAS,CAAC,KAAK,CAAC;QAChD,IAAI,CAACL,KAAK,CAAChB,YAAY,CAACoB,GAAG,CAACE,IAAI,CAACC,KAAK,CAAC;QACvC,IAAI,CAACP,KAAK,CAACf,mBAAmB,CAACmB,GAAG,CAACE,IAAI,CAACC,KAAK,EAAE,IAAI,CAACP,KAAK,CAACE,IAAI,CAACC,GAAG,CAAC;MACrE,CAAC,CAAC,OAAOK,KAAK,EAAE;QACdC,OAAO,CAACC,GAAG,CAAC,oBAAoB,EAAEF,KAAK,CAAC;MAC1C;IACF,CAAC;IAAAP,eAAA,sBAsEa,MAAM;MAClBrB,iBAAiB,CAAC+B,MAAM,CAAC,CAAC;IAC5B,CAAC;IA1MC,IAAI,CAACC,kBAAkB,GAAG,IAAI;IAC9B,IAAI,CAACC,KAAK,GAAG;MACXC,gBAAgB,EAAE,IAAI,CAACd,KAAK,CAACe,UAAU,GAAGlB,MAAM,CAACmB,gBAAgB,GAAG,UAAU;MAC9EC,eAAe,EAAE,CAAC;MAClBC,eAAe,EAAE,CAAC;MAClBC,oBAAoB,EAAE,IAAI;MAC1BC,iBAAiB,EAAE,IAAI;MACvBC,mBAAmB,EAAE,IAAI;MACzBC,kBAAkB,EAAE,IAAI;MACxBC,SAAS,EAAE;IACb,CAAC;IACD,IAAI,CAACC,UAAU,GAAG,CAAC,UAAU,EAAE3B,MAAM,CAACmB,gBAAgB,CAAC;IACvD,IAAI,CAACS,eAAe,GAAG;MAAEC,OAAO,EAAE,IAAI;MAAEC,QAAQ,EAAE;IAAK,CAAC;EAC1D;EAEA,MAAMC,iBAAiBA,CAAA,EAAG;IACxB,IAAI,CAACC,QAAQ,CAAC;MAAEN,SAAS,EAAE,CAAC3C,iBAAiB,CAACkD,cAAc,CAAC;IAAE,CAAC,CAAC;IAEjE,IAAI,IAAI,CAAC9B,KAAK,CAAC+B,GAAG,EAAE;MAClB,IAAI,CAACF,QAAQ,CAAC;QAAEf,gBAAgB,EAAE,IAAI,CAACd,KAAK,CAAC+B;MAAI,CAAC,CAAC;IACrD;IAEAC,UAAU,CAAC,MAAM;MACf,IAAI,CAAClD,eAAe,CAAC,CAAC;IACxB,CAAC,EAAE,GAAG,CAAC;IACPkD,UAAU,CAAC,MAAM;MACf,IAAI,CAACC,aAAa,CAAC,CAAC;IACtB,CAAC,EAAE,GAAG,CAAC;IACPD,UAAU,CAAC,MAAM;MACf,IAAI,CAAChC,KAAK,CAACZ,YAAY,CAAC,IAAI,CAACY,KAAK,CAACE,IAAI,CAACC,GAAG,CAAC;IAC9C,CAAC,EAAE,GAAG,CAAC;IACP6B,UAAU,CAAC,MAAM;MACf,IAAI,CAACE,UAAU,CAAC,CAAC;IACnB,CAAC,EAAE,IAAI,CAAC;IACRF,UAAU,CAAC,MAAM;MACf,IAAI,CAACG,eAAe,CAAC,CAAC;IACxB,CAAC,EAAE,IAAI,CAAC;IAER,IAAI,CAACvB,kBAAkB,GAAGwB,WAAW,CAAC,IAAI,CAACH,aAAa,CAACI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC;IAE1E,IAAI,CAACC,eAAe,CAAC,IAAI,CAAC;EAC5B;EAEAC,gCAAgCA,CAACC,SAAS,EAAE;IAC1C,IAAIA,SAAS,CAACT,GAAG,IAAIS,SAAS,CAACT,GAAG,KAAK,IAAI,CAAC/B,KAAK,CAAC+B,GAAG,EAAE;MACrD,IAAI,CAACF,QAAQ,CAAC;QAAEf,gBAAgB,EAAE0B,SAAS,CAACT;MAAI,CAAC,CAAC;IACpD;IAEA,IAAI,CAACU,iBAAiB,CAACD,SAAS,CAACE,SAAS,CAAC;EAC7C;EAEAC,oBAAoBA,CAAA,EAAG;IACrBC,aAAa,CAAC,IAAI,CAAChC,kBAAkB,CAAC;EACxC;EAEA6B,iBAAiBA,CAACI,QAAQ,EAAE;IAC1B,IAAIA,QAAQ,IAAI,CAAC,IAAI,CAAC7C,KAAK,CAAC0C,SAAS,EAAE;MACrCV,UAAU,CAAC,MAAM;QACf,IAAI,IAAI,CAACnB,KAAK,CAACC,gBAAgB,KAAKjB,MAAM,CAACmB,gBAAgB,IAAI,IAAI,CAACH,KAAK,CAACI,eAAe,GAAG3C,MAAM,CAACwE,GAAG,CAAC,CAAC,CAACC,OAAO,CAAC,CAAC,EAAE;UAClH,IAAI,CAACjE,eAAe,CAAC,CAAC;UACtB,IAAI,CAACqD,eAAe,CAAC,CAAC;UACtB,IAAI,CAACG,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC;QACnC;QACA,IAAI,IAAI,CAACzB,KAAK,CAACC,gBAAgB,KAAKjB,MAAM,CAACmB,gBAAgB,IAAI,IAAI,CAACH,KAAK,CAACK,eAAe,GAAG5C,MAAM,CAACwE,GAAG,CAAC,CAAC,CAACC,OAAO,CAAC,CAAC,EAAE;UAClH,IAAI,CAACb,UAAU,CAAC,CAAC;UACjB,IAAI,CAAClC,KAAK,CAACZ,YAAY,CAAC,IAAI,CAACY,KAAK,CAACE,IAAI,CAACC,GAAG,CAAC;UAC5C,IAAI,CAACmC,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC;QACpC;QACA,IAAI,CAACL,aAAa,CAAC,CAAC;QACpBD,UAAU,CAAC,MAAM;UACf,IAAI,CAACC,aAAa,CAAC,CAAC;QACtB,CAAC,EAAE,IAAI,CAAC;MACV,CAAC,EAAE,IAAI,CAAC;IACV;EACF;EAEAK,eAAeA,CAACU,UAAU,EAAEhE,YAAY,EAAE;IACxC,MAAMiC,eAAe,GAAG3C,MAAM,CAACwE,GAAG,CAAC,CAAC;IACpC,MAAM5B,eAAe,GAAG5C,MAAM,CAACwE,GAAG,CAAC,CAAC;IACpC7B,eAAe,CAACgC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC;IACjC/B,eAAe,CAAC+B,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC;IAEjC,IAAID,UAAU,EAAE;MACd,IAAI,CAACnB,QAAQ,CAAC;QACZZ,eAAe,EAAEA,eAAe,CAAC8B,OAAO,CAAC,CAAC;QAC1C7B,eAAe,EAAEA,eAAe,CAAC6B,OAAO,CAAC;MAC3C,CAAC,CAAC;IACJ,CAAC,MAAM;MACL,IAAI/D,YAAY,EAAE;QAChB,IAAI,CAAC6C,QAAQ,CAAC;UACZZ,eAAe,EAAEA,eAAe,CAAC8B,OAAO,CAAC;QAC3C,CAAC,CAAC;MACJ,CAAC,MAAM;QACL,IAAI,CAAClB,QAAQ,CAAC;UACZX,eAAe,EAAEA,eAAe,CAAC6B,OAAO,CAAC;QAC3C,CAAC,CAAC;MACJ;IACF;EACF;EASAZ,eAAeA,CAAA,EAAG;IAChB,IAAI,CAACN,QAAQ,CAAC;MAAEV,oBAAoB,EAAE;IAAK,CAAC,EAAE,YAAY;MACxD,IAAI;QACF,MAAMf,GAAG,GAAG,MAAMb,aAAa,CAAC4C,eAAe,CAACxD,OAAO,CAAC,IAAI,CAACqB,KAAK,CAACE,IAAI,CAACgD,IAAI,CAAC,CAAC;QAC9E;QACA,IAAI,CAAClD,KAAK,CAACjB,kBAAkB,CAACqB,GAAG,CAACE,IAAI,CAAC;MACzC,CAAC,CAAC,OAAOE,KAAK,EAAE;QACdC,OAAO,CAACC,GAAG,CAAC,2BAA2B,EAAEF,KAAK,CAAC;MACjD,CAAC,SAAS;QACR,IAAI,CAACqB,QAAQ,CAAC;UAAEV,oBAAoB,EAAE;QAAM,CAAC,CAAC;MAChD;IACF,CAAC,CAAC;EACJ;EAaA;AACF;AACA;EACEe,UAAUA,CAAA,EAAG;IACX,IAAI,IAAI,CAAClC,KAAK,CAACE,IAAI,CAACiD,QAAQ,KAAK,QAAQ,EAAE;MACzC,IAAI,CAACtB,QAAQ,CAAC;QAAET,iBAAiB,EAAE;MAAK,CAAC,EAAE,YAAY;QACrD,IAAI;UACF,MAAMhB,GAAG,GAAG,MAAMZ,cAAc,CAAC4D,gBAAgB,CAACzE,OAAO,CAAC,IAAI,CAACqB,KAAK,CAACE,IAAI,CAACgD,IAAI,CAAC,CAAC;UAChF;UACA,IAAI,CAAC7E,CAAC,CAACgF,OAAO,CAACjD,GAAG,CAACE,IAAI,CAACgD,OAAO,CAAC/C,KAAK,CAAC,EAAE;YACtC,IAAI,CAACP,KAAK,CAACb,eAAe,CAACd,CAAC,CAACkF,MAAM,CAACnD,GAAG,CAACE,IAAI,CAACgD,OAAO,CAAC/C,KAAK,EAAE,aAAa,CAAC,CAAC;UAC7E;QACF,CAAC,CAAC,OAAOC,KAAK,EAAE;UACdC,OAAO,CAACC,GAAG,CAAC,2BAA2B,EAAEF,KAAK,CAAC;QACjD,CAAC,SAAS;UACR,IAAI,CAACqB,QAAQ,CAAC;YAAET,iBAAiB,EAAE;UAAM,CAAC,CAAC;QAC7C;MACF,CAAC,CAAC;IACJ,CAAC,MAAM;MACL,IAAI,CAACS,QAAQ,CAAC;QAAET,iBAAiB,EAAE;MAAM,CAAC,CAAC;IAC7C;IAEA,IAAI,CAACS,QAAQ,CAAC;MAAER,mBAAmB,EAAE;IAAK,CAAC,EAAE,YAAY;MACvD,IAAI;QACF,MAAMjB,GAAG,GAAG,MAAMX,WAAW,CAAC+D,cAAc,CAAC,IAAI,CAACxD,KAAK,CAACE,IAAI,CAACC,GAAG,CAAC;QACjE;QACA,IAAI,CAAC9B,CAAC,CAACgF,OAAO,CAACjD,GAAG,CAACE,IAAI,CAAC,EAAE;UACxB,IAAI,CAACN,KAAK,CAACV,mBAAmB,CAACjB,CAAC,CAACkF,MAAM,CAACnD,GAAG,CAACE,IAAI,EAAE,aAAa,CAAC,CAAC;QACnE;MACF,CAAC,CAAC,OAAOE,KAAK,EAAE;QACdC,OAAO,CAACC,GAAG,CAAC,yBAAyB,EAAEF,KAAK,CAAC;MAC/C,CAAC,SAAS;QACR,IAAI,CAACqB,QAAQ,CAAC;UAAER,mBAAmB,EAAE;QAAM,CAAC,CAAC;MAC/C;IACF,CAAC,CAAC;IAEF,IAAI,CAACQ,QAAQ,CAAC;MAAEP,kBAAkB,EAAE;IAAK,CAAC,EAAE,YAAY;MACtD,IAAI;QACF,MAAMlB,GAAG,GAAG,MAAMX,WAAW,CAACgE,aAAa,CAAC,IAAI,CAACzD,KAAK,CAACE,IAAI,CAACC,GAAG,CAAC;QAChE;QACA,IAAI,CAAC9B,CAAC,CAACgF,OAAO,CAACjD,GAAG,CAACE,IAAI,CAAC,EAAE;UACxB,IAAI,CAACN,KAAK,CAACX,iBAAiB,CAAChB,CAAC,CAACkF,MAAM,CAACnD,GAAG,CAACE,IAAI,CAACC,KAAK,EAAE,aAAa,CAAC,CAAC;QACvE;MACF,CAAC,CAAC,OAAOC,KAAK,EAAE;QACdC,OAAO,CAACC,GAAG,CAAC,yBAAyB,EAAEF,KAAK,CAAC;MAC/C,CAAC,SAAS;QACR,IAAI,CAACqB,QAAQ,CAAC;UAAEP,kBAAkB,EAAE;QAAM,CAAC,CAAC;MAC9C;IACF,CAAC,CAAC;EACJ;EAEAoC,cAAcA,CAACP,QAAQ,EAAE;IACvB,IAAI,CAACtB,QAAQ,CAAC;MACZf,gBAAgB,EAAEqC;IACpB,CAAC,CAAC;IACF,IAAIA,QAAQ,KAAKtD,MAAM,CAACmB,gBAAgB,IAAI,IAAI,CAACH,KAAK,CAACI,eAAe,GAAG3C,MAAM,CAACwE,GAAG,CAAC,CAAC,CAACC,OAAO,CAAC,CAAC,EAAE;MAC/F,IAAI,CAACjE,eAAe,CAAC,CAAC;MACtB,IAAI,CAACmD,aAAa,CAAC,CAAC;MACpB,IAAI,CAACE,eAAe,CAAC,CAAC;MACtB,IAAI,CAACG,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC;IACnC;IACA,IAAIa,QAAQ,KAAKtD,MAAM,CAACmB,gBAAgB,IAAI,IAAI,CAACH,KAAK,CAACK,eAAe,GAAG5C,MAAM,CAACwE,GAAG,CAAC,CAAC,CAACC,OAAO,CAAC,CAAC,EAAE;MAC/F,IAAI,CAACb,UAAU,CAAC,CAAC;MACjB,IAAI,CAAClC,KAAK,CAACZ,YAAY,CAAC,IAAI,CAACY,KAAK,CAACE,IAAI,CAACC,GAAG,CAAC;MAC5C,IAAI,CAACmC,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC;IACpC;EACF;EAMAqB,gBAAgBA,CAAA,EAAG;IACjB,IAAI,IAAI,CAAC3D,KAAK,CAACe,UAAU,IAAI,IAAI,CAACf,KAAK,CAAC4D,UAAU,EAAE;MAClD,OAAO,IAAI;IACb;IACA,oBACE5F,KAAA,CAAA6F,aAAA,CAACpF,YAAY;MACXqF,YAAY,EAAE,IAAI,CAACtC,UAAW;MAC9BC,eAAe,EAAE,IAAI,CAACA,eAAgB;MACtCsC,aAAa,EAAE;QAAErC,OAAO,EAAE,IAAI,CAAC1B,KAAK,CAACgE,WAAW;QAAErC,QAAQ,EAAE,IAAI,CAAC3B,KAAK,CAACiE;MAAa,CAAE;MACtFC,eAAe,EAAE,UAAW;MAC5BC,UAAU,EAAE,IAAI,CAACtD,KAAK,CAACC,gBAAiB;MACxCsD,QAAQ,EAAE,IAAI,CAACV,cAAc,CAACrB,IAAI,CAAC,IAAI,CAAE;MACzCgC,QAAQ;MACRC,QAAQ,EAAE;QAAEC,iBAAiB,EAAE;MAAG;IAAE,CACrC,CAAC;EAEN;EAEAC,YAAYA,CAAA,EAAG;IACb,IAAI,CAAC,IAAI,CAAC3D,KAAK,CAACU,SAAS,EACvB,oBACEvD,KAAA,CAAA6F,aAAA,CAACtF,MAAM;MACLkG,QAAQ,EAAC,YAAY;MACrBC,WAAW,EAAE,IAAI,CAACC,WAAY;MAC9BC,IAAI,EAAE,IAAI,CAAC5E,KAAK,CAAC6E,KAAK,IAAI,IAAI,CAAC7E,KAAK,CAAC8E,QAAQ,IAAI,QAAS;MAC1DC,kBAAkB,EAAE,IAAI,CAACpB,gBAAgB,CAAC;IAAE,CAC7C,CAAC;IAGN,oBACE3F,KAAA,CAAA6F,aAAA,CAACtF,MAAM;MACLyG,aAAa,eACXhH,KAAA,CAAA6F,aAAA,CAACrF,kBAAkB;QACjByG,UAAU,EAAE,IAAI,CAACpE,KAAK,CAACC,gBAAgB,KAAKjB,MAAM,CAACmB,gBAAgB,GAAGnB,MAAM,CAACqF,UAAU,GAAG,QAAS;QACnGC,YAAY,EAAE,IAAI,CAACtE,KAAK,CAACC,gBAAgB,KAAKjB,MAAM,CAACmB,gBAAgB,GAAGnB,MAAM,CAACqF,UAAU,GAAG,OAAQ;QACpGE,KAAK,EAAE/G,CAAC,CAACgH,QAAQ,CAAC,IAAI,CAACrF,KAAK,CAACE,IAAI,CAACoF,MAAM,EAAE,eAAe,CAAC,GAAG,IAAI,GAAG;UAAEC,WAAW,EAAE;QAAE;MAAE,CACxF,CACF;MACDC,YAAY,EACVnH,CAAC,CAACgH,QAAQ,CAAC,IAAI,CAACrF,KAAK,CAACE,IAAI,CAACoF,MAAM,EAAE,eAAe,CAAC,GAAG,IAAI,gBACxDtH,KAAA,CAAA6F,aAAA,CAACjE,cAAc,CAAC6F,gBAAgB;QAC9BC,UAAU,EAAEA,CAAA,KAAM;UAChB,IAAI,CAACA,UAAU,CAACrD,IAAI,CAAC,IAAI,CAAC;QAC5B;MAAE,CACH,CAEJ;MACD0C,kBAAkB,EAAE,IAAI,CAACpB,gBAAgB,CAAC;IAAE,CAC7C,CAAC;EAEN;EAEAgC,UAAUA,CAAA,EAAG;IACX,IAAIC,OAAO,GAAG,KAAK;IACnB,MAAMC,OAAO,GAAG,CAAC,MAAM;MACrB;MACA,QAAQ,IAAI,CAAChF,KAAK,CAACC,gBAAgB;QACjC,KAAKjB,MAAM,CAACmB,gBAAgB;UAC1B4E,OAAO,GAAG,IAAI,CAAC/E,KAAK,CAACM,oBAAoB;UACzC,oBAAOnD,KAAA,CAAA6F,aAAA,CAAChF,QAAQ;YAACiH,YAAY,EAAE,IAAI,CAAC9F,KAAK,CAAC8F,YAAa;YAACC,SAAS,EAAEH,OAAQ;YAACI,OAAO,EAAE,IAAI,CAAChG,KAAK,CAACgG;UAAQ,CAAE,CAAC;QAC7G,KAAK,UAAU;UACbJ,OAAO,GAAG,IAAI,CAAC/E,KAAK,CAACO,iBAAiB,IAAI,IAAI,CAACP,KAAK,CAACQ,mBAAmB,IAAI,IAAI,CAACR,KAAK,CAACS,kBAAkB;UACzG,oBACEtD,KAAA,CAAA6F,aAAA,CAAClE,YAAY;YACXsG,MAAM,EAAE,IAAI,CAACjG,KAAK,CAACkG,KAAM;YACzBC,aAAa,EAAE,IAAI,CAACnG,KAAK,CAACmG,aAAc;YACxCJ,SAAS,EAAEH,OAAQ;YACnBI,OAAO,EAAE,IAAI,CAAChG,KAAK,CAACgG;UAAQ,CAC7B,CAAC;QAEN;UACE;MACJ;MACA,OAAO,IAAI;IACb,CAAC,EAAE,CAAC;IAEJ,oBACEhI,KAAA,CAAA6F,aAAA,CAAC3F,IAAI;MAACkH,KAAK,EAAE;QAAEgB,IAAI,EAAE;MAAE;IAAE,gBACvBpI,KAAA,CAAA6F,aAAA,CAACnF,gBAAgB;MAAC2H,OAAO,EAAET;IAAQ,CAAE,CAAC,EACrCC,OACG,CAAC;EAEX;EAEAS,MAAMA,CAAA,EAAG;IACP,oBACEtI,KAAA,CAAA6F,aAAA,CAACnE,kBAAkB;MAAC6G,QAAQ,EAAE,IAAI,CAACvG,KAAK,CAACwG;IAAa,GACnD,IAAI,CAAChC,YAAY,CAAC,CAAC,EACnB,IAAI,CAACmB,UAAU,CAAC,CACC,CAAC;EAEzB;AACF;AAEA,MAAMc,eAAe,GAAG5F,KAAK,IAAI;EAC/B;EACA,MAAM6F,SAAS,GAAG7F,KAAK,CAACX,IAAI,CAACiD,QAAQ,KAAK,QAAQ,GAAGtC,KAAK,CAAC6F,SAAS,CAACC,IAAI,GAAG,EAAE;EAC9E,IAAIT,KAAK,GAAG7H,CAAC,CAACuI,OAAO,CAAC,CAAC,GAAG/F,KAAK,CAAC6F,SAAS,CAACG,UAAU,EAAE,GAAGhG,KAAK,CAAC6F,SAAS,CAACI,YAAY,EAAE,GAAGJ,SAAS,CAAC,EAAE,IAAI,CAAC;EAC3G,IAAI1C,WAAW,GAAG,CAAC;EACnB,IAAIC,YAAY,GAAG,CAAC;EACpB,MAAM8C,MAAM,GAAG,EAAE;EACjB,MAAMC,OAAO,GAAGnG,KAAK,CAAChB,MAAM,CAACoH,UAAU,CAAC;EACxC,IAAIpG,KAAK,CAACX,IAAI,CAACC,GAAG,IAAI,IAAI,EAAE;IAC1B,CAAC6G,OAAO,CAACL,IAAI,IAAI,EAAE,EAAEO,OAAO,CAACC,OAAO,IAAI;MACtC,IACE,CAAC9I,CAAC,CAAC+I,WAAW,CAACD,OAAO,CAACE,MAAM,CAAC,IAC9B,CAAChJ,CAAC,CAACgF,OAAO,CAAC8D,OAAO,CAACE,MAAM,CAAC,IAC1B,CAAChJ,CAAC,CAAC+I,WAAW,CAACD,OAAO,CAACE,MAAM,CAACxG,KAAK,CAACX,IAAI,CAACC,GAAG,CAAC,CAAC,IAC9CgH,OAAO,CAACE,MAAM,CAACxG,KAAK,CAACX,IAAI,CAACC,GAAG,CAAC,GAAG,CAAC,EAClC;QACA6D,WAAW,IAAI,CAAC;MAClB;IACF,CAAC,CAAC;IACF,CAACgD,OAAO,CAACM,WAAW,IAAI,EAAE,EAAEJ,OAAO,CAACC,OAAO,IAAI;MAC7C,IACE,CAAC,CAACA,OAAO,CAACI,eAAe,IACzB,CAAClJ,CAAC,CAAC+I,WAAW,CAACD,OAAO,CAACE,MAAM,CAAC,IAC9B,CAAChJ,CAAC,CAACgF,OAAO,CAAC8D,OAAO,CAACE,MAAM,CAAC,IAC1B,CAAChJ,CAAC,CAAC+I,WAAW,CAACD,OAAO,CAACE,MAAM,CAACxG,KAAK,CAACX,IAAI,CAACC,GAAG,CAAC,CAAC,IAC9CgH,OAAO,CAACE,MAAM,CAACxG,KAAK,CAACX,IAAI,CAACC,GAAG,CAAC,GAAG,CAAC,EAClC;QACA8D,YAAY,IAAI,CAAC;MACnB;MACA,IAAI,CAAC,CAACkD,OAAO,CAACK,WAAW,IAAI,CAAC,CAACL,OAAO,CAACI,eAAe,EAAE;QACtD,MAAMrH,IAAI,GAAG7B,CAAC,CAACoJ,IAAI,CAACvB,KAAK,EAAE;UAAEwB,EAAE,EAAEP,OAAO,CAACI,eAAe,CAACI;QAAO,CAAC,CAAC;QAClE,IAAI,CAACtJ,CAAC,CAAC+I,WAAW,CAAClH,IAAI,CAAC,EAAE;UAAA,IAAA0H,oBAAA,EAAAC,qBAAA;UACxB;UACA3H,IAAI,CAACsH,WAAW,GAAG,EAAAI,oBAAA,GAAAT,OAAO,CAACK,WAAW,cAAAI,oBAAA,uBAAnBA,oBAAA,CAAqBhD,IAAI,KAAI,EAAE;UAClD1E,IAAI,CAAC4H,aAAa,GAAG,CAACzJ,CAAC,CAACgF,OAAO,CAACnD,IAAI,CAACsH,WAAW,CAAC,IAAAK,qBAAA,GAAGV,OAAO,CAACK,WAAW,cAAAK,qBAAA,uBAAnBA,qBAAA,CAAqBE,SAAS,GAAG,IAAI;UACzF,IAAI,CAAC1J,CAAC,CAAC+I,WAAW,CAACD,OAAO,CAACE,MAAM,CAAC,IAAI,CAAChJ,CAAC,CAACgF,OAAO,CAAC8D,OAAO,CAACE,MAAM,CAAC,IAAI,CAAChJ,CAAC,CAAC+I,WAAW,CAACD,OAAO,CAACE,MAAM,CAACxG,KAAK,CAACX,IAAI,CAACC,GAAG,CAAC,CAAC,EAAE;YAClHD,IAAI,CAAC8H,MAAM,GAAGb,OAAO,CAACE,MAAM,CAACxG,KAAK,CAACX,IAAI,CAACC,GAAG,CAAC;UAC9C;QACF,CAAC,MAAM;UAAA,IAAA8H,qBAAA,EAAAC,qBAAA;UACL;UACA,MAAMhI,IAAI,GAAG;YACXiI,WAAW,EAAEhB,OAAO,CAACI,eAAe,CAACY,WAAW;YAChDT,EAAE,EAAEP,OAAO,CAACI,eAAe,CAACI,MAAM;YAClCS,GAAG,EAAEjB,OAAO,CAACI,eAAe,CAACI,MAAM;YACnCH,WAAW,EAAE,EAAAS,qBAAA,GAAAd,OAAO,CAACK,WAAW,cAAAS,qBAAA,uBAAnBA,qBAAA,CAAqBrD,IAAI,KAAI,EAAE;YAC5CkD,aAAa,EAAE,EAAAI,qBAAA,GAAAf,OAAO,CAACK,WAAW,cAAAU,qBAAA,uBAAnBA,qBAAA,CAAqBH,SAAS,KAAI,IAAI;YACrDM,UAAU,EAAElB,OAAO,CAACI,eAAe,CAACc,UAAU;YAC9CC,eAAe,EAAEnB,OAAO,CAACI,eAAe,CAACc,UAAU;YACnDE,OAAO,EAAE;UACX,CAAC;UACD,IAAI,CAAClK,CAAC,CAAC+I,WAAW,CAACD,OAAO,CAACE,MAAM,CAAC,IAAI,CAAChJ,CAAC,CAACgF,OAAO,CAAC8D,OAAO,CAACE,MAAM,CAAC,IAAI,CAAChJ,CAAC,CAAC+I,WAAW,CAACD,OAAO,CAACE,MAAM,CAACxG,KAAK,CAACX,IAAI,CAACC,GAAG,CAAC,CAAC,EAAE;YAClHD,IAAI,CAAC8H,MAAM,GAAGb,OAAO,CAACE,MAAM,CAACxG,KAAK,CAACX,IAAI,CAACC,GAAG,CAAC;UAC9C;UACA4G,MAAM,CAACyB,IAAI,CAACtI,IAAI,CAAC;QACnB;MACF;IACF,CAAC,CAAC;EACJ;EACA,MAAM4F,YAAY,GAAGzH,CAAC,CAACoK,MAAM,CAACzB,OAAO,CAAC0B,UAAU,EAAEC,KAAK,IAAI;IACzD;IACA;IACA,OAAO,CAACtK,CAAC,CAACuK,IAAI,CAACD,KAAK,CAACE,QAAQ,EAAEC,CAAC,IAAI;MAClC,OAAOA,CAAC,CAACnB,MAAM,KAAK9G,KAAK,CAACX,IAAI,CAACC,GAAG;IACpC,CAAC,CAAC;EACJ,CAAC,CAAC;EAEF,OAAO;IACLD,IAAI,EAAEW,KAAK,CAACX,IAAI;IAChB6I,SAAS,EAAElI,KAAK,CAACmI,SAAS,CAACD,SAAS;IACpC7C,KAAK;IACLC,aAAa,EAAEY,MAAM;IACrB/C,WAAW;IACXC,YAAY;IACZ6B;EACF,CAAC;AACH,CAAC;AAED,eAAe1H,mBAAmB,CAChCD,OAAO,CAACsI,eAAe,EAAE;EACvB3H,eAAe;EACfC,kBAAkB;EAClBC,YAAY;EACZC,mBAAmB;EACnBC,iBAAiB;EACjBC,eAAe;EACfC,YAAY;EACZC,iBAAiB;EACjBC;AACF,CAAC,CAAC,CAACQ,UAAU,CACf,CAAC"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
2
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
|
|
3
|
+
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
4
|
+
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 'react-native-elements';
|
|
8
|
+
import { connect } from 'react-redux';
|
|
9
|
+
import { getMainBrandingColourFromState } from '../../js';
|
|
10
|
+
import { Config } from '../../feature.config';
|
|
11
|
+
class SwipeableUserListing extends Component {
|
|
12
|
+
constructor(props) {
|
|
13
|
+
super(props);
|
|
14
|
+
_defineProperty(this, "handleArchive", () => {
|
|
15
|
+
const {
|
|
16
|
+
user,
|
|
17
|
+
onArchive
|
|
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',
|
|
21
|
+
onPress: () => {
|
|
22
|
+
var _this$swipeableRef$cu;
|
|
23
|
+
return (_this$swipeableRef$cu = this.swipeableRef.current) === null || _this$swipeableRef$cu === void 0 ? void 0 : _this$swipeableRef$cu.close();
|
|
24
|
+
},
|
|
25
|
+
style: 'cancel'
|
|
26
|
+
}, {
|
|
27
|
+
text: 'Archive',
|
|
28
|
+
onPress: async () => {
|
|
29
|
+
if (this.swipeableRef.current) {
|
|
30
|
+
this.swipeableRef.current.close();
|
|
31
|
+
}
|
|
32
|
+
if (user.chat && this.props.archiveConversation) {
|
|
33
|
+
const success = await this.props.archiveConversation(user.chat);
|
|
34
|
+
if (success && onArchive) {
|
|
35
|
+
onArchive(user);
|
|
36
|
+
} else if (!success) {
|
|
37
|
+
Alert.alert('Error', 'Failed to archive conversation. Please try again.');
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
},
|
|
41
|
+
style: 'destructive'
|
|
42
|
+
}], {
|
|
43
|
+
cancelable: true
|
|
44
|
+
});
|
|
45
|
+
});
|
|
46
|
+
_defineProperty(this, "renderRightActions", (progress, dragX) => {
|
|
47
|
+
const translateX = dragX.interpolate({
|
|
48
|
+
inputRange: [-100, 0],
|
|
49
|
+
outputRange: [0, 100],
|
|
50
|
+
extrapolate: 'clamp'
|
|
51
|
+
});
|
|
52
|
+
return /*#__PURE__*/React.createElement(Animated.View, {
|
|
53
|
+
style: {
|
|
54
|
+
transform: [{
|
|
55
|
+
translateX
|
|
56
|
+
}],
|
|
57
|
+
flexDirection: 'row',
|
|
58
|
+
alignItems: 'center'
|
|
59
|
+
}
|
|
60
|
+
}, /*#__PURE__*/React.createElement(TouchableOpacity, {
|
|
61
|
+
style: [styles.archiveButton, {
|
|
62
|
+
backgroundColor: this.props.colourBrandingMain
|
|
63
|
+
}],
|
|
64
|
+
onPress: this.handleArchive
|
|
65
|
+
}, /*#__PURE__*/React.createElement(Icon, {
|
|
66
|
+
name: "archive",
|
|
67
|
+
type: "material",
|
|
68
|
+
color: "white",
|
|
69
|
+
size: 24
|
|
70
|
+
}), /*#__PURE__*/React.createElement(Text, {
|
|
71
|
+
style: styles.archiveText
|
|
72
|
+
}, "Archive")));
|
|
73
|
+
});
|
|
74
|
+
this.swipeableRef = /*#__PURE__*/React.createRef();
|
|
75
|
+
}
|
|
76
|
+
render() {
|
|
77
|
+
const {
|
|
78
|
+
children,
|
|
79
|
+
enabled = true
|
|
80
|
+
} = this.props;
|
|
81
|
+
if (!enabled) {
|
|
82
|
+
return children;
|
|
83
|
+
}
|
|
84
|
+
return /*#__PURE__*/React.createElement(Swipeable, {
|
|
85
|
+
ref: this.swipeableRef,
|
|
86
|
+
renderRightActions: this.renderRightActions,
|
|
87
|
+
overshootRight: false,
|
|
88
|
+
friction: 2,
|
|
89
|
+
rightThreshold: 40
|
|
90
|
+
}, children);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
const styles = {
|
|
94
|
+
archiveButton: {
|
|
95
|
+
justifyContent: 'center',
|
|
96
|
+
alignItems: 'center',
|
|
97
|
+
width: 100,
|
|
98
|
+
height: '100%',
|
|
99
|
+
paddingHorizontal: 15,
|
|
100
|
+
paddingVertical: 10
|
|
101
|
+
},
|
|
102
|
+
archiveText: {
|
|
103
|
+
color: 'white',
|
|
104
|
+
fontSize: 13,
|
|
105
|
+
marginTop: 5,
|
|
106
|
+
fontFamily: 'sf-semibold',
|
|
107
|
+
textAlign: 'center'
|
|
108
|
+
}
|
|
109
|
+
};
|
|
110
|
+
const mapStateToProps = state => ({
|
|
111
|
+
colourBrandingMain: getMainBrandingColourFromState(state)
|
|
112
|
+
});
|
|
113
|
+
const mapDispatchToProps = dispatch => ({
|
|
114
|
+
archiveConversation: groupId => {
|
|
115
|
+
if (Config.messaging && Config.messaging.archiveConversation) {
|
|
116
|
+
return dispatch(Config.messaging.archiveConversation(groupId));
|
|
117
|
+
}
|
|
118
|
+
return Promise.resolve(false);
|
|
119
|
+
}
|
|
120
|
+
});
|
|
121
|
+
export default connect(mapStateToProps, mapDispatchToProps)(SwipeableUserListing);
|
|
122
|
+
//# sourceMappingURL=SwipeableUserListing.js.map
|
|
@@ -0,0 +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 'react-native-elements';\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\n style={[styles.archiveButton, { backgroundColor: this.props.colourBrandingMain }]}\n onPress={this.handleArchive}\n >\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);"],"mappings":"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"}
|
|
@@ -23,4 +23,6 @@ export const StickyFooter = Components.StickyFooter;
|
|
|
23
23
|
export const TextStyle = Components.TextStyle;
|
|
24
24
|
export const Toggle = Components.Toggle;
|
|
25
25
|
export const UserListing = Components.UserListing;
|
|
26
|
+
export const UserMessageListing = Components.UserMessageListing;
|
|
27
|
+
export { default as SwipeableUserListing } from './SwipeableUserListing';
|
|
26
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"],"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;\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"}
|
|
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"}
|