@plusscommunities/pluss-circles-app-groups 7.0.19 → 8.0.1-auth.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. package/dist/module/actions/ChatActions.js.map +1 -1
  2. package/dist/module/actions/GroupActions.js.map +1 -1
  3. package/dist/module/actions/index.js.map +1 -1
  4. package/dist/module/actions/types.js.map +1 -1
  5. package/dist/module/components/chat/Chat.js +3 -3
  6. package/dist/module/components/chat/Chat.js.map +1 -1
  7. package/dist/module/components/chat/ChatList.js +5 -4
  8. package/dist/module/components/chat/ChatList.js.map +1 -1
  9. package/dist/module/components/chat/ContactsList.js +4 -3
  10. package/dist/module/components/chat/ContactsList.js.map +1 -1
  11. package/dist/module/components/chat/KioskPeoplePage.js +6 -5
  12. package/dist/module/components/chat/KioskPeoplePage.js.map +1 -1
  13. package/dist/module/components/chat/PeopleContainer.js.map +1 -1
  14. package/dist/module/components/chat/PeoplePage.js +3 -3
  15. package/dist/module/components/chat/PeoplePage.js.map +1 -1
  16. package/dist/module/components/common/SwipeableUserListing.js +4 -3
  17. package/dist/module/components/common/SwipeableUserListing.js.map +1 -1
  18. package/dist/module/components/common/index.js +2 -1
  19. package/dist/module/components/common/index.js.map +1 -1
  20. package/dist/module/components/events/EventInvitePopup.js +8 -4
  21. package/dist/module/components/events/EventInvitePopup.js.map +1 -1
  22. package/dist/module/components/groups/EditGroup.js +6 -5
  23. package/dist/module/components/groups/EditGroup.js.map +1 -1
  24. package/dist/module/components/groups/GroupDetails.js +8 -7
  25. package/dist/module/components/groups/GroupDetails.js.map +1 -1
  26. package/dist/module/components/groups/GroupsList.js +2 -2
  27. package/dist/module/components/groups/GroupsList.js.map +1 -1
  28. package/dist/module/components/groups/GroupsWidget.js +4 -3
  29. package/dist/module/components/groups/GroupsWidget.js.map +1 -1
  30. package/dist/module/components/groups/NewGroup.js +4 -3
  31. package/dist/module/components/groups/NewGroup.js.map +1 -1
  32. package/dist/module/components/groups/PublicGroup.js +2 -1
  33. package/dist/module/components/groups/PublicGroup.js.map +1 -1
  34. package/dist/module/components/groups/PublicGroupAction.js +7 -1
  35. package/dist/module/components/groups/PublicGroupAction.js.map +1 -1
  36. package/dist/module/components/notifications/GroupInvite.js +5 -4
  37. package/dist/module/components/notifications/GroupInvite.js.map +1 -1
  38. package/dist/module/components/notifications/GroupInviteAction.js +8 -2
  39. package/dist/module/components/notifications/GroupInviteAction.js.map +1 -1
  40. package/dist/module/components/notifications/GroupMessage.js +8 -5
  41. package/dist/module/components/notifications/GroupMessage.js.map +1 -1
  42. package/dist/module/components/takeover/TakeoverBackground.js.map +1 -1
  43. package/dist/module/config/index.js.map +1 -1
  44. package/dist/module/core.config.js +1 -2
  45. package/dist/module/core.config.js.map +1 -1
  46. package/dist/module/feature.config.js.map +1 -1
  47. package/dist/module/index.js.map +1 -1
  48. package/dist/module/js/Colors.js.map +1 -1
  49. package/dist/module/js/NavigationService.js.map +1 -1
  50. package/dist/module/js/Styles.js.map +1 -1
  51. package/dist/module/js/circles/MapStateToDirectMessages.js.map +1 -1
  52. package/dist/module/js/index.js.map +1 -1
  53. package/dist/module/reducers/ChatsReducer.js +2 -2
  54. package/dist/module/reducers/ChatsReducer.js.map +1 -1
  55. package/dist/module/reducers/GroupsReducer.js +2 -2
  56. package/dist/module/reducers/GroupsReducer.js.map +1 -1
  57. package/dist/module/reducers/reducerKeys.js.map +1 -1
  58. package/dist/module/values.config.default.js.map +1 -1
  59. package/dist/module/values.config.groups.js.map +1 -1
  60. package/dist/module/values.config.js.map +1 -1
  61. package/dist/module/webapi/circleActions.js.map +1 -1
  62. package/dist/module/webapi/helper.js.map +1 -1
  63. package/dist/module/webapi/index.js.map +1 -1
  64. package/dist/module/webapi/messageActions.js.map +1 -1
  65. package/package.json +20 -16
  66. package/src/components/chat/Chat.js +1 -1
  67. package/src/components/chat/ChatList.js +7 -12
  68. package/src/components/chat/ContactsList.js +2 -1
  69. package/src/components/chat/KioskPeoplePage.js +4 -3
  70. package/src/components/chat/PeoplePage.js +1 -1
  71. package/src/components/common/SwipeableUserListing.js +2 -1
  72. package/src/components/common/index.js +2 -1
  73. package/src/components/events/EventInvitePopup.js +10 -4
  74. package/src/components/groups/EditGroup.js +2 -3
  75. package/src/components/groups/GroupDetails.js +6 -6
  76. package/src/components/groups/GroupsWidget.js +2 -1
  77. package/src/components/groups/NewGroup.js +1 -1
  78. package/src/components/groups/PublicGroup.js +2 -1
  79. package/src/components/groups/PublicGroupAction.js +8 -1
  80. package/src/components/notifications/GroupInvite.js +5 -4
  81. package/src/components/notifications/GroupInviteAction.js +9 -2
  82. package/src/components/notifications/GroupMessage.js +4 -3
  83. package/src/core.config.js +0 -2
  84. package/dist/module/assets/fonts.js +0 -3
  85. package/dist/module/assets/fonts.js.map +0 -1
  86. package/src/assets/fonts.js +0 -3
@@ -1 +1 @@
1
- {"version":3,"names":["_","START_FETCHING_CIRCLE_CHATS","RECEIVED_CIRCLE_CHATS","DELETED_CIRCLE_CHAT","DISCONNECTED_CIRCLE_CHAT","DISCONNECTED_CIRCLE_CHAT_LIST","BLOCKED_CIRCLE_USER","RECEIVED_BLOCKED_CIRCLE_USERS","RECEIVED_CIRCLE_MESSAGES","createChat","users","title","console","log","deleteChat","chatKey","dispatch","deletedChat","disconnectChatList","disconnectedChatList","disconnectChat","disconnectedChat","blockUser","userKey","targetUserKey","blockedUser","type","payload","startFetchingChats","receivedChats","chats","unreadCount","forEach","chat","unread","receivedBlockedUsers","blocked","updateChatMessages","messages"],"sources":["ChatActions.js"],"sourcesContent":["import _ from \"lodash\";\nimport {\n\tSTART_FETCHING_CIRCLE_CHATS,\n\tRECEIVED_CIRCLE_CHATS,\n\tDELETED_CIRCLE_CHAT,\n\tDISCONNECTED_CIRCLE_CHAT,\n\tDISCONNECTED_CIRCLE_CHAT_LIST,\n\tBLOCKED_CIRCLE_USER,\n\tRECEIVED_BLOCKED_CIRCLE_USERS,\n\tRECEIVED_CIRCLE_MESSAGES,\n} from \"./types\";\n\nexport const createChat = (users, title) => {\n\tconsole.log(\"CREATE CHAT ACTION HIT.......???\");\n};\n\nexport const deleteChat = (chatKey) => {\n\treturn async (dispatch) => {\n\t\tdispatch(deletedChat(chatKey));\n\t};\n};\n\nexport const disconnectChatList = () => {\n\treturn (dispatch) => {\n\t\tdispatch(disconnectedChatList());\n\t};\n};\n\nexport const disconnectChat = (chatKey) => {\n\treturn (dispatch) => {\n\t\tdispatch(disconnectedChat());\n\t};\n};\n\nexport const blockUser = (userKey, targetUserKey) => {\n\treturn async (dispatch) => {\n\t\tdispatch(blockedUser());\n\t};\n};\n\nconst deletedChat = (chatKey) => {\n\treturn {\n\t\ttype: DELETED_CIRCLE_CHAT,\n\t\tpayload: chatKey,\n\t};\n};\n\nconst startFetchingChats = () => ({\n\ttype: START_FETCHING_CIRCLE_CHATS,\n});\n\nconst receivedChats = (chats, userKey) => {\n\t// Calculate total unread count\n\tlet unreadCount = 0;\n\tchats.forEach((chat) => {\n\t\tif (chat.unread) unreadCount += chat.unread[userKey];\n\t});\n\n\treturn {\n\t\ttype: RECEIVED_CIRCLE_CHATS,\n\t\tpayload: chats,\n\t\tunreadCount,\n\t};\n};\n\nconst disconnectedChatList = () => ({\n\ttype: DISCONNECTED_CIRCLE_CHAT_LIST,\n});\n\nconst disconnectedChat = () => ({\n\ttype: DISCONNECTED_CIRCLE_CHAT,\n});\n\nconst blockedUser = () => {\n\treturn {\n\t\ttype: BLOCKED_CIRCLE_USER,\n\t};\n};\n\nconst receivedBlockedUsers = (blocked) => {\n\treturn {\n\t\ttype: RECEIVED_BLOCKED_CIRCLE_USERS,\n\t\tpayload: blocked,\n\t};\n};\n\nexport const updateChatMessages = (chatKey, messages) => {\n\treturn {\n\t\ttype: RECEIVED_CIRCLE_MESSAGES,\n\t\tpayload: { chatKey, messages },\n\t};\n};\n"],"mappings":"AAAA,OAAOA,CAAC,MAAM,QAAQ;AACtB,SACCC,2BAA2B,EAC3BC,qBAAqB,EACrBC,mBAAmB,EACnBC,wBAAwB,EACxBC,6BAA6B,EAC7BC,mBAAmB,EACnBC,6BAA6B,EAC7BC,wBAAwB,QAClB,SAAS;AAEhB,OAAO,MAAMC,UAAU,GAAGA,CAACC,KAAK,EAAEC,KAAK,KAAK;EAC3CC,OAAO,CAACC,GAAG,CAAC,kCAAkC,CAAC;AAChD,CAAC;AAED,OAAO,MAAMC,UAAU,GAAIC,OAAO,IAAK;EACtC,OAAO,MAAOC,QAAQ,IAAK;IAC1BA,QAAQ,CAACC,WAAW,CAACF,OAAO,CAAC,CAAC;EAC/B,CAAC;AACF,CAAC;AAED,OAAO,MAAMG,kBAAkB,GAAGA,CAAA,KAAM;EACvC,OAAQF,QAAQ,IAAK;IACpBA,QAAQ,CAACG,oBAAoB,CAAC,CAAC,CAAC;EACjC,CAAC;AACF,CAAC;AAED,OAAO,MAAMC,cAAc,GAAIL,OAAO,IAAK;EAC1C,OAAQC,QAAQ,IAAK;IACpBA,QAAQ,CAACK,gBAAgB,CAAC,CAAC,CAAC;EAC7B,CAAC;AACF,CAAC;AAED,OAAO,MAAMC,SAAS,GAAGA,CAACC,OAAO,EAAEC,aAAa,KAAK;EACpD,OAAO,MAAOR,QAAQ,IAAK;IAC1BA,QAAQ,CAACS,WAAW,CAAC,CAAC,CAAC;EACxB,CAAC;AACF,CAAC;AAED,MAAMR,WAAW,GAAIF,OAAO,IAAK;EAChC,OAAO;IACNW,IAAI,EAAEvB,mBAAmB;IACzBwB,OAAO,EAAEZ;EACV,CAAC;AACF,CAAC;AAED,MAAMa,kBAAkB,GAAGA,CAAA,MAAO;EACjCF,IAAI,EAAEzB;AACP,CAAC,CAAC;AAEF,MAAM4B,aAAa,GAAGA,CAACC,KAAK,EAAEP,OAAO,KAAK;EACzC;EACA,IAAIQ,WAAW,GAAG,CAAC;EACnBD,KAAK,CAACE,OAAO,CAAEC,IAAI,IAAK;IACvB,IAAIA,IAAI,CAACC,MAAM,EAAEH,WAAW,IAAIE,IAAI,CAACC,MAAM,CAACX,OAAO,CAAC;EACrD,CAAC,CAAC;EAEF,OAAO;IACNG,IAAI,EAAExB,qBAAqB;IAC3ByB,OAAO,EAAEG,KAAK;IACdC;EACD,CAAC;AACF,CAAC;AAED,MAAMZ,oBAAoB,GAAGA,CAAA,MAAO;EACnCO,IAAI,EAAErB;AACP,CAAC,CAAC;AAEF,MAAMgB,gBAAgB,GAAGA,CAAA,MAAO;EAC/BK,IAAI,EAAEtB;AACP,CAAC,CAAC;AAEF,MAAMqB,WAAW,GAAGA,CAAA,KAAM;EACzB,OAAO;IACNC,IAAI,EAAEpB;EACP,CAAC;AACF,CAAC;AAED,MAAM6B,oBAAoB,GAAIC,OAAO,IAAK;EACzC,OAAO;IACNV,IAAI,EAAEnB,6BAA6B;IACnCoB,OAAO,EAAES;EACV,CAAC;AACF,CAAC;AAED,OAAO,MAAMC,kBAAkB,GAAGA,CAACtB,OAAO,EAAEuB,QAAQ,KAAK;EACxD,OAAO;IACNZ,IAAI,EAAElB,wBAAwB;IAC9BmB,OAAO,EAAE;MAAEZ,OAAO;MAAEuB;IAAS;EAC9B,CAAC;AACF,CAAC"}
1
+ {"version":3,"names":["_","START_FETCHING_CIRCLE_CHATS","RECEIVED_CIRCLE_CHATS","DELETED_CIRCLE_CHAT","DISCONNECTED_CIRCLE_CHAT","DISCONNECTED_CIRCLE_CHAT_LIST","BLOCKED_CIRCLE_USER","RECEIVED_BLOCKED_CIRCLE_USERS","RECEIVED_CIRCLE_MESSAGES","createChat","users","title","console","log","deleteChat","chatKey","dispatch","deletedChat","disconnectChatList","disconnectedChatList","disconnectChat","disconnectedChat","blockUser","userKey","targetUserKey","blockedUser","type","payload","startFetchingChats","receivedChats","chats","unreadCount","forEach","chat","unread","receivedBlockedUsers","blocked","updateChatMessages","messages"],"sources":["ChatActions.js"],"sourcesContent":["import _ from \"lodash\";\nimport {\n\tSTART_FETCHING_CIRCLE_CHATS,\n\tRECEIVED_CIRCLE_CHATS,\n\tDELETED_CIRCLE_CHAT,\n\tDISCONNECTED_CIRCLE_CHAT,\n\tDISCONNECTED_CIRCLE_CHAT_LIST,\n\tBLOCKED_CIRCLE_USER,\n\tRECEIVED_BLOCKED_CIRCLE_USERS,\n\tRECEIVED_CIRCLE_MESSAGES,\n} from \"./types\";\n\nexport const createChat = (users, title) => {\n\tconsole.log(\"CREATE CHAT ACTION HIT.......???\");\n};\n\nexport const deleteChat = (chatKey) => {\n\treturn async (dispatch) => {\n\t\tdispatch(deletedChat(chatKey));\n\t};\n};\n\nexport const disconnectChatList = () => {\n\treturn (dispatch) => {\n\t\tdispatch(disconnectedChatList());\n\t};\n};\n\nexport const disconnectChat = (chatKey) => {\n\treturn (dispatch) => {\n\t\tdispatch(disconnectedChat());\n\t};\n};\n\nexport const blockUser = (userKey, targetUserKey) => {\n\treturn async (dispatch) => {\n\t\tdispatch(blockedUser());\n\t};\n};\n\nconst deletedChat = (chatKey) => {\n\treturn {\n\t\ttype: DELETED_CIRCLE_CHAT,\n\t\tpayload: chatKey,\n\t};\n};\n\nconst startFetchingChats = () => ({\n\ttype: START_FETCHING_CIRCLE_CHATS,\n});\n\nconst receivedChats = (chats, userKey) => {\n\t// Calculate total unread count\n\tlet unreadCount = 0;\n\tchats.forEach((chat) => {\n\t\tif (chat.unread) unreadCount += chat.unread[userKey];\n\t});\n\n\treturn {\n\t\ttype: RECEIVED_CIRCLE_CHATS,\n\t\tpayload: chats,\n\t\tunreadCount,\n\t};\n};\n\nconst disconnectedChatList = () => ({\n\ttype: DISCONNECTED_CIRCLE_CHAT_LIST,\n});\n\nconst disconnectedChat = () => ({\n\ttype: DISCONNECTED_CIRCLE_CHAT,\n});\n\nconst blockedUser = () => {\n\treturn {\n\t\ttype: BLOCKED_CIRCLE_USER,\n\t};\n};\n\nconst receivedBlockedUsers = (blocked) => {\n\treturn {\n\t\ttype: RECEIVED_BLOCKED_CIRCLE_USERS,\n\t\tpayload: blocked,\n\t};\n};\n\nexport const updateChatMessages = (chatKey, messages) => {\n\treturn {\n\t\ttype: RECEIVED_CIRCLE_MESSAGES,\n\t\tpayload: { chatKey, messages },\n\t};\n};\n"],"mappings":"AAAA,OAAOA,CAAC,MAAM,QAAQ;AACtB,SACCC,2BAA2B,EAC3BC,qBAAqB,EACrBC,mBAAmB,EACnBC,wBAAwB,EACxBC,6BAA6B,EAC7BC,mBAAmB,EACnBC,6BAA6B,EAC7BC,wBAAwB,QAClB,SAAS;AAEhB,OAAO,MAAMC,UAAU,GAAGA,CAACC,KAAK,EAAEC,KAAK,KAAK;EAC3CC,OAAO,CAACC,GAAG,CAAC,kCAAkC,CAAC;AAChD,CAAC;AAED,OAAO,MAAMC,UAAU,GAAIC,OAAO,IAAK;EACtC,OAAO,MAAOC,QAAQ,IAAK;IAC1BA,QAAQ,CAACC,WAAW,CAACF,OAAO,CAAC,CAAC;EAC/B,CAAC;AACF,CAAC;AAED,OAAO,MAAMG,kBAAkB,GAAGA,CAAA,KAAM;EACvC,OAAQF,QAAQ,IAAK;IACpBA,QAAQ,CAACG,oBAAoB,CAAC,CAAC,CAAC;EACjC,CAAC;AACF,CAAC;AAED,OAAO,MAAMC,cAAc,GAAIL,OAAO,IAAK;EAC1C,OAAQC,QAAQ,IAAK;IACpBA,QAAQ,CAACK,gBAAgB,CAAC,CAAC,CAAC;EAC7B,CAAC;AACF,CAAC;AAED,OAAO,MAAMC,SAAS,GAAGA,CAACC,OAAO,EAAEC,aAAa,KAAK;EACpD,OAAO,MAAOR,QAAQ,IAAK;IAC1BA,QAAQ,CAACS,WAAW,CAAC,CAAC,CAAC;EACxB,CAAC;AACF,CAAC;AAED,MAAMR,WAAW,GAAIF,OAAO,IAAK;EAChC,OAAO;IACNW,IAAI,EAAEvB,mBAAmB;IACzBwB,OAAO,EAAEZ;EACV,CAAC;AACF,CAAC;AAED,MAAMa,kBAAkB,GAAGA,CAAA,MAAO;EACjCF,IAAI,EAAEzB;AACP,CAAC,CAAC;AAEF,MAAM4B,aAAa,GAAGA,CAACC,KAAK,EAAEP,OAAO,KAAK;EACzC;EACA,IAAIQ,WAAW,GAAG,CAAC;EACnBD,KAAK,CAACE,OAAO,CAAEC,IAAI,IAAK;IACvB,IAAIA,IAAI,CAACC,MAAM,EAAEH,WAAW,IAAIE,IAAI,CAACC,MAAM,CAACX,OAAO,CAAC;EACrD,CAAC,CAAC;EAEF,OAAO;IACNG,IAAI,EAAExB,qBAAqB;IAC3ByB,OAAO,EAAEG,KAAK;IACdC;EACD,CAAC;AACF,CAAC;AAED,MAAMZ,oBAAoB,GAAGA,CAAA,MAAO;EACnCO,IAAI,EAAErB;AACP,CAAC,CAAC;AAEF,MAAMgB,gBAAgB,GAAGA,CAAA,MAAO;EAC/BK,IAAI,EAAEtB;AACP,CAAC,CAAC;AAEF,MAAMqB,WAAW,GAAGA,CAAA,KAAM;EACzB,OAAO;IACNC,IAAI,EAAEpB;EACP,CAAC;AACF,CAAC;AAED,MAAM6B,oBAAoB,GAAIC,OAAO,IAAK;EACzC,OAAO;IACNV,IAAI,EAAEnB,6BAA6B;IACnCoB,OAAO,EAAES;EACV,CAAC;AACF,CAAC;AAED,OAAO,MAAMC,kBAAkB,GAAGA,CAACtB,OAAO,EAAEuB,QAAQ,KAAK;EACxD,OAAO;IACNZ,IAAI,EAAElB,wBAAwB;IAC9BmB,OAAO,EAAE;MAAEZ,OAAO;MAAEuB;IAAS;EAC9B,CAAC;AACF,CAAC","ignoreList":[]}
@@ -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","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\tPUBLIC_CIRCLES_LOAD_INITIALISE,\n\tCIRCLES_LOAD_INITIALISE,\n\tCIRCLE_INVITES_UPDATED,\n\tCIRCLE_INVITES_LOADED,\n\tCREATED_CIRCLE,\n\tCIRCLES_LOADED,\n\tUPDATE_CIRCLE_UNREAD,\n\tCLEAR_SINGLE_CIRCLE_UNREAD,\n\tARCHIVE_CIRCLE,\n} from \"./types\";\nimport { values } from \"../values.config\";\n\nexport const refreshGroups = (includeArchived = false) => {\n\treturn async (dispatch) => {\n\t\tconst res = await circleActions.getGroups(includeArchived);\n\t\tdispatch({\n\t\t\ttype: CIRCLES_LOAD_INITIALISE,\n\t\t\tpayload: res.data.Items,\n\t\t});\n\t};\n};\n\nexport const loadGroups = (groups) => {\n\treturn (dispatch) => {\n\t\tdispatch({\n\t\t\ttype: CIRCLES_LOADED,\n\t\t\tpayload: groups,\n\t\t});\n\t};\n};\n\nexport const updatePublicGroups = (publicGroups) => {\n\treturn async (dispatch) => {\n\t\tdispatch({\n\t\t\ttype: PUBLIC_CIRCLES_LOAD_INITIALISE,\n\t\t\tpayload: publicGroups,\n\t\t});\n\t};\n};\n\nexport const updateGroups = (groups) => {\n\treturn async (dispatch) => {\n\t\tdispatch({\n\t\t\ttype: CIRCLES_LOAD_INITIALISE,\n\t\t\tpayload: groups,\n\t\t});\n\t};\n};\n\nexport const updateUnreadCounter = (groups, userId) => {\n\treturn async (dispatch) => {\n\t\tif (!_.isEmpty(groups)) {\n\t\t\tlet counter = 0;\n\t\t\tgroups.forEach((element) => {\n\t\t\t\tif (\n\t\t\t\t\t!element.Deleted &&\n\t\t\t\t\t!_.isUndefined(element.Unread) &&\n\t\t\t\t\t!_.isEmpty(element.Unread) &&\n\t\t\t\t\t!_.isUndefined(element.Unread[userId])\n\t\t\t\t) {\n\t\t\t\t\tcounter += element.Unread[userId];\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tdispatch({\n\t\t\t\ttype: UPDATE_CIRCLE_UNREAD,\n\t\t\t\tpayload: counter,\n\t\t\t});\n\t\t}\n\t};\n};\n\nexport const clearGroupCounter = (groupId, userId, isPrivate) => {\n\tcircleActions.clearGroupUnread(groupId, userId);\n\treturn {\n\t\ttype: CLEAR_SINGLE_CIRCLE_UNREAD,\n\t\tpayload: { groupId, userId, isPrivate },\n\t};\n};\n\nexport const createGroup = (group) => {\n\treturn (dispatch) => {\n\t\tdispatch({\n\t\t\ttype: CREATED_CIRCLE,\n\t\t\tpayload: group,\n\t\t});\n\t};\n};\n\nexport const updateInvites = (invites) => {\n\treturn (dispatch) => {\n\t\tdispatch({\n\t\t\ttype: CIRCLE_INVITES_LOADED,\n\t\t\tpayload: invites,\n\t\t});\n\t};\n};\n\nexport const getGroupInvites = () => {\n\treturn async (dispatch) => {\n\t\tcircleActions\n\t\t\t.getGroupInvites(userID, token)\n\t\t\t.then((res) => {\n\t\t\t\tdispatch({\n\t\t\t\t\ttype: CIRCLE_INVITES_LOADED,\n\t\t\t\t\tpayload: res.data.Items,\n\t\t\t\t});\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tconsole.log(\"fetch circle invites FAIL\");\n\t\t\t\tconsole.log(err);\n\t\t\t});\n\t};\n};\n\nexport const handleGroupInvite = (invite, action, tempUserId) => {\n\tconst tempEvent = _.clone(invite);\n\tconst newInvite = _.cloneDeep(invite);\n\tnewInvite.Deleted = true;\n\treturn async (dispatch) => {\n\t\tdispatch({\n\t\t\ttype: CIRCLE_INVITES_UPDATED,\n\t\t\tpayload: [newInvite],\n\t\t});\n\t\tif (action) {\n\t\t\ttempEvent.fetchingLatest = true;\n\t\t\tconst ads = _.findIndex(tempEvent.Invites, (item) => {\n\t\t\t\treturn item.userId === tempUserId;\n\t\t\t});\n\t\t\tconst userToUse = tempEvent.Invites[ads];\n\t\t\ttempEvent.Invites.splice(ads, 1);\n\t\t\ttempEvent.Audience.push(userToUse);\n\n\t\t\tconst chat = {\n\t\t\t\tkey: invite.Id,\n\t\t\t\ttitle: invite.Title,\n\t\t\t\tunread: [],\n\t\t\t\tuserKeys: [],\n\t\t\t\tuserNames: [],\n\t\t\t\tuserProfilePics: [],\n\t\t\t};\n\t\t\tdispatch({\n\t\t\t\ttype: CIRCLES_LOADED,\n\t\t\t\tpayload: [tempEvent],\n\t\t\t});\n\t\t\tsetTimeout(() => {\n\t\t\t\tNavigationService.navigate(values.screenCircleChat, {\n\t\t\t\t\tchat,\n\t\t\t\t\tnew: true,\n\t\t\t\t\tback: values.screenCircleChatList,\n\t\t\t\t});\n\t\t\t}, 100);\n\t\t}\n\n\t\tawait authedFunction({\n\t\t\tmethod: \"post\",\n\t\t\turl: getUrl(values.serviceKey, \"handleGroupInvite\"),\n\t\t\tdata: {\n\t\t\t\tinviteID: invite.Id,\n\t\t\t\taction,\n\t\t\t},\n\t\t})\n\t\t\t.then((res) => {\n\t\t\t\tif (action) {\n\t\t\t\t\tdispatch({\n\t\t\t\t\t\ttype: CIRCLES_LOADED,\n\t\t\t\t\t\tpayload: [res.data.group],\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tconsole.log(\"handle event invite fail\", err);\n\t\t\t});\n\t};\n};\n\nexport const joinGroup = (group) => {\n\tconst tempGroup = _.clone(group);\n\treturn async (dispatch) => {\n\t\ttempGroup.fetchingLatest = true;\n\n\t\tconst chat = {\n\t\t\tkey: group.Id,\n\t\t\ttitle: group.Title,\n\t\t\tunread: [],\n\t\t\tuserKeys: [],\n\t\t\tuserNames: [],\n\t\t\tuserProfilePics: [],\n\t\t};\n\t\tdispatch({\n\t\t\ttype: CIRCLES_LOADED,\n\t\t\tpayload: [tempGroup],\n\t\t});\n\t\tsetTimeout(() => {\n\t\t\tNavigationService.navigate(values.screenCircleChat, {\n\t\t\t\tchat,\n\t\t\t\tnew: true,\n\t\t\t\tback: values.screenCircleChatList,\n\t\t\t});\n\t\t}, 100);\n\n\t\tawait circleActions\n\t\t\t.joinGroup(group.Id)\n\t\t\t.then((res) => {\n\t\t\t\tdispatch({\n\t\t\t\t\ttype: CIRCLES_LOADED,\n\t\t\t\t\tpayload: [res.data.group],\n\t\t\t\t});\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tconsole.log(\"handle join group fail\", err);\n\t\t\t});\n\t};\n};\n\nexport const softLeaveGroup = (group) => {\n\tconst newGroup = _.cloneDeep(group);\n\tnewGroup.Deleted = true;\n\treturn async (dispatch) => {\n\t\tdispatch({\n\t\t\ttype: CIRCLES_LOADED,\n\t\t\tpayload: [newGroup],\n\t\t});\n\t\tawait authedFunction({\n\t\t\tmethod: \"post\",\n\t\t\turl: getUrl(values.serviceKey, \"leaveGroup\"),\n\t\t\tdata: {\n\t\t\t\tgroupID: group.Id,\n\t\t\t},\n\t\t});\n\t};\n};\n\nexport const deleteGroup = (group) => {\n\tgroup.Deleted = true;\n\treturn async (dispatch) => {\n\t\tdispatch({\n\t\t\ttype: CIRCLES_LOADED,\n\t\t\tpayload: [group],\n\t\t});\n\n\t\tawait authedFunction({\n\t\t\tmethod: \"POST\",\n\t\t\turl: getUrl(values.serviceKey, \"update/delete\"),\n\t\t\tdata: {\n\t\t\t\tcircleId: group.Id,\n\t\t\t},\n\t\t});\n\t};\n};\n\nexport const editGroup = (group, usersToAdd, usersToRemove) => {\n\treturn async (dispatch) => {\n\t\t// push to local store\n\t\tconst localGroup = { ...group };\n\t\tlocalGroup.Audience = _.filter(\n\t\t\t[...localGroup.Audience, ...usersToAdd],\n\t\t\t(user) => {\n\t\t\t\treturn !_.some(usersToRemove, (userId) => {\n\t\t\t\t\treturn user.userId === userId;\n\t\t\t\t});\n\t\t\t},\n\t\t);\n\t\tdispatch({\n\t\t\ttype: CIRCLES_LOADED,\n\t\t\tpayload: [localGroup],\n\t\t});\n\n\t\ttry {\n\t\t\tawait authedFunction({\n\t\t\t\tmethod: \"post\",\n\t\t\t\turl: getUrl(values.serviceKey, \"editUsersGroup\"),\n\t\t\t\tdata: {\n\t\t\t\t\tgroup,\n\t\t\t\t\tusersToAdd,\n\t\t\t\t\tusersToRemove,\n\t\t\t\t},\n\t\t\t});\n\t\t} catch (e) {}\n\t};\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\tPUBLIC_CIRCLES_LOAD_INITIALISE,\n\tCIRCLES_LOAD_INITIALISE,\n\tCIRCLE_INVITES_UPDATED,\n\tCIRCLE_INVITES_LOADED,\n\tCREATED_CIRCLE,\n\tCIRCLES_LOADED,\n\tUPDATE_CIRCLE_UNREAD,\n\tCLEAR_SINGLE_CIRCLE_UNREAD,\n\tARCHIVE_CIRCLE,\n} from \"./types\";\nimport { values } from \"../values.config\";\n\nexport const refreshGroups = (includeArchived = false) => {\n\treturn async (dispatch) => {\n\t\tconst res = await circleActions.getGroups(includeArchived);\n\t\tdispatch({\n\t\t\ttype: CIRCLES_LOAD_INITIALISE,\n\t\t\tpayload: res.data.Items,\n\t\t});\n\t};\n};\n\nexport const loadGroups = (groups) => {\n\treturn (dispatch) => {\n\t\tdispatch({\n\t\t\ttype: CIRCLES_LOADED,\n\t\t\tpayload: groups,\n\t\t});\n\t};\n};\n\nexport const updatePublicGroups = (publicGroups) => {\n\treturn async (dispatch) => {\n\t\tdispatch({\n\t\t\ttype: PUBLIC_CIRCLES_LOAD_INITIALISE,\n\t\t\tpayload: publicGroups,\n\t\t});\n\t};\n};\n\nexport const updateGroups = (groups) => {\n\treturn async (dispatch) => {\n\t\tdispatch({\n\t\t\ttype: CIRCLES_LOAD_INITIALISE,\n\t\t\tpayload: groups,\n\t\t});\n\t};\n};\n\nexport const updateUnreadCounter = (groups, userId) => {\n\treturn async (dispatch) => {\n\t\tif (!_.isEmpty(groups)) {\n\t\t\tlet counter = 0;\n\t\t\tgroups.forEach((element) => {\n\t\t\t\tif (\n\t\t\t\t\t!element.Deleted &&\n\t\t\t\t\t!_.isUndefined(element.Unread) &&\n\t\t\t\t\t!_.isEmpty(element.Unread) &&\n\t\t\t\t\t!_.isUndefined(element.Unread[userId])\n\t\t\t\t) {\n\t\t\t\t\tcounter += element.Unread[userId];\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tdispatch({\n\t\t\t\ttype: UPDATE_CIRCLE_UNREAD,\n\t\t\t\tpayload: counter,\n\t\t\t});\n\t\t}\n\t};\n};\n\nexport const clearGroupCounter = (groupId, userId, isPrivate) => {\n\tcircleActions.clearGroupUnread(groupId, userId);\n\treturn {\n\t\ttype: CLEAR_SINGLE_CIRCLE_UNREAD,\n\t\tpayload: { groupId, userId, isPrivate },\n\t};\n};\n\nexport const createGroup = (group) => {\n\treturn (dispatch) => {\n\t\tdispatch({\n\t\t\ttype: CREATED_CIRCLE,\n\t\t\tpayload: group,\n\t\t});\n\t};\n};\n\nexport const updateInvites = (invites) => {\n\treturn (dispatch) => {\n\t\tdispatch({\n\t\t\ttype: CIRCLE_INVITES_LOADED,\n\t\t\tpayload: invites,\n\t\t});\n\t};\n};\n\nexport const getGroupInvites = () => {\n\treturn async (dispatch) => {\n\t\tcircleActions\n\t\t\t.getGroupInvites(userID, token)\n\t\t\t.then((res) => {\n\t\t\t\tdispatch({\n\t\t\t\t\ttype: CIRCLE_INVITES_LOADED,\n\t\t\t\t\tpayload: res.data.Items,\n\t\t\t\t});\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tconsole.log(\"fetch circle invites FAIL\");\n\t\t\t\tconsole.log(err);\n\t\t\t});\n\t};\n};\n\nexport const handleGroupInvite = (invite, action, tempUserId) => {\n\tconst tempEvent = _.clone(invite);\n\tconst newInvite = _.cloneDeep(invite);\n\tnewInvite.Deleted = true;\n\treturn async (dispatch) => {\n\t\tdispatch({\n\t\t\ttype: CIRCLE_INVITES_UPDATED,\n\t\t\tpayload: [newInvite],\n\t\t});\n\t\tif (action) {\n\t\t\ttempEvent.fetchingLatest = true;\n\t\t\tconst ads = _.findIndex(tempEvent.Invites, (item) => {\n\t\t\t\treturn item.userId === tempUserId;\n\t\t\t});\n\t\t\tconst userToUse = tempEvent.Invites[ads];\n\t\t\ttempEvent.Invites.splice(ads, 1);\n\t\t\ttempEvent.Audience.push(userToUse);\n\n\t\t\tconst chat = {\n\t\t\t\tkey: invite.Id,\n\t\t\t\ttitle: invite.Title,\n\t\t\t\tunread: [],\n\t\t\t\tuserKeys: [],\n\t\t\t\tuserNames: [],\n\t\t\t\tuserProfilePics: [],\n\t\t\t};\n\t\t\tdispatch({\n\t\t\t\ttype: CIRCLES_LOADED,\n\t\t\t\tpayload: [tempEvent],\n\t\t\t});\n\t\t\tsetTimeout(() => {\n\t\t\t\tNavigationService.navigate(values.screenCircleChat, {\n\t\t\t\t\tchat,\n\t\t\t\t\tnew: true,\n\t\t\t\t\tback: values.screenCircleChatList,\n\t\t\t\t});\n\t\t\t}, 100);\n\t\t}\n\n\t\tawait authedFunction({\n\t\t\tmethod: \"post\",\n\t\t\turl: getUrl(values.serviceKey, \"handleGroupInvite\"),\n\t\t\tdata: {\n\t\t\t\tinviteID: invite.Id,\n\t\t\t\taction,\n\t\t\t},\n\t\t})\n\t\t\t.then((res) => {\n\t\t\t\tif (action) {\n\t\t\t\t\tdispatch({\n\t\t\t\t\t\ttype: CIRCLES_LOADED,\n\t\t\t\t\t\tpayload: [res.data.group],\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tconsole.log(\"handle event invite fail\", err);\n\t\t\t});\n\t};\n};\n\nexport const joinGroup = (group) => {\n\tconst tempGroup = _.clone(group);\n\treturn async (dispatch) => {\n\t\ttempGroup.fetchingLatest = true;\n\n\t\tconst chat = {\n\t\t\tkey: group.Id,\n\t\t\ttitle: group.Title,\n\t\t\tunread: [],\n\t\t\tuserKeys: [],\n\t\t\tuserNames: [],\n\t\t\tuserProfilePics: [],\n\t\t};\n\t\tdispatch({\n\t\t\ttype: CIRCLES_LOADED,\n\t\t\tpayload: [tempGroup],\n\t\t});\n\t\tsetTimeout(() => {\n\t\t\tNavigationService.navigate(values.screenCircleChat, {\n\t\t\t\tchat,\n\t\t\t\tnew: true,\n\t\t\t\tback: values.screenCircleChatList,\n\t\t\t});\n\t\t}, 100);\n\n\t\tawait circleActions\n\t\t\t.joinGroup(group.Id)\n\t\t\t.then((res) => {\n\t\t\t\tdispatch({\n\t\t\t\t\ttype: CIRCLES_LOADED,\n\t\t\t\t\tpayload: [res.data.group],\n\t\t\t\t});\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tconsole.log(\"handle join group fail\", err);\n\t\t\t});\n\t};\n};\n\nexport const softLeaveGroup = (group) => {\n\tconst newGroup = _.cloneDeep(group);\n\tnewGroup.Deleted = true;\n\treturn async (dispatch) => {\n\t\tdispatch({\n\t\t\ttype: CIRCLES_LOADED,\n\t\t\tpayload: [newGroup],\n\t\t});\n\t\tawait authedFunction({\n\t\t\tmethod: \"post\",\n\t\t\turl: getUrl(values.serviceKey, \"leaveGroup\"),\n\t\t\tdata: {\n\t\t\t\tgroupID: group.Id,\n\t\t\t},\n\t\t});\n\t};\n};\n\nexport const deleteGroup = (group) => {\n\tgroup.Deleted = true;\n\treturn async (dispatch) => {\n\t\tdispatch({\n\t\t\ttype: CIRCLES_LOADED,\n\t\t\tpayload: [group],\n\t\t});\n\n\t\tawait authedFunction({\n\t\t\tmethod: \"POST\",\n\t\t\turl: getUrl(values.serviceKey, \"update/delete\"),\n\t\t\tdata: {\n\t\t\t\tcircleId: group.Id,\n\t\t\t},\n\t\t});\n\t};\n};\n\nexport const editGroup = (group, usersToAdd, usersToRemove) => {\n\treturn async (dispatch) => {\n\t\t// push to local store\n\t\tconst localGroup = { ...group };\n\t\tlocalGroup.Audience = _.filter(\n\t\t\t[...localGroup.Audience, ...usersToAdd],\n\t\t\t(user) => {\n\t\t\t\treturn !_.some(usersToRemove, (userId) => {\n\t\t\t\t\treturn user.userId === userId;\n\t\t\t\t});\n\t\t\t},\n\t\t);\n\t\tdispatch({\n\t\t\ttype: CIRCLES_LOADED,\n\t\t\tpayload: [localGroup],\n\t\t});\n\n\t\ttry {\n\t\t\tawait authedFunction({\n\t\t\t\tmethod: \"post\",\n\t\t\t\turl: getUrl(values.serviceKey, \"editUsersGroup\"),\n\t\t\t\tdata: {\n\t\t\t\t\tgroup,\n\t\t\t\t\tusersToAdd,\n\t\t\t\t\tusersToRemove,\n\t\t\t\t},\n\t\t\t});\n\t\t} catch (e) {}\n\t};\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["Actions","getFollowers","addFollower","selectEventTime","residentsLoaded","linkedUsersLoaded","linkedToUsersLoaded","updateNavRead"],"sources":["index.js"],"sourcesContent":["import { Actions } from \"../core.config\";\n\nexport const getFollowers = Actions.getFollowers;\nexport const addFollower = Actions.addFollower;\nexport const selectEventTime = Actions.selectEventTime;\nexport const residentsLoaded = Actions.residentsLoaded;\nexport const linkedUsersLoaded = Actions.linkedToUsersLoaded;\nexport const linkedToUsersLoaded = Actions.linkedToUsersLoaded;\nexport const updateNavRead = Actions.updateNavRead;\n\n// export * from './AlertActions';\n// export * from './AreaActions';\n// export * from './AuthActions';\n// export * from './ConnectionActions';\n// export * from './UserActions';\n// export * from './EventActions';\n// export * from './FeedbackActions';\n// export * from './PlaceActions';\n// export * from './ReminderActions';\n// export * from './TakeoverActions';\n// export * from './PopularEventsActions';\n// export * from './NavigationActions';\n// export * from './PersonalEventActions';\n// export * from './UserSettingsActions';\nexport * from \"./ChatActions\";\n// export * from './NotificationActions';\n// export * from './ProfileActions';\n// export * from './ContactActions';\n// export * from './EventContactActions';\n// export * from './FollowerActions';\n// export * from './InfoActions';\nexport * from \"./GroupActions\";\n// export * from './GeneralActions';\n// export * from './ResidentActions';\n// export * from './ServiceActions';\n// export * from './OfferActions';\n// export * from './SessionActions';\n// export * from './PaymentActions';\n// export * from './JobActions';\n// export * from './NewsActions';\n// export * from './MediaActions';\n// export * from './FacilityActions';\n// export * from './DeviceActions';\n"],"mappings":"AAAA,SAASA,OAAO,QAAQ,gBAAgB;AAExC,OAAO,MAAMC,YAAY,GAAGD,OAAO,CAACC,YAAY;AAChD,OAAO,MAAMC,WAAW,GAAGF,OAAO,CAACE,WAAW;AAC9C,OAAO,MAAMC,eAAe,GAAGH,OAAO,CAACG,eAAe;AACtD,OAAO,MAAMC,eAAe,GAAGJ,OAAO,CAACI,eAAe;AACtD,OAAO,MAAMC,iBAAiB,GAAGL,OAAO,CAACM,mBAAmB;AAC5D,OAAO,MAAMA,mBAAmB,GAAGN,OAAO,CAACM,mBAAmB;AAC9D,OAAO,MAAMC,aAAa,GAAGP,OAAO,CAACO,aAAa;;AAElD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,eAAe;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,gBAAgB;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA"}
1
+ {"version":3,"names":["Actions","getFollowers","addFollower","selectEventTime","residentsLoaded","linkedUsersLoaded","linkedToUsersLoaded","updateNavRead"],"sources":["index.js"],"sourcesContent":["import { Actions } from \"../core.config\";\n\nexport const getFollowers = Actions.getFollowers;\nexport const addFollower = Actions.addFollower;\nexport const selectEventTime = Actions.selectEventTime;\nexport const residentsLoaded = Actions.residentsLoaded;\nexport const linkedUsersLoaded = Actions.linkedToUsersLoaded;\nexport const linkedToUsersLoaded = Actions.linkedToUsersLoaded;\nexport const updateNavRead = Actions.updateNavRead;\n\n// export * from './AlertActions';\n// export * from './AreaActions';\n// export * from './AuthActions';\n// export * from './ConnectionActions';\n// export * from './UserActions';\n// export * from './EventActions';\n// export * from './FeedbackActions';\n// export * from './PlaceActions';\n// export * from './ReminderActions';\n// export * from './TakeoverActions';\n// export * from './PopularEventsActions';\n// export * from './NavigationActions';\n// export * from './PersonalEventActions';\n// export * from './UserSettingsActions';\nexport * from \"./ChatActions\";\n// export * from './NotificationActions';\n// export * from './ProfileActions';\n// export * from './ContactActions';\n// export * from './EventContactActions';\n// export * from './FollowerActions';\n// export * from './InfoActions';\nexport * from \"./GroupActions\";\n// export * from './GeneralActions';\n// export * from './ResidentActions';\n// export * from './ServiceActions';\n// export * from './OfferActions';\n// export * from './SessionActions';\n// export * from './PaymentActions';\n// export * from './JobActions';\n// export * from './NewsActions';\n// export * from './MediaActions';\n// export * from './FacilityActions';\n// export * from './DeviceActions';\n"],"mappings":"AAAA,SAASA,OAAO,QAAQ,gBAAgB;AAExC,OAAO,MAAMC,YAAY,GAAGD,OAAO,CAACC,YAAY;AAChD,OAAO,MAAMC,WAAW,GAAGF,OAAO,CAACE,WAAW;AAC9C,OAAO,MAAMC,eAAe,GAAGH,OAAO,CAACG,eAAe;AACtD,OAAO,MAAMC,eAAe,GAAGJ,OAAO,CAACI,eAAe;AACtD,OAAO,MAAMC,iBAAiB,GAAGL,OAAO,CAACM,mBAAmB;AAC5D,OAAO,MAAMA,mBAAmB,GAAGN,OAAO,CAACM,mBAAmB;AAC9D,OAAO,MAAMC,aAAa,GAAGP,OAAO,CAACO,aAAa;;AAElD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,eAAe;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,gBAAgB;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","ignoreList":[]}
@@ -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","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"}
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,GAAG,YAAYJ,MAAM,CAACK,eAAe,OAAO;AAC7E,OAAO,MAAMC,wBAAwB,GAAG,YAAYN,MAAM,CAACK,eAAe,WAAW;AACrF,OAAO,MAAME,2BAA2B,GAAG,kBAAkBP,MAAM,CAACK,eAAe,QAAQ;AAC3F,OAAO,MAAMG,qBAAqB,GAAG,YAAYR,MAAM,CAACK,eAAe,QAAQ;AAC/E,OAAO,MAAMI,mBAAmB,GAAG,WAAWT,MAAM,CAACK,eAAe,OAAO;AAC3E,OAAO,MAAMK,mBAAmB,GAAG,WAAWV,MAAM,CAACK,eAAe,OAAO;AAC3E,OAAO,MAAMM,wBAAwB,GAAG,gBAAgBX,MAAM,CAACK,eAAe,OAAO;AACrF,OAAO,MAAMO,6BAA6B,GAAG,gBAAgBZ,MAAM,CAACK,eAAe,YAAY;AAC/F,OAAO,MAAMQ,mBAAmB,GAAG,WAAWb,MAAM,CAACK,eAAe,OAAO;AAC3E,OAAO,MAAMS,6BAA6B,GAAG,oBAAoBd,MAAM,CAACK,eAAe,QAAQ;;AAE/F;AACA,OAAO,MAAMU,8BAA8B,GAAG,UAAUf,MAAM,CAACK,eAAe,mBAAmB;AACjG,OAAO,MAAMW,uBAAuB,GAAG,GAAGhB,MAAM,CAACK,eAAe,mBAAmB;AACnF,OAAO,MAAMY,cAAc,GAAG,GAAGjB,MAAM,CAACK,eAAe,UAAU;AACjE,OAAO,MAAMa,cAAc,GAAG,WAAWlB,MAAM,CAACK,eAAe,EAAE;AACjE,OAAO,MAAMc,aAAa,GAAG,SAASnB,MAAM,CAACK,eAAe,GAAG;AAC/D,OAAO,MAAMe,oBAAoB,GAAG,UAAUpB,MAAM,CAACK,eAAe,SAAS;AAC7E,OAAO,MAAMgB,0BAA0B,GAAG,gBAAgBrB,MAAM,CAACK,eAAe,SAAS;AAEzF,OAAO,MAAMiB,qBAAqB,GAAG,GAAGtB,MAAM,CAACK,eAAe,iBAAiB;AAC/E,OAAO,MAAMkB,sBAAsB,GAAG,GAAGvB,MAAM,CAACK,eAAe,kBAAkB;;AAEjF;AACA,OAAO,MAAMmB,cAAc,GAAG,WAAWxB,MAAM,CAACK,eAAe,EAAE","ignoreList":[]}
@@ -1,5 +1,5 @@
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); }
1
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
2
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
3
3
  function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
4
4
  import React, { Component } from "react";
5
5
  import { View, Platform, Alert, TouchableWithoutFeedback } from "react-native";
@@ -513,7 +513,7 @@ class Chat extends Component {
513
513
  leftIcon: "angle-left",
514
514
  onPressLeft: this.onPressBack.bind(this),
515
515
  rightIconType: "pluss",
516
- rightIcon: "more_options",
516
+ rightIcon: "ellipsis-vertical",
517
517
  onPressRight: this.toggleSettings.bind(this),
518
518
  text: this.getTitle(),
519
519
  onTextPress: this.goToGroupInfo.bind(this)
@@ -1 +1 @@
1
- {"version":3,"names":["React","Component","View","Platform","Alert","TouchableWithoutFeedback","connect","_","moment","PlussChat","Header","ConfirmPopup","DropDownMenu","DropDownItem","getGroupInvites","updateUnreadCounter","handleGroupInvite","softLeaveGroup","deleteGroup","createChat","disconnectChat","blockUser","deleteChat","updateGroups","clearGroupCounter","updateChatMessages","TEXT_DARK","TEXT_LIGHTER","StatusBarHeight","getMainBrandingColourFromState","getLightBrandingColourFromState","NavigationService","getTinyChatDefault","messageActions","circleActions","values","Chat","constructor","props","_defineProperty","state","group","isEmpty","Title","IsPrivate","otherUser","find","Audience","u","userId","user","Id","displayName","event","navigate","attachment","Type","place","back","goBack","isAdmin","creatorId","Creator","CreatorId","hasOtherAdmin","some","isGroupOwner","setState","settingsOpen","alert","text","onPress","closeSettings","style","cancelable","currentUser","_id","chatUserKey","chatKey","onPressBack","message","originalMessages","messages","updatedMessages","map","msg","deleted","image","undefined","attachments","replyingTo","deleteMessage","error","_error$response","console","log","errorMessage","response","data","_isMounted","MIN_COMPOSER_HEIGHT","select","ios","android","interval","uid","name","avatar","isUndefined","profilePic","chat","keyboardOpen","newLoading","showDeleteConfirm","popUpType","muteChat","muteSubmitting","hasInvite","inviteActioned","inviteActionPopup","invitePending","componentDidMount","new","prepareChatPage","UNSAFE_componentWillReceiveProps","nextProps","prepareNewProps","componentWillUnmount","clearInterval","key","chatName","title","newGroup","forEach","groups","Muted","statee","reducerMessages","newStates","firstMessages","sendMessage","chats","blockedUserKeys","includes","newGrop2","muteTest","muteGroup","then","res","catch","err","onSend","groupLast","lastMessage","cloneDeep","GroupId","RowId","createdAt","utc","valueOf","mergeMessages","getChatName","userNames","without","join","getMaxTime","maxMessage","maxBy","m","fetchMessages","iteration","getMessages","setTimeout","fetchSingleMessage","timestamp","receivedMessages","newMessages","sortBy","concat","uniqBy","reverse","setInterval","regularFetch","bind","goToGroupInfo","screenCircleDetails","startEdit","screenEditCircle","onOpenDeletePrompt","type","onCancelDelete","onConfirmDelete","renderConfirmPopup","isOnlyAdmin","createElement","visible","onConfirm","yesText","hideNo","entityName","onCancel","render","flex","disabled","styles","container","top","right","width","zIndex","elevation","isPrivateChat","textStyle","color","last","leftIcon","onPressLeft","rightIconType","rightIcon","onPressRight","toggleSettings","getTitle","onTextPress","onDeleteMessage","handleDeleteMessage","backgroundColor","send","fontSize","textAlign","setting","settingContainer","marginLeft","settingDropDown","height","position","paddingTop","overflow","settingDropDownOpen","dropDownOuterContainer","margin","dropDownInnerContainer","flexDirection","borderRadius","paddingBottom","paddingHorizontal","shadowColor","shadowOffset","shadowOpacity","borderWidth","borderColor","dropDownItem","alignItems","marginTop","dropDownItem_Text","fontFamily","lineHeight","mapStateToProps","reducerKeyChats","list","selectedChatKey","blockedUsers","reducerKey","colourBrandingMain","colourBrandingLight"],"sources":["Chat.js"],"sourcesContent":["import React, { Component } from \"react\";\nimport { View, Platform, Alert, TouchableWithoutFeedback } from \"react-native\";\nimport { connect } from \"react-redux\";\nimport _ from \"lodash\";\nimport moment from \"moment\";\nimport {\n\tPlussChat,\n\tHeader,\n\tConfirmPopup,\n\tDropDownMenu,\n\tDropDownItem,\n} from \"../common\";\nimport {\n\tgetGroupInvites,\n\tupdateUnreadCounter,\n\thandleGroupInvite,\n\tsoftLeaveGroup,\n\tdeleteGroup,\n\tcreateChat,\n\tdisconnectChat,\n\tblockUser,\n\tdeleteChat,\n\tupdateGroups,\n\tclearGroupCounter,\n\tupdateChatMessages,\n} from \"../../actions\";\nimport {\n\tTEXT_DARK,\n\tTEXT_LIGHTER,\n\tStatusBarHeight,\n\tgetMainBrandingColourFromState,\n\tgetLightBrandingColourFromState,\n} from \"../../js\";\nimport NavigationService from \"../../js/NavigationService\";\nimport { getTinyChatDefault } from \"../../config\";\nimport { messageActions, circleActions } from \"../../webapi\";\nimport { values } from \"../../values.config\";\n\nclass Chat extends Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis._isMounted = false;\n\n\t\t// used to match the constant used by gifted chat\n\t\tthis.MIN_COMPOSER_HEIGHT = Platform.select({\n\t\t\tios: 33,\n\t\t\tandroid: 41,\n\t\t});\n\n\t\tthis.interval = null;\n\n\t\tthis.state = {\n\t\t\tcurrentUser: {\n\t\t\t\t_id: this.props.user.uid,\n\t\t\t\tname: this.props.user.displayName,\n\t\t\t\tavatar:\n\t\t\t\t\t!_.isUndefined(this.props.user.profilePic) &&\n\t\t\t\t\t!_.isEmpty(this.props.user.profilePic)\n\t\t\t\t\t\t? this.props.user.profilePic\n\t\t\t\t\t\t: getTinyChatDefault(),\n\t\t\t},\n\t\t\tchat: {},\n\t\t\tgroup: { Title: \"\" },\n\t\t\tmessages: [],\n\t\t\tsettingsOpen: false,\n\t\t\tkeyboardOpen: false,\n\n\t\t\tnewLoading: false,\n\t\t\tshowDeleteConfirm: false,\n\n\t\t\tpopUpType: \"leave\",\n\n\t\t\tmuteChat: false,\n\t\t\tmuteSubmitting: false,\n\n\t\t\thasInvite: false,\n\t\t\tinviteActioned: false,\n\t\t\tinviteActionPopup: false,\n\t\t\tinvitePending: false,\n\t\t};\n\t}\n\n\tcomponentDidMount() {\n\t\tthis._isMounted = true;\n\t\tthis.chatUserKey = null;\n\t\tif (this.props.new) {\n\t\t\tthis.setState({ newLoading: true });\n\t\t}\n\t\tthis.prepareChatPage();\n\t}\n\n\tUNSAFE_componentWillReceiveProps(nextProps) {\n\t\t// if (this.state.hasInvite && !this.state.inviteActioned) {\n\t\t// return;\n\t\t// }\n\t\tthis.prepareNewProps(nextProps);\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis._isMounted = false;\n\t\tthis.setState({ inviteActionPopup: false });\n\t\tthis.props.disconnectChat(this.chatKey);\n\t\tclearInterval(this.interval);\n\t}\n\n\tprepareChatPage() {\n\t\tif (this.props.chat) {\n\t\t\t// if (this.props.isInvite && !this.state.inviteActioned) {\n\t\t\t// this.setState({hasInvite:true, inviteActionPopup: true });\n\t\t\t// }\n\t\t\t// Opening existing chat\n\t\t\tconst { chat } = this.props;\n\t\t\tif (!_.isUndefined(this.props.chat.key)) {\n\t\t\t\tthis.chatKey = this.props.chat.key;\n\t\t\t} else {\n\t\t\t\tthis.chatKey = this.props.chat.Id;\n\t\t\t}\n\n\t\t\tthis.chatName = !_.isUndefined(chat.title) ? chat.title : chat.Title;\n\t\t\tlet newGroup = chat;\n\n\t\t\tnewGroup.Title = !_.isUndefined(chat.title) ? chat.title : chat.Title;\n\t\t\t_.forEach(this.props.groups, (group) => {\n\t\t\t\tif (\n\t\t\t\t\tgroup.Id === this.props.chat.key ||\n\t\t\t\t\tgroup.Id === this.props.chat.Id\n\t\t\t\t) {\n\t\t\t\t\tnewGroup = { ...group };\n\t\t\t\t}\n\t\t\t});\n\t\t\tlet muteChat = false;\n\t\t\tif (!_.isUndefined(newGroup.Muted)) {\n\t\t\t\tnewGroup.Muted.forEach((user) => {\n\t\t\t\t\tif (user === this.props.user.uid) {\n\t\t\t\t\t\tmuteChat = true;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tconst statee = { chat, group: newGroup, muteChat };\n\t\t\tif (\n\t\t\t\tthis.chatKey &&\n\t\t\t\t!_.isUndefined(this.props.reducerMessages[this.chatKey])\n\t\t\t) {\n\t\t\t\tstatee.messages = this.props.reducerMessages[this.chatKey];\n\t\t\t}\n\n\t\t\tthis.setState(statee);\n\t\t\tthis.connect();\n\t\t}\n\t}\n\n\tprepareNewProps(nextProps) {\n\t\tconst newStates = {};\n\t\tif (!this.chatKey && nextProps.chatKey) {\n\t\t\tthis.chatKey = nextProps.chatKey;\n\n\t\t\t// If first message is provided, send message automatically\n\t\t\tif (this.firstMessages) {\n\t\t\t\t_.forEach(this.firstMessages, (message) => {\n\t\t\t\t\tthis.sendMessage(this.props.user.uid, this.chatKey, message);\n\t\t\t\t});\n\t\t\t}\n\t\t\tthis.connect();\n\t\t}\n\n\t\t_.forEach(nextProps.chats, (chat) => {\n\t\t\tif (chat.key === this.chatKey) {\n\t\t\t\tnewStates.chat = { ...chat };\n\t\t\t}\n\t\t});\n\n\t\t// If the other user blocked current user, exit\n\t\tif (\n\t\t\tthis.chatUserKey &&\n\t\t\tthis.props.blockedUserKeys &&\n\t\t\t!_.includes(this.props.blockedUserKeys, this.chatUserKey) &&\n\t\t\tnextProps.blockedUserKeys &&\n\t\t\t_.includes(nextProps.blockedUserKeys, this.chatUserKey)\n\t\t) {\n\t\t\tthis.onPressBack();\n\t\t}\n\t\tif (!nextProps.new) {\n\t\t\tnewStates.newLoading = false;\n\t\t\tthis.setState({ newLoading: false });\n\t\t}\n\t\tlet newGrop2 = this.state.group;\n\t\t_.forEach(nextProps.groups, (group) => {\n\t\t\tif (group.Id === this.chatKey) {\n\t\t\t\tnewGrop2 = { ...group };\n\t\t\t}\n\t\t});\n\t\tnewStates.muteChat = false;\n\t\tif (!_.isUndefined(newGrop2.Muted)) {\n\t\t\tnewGrop2.Muted.forEach((user) => {\n\t\t\t\tif (user === this.props.user.uid) {\n\t\t\t\t\tnewStates.muteChat = true;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\tnewStates.group = newGrop2;\n\t\tif (this._isMounted) {\n\t\t\tthis.setState(newStates);\n\t\t}\n\t}\n\n\tgetTitle = () => {\n\t\tif (!this.state.group) {\n\t\t\treturn \"\";\n\t\t}\n\t\tif (_.isEmpty(this.state.group.Title) && this.state.group.IsPrivate) {\n\t\t\tconst otherUser = _.find(this.state.group.Audience || [], (u) => {\n\t\t\t\treturn !!u && u.userId !== this.props.user.Id;\n\t\t\t});\n\t\t\tif (otherUser) {\n\t\t\t\treturn otherUser.displayName;\n\t\t\t}\n\t\t}\n\t\treturn this.state.group.Title;\n\t};\n\n\tonPressEvent = (event) => {\n\t\tNavigationService.navigate(\"eventDetail\", { event });\n\t};\n\n\tmuteTest() {\n\t\tif (this.state.muteSubmitting) {\n\t\t\treturn;\n\t\t}\n\t\tthis.setState({ muteSubmitting: true });\n\n\t\tcircleActions\n\t\t\t.muteGroup(this.state.group.Id, this.props.user.uid)\n\t\t\t.then((res) => {\n\t\t\t\tthis.setState({ muteSubmitting: false });\n\t\t\t\tthis.props.updateGroups([res.data.group]);\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tthis.setState({ muteSubmitting: false });\n\t\t\t});\n\t}\n\n\tonPressAttachment = (attachment) => {\n\t\tswitch (attachment.Type) {\n\t\t\tcase \"Event\":\n\t\t\t\t// TODO: No need to handle?\n\t\t\t\tNavigationService.navigate(\"eventDetail\", { event: attachment });\n\t\t\t\tbreak;\n\t\t\tcase \"Place\":\n\t\t\t\t// TODO: No need to handle?\n\t\t\t\tNavigationService.navigate(\"placeDetail\", { place: attachment });\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\treturn;\n\t\t}\n\t};\n\n\tonPressBack = () => {\n\t\tif (this.props.back) {\n\t\t\tNavigationService.goBack(this.props.back);\n\t\t} else {\n\t\t\tNavigationService.goBack();\n\t\t}\n\t};\n\n\tonSend(messages = []) {\n\t\tif (this.chatKey) {\n\t\t\tthis.sendMessage(messages[0]);\n\t\t}\n\t}\n\n\tsendMessage(message) {\n\t\tconst groupLast = {\n\t\t\tlastMessage: _.cloneDeep(message),\n\t\t};\n\n\t\tmessage.GroupId = this.chatKey;\n\t\tmessage.RowId = `${this.chatKey}_${message._id}`;\n\t\tmessage.createdAt = moment.utc().valueOf();\n\n\t\tthis.mergeMessages([message]);\n\n\t\tmessageActions\n\t\t\t.sendMessage(this.props.user.uid, this.chatKey, groupLast, message)\n\t\t\t.then((res) => {})\n\t\t\t.catch((err) => {});\n\t}\n\n\tisPrivateChat = () => {\n\t\treturn this.state.group.IsPrivate;\n\t};\n\n\tisGroupOwner(userId) {\n\t\tif (\n\t\t\t!_.isUndefined(this.state.group.CreatorId) &&\n\t\t\tuserId === this.state.group.CreatorId\n\t\t) {\n\t\t\treturn true;\n\t\t}\n\t\tif (\n\t\t\t!_.isUndefined(this.state.group.Creator) &&\n\t\t\t(userId === this.state.group.Creator.uid ||\n\t\t\t\tuserId === this.state.group.Creator.userId)\n\t\t) {\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tisOnlyAdmin = (userId) => {\n\t\tif (!this.isAdmin(userId)) {\n\t\t\treturn false;\n\t\t}\n\t\tconst { group } = this.state;\n\t\tconst creatorId = group.Creator ? group.Creator.userId : group.CreatorId;\n\t\tconst hasOtherAdmin = group.Audience.some((user) => {\n\t\t\tif (!user) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn (\n\t\t\t\tuser.userId !== userId && (user.isAdmin || user.userId === creatorId)\n\t\t\t);\n\t\t});\n\n\t\treturn !hasOtherAdmin;\n\t};\n\n\tisAdmin = (userId) => {\n\t\tif (this.isGroupOwner(userId)) {\n\t\t\treturn true;\n\t\t}\n\t\tconst user = _.find(this.state.group.Audience || [], (u) => {\n\t\t\treturn !!u && u.userId === userId;\n\t\t});\n\t\treturn user && user.isAdmin;\n\t};\n\n\tgetChatName(title, userNames) {\n\t\tif (!_.isEmpty(title)) {\n\t\t\treturn title;\n\t\t}\n\t\treturn _.without(userNames, this.state.currentUser.name).join(\", \");\n\t}\n\n\tgetMaxTime() {\n\t\tconst maxMessage = _.maxBy(this.state.messages, (m) => {\n\t\t\treturn m.createdAt;\n\t\t});\n\t\tif (maxMessage) {\n\t\t\treturn maxMessage.createdAt;\n\t\t}\n\t\treturn 0;\n\t}\n\n\tfetchMessages(iteration) {\n\t\tif (!iteration) {\n\t\t\titeration = 1;\n\t\t}\n\t\tmessageActions\n\t\t\t.getMessages(this.chatKey, 50, this.getMaxTime())\n\t\t\t.then((res) => {\n\t\t\t\tthis.mergeMessages(res.data);\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tif (iteration < 20) {\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tthis.fetchMessages(iteration + 1);\n\t\t\t\t\t}, 250);\n\t\t\t\t}\n\t\t\t});\n\t}\n\n\tfetchSingleMessage(timestamp) {\n\t\tthis.props.clearGroupCounter(this.chatKey, this.props.user.uid);\n\t\tmessageActions\n\t\t\t.getMessages(this.chatKey, 1, timestamp, timestamp)\n\t\t\t.then((res) => {\n\t\t\t\tthis.mergeMessages(res.data);\n\t\t\t});\n\t}\n\n\tmergeMessages(receivedMessages) {\n\t\tconst newMessages = _.sortBy(\n\t\t\t_.concat(this.state.messages, receivedMessages),\n\t\t\t\"createdAt\",\n\t\t);\n\t\tif (this._isMounted) {\n\t\t\tthis.setState({\n\t\t\t\tmessages: _.uniqBy(newMessages, (m) => {\n\t\t\t\t\treturn m._id;\n\t\t\t\t}).reverse(),\n\t\t\t});\n\t\t}\n\t\tif (!_.isEmpty(receivedMessages)) {\n\t\t\tthis.props.clearGroupCounter(this.chatKey, this.props.user.uid);\n\t\t}\n\t\tthis.props.updateChatMessages(\n\t\t\tthis.chatKey,\n\t\t\t_.uniqBy(newMessages, (m) => {\n\t\t\t\treturn m._id;\n\t\t\t}).reverse(),\n\t\t);\n\t}\n\n\tconnect() {\n\t\tif (this.chatKey) {\n\t\t\tthis.fetchMessages();\n\n\t\t\tthis.interval = setInterval(this.regularFetch.bind(this), 2000);\n\t\t}\n\t}\n\n\tregularFetch() {\n\t\tmessageActions\n\t\t\t.getMessages(this.chatKey, 50, this.getMaxTime() + 1)\n\t\t\t.then((res) => {\n\t\t\t\tif (!_.isEmpty(res.data)) {\n\t\t\t\t\tthis.mergeMessages(res.data);\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch((err) => {});\n\t}\n\n\ttoggleSettings = () => {\n\t\tthis.setState({ settingsOpen: !this.state.settingsOpen });\n\t};\n\n\tcloseSettings = () => {\n\t\tthis.setState({ settingsOpen: false });\n\t};\n\n\tconfirmBlockUser = () => {\n\t\tAlert.alert(\n\t\t\t\"Block user\",\n\t\t\t\"Are you sure you want to block this user? Existing chat with this user will be deleted.\",\n\t\t\t[\n\t\t\t\t{\n\t\t\t\t\ttext: \"Cancel\",\n\t\t\t\t\tonPress: () => this.closeSettings(),\n\t\t\t\t\tstyle: \"cancel\",\n\t\t\t\t},\n\t\t\t\t{ text: \"Ok\", onPress: () => this.blockUser() },\n\t\t\t],\n\t\t\t{ cancelable: false },\n\t\t);\n\t};\n\n\tblockUser = () => {\n\t\tthis.closeSettings();\n\t\t// Block the user\n\t\tthis.props.blockUser(\n\t\t\tthis.state.currentUser._id,\n\t\t\tthis.chatUserKey,\n\t\t\tthis.chatKey,\n\t\t);\n\t\t// Delete this chat\n\t\tthis.props.deleteChat(this.chatKey);\n\n\t\tthis.onPressBack();\n\t};\n\n\tgoToGroupInfo() {\n\t\tthis.setState({ settingsOpen: false });\n\t\tNavigationService.navigate(values.screenCircleDetails, {\n\t\t\tgroup: this.state.group,\n\t\t});\n\t}\n\n\tstartEdit() {\n\t\tthis.setState({ settingsOpen: false });\n\t\tNavigationService.navigate(values.screenEditCircle, {\n\t\t\tchat: this.state.chat,\n\t\t});\n\t}\n\n\tonOpenDeletePrompt(type) {\n\t\tthis.setState({\n\t\t\tshowDeleteConfirm: true,\n\t\t\tsettingsOpen: false,\n\t\t\tpopUpType: type,\n\t\t});\n\t}\n\n\tonCancelDelete() {\n\t\tthis.setState({ showDeleteConfirm: false });\n\t}\n\n\tonConfirmDelete() {\n\t\tif (this.state.popUpType === \"leave\") {\n\t\t\tthis.props.softLeaveGroup(this.state.group);\n\t\t}\n\t\tif (this.state.popUpType === \"delete\") {\n\t\t\tthis.props.deleteGroup(this.state.group);\n\t\t}\n\n\t\tthis.onPressBack();\n\t}\n\n\trenderConfirmPopup() {\n\t\tif (\n\t\t\tthis.state.popUpType === \"leave\" &&\n\t\t\tthis.isOnlyAdmin(this.props.user.uid)\n\t\t) {\n\t\t\treturn (\n\t\t\t\t<ConfirmPopup\n\t\t\t\t\tvisible={this.state.showDeleteConfirm}\n\t\t\t\t\tonConfirm={this.onCancelDelete.bind(this)}\n\t\t\t\t\tyesText=\"Okay\"\n\t\t\t\t\thideNo\n\t\t\t\t\ttext={`You can't leave this ${values.entityName} as the only admin. Please make someone else an admin first.`}\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\t\treturn (\n\t\t\t<ConfirmPopup\n\t\t\t\tvisible={this.state.showDeleteConfirm}\n\t\t\t\tonConfirm={this.onConfirmDelete.bind(this)}\n\t\t\t\tonCancel={this.onCancelDelete.bind(this)}\n\t\t\t\ttext={`Are you sure you want to ${this.state.popUpType} this ${values.entityName}?`}\n\t\t\t/>\n\t\t);\n\t}\n\n\thandleDeleteMessage = async (message) => {\n\t\t// Store original message for rollback\n\t\tconst originalMessages = [...this.state.messages];\n\n\t\t// Optimistic update - show deleted immediately\n\t\tconst updatedMessages = this.state.messages.map((msg) => {\n\t\t\tif (msg._id === message._id) {\n\t\t\t\treturn {\n\t\t\t\t\t...msg,\n\t\t\t\t\ttext: \"[Message deleted]\",\n\t\t\t\t\tdeleted: true,\n\t\t\t\t\timage: undefined,\n\t\t\t\t\tattachments: undefined,\n\t\t\t\t\treplyingTo: undefined, // Remove reply quote\n\t\t\t\t};\n\t\t\t}\n\t\t\treturn msg;\n\t\t});\n\n\t\tthis.setState({\n\t\t\tmessages: updatedMessages,\n\t\t});\n\n\t\t// Update Redux store optimistically\n\t\tthis.props.updateChatMessages(this.chatKey, updatedMessages);\n\n\t\ttry {\n\t\t\t// Call the delete message API\n\t\t\tawait messageActions.deleteMessage(message._id, this.chatKey);\n\t\t\t// Success - update is already applied\n\t\t} catch (error) {\n\t\t\t// Rollback on failure\n\t\t\tconsole.log(\"handleDeleteMessage error\", error);\n\n\t\t\tthis.setState({\n\t\t\t\tmessages: originalMessages,\n\t\t\t});\n\t\t\tthis.props.updateChatMessages(this.chatKey, originalMessages);\n\n\t\t\tconst errorMessage =\n\t\t\t\terror.response?.data?.message ||\n\t\t\t\t\"Failed to delete message. Please try again.\";\n\t\t\tAlert.alert(\"Delete Failed\", errorMessage, [{ text: \"OK\" }]);\n\t\t}\n\t};\n\n\trender() {\n\t\treturn (\n\t\t\t<TouchableWithoutFeedback\n\t\t\t\tonPress={this.closeSettings}\n\t\t\t\tstyle={{ flex: 1 }}\n\t\t\t\tdisabled={!this.state.settingsOpen}\n\t\t\t>\n\t\t\t\t<View style={styles.container}>\n\t\t\t\t\t<DropDownMenu\n\t\t\t\t\t\tvisible={this.state.settingsOpen}\n\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\ttop: StatusBarHeight(50),\n\t\t\t\t\t\t\tright: 16,\n\t\t\t\t\t\t\twidth: 150,\n\t\t\t\t\t\t\tzIndex: 300,\n\t\t\t\t\t\t\televation: 15,\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t<DropDownItem\n\t\t\t\t\t\t\ttext={`View ${values.entityName}`}\n\t\t\t\t\t\t\tonPress={this.goToGroupInfo.bind(this)}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{(this.isGroupOwner(this.props.user.uid) ||\n\t\t\t\t\t\t\tthis.isAdmin(this.props.user.uid)) &&\n\t\t\t\t\t\t\t!this.isPrivateChat() && (\n\t\t\t\t\t\t\t\t<DropDownItem\n\t\t\t\t\t\t\t\t\ttext={\"Manage\"}\n\t\t\t\t\t\t\t\t\tonPress={this.startEdit.bind(this)}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t<DropDownItem\n\t\t\t\t\t\t\ttext={\n\t\t\t\t\t\t\t\tthis.state.muteSubmitting\n\t\t\t\t\t\t\t\t\t? \"Updating...\"\n\t\t\t\t\t\t\t\t\t: this.state.muteChat\n\t\t\t\t\t\t\t\t\t\t? \"Unmute\"\n\t\t\t\t\t\t\t\t\t\t: \"Mute\"\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonPress={this.muteTest.bind(this)}\n\t\t\t\t\t\t\ttextStyle={\n\t\t\t\t\t\t\t\tthis.state.muteSubmitting ? { color: TEXT_LIGHTER } : {}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{this.isAdmin(this.props.user.uid) && !this.isPrivateChat() && (\n\t\t\t\t\t\t\t<DropDownItem\n\t\t\t\t\t\t\t\ttext={\"Delete\"}\n\t\t\t\t\t\t\t\tonPress={this.onOpenDeletePrompt.bind(this, \"delete\")}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{!this.isPrivateChat() && (\n\t\t\t\t\t\t\t<DropDownItem\n\t\t\t\t\t\t\t\tlast\n\t\t\t\t\t\t\t\ttext={\"Leave\"}\n\t\t\t\t\t\t\t\tonPress={this.onOpenDeletePrompt.bind(this, \"leave\")}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</DropDownMenu>\n\t\t\t\t\t<Header\n\t\t\t\t\t\tleftIcon=\"angle-left\"\n\t\t\t\t\t\tonPressLeft={this.onPressBack.bind(this)}\n\t\t\t\t\t\trightIconType=\"pluss\"\n\t\t\t\t\t\trightIcon=\"more_options\"\n\t\t\t\t\t\tonPressRight={this.toggleSettings.bind(this)}\n\t\t\t\t\t\ttext={this.getTitle()}\n\t\t\t\t\t\tonTextPress={this.goToGroupInfo.bind(this)}\n\t\t\t\t\t/>\n\n\t\t\t\t\t<PlussChat\n\t\t\t\t\t\tmessages={this.chatKey ? this.state.messages : []}\n\t\t\t\t\t\tonSend={this.onSend.bind(this)}\n\t\t\t\t\t\tonDeleteMessage={this.handleDeleteMessage}\n\t\t\t\t\t/>\n\t\t\t\t\t{this.renderConfirmPopup()}\n\t\t\t\t</View>\n\t\t\t</TouchableWithoutFeedback>\n\t\t);\n\t}\n}\n\nconst styles = {\n\tcontainer: {\n\t\tflex: 1,\n\t\tbackgroundColor: \"#fff\",\n\t},\n\tsend: {\n\t\tcolor: \"#fff\",\n\t\tfontSize: 15,\n\t\twidth: 30,\n\t\ttextAlign: \"center\",\n\t},\n\tsetting: {\n\t\tfontSize: 18,\n\t},\n\tsettingContainer: {\n\t\tmarginLeft: 20,\n\t},\n\tsettingDropDown: {\n\t\theight: 0,\n\t\twidth: \"auto\",\n\t\tposition: \"absolute\",\n\t\tright: 2,\n\t\ttop: 62,\n\t\tzIndex: 2,\n\t\televation: 2,\n\t\tpaddingTop: 0,\n\t\toverflow: \"hidden\",\n\t},\n\tsettingDropDownOpen: {\n\t\theight: \"auto\",\n\t},\n\tdropDownOuterContainer: {\n\t\tpaddingTop: 9,\n\t\toverflow: \"visible\",\n\t\tbackgroundColor: \"transparent\",\n\t\tmargin: 5,\n\t},\n\tdropDownInnerContainer: {\n\t\tflexDirection: \"column\",\n\t\tbackgroundColor: \"#fcfcfc\",\n\t\tborderRadius: 3,\n\t\tpaddingBottom: 10,\n\t\tpaddingHorizontal: 15,\n\t\toverflow: \"visible\",\n\t\tshadowColor: \"#000\",\n\t\tshadowOffset: { width: 1, height: 1 },\n\t\tshadowOpacity: 0.3,\n\t\t...Platform.select({\n\t\t\tandroid: {\n\t\t\t\tborderWidth: 1,\n\t\t\t\tborderColor: \"rgba(230, 230, 230, .4)\",\n\t\t\t},\n\t\t}),\n\t},\n\tdropDownItem: {\n\t\tflexDirection: \"row\",\n\t\talignItems: \"center\",\n\t\tmarginTop: 10,\n\t},\n\tdropDownItem_Text: {\n\t\tfontFamily: \"sf-regular\",\n\t\tfontSize: 15,\n\t\tlineHeight: 22,\n\t\tcolor: TEXT_DARK,\n\t},\n};\n\nconst mapStateToProps = (state) => {\n\treturn {\n\t\treducerMessages: state[values.reducerKeyChats].messages,\n\t\tchats: state[values.reducerKeyChats].list,\n\t\tchatKey: state[values.reducerKeyChats].selectedChatKey,\n\t\tblockedUserKeys: state[values.reducerKeyChats].blockedUsers,\n\t\tuser: state.user,\n\t\tgroups: state[values.reducerKey].list,\n\t\tcolourBrandingMain: getMainBrandingColourFromState(state),\n\t\tcolourBrandingLight: getLightBrandingColourFromState(state),\n\t};\n};\n\nexport default connect(mapStateToProps, {\n\tupdateUnreadCounter,\n\tgetGroupInvites,\n\thandleGroupInvite,\n\tupdateGroups,\n\tsoftLeaveGroup,\n\tdeleteGroup,\n\tcreateChat,\n\tdisconnectChat,\n\tblockUser,\n\tdeleteChat,\n\tclearGroupCounter,\n\tupdateChatMessages,\n})(Chat);\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","Component","View","Platform","Alert","TouchableWithoutFeedback","connect","_","moment","PlussChat","Header","ConfirmPopup","DropDownMenu","DropDownItem","getGroupInvites","updateUnreadCounter","handleGroupInvite","softLeaveGroup","deleteGroup","createChat","disconnectChat","blockUser","deleteChat","updateGroups","clearGroupCounter","updateChatMessages","TEXT_DARK","TEXT_LIGHTER","StatusBarHeight","getMainBrandingColourFromState","getLightBrandingColourFromState","NavigationService","getTinyChatDefault","messageActions","circleActions","values","Chat","constructor","props","_defineProperty","state","group","isEmpty","Title","IsPrivate","otherUser","find","Audience","u","userId","user","Id","displayName","event","navigate","attachment","Type","place","back","goBack","isAdmin","creatorId","Creator","CreatorId","hasOtherAdmin","some","isGroupOwner","setState","settingsOpen","alert","text","onPress","closeSettings","style","cancelable","currentUser","_id","chatUserKey","chatKey","onPressBack","message","originalMessages","messages","updatedMessages","map","msg","deleted","image","undefined","attachments","replyingTo","deleteMessage","error","_error$response","console","log","errorMessage","response","data","_isMounted","MIN_COMPOSER_HEIGHT","select","ios","android","interval","uid","name","avatar","isUndefined","profilePic","chat","keyboardOpen","newLoading","showDeleteConfirm","popUpType","muteChat","muteSubmitting","hasInvite","inviteActioned","inviteActionPopup","invitePending","componentDidMount","new","prepareChatPage","UNSAFE_componentWillReceiveProps","nextProps","prepareNewProps","componentWillUnmount","clearInterval","key","chatName","title","newGroup","forEach","groups","Muted","statee","reducerMessages","newStates","firstMessages","sendMessage","chats","blockedUserKeys","includes","newGrop2","muteTest","muteGroup","then","res","catch","err","onSend","groupLast","lastMessage","cloneDeep","GroupId","RowId","createdAt","utc","valueOf","mergeMessages","getChatName","userNames","without","join","getMaxTime","maxMessage","maxBy","m","fetchMessages","iteration","getMessages","setTimeout","fetchSingleMessage","timestamp","receivedMessages","newMessages","sortBy","concat","uniqBy","reverse","setInterval","regularFetch","bind","goToGroupInfo","screenCircleDetails","startEdit","screenEditCircle","onOpenDeletePrompt","type","onCancelDelete","onConfirmDelete","renderConfirmPopup","isOnlyAdmin","createElement","visible","onConfirm","yesText","hideNo","entityName","onCancel","render","flex","disabled","styles","container","top","right","width","zIndex","elevation","isPrivateChat","textStyle","color","last","leftIcon","onPressLeft","rightIconType","rightIcon","onPressRight","toggleSettings","getTitle","onTextPress","onDeleteMessage","handleDeleteMessage","backgroundColor","send","fontSize","textAlign","setting","settingContainer","marginLeft","settingDropDown","height","position","paddingTop","overflow","settingDropDownOpen","dropDownOuterContainer","margin","dropDownInnerContainer","flexDirection","borderRadius","paddingBottom","paddingHorizontal","shadowColor","shadowOffset","shadowOpacity","borderWidth","borderColor","dropDownItem","alignItems","marginTop","dropDownItem_Text","fontFamily","lineHeight","mapStateToProps","reducerKeyChats","list","selectedChatKey","blockedUsers","reducerKey","colourBrandingMain","colourBrandingLight"],"sources":["Chat.js"],"sourcesContent":["import React, { Component } from \"react\";\nimport { View, Platform, Alert, TouchableWithoutFeedback } from \"react-native\";\nimport { connect } from \"react-redux\";\nimport _ from \"lodash\";\nimport moment from \"moment\";\nimport {\n\tPlussChat,\n\tHeader,\n\tConfirmPopup,\n\tDropDownMenu,\n\tDropDownItem,\n} from \"../common\";\nimport {\n\tgetGroupInvites,\n\tupdateUnreadCounter,\n\thandleGroupInvite,\n\tsoftLeaveGroup,\n\tdeleteGroup,\n\tcreateChat,\n\tdisconnectChat,\n\tblockUser,\n\tdeleteChat,\n\tupdateGroups,\n\tclearGroupCounter,\n\tupdateChatMessages,\n} from \"../../actions\";\nimport {\n\tTEXT_DARK,\n\tTEXT_LIGHTER,\n\tStatusBarHeight,\n\tgetMainBrandingColourFromState,\n\tgetLightBrandingColourFromState,\n} from \"../../js\";\nimport NavigationService from \"../../js/NavigationService\";\nimport { getTinyChatDefault } from \"../../config\";\nimport { messageActions, circleActions } from \"../../webapi\";\nimport { values } from \"../../values.config\";\n\nclass Chat extends Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis._isMounted = false;\n\n\t\t// used to match the constant used by gifted chat\n\t\tthis.MIN_COMPOSER_HEIGHT = Platform.select({\n\t\t\tios: 33,\n\t\t\tandroid: 41,\n\t\t});\n\n\t\tthis.interval = null;\n\n\t\tthis.state = {\n\t\t\tcurrentUser: {\n\t\t\t\t_id: this.props.user.uid,\n\t\t\t\tname: this.props.user.displayName,\n\t\t\t\tavatar:\n\t\t\t\t\t!_.isUndefined(this.props.user.profilePic) &&\n\t\t\t\t\t!_.isEmpty(this.props.user.profilePic)\n\t\t\t\t\t\t? this.props.user.profilePic\n\t\t\t\t\t\t: getTinyChatDefault(),\n\t\t\t},\n\t\t\tchat: {},\n\t\t\tgroup: { Title: \"\" },\n\t\t\tmessages: [],\n\t\t\tsettingsOpen: false,\n\t\t\tkeyboardOpen: false,\n\n\t\t\tnewLoading: false,\n\t\t\tshowDeleteConfirm: false,\n\n\t\t\tpopUpType: \"leave\",\n\n\t\t\tmuteChat: false,\n\t\t\tmuteSubmitting: false,\n\n\t\t\thasInvite: false,\n\t\t\tinviteActioned: false,\n\t\t\tinviteActionPopup: false,\n\t\t\tinvitePending: false,\n\t\t};\n\t}\n\n\tcomponentDidMount() {\n\t\tthis._isMounted = true;\n\t\tthis.chatUserKey = null;\n\t\tif (this.props.new) {\n\t\t\tthis.setState({ newLoading: true });\n\t\t}\n\t\tthis.prepareChatPage();\n\t}\n\n\tUNSAFE_componentWillReceiveProps(nextProps) {\n\t\t// if (this.state.hasInvite && !this.state.inviteActioned) {\n\t\t// return;\n\t\t// }\n\t\tthis.prepareNewProps(nextProps);\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis._isMounted = false;\n\t\tthis.setState({ inviteActionPopup: false });\n\t\tthis.props.disconnectChat(this.chatKey);\n\t\tclearInterval(this.interval);\n\t}\n\n\tprepareChatPage() {\n\t\tif (this.props.chat) {\n\t\t\t// if (this.props.isInvite && !this.state.inviteActioned) {\n\t\t\t// this.setState({hasInvite:true, inviteActionPopup: true });\n\t\t\t// }\n\t\t\t// Opening existing chat\n\t\t\tconst { chat } = this.props;\n\t\t\tif (!_.isUndefined(this.props.chat.key)) {\n\t\t\t\tthis.chatKey = this.props.chat.key;\n\t\t\t} else {\n\t\t\t\tthis.chatKey = this.props.chat.Id;\n\t\t\t}\n\n\t\t\tthis.chatName = !_.isUndefined(chat.title) ? chat.title : chat.Title;\n\t\t\tlet newGroup = chat;\n\n\t\t\tnewGroup.Title = !_.isUndefined(chat.title) ? chat.title : chat.Title;\n\t\t\t_.forEach(this.props.groups, (group) => {\n\t\t\t\tif (\n\t\t\t\t\tgroup.Id === this.props.chat.key ||\n\t\t\t\t\tgroup.Id === this.props.chat.Id\n\t\t\t\t) {\n\t\t\t\t\tnewGroup = { ...group };\n\t\t\t\t}\n\t\t\t});\n\t\t\tlet muteChat = false;\n\t\t\tif (!_.isUndefined(newGroup.Muted)) {\n\t\t\t\tnewGroup.Muted.forEach((user) => {\n\t\t\t\t\tif (user === this.props.user.uid) {\n\t\t\t\t\t\tmuteChat = true;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tconst statee = { chat, group: newGroup, muteChat };\n\t\t\tif (\n\t\t\t\tthis.chatKey &&\n\t\t\t\t!_.isUndefined(this.props.reducerMessages[this.chatKey])\n\t\t\t) {\n\t\t\t\tstatee.messages = this.props.reducerMessages[this.chatKey];\n\t\t\t}\n\n\t\t\tthis.setState(statee);\n\t\t\tthis.connect();\n\t\t}\n\t}\n\n\tprepareNewProps(nextProps) {\n\t\tconst newStates = {};\n\t\tif (!this.chatKey && nextProps.chatKey) {\n\t\t\tthis.chatKey = nextProps.chatKey;\n\n\t\t\t// If first message is provided, send message automatically\n\t\t\tif (this.firstMessages) {\n\t\t\t\t_.forEach(this.firstMessages, (message) => {\n\t\t\t\t\tthis.sendMessage(this.props.user.uid, this.chatKey, message);\n\t\t\t\t});\n\t\t\t}\n\t\t\tthis.connect();\n\t\t}\n\n\t\t_.forEach(nextProps.chats, (chat) => {\n\t\t\tif (chat.key === this.chatKey) {\n\t\t\t\tnewStates.chat = { ...chat };\n\t\t\t}\n\t\t});\n\n\t\t// If the other user blocked current user, exit\n\t\tif (\n\t\t\tthis.chatUserKey &&\n\t\t\tthis.props.blockedUserKeys &&\n\t\t\t!_.includes(this.props.blockedUserKeys, this.chatUserKey) &&\n\t\t\tnextProps.blockedUserKeys &&\n\t\t\t_.includes(nextProps.blockedUserKeys, this.chatUserKey)\n\t\t) {\n\t\t\tthis.onPressBack();\n\t\t}\n\t\tif (!nextProps.new) {\n\t\t\tnewStates.newLoading = false;\n\t\t\tthis.setState({ newLoading: false });\n\t\t}\n\t\tlet newGrop2 = this.state.group;\n\t\t_.forEach(nextProps.groups, (group) => {\n\t\t\tif (group.Id === this.chatKey) {\n\t\t\t\tnewGrop2 = { ...group };\n\t\t\t}\n\t\t});\n\t\tnewStates.muteChat = false;\n\t\tif (!_.isUndefined(newGrop2.Muted)) {\n\t\t\tnewGrop2.Muted.forEach((user) => {\n\t\t\t\tif (user === this.props.user.uid) {\n\t\t\t\t\tnewStates.muteChat = true;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\tnewStates.group = newGrop2;\n\t\tif (this._isMounted) {\n\t\t\tthis.setState(newStates);\n\t\t}\n\t}\n\n\tgetTitle = () => {\n\t\tif (!this.state.group) {\n\t\t\treturn \"\";\n\t\t}\n\t\tif (_.isEmpty(this.state.group.Title) && this.state.group.IsPrivate) {\n\t\t\tconst otherUser = _.find(this.state.group.Audience || [], (u) => {\n\t\t\t\treturn !!u && u.userId !== this.props.user.Id;\n\t\t\t});\n\t\t\tif (otherUser) {\n\t\t\t\treturn otherUser.displayName;\n\t\t\t}\n\t\t}\n\t\treturn this.state.group.Title;\n\t};\n\n\tonPressEvent = (event) => {\n\t\tNavigationService.navigate(\"eventDetail\", { event });\n\t};\n\n\tmuteTest() {\n\t\tif (this.state.muteSubmitting) {\n\t\t\treturn;\n\t\t}\n\t\tthis.setState({ muteSubmitting: true });\n\n\t\tcircleActions\n\t\t\t.muteGroup(this.state.group.Id, this.props.user.uid)\n\t\t\t.then((res) => {\n\t\t\t\tthis.setState({ muteSubmitting: false });\n\t\t\t\tthis.props.updateGroups([res.data.group]);\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tthis.setState({ muteSubmitting: false });\n\t\t\t});\n\t}\n\n\tonPressAttachment = (attachment) => {\n\t\tswitch (attachment.Type) {\n\t\t\tcase \"Event\":\n\t\t\t\t// TODO: No need to handle?\n\t\t\t\tNavigationService.navigate(\"eventDetail\", { event: attachment });\n\t\t\t\tbreak;\n\t\t\tcase \"Place\":\n\t\t\t\t// TODO: No need to handle?\n\t\t\t\tNavigationService.navigate(\"placeDetail\", { place: attachment });\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\treturn;\n\t\t}\n\t};\n\n\tonPressBack = () => {\n\t\tif (this.props.back) {\n\t\t\tNavigationService.goBack(this.props.back);\n\t\t} else {\n\t\t\tNavigationService.goBack();\n\t\t}\n\t};\n\n\tonSend(messages = []) {\n\t\tif (this.chatKey) {\n\t\t\tthis.sendMessage(messages[0]);\n\t\t}\n\t}\n\n\tsendMessage(message) {\n\t\tconst groupLast = {\n\t\t\tlastMessage: _.cloneDeep(message),\n\t\t};\n\n\t\tmessage.GroupId = this.chatKey;\n\t\tmessage.RowId = `${this.chatKey}_${message._id}`;\n\t\tmessage.createdAt = moment.utc().valueOf();\n\n\t\tthis.mergeMessages([message]);\n\n\t\tmessageActions\n\t\t\t.sendMessage(this.props.user.uid, this.chatKey, groupLast, message)\n\t\t\t.then((res) => {})\n\t\t\t.catch((err) => {});\n\t}\n\n\tisPrivateChat = () => {\n\t\treturn this.state.group.IsPrivate;\n\t};\n\n\tisGroupOwner(userId) {\n\t\tif (\n\t\t\t!_.isUndefined(this.state.group.CreatorId) &&\n\t\t\tuserId === this.state.group.CreatorId\n\t\t) {\n\t\t\treturn true;\n\t\t}\n\t\tif (\n\t\t\t!_.isUndefined(this.state.group.Creator) &&\n\t\t\t(userId === this.state.group.Creator.uid ||\n\t\t\t\tuserId === this.state.group.Creator.userId)\n\t\t) {\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tisOnlyAdmin = (userId) => {\n\t\tif (!this.isAdmin(userId)) {\n\t\t\treturn false;\n\t\t}\n\t\tconst { group } = this.state;\n\t\tconst creatorId = group.Creator ? group.Creator.userId : group.CreatorId;\n\t\tconst hasOtherAdmin = group.Audience.some((user) => {\n\t\t\tif (!user) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn (\n\t\t\t\tuser.userId !== userId && (user.isAdmin || user.userId === creatorId)\n\t\t\t);\n\t\t});\n\n\t\treturn !hasOtherAdmin;\n\t};\n\n\tisAdmin = (userId) => {\n\t\tif (this.isGroupOwner(userId)) {\n\t\t\treturn true;\n\t\t}\n\t\tconst user = _.find(this.state.group.Audience || [], (u) => {\n\t\t\treturn !!u && u.userId === userId;\n\t\t});\n\t\treturn user && user.isAdmin;\n\t};\n\n\tgetChatName(title, userNames) {\n\t\tif (!_.isEmpty(title)) {\n\t\t\treturn title;\n\t\t}\n\t\treturn _.without(userNames, this.state.currentUser.name).join(\", \");\n\t}\n\n\tgetMaxTime() {\n\t\tconst maxMessage = _.maxBy(this.state.messages, (m) => {\n\t\t\treturn m.createdAt;\n\t\t});\n\t\tif (maxMessage) {\n\t\t\treturn maxMessage.createdAt;\n\t\t}\n\t\treturn 0;\n\t}\n\n\tfetchMessages(iteration) {\n\t\tif (!iteration) {\n\t\t\titeration = 1;\n\t\t}\n\t\tmessageActions\n\t\t\t.getMessages(this.chatKey, 50, this.getMaxTime())\n\t\t\t.then((res) => {\n\t\t\t\tthis.mergeMessages(res.data);\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tif (iteration < 20) {\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tthis.fetchMessages(iteration + 1);\n\t\t\t\t\t}, 250);\n\t\t\t\t}\n\t\t\t});\n\t}\n\n\tfetchSingleMessage(timestamp) {\n\t\tthis.props.clearGroupCounter(this.chatKey, this.props.user.uid);\n\t\tmessageActions\n\t\t\t.getMessages(this.chatKey, 1, timestamp, timestamp)\n\t\t\t.then((res) => {\n\t\t\t\tthis.mergeMessages(res.data);\n\t\t\t});\n\t}\n\n\tmergeMessages(receivedMessages) {\n\t\tconst newMessages = _.sortBy(\n\t\t\t_.concat(this.state.messages, receivedMessages),\n\t\t\t\"createdAt\",\n\t\t);\n\t\tif (this._isMounted) {\n\t\t\tthis.setState({\n\t\t\t\tmessages: _.uniqBy(newMessages, (m) => {\n\t\t\t\t\treturn m._id;\n\t\t\t\t}).reverse(),\n\t\t\t});\n\t\t}\n\t\tif (!_.isEmpty(receivedMessages)) {\n\t\t\tthis.props.clearGroupCounter(this.chatKey, this.props.user.uid);\n\t\t}\n\t\tthis.props.updateChatMessages(\n\t\t\tthis.chatKey,\n\t\t\t_.uniqBy(newMessages, (m) => {\n\t\t\t\treturn m._id;\n\t\t\t}).reverse(),\n\t\t);\n\t}\n\n\tconnect() {\n\t\tif (this.chatKey) {\n\t\t\tthis.fetchMessages();\n\n\t\t\tthis.interval = setInterval(this.regularFetch.bind(this), 2000);\n\t\t}\n\t}\n\n\tregularFetch() {\n\t\tmessageActions\n\t\t\t.getMessages(this.chatKey, 50, this.getMaxTime() + 1)\n\t\t\t.then((res) => {\n\t\t\t\tif (!_.isEmpty(res.data)) {\n\t\t\t\t\tthis.mergeMessages(res.data);\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch((err) => {});\n\t}\n\n\ttoggleSettings = () => {\n\t\tthis.setState({ settingsOpen: !this.state.settingsOpen });\n\t};\n\n\tcloseSettings = () => {\n\t\tthis.setState({ settingsOpen: false });\n\t};\n\n\tconfirmBlockUser = () => {\n\t\tAlert.alert(\n\t\t\t\"Block user\",\n\t\t\t\"Are you sure you want to block this user? Existing chat with this user will be deleted.\",\n\t\t\t[\n\t\t\t\t{\n\t\t\t\t\ttext: \"Cancel\",\n\t\t\t\t\tonPress: () => this.closeSettings(),\n\t\t\t\t\tstyle: \"cancel\",\n\t\t\t\t},\n\t\t\t\t{ text: \"Ok\", onPress: () => this.blockUser() },\n\t\t\t],\n\t\t\t{ cancelable: false },\n\t\t);\n\t};\n\n\tblockUser = () => {\n\t\tthis.closeSettings();\n\t\t// Block the user\n\t\tthis.props.blockUser(\n\t\t\tthis.state.currentUser._id,\n\t\t\tthis.chatUserKey,\n\t\t\tthis.chatKey,\n\t\t);\n\t\t// Delete this chat\n\t\tthis.props.deleteChat(this.chatKey);\n\n\t\tthis.onPressBack();\n\t};\n\n\tgoToGroupInfo() {\n\t\tthis.setState({ settingsOpen: false });\n\t\tNavigationService.navigate(values.screenCircleDetails, {\n\t\t\tgroup: this.state.group,\n\t\t});\n\t}\n\n\tstartEdit() {\n\t\tthis.setState({ settingsOpen: false });\n\t\tNavigationService.navigate(values.screenEditCircle, {\n\t\t\tchat: this.state.chat,\n\t\t});\n\t}\n\n\tonOpenDeletePrompt(type) {\n\t\tthis.setState({\n\t\t\tshowDeleteConfirm: true,\n\t\t\tsettingsOpen: false,\n\t\t\tpopUpType: type,\n\t\t});\n\t}\n\n\tonCancelDelete() {\n\t\tthis.setState({ showDeleteConfirm: false });\n\t}\n\n\tonConfirmDelete() {\n\t\tif (this.state.popUpType === \"leave\") {\n\t\t\tthis.props.softLeaveGroup(this.state.group);\n\t\t}\n\t\tif (this.state.popUpType === \"delete\") {\n\t\t\tthis.props.deleteGroup(this.state.group);\n\t\t}\n\n\t\tthis.onPressBack();\n\t}\n\n\trenderConfirmPopup() {\n\t\tif (\n\t\t\tthis.state.popUpType === \"leave\" &&\n\t\t\tthis.isOnlyAdmin(this.props.user.uid)\n\t\t) {\n\t\t\treturn (\n\t\t\t\t<ConfirmPopup\n\t\t\t\t\tvisible={this.state.showDeleteConfirm}\n\t\t\t\t\tonConfirm={this.onCancelDelete.bind(this)}\n\t\t\t\t\tyesText=\"Okay\"\n\t\t\t\t\thideNo\n\t\t\t\t\ttext={`You can't leave this ${values.entityName} as the only admin. Please make someone else an admin first.`}\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\t\treturn (\n\t\t\t<ConfirmPopup\n\t\t\t\tvisible={this.state.showDeleteConfirm}\n\t\t\t\tonConfirm={this.onConfirmDelete.bind(this)}\n\t\t\t\tonCancel={this.onCancelDelete.bind(this)}\n\t\t\t\ttext={`Are you sure you want to ${this.state.popUpType} this ${values.entityName}?`}\n\t\t\t/>\n\t\t);\n\t}\n\n\thandleDeleteMessage = async (message) => {\n\t\t// Store original message for rollback\n\t\tconst originalMessages = [...this.state.messages];\n\n\t\t// Optimistic update - show deleted immediately\n\t\tconst updatedMessages = this.state.messages.map((msg) => {\n\t\t\tif (msg._id === message._id) {\n\t\t\t\treturn {\n\t\t\t\t\t...msg,\n\t\t\t\t\ttext: \"[Message deleted]\",\n\t\t\t\t\tdeleted: true,\n\t\t\t\t\timage: undefined,\n\t\t\t\t\tattachments: undefined,\n\t\t\t\t\treplyingTo: undefined, // Remove reply quote\n\t\t\t\t};\n\t\t\t}\n\t\t\treturn msg;\n\t\t});\n\n\t\tthis.setState({\n\t\t\tmessages: updatedMessages,\n\t\t});\n\n\t\t// Update Redux store optimistically\n\t\tthis.props.updateChatMessages(this.chatKey, updatedMessages);\n\n\t\ttry {\n\t\t\t// Call the delete message API\n\t\t\tawait messageActions.deleteMessage(message._id, this.chatKey);\n\t\t\t// Success - update is already applied\n\t\t} catch (error) {\n\t\t\t// Rollback on failure\n\t\t\tconsole.log(\"handleDeleteMessage error\", error);\n\n\t\t\tthis.setState({\n\t\t\t\tmessages: originalMessages,\n\t\t\t});\n\t\t\tthis.props.updateChatMessages(this.chatKey, originalMessages);\n\n\t\t\tconst errorMessage =\n\t\t\t\terror.response?.data?.message ||\n\t\t\t\t\"Failed to delete message. Please try again.\";\n\t\t\tAlert.alert(\"Delete Failed\", errorMessage, [{ text: \"OK\" }]);\n\t\t}\n\t};\n\n\trender() {\n\t\treturn (\n\t\t\t<TouchableWithoutFeedback\n\t\t\t\tonPress={this.closeSettings}\n\t\t\t\tstyle={{ flex: 1 }}\n\t\t\t\tdisabled={!this.state.settingsOpen}\n\t\t\t>\n\t\t\t\t<View style={styles.container}>\n\t\t\t\t\t<DropDownMenu\n\t\t\t\t\t\tvisible={this.state.settingsOpen}\n\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\ttop: StatusBarHeight(50),\n\t\t\t\t\t\t\tright: 16,\n\t\t\t\t\t\t\twidth: 150,\n\t\t\t\t\t\t\tzIndex: 300,\n\t\t\t\t\t\t\televation: 15,\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t<DropDownItem\n\t\t\t\t\t\t\ttext={`View ${values.entityName}`}\n\t\t\t\t\t\t\tonPress={this.goToGroupInfo.bind(this)}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{(this.isGroupOwner(this.props.user.uid) ||\n\t\t\t\t\t\t\tthis.isAdmin(this.props.user.uid)) &&\n\t\t\t\t\t\t\t!this.isPrivateChat() && (\n\t\t\t\t\t\t\t\t<DropDownItem\n\t\t\t\t\t\t\t\t\ttext={\"Manage\"}\n\t\t\t\t\t\t\t\t\tonPress={this.startEdit.bind(this)}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t<DropDownItem\n\t\t\t\t\t\t\ttext={\n\t\t\t\t\t\t\t\tthis.state.muteSubmitting\n\t\t\t\t\t\t\t\t\t? \"Updating...\"\n\t\t\t\t\t\t\t\t\t: this.state.muteChat\n\t\t\t\t\t\t\t\t\t\t? \"Unmute\"\n\t\t\t\t\t\t\t\t\t\t: \"Mute\"\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonPress={this.muteTest.bind(this)}\n\t\t\t\t\t\t\ttextStyle={\n\t\t\t\t\t\t\t\tthis.state.muteSubmitting ? { color: TEXT_LIGHTER } : {}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{this.isAdmin(this.props.user.uid) && !this.isPrivateChat() && (\n\t\t\t\t\t\t\t<DropDownItem\n\t\t\t\t\t\t\t\ttext={\"Delete\"}\n\t\t\t\t\t\t\t\tonPress={this.onOpenDeletePrompt.bind(this, \"delete\")}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{!this.isPrivateChat() && (\n\t\t\t\t\t\t\t<DropDownItem\n\t\t\t\t\t\t\t\tlast\n\t\t\t\t\t\t\t\ttext={\"Leave\"}\n\t\t\t\t\t\t\t\tonPress={this.onOpenDeletePrompt.bind(this, \"leave\")}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</DropDownMenu>\n\t\t\t\t\t<Header\n\t\t\t\t\t\tleftIcon=\"angle-left\"\n\t\t\t\t\t\tonPressLeft={this.onPressBack.bind(this)}\n\t\t\t\t\t\trightIconType=\"pluss\"\n\t\t\t\t\t\trightIcon=\"ellipsis-vertical\"\n\t\t\t\t\t\tonPressRight={this.toggleSettings.bind(this)}\n\t\t\t\t\t\ttext={this.getTitle()}\n\t\t\t\t\t\tonTextPress={this.goToGroupInfo.bind(this)}\n\t\t\t\t\t/>\n\n\t\t\t\t\t<PlussChat\n\t\t\t\t\t\tmessages={this.chatKey ? this.state.messages : []}\n\t\t\t\t\t\tonSend={this.onSend.bind(this)}\n\t\t\t\t\t\tonDeleteMessage={this.handleDeleteMessage}\n\t\t\t\t\t/>\n\t\t\t\t\t{this.renderConfirmPopup()}\n\t\t\t\t</View>\n\t\t\t</TouchableWithoutFeedback>\n\t\t);\n\t}\n}\n\nconst styles = {\n\tcontainer: {\n\t\tflex: 1,\n\t\tbackgroundColor: \"#fff\",\n\t},\n\tsend: {\n\t\tcolor: \"#fff\",\n\t\tfontSize: 15,\n\t\twidth: 30,\n\t\ttextAlign: \"center\",\n\t},\n\tsetting: {\n\t\tfontSize: 18,\n\t},\n\tsettingContainer: {\n\t\tmarginLeft: 20,\n\t},\n\tsettingDropDown: {\n\t\theight: 0,\n\t\twidth: \"auto\",\n\t\tposition: \"absolute\",\n\t\tright: 2,\n\t\ttop: 62,\n\t\tzIndex: 2,\n\t\televation: 2,\n\t\tpaddingTop: 0,\n\t\toverflow: \"hidden\",\n\t},\n\tsettingDropDownOpen: {\n\t\theight: \"auto\",\n\t},\n\tdropDownOuterContainer: {\n\t\tpaddingTop: 9,\n\t\toverflow: \"visible\",\n\t\tbackgroundColor: \"transparent\",\n\t\tmargin: 5,\n\t},\n\tdropDownInnerContainer: {\n\t\tflexDirection: \"column\",\n\t\tbackgroundColor: \"#fcfcfc\",\n\t\tborderRadius: 3,\n\t\tpaddingBottom: 10,\n\t\tpaddingHorizontal: 15,\n\t\toverflow: \"visible\",\n\t\tshadowColor: \"#000\",\n\t\tshadowOffset: { width: 1, height: 1 },\n\t\tshadowOpacity: 0.3,\n\t\t...Platform.select({\n\t\t\tandroid: {\n\t\t\t\tborderWidth: 1,\n\t\t\t\tborderColor: \"rgba(230, 230, 230, .4)\",\n\t\t\t},\n\t\t}),\n\t},\n\tdropDownItem: {\n\t\tflexDirection: \"row\",\n\t\talignItems: \"center\",\n\t\tmarginTop: 10,\n\t},\n\tdropDownItem_Text: {\n\t\tfontFamily: \"sf-regular\",\n\t\tfontSize: 15,\n\t\tlineHeight: 22,\n\t\tcolor: TEXT_DARK,\n\t},\n};\n\nconst mapStateToProps = (state) => {\n\treturn {\n\t\treducerMessages: state[values.reducerKeyChats].messages,\n\t\tchats: state[values.reducerKeyChats].list,\n\t\tchatKey: state[values.reducerKeyChats].selectedChatKey,\n\t\tblockedUserKeys: state[values.reducerKeyChats].blockedUsers,\n\t\tuser: state.user,\n\t\tgroups: state[values.reducerKey].list,\n\t\tcolourBrandingMain: getMainBrandingColourFromState(state),\n\t\tcolourBrandingLight: getLightBrandingColourFromState(state),\n\t};\n};\n\nexport default connect(mapStateToProps, {\n\tupdateUnreadCounter,\n\tgetGroupInvites,\n\thandleGroupInvite,\n\tupdateGroups,\n\tsoftLeaveGroup,\n\tdeleteGroup,\n\tcreateChat,\n\tdisconnectChat,\n\tblockUser,\n\tdeleteChat,\n\tclearGroupCounter,\n\tupdateChatMessages,\n})(Chat);\n"],"mappings":"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","ignoreList":[]}
@@ -1,10 +1,11 @@
1
1
  import React, { Component } from "react";
2
- import { View, TouchableOpacity, Text, FlatList, ScrollView } from "react-native";
2
+ import { Text } from "@plusscommunities/pluss-core-app/components";
3
+ import { View, TouchableOpacity, FlatList, ScrollView } from "react-native";
3
4
  import { connect } from "react-redux";
4
5
  import moment from "moment";
5
6
  import _ from "lodash";
6
7
  import { Icon } from "@rneui/themed";
7
- import { ProfilePic, EmptyStateMain, TextStyle } from "../common";
8
+ import { ProfilePic, EmptyStateMain } from "../common";
8
9
  import NavigationService from "../../js/NavigationService";
9
10
  import { TEXT_DARK, TEXT_MID, TEXT_LIGHT, COLOUR_GREEN, getMainBrandingColourFromState, getSiteSettingFromState } from "../../js";
10
11
  import { clearGroupCounter } from "../../actions";
@@ -190,10 +191,10 @@ class ChatList extends Component {
190
191
  }
191
192
  return /*#__PURE__*/React.createElement(View, {
192
193
  style: styles.publicGroupsHeaderContainer
193
- }, /*#__PURE__*/React.createElement(TextStyle, {
194
+ }, /*#__PURE__*/React.createElement(Text, {
194
195
  type: "label",
195
196
  style: styles.publicGroupsTitle
196
- }, "Groups You Can Join"), /*#__PURE__*/React.createElement(TextStyle, {
197
+ }, "Groups You Can Join"), /*#__PURE__*/React.createElement(Text, {
197
198
  type: "body",
198
199
  style: styles.publicGroupsHelper
199
200
  }, "Any member of your community can join these groups. Tap any group to join."));
@@ -1 +1 @@
1
- {"version":3,"names":["React","Component","View","TouchableOpacity","Text","FlatList","ScrollView","connect","moment","_","Icon","ProfilePic","EmptyStateMain","TextStyle","NavigationService","TEXT_DARK","TEXT_MID","TEXT_LIGHT","COLOUR_GREEN","getMainBrandingColourFromState","getSiteSettingFromState","clearGroupCounter","GroupInvite","CONST_STRINGS","PublicGroup","values","ChatList","constructor","_isMounted","state","showMore","dataSource","invites","publicGroups","componentDidMount","createDataSource","props","setState","UNSAFE_componentWillReceiveProps","nextProps","groups","setTimeout","shouldComponentUpdate","nextState","componentWillUnmount","onPressChat","group","Id","user","uid","navigate","screenCircleChat","chat","onPressBack","goBack","onClosePublicGroup","joined","index","indexOf","splice","newPublicGroups","getChatName","isEmpty","Title","IsPrivate","otherUser","find","Audience","u","userId","displayName","userNames","names","without","Object","keys","length","join","getChatImage","Thumbnail","Image","profilePic","getTimeText","input","gug","local","isBefore","startOf","format","getLastMessage","lastMessage","entityName","text","deleted","chatsToUse","filter","Deleted","messages","orderBy","chats","take","first","getEmptyStateText","options","EmptyText","EMPTY_GROUPS","shouldRenderPublicGroups","circleAllowPublicCircles","category","renderPublicGroupsHeader","createElement","style","styles","publicGroupsHeaderContainer","type","publicGroupsTitle","publicGroupsHelper","renderReply","lastUserKey","name","iconStyle","chatReplyIcon","renderUnreadCounter","counter","isUndefined","counterText","renderChat","chatName","chatImage","unreadCounter","Unread","key","marginTop","activeOpacity","onPress","bind","listItem","Diameter","listItemTextContainer","rowReverse","chatTimeStamp","color","fontFamily","Changed","fill","chatUserName","chatTextBold","numberOfLines","chatLastMessage","renderInvites","source","item","Rejected","map","invite","event","showHeader","renderPublicGroups","onClose","renderListHeader","ListHeaderComponent","isWidget","internalHeader","horizontal","showsHorizontalScrollIndicator","renderEmptyList","isLoading","title","height","paddingTop","marginHorizontal","render","limit","slice","isDataReady","container","mainContainer","keyboardShouldPersistTaps","data","ListEmptyComponent","keyExtractor","renderItem","ListFooterComponent","extraData","Fragment","paddingVertical","card","position","paddingHorizontal","marginBottom","sectionTitleContainer","paddingBottom","justifyContent","sectionTitle","fontSize","flex","flexDirection","alignItems","backgroundColor","extraSeparation","unreadMarker","width","borderRadius","marginLeft","chatLastMessageContainer","paddingRight","marginRight","addButtonContainer","right","bottom","addButton","left","minWidth","textAlign","lineHeight","mapStateToProps","circles","reducerKey","list","unreadCount","colourBrandingMain","allowPublicKey"],"sources":["ChatList.js"],"sourcesContent":["import React, { Component } from \"react\";\nimport {\n\tView,\n\tTouchableOpacity,\n\tText,\n\tFlatList,\n\tScrollView,\n} from \"react-native\";\nimport { connect } from \"react-redux\";\nimport moment from \"moment\";\nimport _ from \"lodash\";\nimport { Icon } from \"@rneui/themed\";\nimport { ProfilePic, EmptyStateMain, TextStyle } from \"../common\";\nimport NavigationService from \"../../js/NavigationService\";\nimport {\n\tTEXT_DARK,\n\tTEXT_MID,\n\tTEXT_LIGHT,\n\tCOLOUR_GREEN,\n\tgetMainBrandingColourFromState,\n\tgetSiteSettingFromState,\n} from \"../../js\";\nimport { clearGroupCounter } from \"../../actions\";\nimport GroupInvite from \"../notifications/GroupInvite\";\nimport { CONST_STRINGS } from \"../../config\";\nimport PublicGroup from \"../groups/PublicGroup\";\nimport { values } from \"../../values.config\";\n\nclass ChatList extends Component {\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._isMounted = false;\n\t\tthis.state = {\n\t\t\tshowMore: true,\n\t\t\tdataSource: [],\n\t\t\tinvites: [],\n\t\t\tpublicGroups: [],\n\t\t};\n\t}\n\n\tasync componentDidMount() {\n\t\tthis._isMounted = true;\n\n\t\tthis.createDataSource(this.props);\n\t\tthis.setState({ publicGroups: this.props.publicGroups });\n\t}\n\n\tUNSAFE_componentWillReceiveProps(nextProps) {\n\t\tif (nextProps.groups !== this.props.groups) {\n\t\t\tsetTimeout(() => {\n\t\t\t\tthis.createDataSource(nextProps);\n\t\t\t}, 500);\n\t\t}\n\t\tif (nextProps.publicGroups !== this.props.publicGroups) {\n\t\t\tthis.setState({\n\t\t\t\tpublicGroups: nextProps.publicGroups,\n\t\t\t});\n\t\t}\n\t}\n\n\tshouldComponentUpdate(nextProps, nextState) {\n\t\treturn (\n\t\t\tnextState.dataSource !== this.state.dataSource ||\n\t\t\tnextState.publicGroups !== this.state.publicGroups ||\n\t\t\tnextState.invites !== this.state.invites\n\t\t);\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis._isMounted = false;\n\t}\n\n\tonPressChat(group) {\n\t\tthis.props.clearGroupCounter(group.Id, this.props.user.uid);\n\t\tNavigationService.navigate(values.screenCircleChat, { chat: group });\n\t}\n\n\tonPressBack() {\n\t\tNavigationService.goBack();\n\t}\n\n\tonClosePublicGroup(group, joined) {\n\t\tif (joined) {\n\t\t\tconst index = this.state.publicGroups.indexOf(group);\n\t\t\tif (index > -1) {\n\t\t\t\tthis.state.publicGroups.splice(index, 1);\n\t\t\t\tconst newPublicGroups = this.state.publicGroups;\n\t\t\t\tif (this._isMounted) {\n\t\t\t\t\tthis.setState({\n\t\t\t\t\t\tpublicGroups: newPublicGroups,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tgetChatName(chat) {\n\t\tif (!_.isEmpty(chat.Title)) {\n\t\t\treturn chat.Title;\n\t\t}\n\t\tif (chat.IsPrivate) {\n\t\t\tconst otherUser = _.find(chat.Audience || [], (u) => {\n\t\t\t\treturn u.userId !== this.props.user.Id;\n\t\t\t});\n\t\t\tif (otherUser) {\n\t\t\t\treturn otherUser.displayName;\n\t\t\t}\n\t\t\treturn null;\n\t\t}\n\t\tif (chat.userNames) {\n\t\t\tconst names = _.without(\n\t\t\t\tObject.keys(chat.userNames),\n\t\t\t\tthis.props.user.displayName,\n\t\t\t);\n\t\t\treturn names.length > 2\n\t\t\t\t? `${names[0]} & ${names.length - 1} others`\n\t\t\t\t: names.join(\", \");\n\t\t}\n\t\treturn \"no title detected\";\n\t}\n\n\tgetChatImage(chat) {\n\t\tif (!_.isEmpty(chat.Thumbnail)) {\n\t\t\treturn chat.Thumbnail;\n\t\t}\n\t\tif (!_.isEmpty(chat.Image)) {\n\t\t\treturn chat.Image;\n\t\t}\n\t\tif (chat.IsPrivate) {\n\t\t\tconst otherUser = _.find(chat.Audience || [], (u) => {\n\t\t\t\treturn u.userId !== this.props.user.Id;\n\t\t\t});\n\t\t\tif (otherUser) {\n\t\t\t\treturn otherUser.profilePic;\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tgetTimeText(input) {\n\t\tconst gug = moment(input).local();\n\t\tif (gug.isBefore(moment().local().startOf(\"d\"))) {\n\t\t\treturn gug.format(\"D MMM\");\n\t\t}\n\t\treturn gug.format(\"h:mma\");\n\t}\n\n\tgetLastMessage(chat) {\n\t\tif (!chat.lastMessage) {\n\t\t\tif (chat.IsPrivate) {\n\t\t\t\treturn \"\";\n\t\t\t}\n\t\t\treturn `New ${values.entityName}`;\n\t\t}\n\t\tif (typeof chat.lastMessage === \"string\") {\n\t\t\treturn chat.lastMessage;\n\t\t}\n\t\t// Handle deleted messages or missing text\n\t\tif (!chat.lastMessage.text) {\n\t\t\treturn chat.lastMessage.deleted ? \"[Message deleted]\" : \"\";\n\t\t}\n\t\t// TODO recognise user name of last message\n\t\treturn chat.lastMessage.text;\n\t}\n\n\tshowMore() {\n\t\tif (this._isMounted) {\n\t\t\tthis.setState({ showMore: true });\n\t\t}\n\t\tsetTimeout(() => {\n\t\t\tthis.createDataSource(this.props);\n\t\t}, 50);\n\t}\n\n\tcreateDataSource(nextProps) {\n\t\tconst chatsToUse = _.filter(nextProps.groups, (chat) => {\n\t\t\treturn (\n\t\t\t\t!_.isEmpty(chat) &&\n\t\t\t\t!chat.deleted &&\n\t\t\t\t!chat.Deleted &&\n\t\t\t\tchat != null &&\n\t\t\t\t!chat.IsPrivate\n\t\t\t);\n\t\t});\n\n\t\tconst messages = _.orderBy(chatsToUse, \"Changed\", \"desc\");\n\n\t\tconst chats = [...(!this.state.showMore ? _.take(messages, 3) : messages)];\n\t\t// const chats = [\n\t\t// ...messages,\n\t\t// !this.state.showMore && chatsToUse.length > 3 ? { type: 'more' } : {}\n\t\t// ];\n\n\t\tif (!_.isEmpty(chats[0]) && chats[0] != null) {\n\t\t\tchats[0].first = true;\n\t\t}\n\n\t\tlet invites = nextProps.invites;\n\t\tif (invites == null) {\n\t\t\tinvites = [];\n\t\t}\n\t\tif (this._isMounted) {\n\t\t\tthis.setState({\n\t\t\t\tdataSource: chats,\n\t\t\t\tinvites,\n\t\t\t});\n\t\t}\n\t}\n\n\tgetEmptyStateText() {\n\t\tif (this.props.options && !_.isEmpty(this.props.options.EmptyText)) {\n\t\t\treturn this.props.options.EmptyText;\n\t\t}\n\t\treturn CONST_STRINGS.EMPTY_GROUPS;\n\t}\n\n\tshouldRenderPublicGroups() {\n\t\tif (!this.props.circleAllowPublicCircles) {\n\t\t\treturn false;\n\t\t}\n\t\tif (_.isEmpty(this.state.publicGroups)) {\n\t\t\treturn false;\n\t\t}\n\t\tif (this.props.user.category === \"family\") {\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t}\n\n\trenderPublicGroupsHeader() {\n\t\tif (!this.shouldRenderPublicGroups()) {\n\t\t\treturn null;\n\t\t}\n\t\treturn (\n\t\t\t<View style={styles.publicGroupsHeaderContainer}>\n\t\t\t\t<TextStyle type=\"label\" style={styles.publicGroupsTitle}>\n\t\t\t\t\tGroups You Can Join\n\t\t\t\t</TextStyle>\n\t\t\t\t<TextStyle type=\"body\" style={styles.publicGroupsHelper}>\n\t\t\t\t\tAny member of your community can join these groups. Tap any group to\n\t\t\t\t\tjoin.\n\t\t\t\t</TextStyle>\n\t\t\t</View>\n\t\t);\n\t}\n\n\trenderReply(chat) {\n\t\tif (chat.lastUserKey === this.props.user.uid) {\n\t\t\treturn (\n\t\t\t\t<Icon\n\t\t\t\t\tname=\"mail-reply\"\n\t\t\t\t\ttype=\"font-awesome\"\n\t\t\t\t\ticonStyle={styles.chatReplyIcon}\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\t\treturn null;\n\t}\n\n\trenderUnreadCounter(counter) {\n\t\tif (_.isUndefined(counter) || counter < 1) {\n\t\t\treturn null;\n\t\t}\n\t\treturn (\n\t\t\t<View style={styles.counter}>\n\t\t\t\t<Text style={styles.counterText}>{counter}</Text>\n\t\t\t</View>\n\t\t);\n\t}\n\n\trenderChat(chat) {\n\t\tif (_.isEmpty(chat) || chat.deleted || chat == null) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst chatName = this.getChatName(chat);\n\t\tconst chatImage = this.getChatImage(chat);\n\t\tconst unreadCounter = (chat.Unread && chat.Unread[this.props.user.Id]) || 0;\n\n\t\treturn (\n\t\t\t<View\n\t\t\t\tkey={`chat${chat.Id}`}\n\t\t\t\tstyle={[\n\t\t\t\t\tchat.first && _.isEmpty(this.state.invites) && { marginTop: 8 },\n\t\t\t\t]}\n\t\t\t>\n\t\t\t\t<TouchableOpacity\n\t\t\t\t\tactiveOpacity={0.9}\n\t\t\t\t\tonPress={this.onPressChat.bind(this, chat)}\n\t\t\t\t>\n\t\t\t\t\t<View\n\t\t\t\t\t\tstyle={[\n\t\t\t\t\t\t\tstyles.listItem,\n\t\t\t\t\t\t\t// extraSeparation && styles.extraSeparation\n\t\t\t\t\t\t]}\n\t\t\t\t\t>\n\t\t\t\t\t\t<ProfilePic Diameter={40} name={chatName} ProfilePic={chatImage} />\n\t\t\t\t\t\t<View style={styles.listItemTextContainer}>\n\t\t\t\t\t\t\t<View style={styles.rowReverse}>\n\t\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\t\tstyle={[\n\t\t\t\t\t\t\t\t\t\tstyles.chatTimeStamp,\n\t\t\t\t\t\t\t\t\t\t!!unreadCounter && {\n\t\t\t\t\t\t\t\t\t\t\tcolor: TEXT_DARK,\n\t\t\t\t\t\t\t\t\t\t\tfontFamily: \"sf-bold\",\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t]}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{this.getTimeText(chat.Changed)}\n\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t<View style={styles.fill}>\n\t\t\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\t\t\tstyle={[\n\t\t\t\t\t\t\t\t\t\t\tstyles.chatUserName,\n\t\t\t\t\t\t\t\t\t\t\t!!unreadCounter && styles.chatTextBold,\n\t\t\t\t\t\t\t\t\t\t]}\n\t\t\t\t\t\t\t\t\t\tnumberOfLines={1}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{chatName}\n\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t<View style={styles.rowReverse}>\n\t\t\t\t\t\t\t\t{this.renderUnreadCounter(unreadCounter)}\n\t\t\t\t\t\t\t\t<View style={styles.fill}>\n\t\t\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\t\t\tstyle={[styles.chatLastMessage, !!unreadCounter && {}]}\n\t\t\t\t\t\t\t\t\t\tnumberOfLines={1}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{this.getLastMessage(chat)}\n\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t</View>\n\t\t\t\t\t</View>\n\t\t\t\t</TouchableOpacity>\n\t\t\t</View>\n\t\t);\n\t}\n\n\trenderInvites() {\n\t\tconst source = _.filter(this.state.invites, (item) => {\n\t\t\treturn !item.Deleted && !item.Rejected;\n\t\t});\n\n\t\treturn source.map((invite, index) => {\n\t\t\tif (invite != null) {\n\t\t\t\treturn (\n\t\t\t\t\t<View key={invite.Id}>\n\t\t\t\t\t\t<GroupInvite\n\t\t\t\t\t\t\tinvite={invite}\n\t\t\t\t\t\t\tevent={invite}\n\t\t\t\t\t\t\tindex={index}\n\t\t\t\t\t\t\tkey={invite.Id}\n\t\t\t\t\t\t\tshowHeader\n\t\t\t\t\t\t/>\n\t\t\t\t\t</View>\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn null;\n\t\t});\n\t}\n\n\trenderPublicGroups() {\n\t\tif (!this.shouldRenderPublicGroups()) {\n\t\t\treturn null;\n\t\t}\n\t\treturn this.state.publicGroups.map((group, index) => {\n\t\t\tif (!group) {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\treturn (\n\t\t\t\t<View key={group.Id}>\n\t\t\t\t\t<PublicGroup\n\t\t\t\t\t\tgroup={group}\n\t\t\t\t\t\tindex={index}\n\t\t\t\t\t\tkey={group.Id}\n\t\t\t\t\t\tshowHeader\n\t\t\t\t\t\tonClose={this.onClosePublicGroup.bind(this, group)}\n\t\t\t\t\t/>\n\t\t\t\t</View>\n\t\t\t);\n\t\t});\n\t}\n\n\trenderListHeader() {\n\t\tif (\n\t\t\t!this.props.ListHeaderComponent &&\n\t\t\t((_.isEmpty(this.state.invites) && !this.shouldRenderPublicGroups()) ||\n\t\t\t\tthis.props.isWidget)\n\t\t) {\n\t\t\treturn null;\n\t\t}\n\t\tlet internalHeader = null;\n\t\tif (!_.isEmpty(this.state.invites) || this.shouldRenderPublicGroups()) {\n\t\t\tinternalHeader = (\n\t\t\t\t<View>\n\t\t\t\t\t{this.renderPublicGroupsHeader()}\n\t\t\t\t\t<ScrollView horizontal showsHorizontalScrollIndicator={false}>\n\t\t\t\t\t\t{!_.isEmpty(this.state.invites) && this.renderInvites()}\n\t\t\t\t\t\t{this.renderPublicGroups()}\n\t\t\t\t\t</ScrollView>\n\t\t\t\t</View>\n\t\t\t);\n\t\t}\n\t\treturn (\n\t\t\t<View>\n\t\t\t\t{this.props.ListHeaderComponent}\n\t\t\t\t{internalHeader}\n\t\t\t</View>\n\t\t);\n\t}\n\n\trenderEmptyList() {\n\t\tif (this.props.isLoading)\n\t\t\treturn (\n\t\t\t\t<EmptyStateMain\n\t\t\t\t\ttitle=\"Loading\"\n\t\t\t\t\tstyle={{ height: 180, paddingTop: 16, marginHorizontal: 16 }}\n\t\t\t\t/>\n\t\t\t);\n\t\tif (this.props.isWidget)\n\t\t\treturn (\n\t\t\t\t<EmptyStateMain\n\t\t\t\t\ttitle={this.getEmptyStateText()}\n\t\t\t\t\tstyle={{ height: 180, paddingTop: 16, marginHorizontal: 16 }}\n\t\t\t\t/>\n\t\t\t);\n\t\treturn (\n\t\t\t<EmptyStateMain\n\t\t\t\ttitle={this.getEmptyStateText()}\n\t\t\t\tstyle={{ marginHorizontal: 16, marginTop: 16 }}\n\t\t\t/>\n\t\t);\n\t}\n\n\trender() {\n\t\tconst dataSource = this.props.limit\n\t\t\t? this.state.dataSource.slice(0, this.props.limit)\n\t\t\t: this.state.dataSource;\n\t\tconst isDataReady = !_.isEmpty(this.state.dataSource);\n\n\t\treturn (\n\t\t\t<View\n\t\t\t\tstyle={[styles.container, !this.props.isWidget && styles.mainContainer]}\n\t\t\t>\n\t\t\t\t{isDataReady && (\n\t\t\t\t\t<FlatList\n\t\t\t\t\t\tkeyboardShouldPersistTaps=\"always\"\n\t\t\t\t\t\tstyle={styles.fill}\n\t\t\t\t\t\tdata={dataSource}\n\t\t\t\t\t\tListEmptyComponent={this.renderEmptyList()}\n\t\t\t\t\t\tListHeaderComponent={this.renderListHeader()}\n\t\t\t\t\t\tkeyExtractor={(item) => item.Id}\n\t\t\t\t\t\trenderItem={({ item, index }) => this.renderChat(item, index)}\n\t\t\t\t\t\tListFooterComponent={\n\t\t\t\t\t\t\t!this.props.isWidget && <View style={{ height: 15 }} />\n\t\t\t\t\t\t}\n\t\t\t\t\t\textraData={this.state}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t\t{!isDataReady && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{this.renderListHeader()}\n\t\t\t\t\t\t{this.renderEmptyList()}\n\t\t\t\t\t</>\n\t\t\t\t)}\n\t\t\t</View>\n\t\t);\n\t}\n}\n\nconst styles = {\n\tmainContainer: {\n\t\tpaddingVertical: 16,\n\t},\n\tcard: {\n\t\tposition: \"relative\",\n\t\tpaddingHorizontal: 0,\n\t\tpaddingVertical: 16,\n\t\tmarginBottom: 8,\n\t},\n\tsectionTitleContainer: {\n\t\theight: 30,\n\t\tpaddingHorizontal: 16,\n\t\tpaddingBottom: 8,\n\t\tjustifyContent: \"center\",\n\t},\n\tsectionTitle: {\n\t\tfontSize: 16,\n\t\tfontFamily: \"sf-semibold\",\n\t\tcolor: TEXT_DARK,\n\t},\n\tcontainer: {\n\t\tflex: 1,\n\t\tposition: \"relative\",\n\t},\n\trowReverse: {\n\t\tflexDirection: \"row-reverse\",\n\t\talignItems: \"center\",\n\t},\n\tfill: {\n\t\tflex: 1,\n\t\tbackgroundColor: \"#fff\",\n\t},\n\tlistItem: {\n\t\tbackgroundColor: \"#fff\",\n\t\tpaddingHorizontal: 15,\n\t\tpaddingBottom: 16,\n\t\tjustifyContent: \"flex-start\",\n\t\tflexDirection: \"row\",\n\t\tposition: \"relative\",\n\t},\n\textraSeparation: {\n\t\tmarginTop: 15,\n\t},\n\tunreadMarker: {\n\t\tbackgroundColor: \"transparent\",\n\t\tmarginTop: 35,\n\t\twidth: 10,\n\t\theight: 10,\n\t\tborderRadius: 5,\n\t},\n\tlistItemTextContainer: {\n\t\tflex: 1,\n\t\tmarginLeft: 10,\n\t},\n\tchatUserName: {\n\t\tfontSize: 16,\n\t\tfontFamily: \"sf-bold\",\n\t\tcolor: TEXT_DARK,\n\t},\n\tchatLastMessageContainer: {\n\t\tflexDirection: \"row\",\n\t\tjustifyContent: \"flex-start\",\n\t\tpaddingRight: 20,\n\t},\n\tchatReplyIcon: {\n\t\tfontSize: 18,\n\t\tfontFamily: \"sf-regular\",\n\t\tcolor: TEXT_MID,\n\t\tmarginRight: 5,\n\t},\n\tchatLastMessage: {\n\t\tfontSize: 13,\n\t\tfontFamily: \"sf-medium\",\n\t\tcolor: TEXT_LIGHT,\n\t\tmarginRight: 5,\n\t},\n\tchatTextBold: {\n\t\tfontFamily: \"sf-bold\",\n\t},\n\tchatTimeStamp: {\n\t\tfontSize: 10,\n\t\tfontFamily: \"sf-semibold\",\n\t\tcolor: TEXT_LIGHT,\n\t},\n\taddButtonContainer: {\n\t\tposition: \"absolute\",\n\t\tright: 20,\n\t\tbottom: 20,\n\t},\n\taddButton: {\n\t\tleft: 0,\n\t\twidth: 45,\n\t\theight: 45,\n\t},\n\tcounter: {\n\t\tborderRadius: 10,\n\t\theight: 20,\n\t\tjustifyContent: \"center\",\n\t\tminWidth: 20,\n\t\tpaddingHorizontal: 4,\n\t\tbackgroundColor: COLOUR_GREEN,\n\t},\n\tcounterText: {\n\t\tcolor: \"#fff\",\n\t\tfontSize: 12,\n\t\tfontFamily: \"sf-semibold\",\n\t\ttextAlign: \"center\",\n\t},\n\tpublicGroupsHeaderContainer: {\n\t\tpaddingHorizontal: 16,\n\t\tpaddingTop: 16,\n\t\tpaddingBottom: 8,\n\t},\n\tpublicGroupsTitle: {\n\t\tmarginBottom: 4,\n\t},\n\tpublicGroupsHelper: {\n\t\tlineHeight: 20,\n\t},\n};\n\nconst mapStateToProps = (state) => {\n\tconst circles = state[values.reducerKey];\n\tconst { user } = state;\n\n\treturn {\n\t\tgroups: circles.list,\n\t\tinvites: circles.invites,\n\t\tunreadCount: circles && circles.unreadCount ? circles.unreadCount : 0,\n\t\tuser,\n\t\tcolourBrandingMain: getMainBrandingColourFromState(state),\n\t\tcircleAllowPublicCircles: getSiteSettingFromState(\n\t\t\tstate,\n\t\t\tvalues.allowPublicKey,\n\t\t),\n\t};\n};\n\nexport default connect(mapStateToProps, { clearGroupCounter })(ChatList);\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","Component","Text","View","TouchableOpacity","FlatList","ScrollView","connect","moment","_","Icon","ProfilePic","EmptyStateMain","NavigationService","TEXT_DARK","TEXT_MID","TEXT_LIGHT","COLOUR_GREEN","getMainBrandingColourFromState","getSiteSettingFromState","clearGroupCounter","GroupInvite","CONST_STRINGS","PublicGroup","values","ChatList","constructor","_isMounted","state","showMore","dataSource","invites","publicGroups","componentDidMount","createDataSource","props","setState","UNSAFE_componentWillReceiveProps","nextProps","groups","setTimeout","shouldComponentUpdate","nextState","componentWillUnmount","onPressChat","group","Id","user","uid","navigate","screenCircleChat","chat","onPressBack","goBack","onClosePublicGroup","joined","index","indexOf","splice","newPublicGroups","getChatName","isEmpty","Title","IsPrivate","otherUser","find","Audience","u","userId","displayName","userNames","names","without","Object","keys","length","join","getChatImage","Thumbnail","Image","profilePic","getTimeText","input","gug","local","isBefore","startOf","format","getLastMessage","lastMessage","entityName","text","deleted","chatsToUse","filter","Deleted","messages","orderBy","chats","take","first","getEmptyStateText","options","EmptyText","EMPTY_GROUPS","shouldRenderPublicGroups","circleAllowPublicCircles","category","renderPublicGroupsHeader","createElement","style","styles","publicGroupsHeaderContainer","type","publicGroupsTitle","publicGroupsHelper","renderReply","lastUserKey","name","iconStyle","chatReplyIcon","renderUnreadCounter","counter","isUndefined","counterText","renderChat","chatName","chatImage","unreadCounter","Unread","key","marginTop","activeOpacity","onPress","bind","listItem","Diameter","listItemTextContainer","rowReverse","chatTimeStamp","color","fontFamily","Changed","fill","chatUserName","chatTextBold","numberOfLines","chatLastMessage","renderInvites","source","item","Rejected","map","invite","event","showHeader","renderPublicGroups","onClose","renderListHeader","ListHeaderComponent","isWidget","internalHeader","horizontal","showsHorizontalScrollIndicator","renderEmptyList","isLoading","title","height","paddingTop","marginHorizontal","render","limit","slice","isDataReady","container","mainContainer","keyboardShouldPersistTaps","data","ListEmptyComponent","keyExtractor","renderItem","ListFooterComponent","extraData","Fragment","paddingVertical","card","position","paddingHorizontal","marginBottom","sectionTitleContainer","paddingBottom","justifyContent","sectionTitle","fontSize","flex","flexDirection","alignItems","backgroundColor","extraSeparation","unreadMarker","width","borderRadius","marginLeft","chatLastMessageContainer","paddingRight","marginRight","addButtonContainer","right","bottom","addButton","left","minWidth","textAlign","lineHeight","mapStateToProps","circles","reducerKey","list","unreadCount","colourBrandingMain","allowPublicKey"],"sources":["ChatList.js"],"sourcesContent":["import React, { Component } from \"react\";\nimport { Text } from \"@plusscommunities/pluss-core-app/components\";\nimport { View, TouchableOpacity, FlatList, ScrollView } from \"react-native\";\nimport { connect } from \"react-redux\";\nimport moment from \"moment\";\nimport _ from \"lodash\";\nimport { Icon } from \"@rneui/themed\";\nimport { ProfilePic, EmptyStateMain } from \"../common\";\nimport NavigationService from \"../../js/NavigationService\";\nimport {\n\tTEXT_DARK,\n\tTEXT_MID,\n\tTEXT_LIGHT,\n\tCOLOUR_GREEN,\n\tgetMainBrandingColourFromState,\n\tgetSiteSettingFromState,\n} from \"../../js\";\nimport { clearGroupCounter } from \"../../actions\";\nimport GroupInvite from \"../notifications/GroupInvite\";\nimport { CONST_STRINGS } from \"../../config\";\nimport PublicGroup from \"../groups/PublicGroup\";\nimport { values } from \"../../values.config\";\n\nclass ChatList extends Component {\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._isMounted = false;\n\t\tthis.state = {\n\t\t\tshowMore: true,\n\t\t\tdataSource: [],\n\t\t\tinvites: [],\n\t\t\tpublicGroups: [],\n\t\t};\n\t}\n\n\tasync componentDidMount() {\n\t\tthis._isMounted = true;\n\n\t\tthis.createDataSource(this.props);\n\t\tthis.setState({ publicGroups: this.props.publicGroups });\n\t}\n\n\tUNSAFE_componentWillReceiveProps(nextProps) {\n\t\tif (nextProps.groups !== this.props.groups) {\n\t\t\tsetTimeout(() => {\n\t\t\t\tthis.createDataSource(nextProps);\n\t\t\t}, 500);\n\t\t}\n\t\tif (nextProps.publicGroups !== this.props.publicGroups) {\n\t\t\tthis.setState({\n\t\t\t\tpublicGroups: nextProps.publicGroups,\n\t\t\t});\n\t\t}\n\t}\n\n\tshouldComponentUpdate(nextProps, nextState) {\n\t\treturn (\n\t\t\tnextState.dataSource !== this.state.dataSource ||\n\t\t\tnextState.publicGroups !== this.state.publicGroups ||\n\t\t\tnextState.invites !== this.state.invites\n\t\t);\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis._isMounted = false;\n\t}\n\n\tonPressChat(group) {\n\t\tthis.props.clearGroupCounter(group.Id, this.props.user.uid);\n\t\tNavigationService.navigate(values.screenCircleChat, { chat: group });\n\t}\n\n\tonPressBack() {\n\t\tNavigationService.goBack();\n\t}\n\n\tonClosePublicGroup(group, joined) {\n\t\tif (joined) {\n\t\t\tconst index = this.state.publicGroups.indexOf(group);\n\t\t\tif (index > -1) {\n\t\t\t\tthis.state.publicGroups.splice(index, 1);\n\t\t\t\tconst newPublicGroups = this.state.publicGroups;\n\t\t\t\tif (this._isMounted) {\n\t\t\t\t\tthis.setState({\n\t\t\t\t\t\tpublicGroups: newPublicGroups,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tgetChatName(chat) {\n\t\tif (!_.isEmpty(chat.Title)) {\n\t\t\treturn chat.Title;\n\t\t}\n\t\tif (chat.IsPrivate) {\n\t\t\tconst otherUser = _.find(chat.Audience || [], (u) => {\n\t\t\t\treturn u.userId !== this.props.user.Id;\n\t\t\t});\n\t\t\tif (otherUser) {\n\t\t\t\treturn otherUser.displayName;\n\t\t\t}\n\t\t\treturn null;\n\t\t}\n\t\tif (chat.userNames) {\n\t\t\tconst names = _.without(\n\t\t\t\tObject.keys(chat.userNames),\n\t\t\t\tthis.props.user.displayName,\n\t\t\t);\n\t\t\treturn names.length > 2\n\t\t\t\t? `${names[0]} & ${names.length - 1} others`\n\t\t\t\t: names.join(\", \");\n\t\t}\n\t\treturn \"no title detected\";\n\t}\n\n\tgetChatImage(chat) {\n\t\tif (!_.isEmpty(chat.Thumbnail)) {\n\t\t\treturn chat.Thumbnail;\n\t\t}\n\t\tif (!_.isEmpty(chat.Image)) {\n\t\t\treturn chat.Image;\n\t\t}\n\t\tif (chat.IsPrivate) {\n\t\t\tconst otherUser = _.find(chat.Audience || [], (u) => {\n\t\t\t\treturn u.userId !== this.props.user.Id;\n\t\t\t});\n\t\t\tif (otherUser) {\n\t\t\t\treturn otherUser.profilePic;\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tgetTimeText(input) {\n\t\tconst gug = moment(input).local();\n\t\tif (gug.isBefore(moment().local().startOf(\"d\"))) {\n\t\t\treturn gug.format(\"D MMM\");\n\t\t}\n\t\treturn gug.format(\"h:mma\");\n\t}\n\n\tgetLastMessage(chat) {\n\t\tif (!chat.lastMessage) {\n\t\t\tif (chat.IsPrivate) {\n\t\t\t\treturn \"\";\n\t\t\t}\n\t\t\treturn `New ${values.entityName}`;\n\t\t}\n\t\tif (typeof chat.lastMessage === \"string\") {\n\t\t\treturn chat.lastMessage;\n\t\t}\n\t\t// Handle deleted messages or missing text\n\t\tif (!chat.lastMessage.text) {\n\t\t\treturn chat.lastMessage.deleted ? \"[Message deleted]\" : \"\";\n\t\t}\n\t\t// TODO recognise user name of last message\n\t\treturn chat.lastMessage.text;\n\t}\n\n\tshowMore() {\n\t\tif (this._isMounted) {\n\t\t\tthis.setState({ showMore: true });\n\t\t}\n\t\tsetTimeout(() => {\n\t\t\tthis.createDataSource(this.props);\n\t\t}, 50);\n\t}\n\n\tcreateDataSource(nextProps) {\n\t\tconst chatsToUse = _.filter(nextProps.groups, (chat) => {\n\t\t\treturn (\n\t\t\t\t!_.isEmpty(chat) &&\n\t\t\t\t!chat.deleted &&\n\t\t\t\t!chat.Deleted &&\n\t\t\t\tchat != null &&\n\t\t\t\t!chat.IsPrivate\n\t\t\t);\n\t\t});\n\n\t\tconst messages = _.orderBy(chatsToUse, \"Changed\", \"desc\");\n\n\t\tconst chats = [...(!this.state.showMore ? _.take(messages, 3) : messages)];\n\t\t// const chats = [\n\t\t// ...messages,\n\t\t// !this.state.showMore && chatsToUse.length > 3 ? { type: 'more' } : {}\n\t\t// ];\n\n\t\tif (!_.isEmpty(chats[0]) && chats[0] != null) {\n\t\t\tchats[0].first = true;\n\t\t}\n\n\t\tlet invites = nextProps.invites;\n\t\tif (invites == null) {\n\t\t\tinvites = [];\n\t\t}\n\t\tif (this._isMounted) {\n\t\t\tthis.setState({\n\t\t\t\tdataSource: chats,\n\t\t\t\tinvites,\n\t\t\t});\n\t\t}\n\t}\n\n\tgetEmptyStateText() {\n\t\tif (this.props.options && !_.isEmpty(this.props.options.EmptyText)) {\n\t\t\treturn this.props.options.EmptyText;\n\t\t}\n\t\treturn CONST_STRINGS.EMPTY_GROUPS;\n\t}\n\n\tshouldRenderPublicGroups() {\n\t\tif (!this.props.circleAllowPublicCircles) {\n\t\t\treturn false;\n\t\t}\n\t\tif (_.isEmpty(this.state.publicGroups)) {\n\t\t\treturn false;\n\t\t}\n\t\tif (this.props.user.category === \"family\") {\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t}\n\n\trenderPublicGroupsHeader() {\n\t\tif (!this.shouldRenderPublicGroups()) {\n\t\t\treturn null;\n\t\t}\n\t\treturn (\n\t\t\t<View style={styles.publicGroupsHeaderContainer}>\n\t\t\t\t<Text type=\"label\" style={styles.publicGroupsTitle}>\n\t\t\t\t\tGroups You Can Join\n\t\t\t\t</Text>\n\t\t\t\t<Text type=\"body\" style={styles.publicGroupsHelper}>\n\t\t\t\t\tAny member of your community can join these groups. Tap any group to\n\t\t\t\t\tjoin.\n\t\t\t\t</Text>\n\t\t\t</View>\n\t\t);\n\t}\n\n\trenderReply(chat) {\n\t\tif (chat.lastUserKey === this.props.user.uid) {\n\t\t\treturn (\n\t\t\t\t<Icon\n\t\t\t\t\tname=\"mail-reply\"\n\t\t\t\t\ttype=\"font-awesome\"\n\t\t\t\t\ticonStyle={styles.chatReplyIcon}\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\t\treturn null;\n\t}\n\n\trenderUnreadCounter(counter) {\n\t\tif (_.isUndefined(counter) || counter < 1) {\n\t\t\treturn null;\n\t\t}\n\t\treturn (\n\t\t\t<View style={styles.counter}>\n\t\t\t\t<Text style={styles.counterText}>{counter}</Text>\n\t\t\t</View>\n\t\t);\n\t}\n\n\trenderChat(chat) {\n\t\tif (_.isEmpty(chat) || chat.deleted || chat == null) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst chatName = this.getChatName(chat);\n\t\tconst chatImage = this.getChatImage(chat);\n\t\tconst unreadCounter = (chat.Unread && chat.Unread[this.props.user.Id]) || 0;\n\n\t\treturn (\n\t\t\t<View\n\t\t\t\tkey={`chat${chat.Id}`}\n\t\t\t\tstyle={[\n\t\t\t\t\tchat.first && _.isEmpty(this.state.invites) && { marginTop: 8 },\n\t\t\t\t]}\n\t\t\t>\n\t\t\t\t<TouchableOpacity\n\t\t\t\t\tactiveOpacity={0.9}\n\t\t\t\t\tonPress={this.onPressChat.bind(this, chat)}\n\t\t\t\t>\n\t\t\t\t\t<View\n\t\t\t\t\t\tstyle={[\n\t\t\t\t\t\t\tstyles.listItem,\n\t\t\t\t\t\t\t// extraSeparation && styles.extraSeparation\n\t\t\t\t\t\t]}\n\t\t\t\t\t>\n\t\t\t\t\t\t<ProfilePic Diameter={40} name={chatName} ProfilePic={chatImage} />\n\t\t\t\t\t\t<View style={styles.listItemTextContainer}>\n\t\t\t\t\t\t\t<View style={styles.rowReverse}>\n\t\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\t\tstyle={[\n\t\t\t\t\t\t\t\t\t\tstyles.chatTimeStamp,\n\t\t\t\t\t\t\t\t\t\t!!unreadCounter && {\n\t\t\t\t\t\t\t\t\t\t\tcolor: TEXT_DARK,\n\t\t\t\t\t\t\t\t\t\t\tfontFamily: \"sf-bold\",\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t]}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{this.getTimeText(chat.Changed)}\n\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t<View style={styles.fill}>\n\t\t\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\t\t\tstyle={[\n\t\t\t\t\t\t\t\t\t\t\tstyles.chatUserName,\n\t\t\t\t\t\t\t\t\t\t\t!!unreadCounter && styles.chatTextBold,\n\t\t\t\t\t\t\t\t\t\t]}\n\t\t\t\t\t\t\t\t\t\tnumberOfLines={1}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{chatName}\n\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t<View style={styles.rowReverse}>\n\t\t\t\t\t\t\t\t{this.renderUnreadCounter(unreadCounter)}\n\t\t\t\t\t\t\t\t<View style={styles.fill}>\n\t\t\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\t\t\tstyle={[styles.chatLastMessage, !!unreadCounter && {}]}\n\t\t\t\t\t\t\t\t\t\tnumberOfLines={1}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{this.getLastMessage(chat)}\n\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t</View>\n\t\t\t\t\t</View>\n\t\t\t\t</TouchableOpacity>\n\t\t\t</View>\n\t\t);\n\t}\n\n\trenderInvites() {\n\t\tconst source = _.filter(this.state.invites, (item) => {\n\t\t\treturn !item.Deleted && !item.Rejected;\n\t\t});\n\n\t\treturn source.map((invite, index) => {\n\t\t\tif (invite != null) {\n\t\t\t\treturn (\n\t\t\t\t\t<View key={invite.Id}>\n\t\t\t\t\t\t<GroupInvite\n\t\t\t\t\t\t\tinvite={invite}\n\t\t\t\t\t\t\tevent={invite}\n\t\t\t\t\t\t\tindex={index}\n\t\t\t\t\t\t\tkey={invite.Id}\n\t\t\t\t\t\t\tshowHeader\n\t\t\t\t\t\t/>\n\t\t\t\t\t</View>\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn null;\n\t\t});\n\t}\n\n\trenderPublicGroups() {\n\t\tif (!this.shouldRenderPublicGroups()) {\n\t\t\treturn null;\n\t\t}\n\t\treturn this.state.publicGroups.map((group, index) => {\n\t\t\tif (!group) {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\treturn (\n\t\t\t\t<View key={group.Id}>\n\t\t\t\t\t<PublicGroup\n\t\t\t\t\t\tgroup={group}\n\t\t\t\t\t\tindex={index}\n\t\t\t\t\t\tkey={group.Id}\n\t\t\t\t\t\tshowHeader\n\t\t\t\t\t\tonClose={this.onClosePublicGroup.bind(this, group)}\n\t\t\t\t\t/>\n\t\t\t\t</View>\n\t\t\t);\n\t\t});\n\t}\n\n\trenderListHeader() {\n\t\tif (\n\t\t\t!this.props.ListHeaderComponent &&\n\t\t\t((_.isEmpty(this.state.invites) && !this.shouldRenderPublicGroups()) ||\n\t\t\t\tthis.props.isWidget)\n\t\t) {\n\t\t\treturn null;\n\t\t}\n\t\tlet internalHeader = null;\n\t\tif (!_.isEmpty(this.state.invites) || this.shouldRenderPublicGroups()) {\n\t\t\tinternalHeader = (\n\t\t\t\t<View>\n\t\t\t\t\t{this.renderPublicGroupsHeader()}\n\t\t\t\t\t<ScrollView horizontal showsHorizontalScrollIndicator={false}>\n\t\t\t\t\t\t{!_.isEmpty(this.state.invites) && this.renderInvites()}\n\t\t\t\t\t\t{this.renderPublicGroups()}\n\t\t\t\t\t</ScrollView>\n\t\t\t\t</View>\n\t\t\t);\n\t\t}\n\t\treturn (\n\t\t\t<View>\n\t\t\t\t{this.props.ListHeaderComponent}\n\t\t\t\t{internalHeader}\n\t\t\t</View>\n\t\t);\n\t}\n\n\trenderEmptyList() {\n\t\tif (this.props.isLoading)\n\t\t\treturn (\n\t\t\t\t<EmptyStateMain\n\t\t\t\t\ttitle=\"Loading\"\n\t\t\t\t\tstyle={{ height: 180, paddingTop: 16, marginHorizontal: 16 }}\n\t\t\t\t/>\n\t\t\t);\n\t\tif (this.props.isWidget)\n\t\t\treturn (\n\t\t\t\t<EmptyStateMain\n\t\t\t\t\ttitle={this.getEmptyStateText()}\n\t\t\t\t\tstyle={{ height: 180, paddingTop: 16, marginHorizontal: 16 }}\n\t\t\t\t/>\n\t\t\t);\n\t\treturn (\n\t\t\t<EmptyStateMain\n\t\t\t\ttitle={this.getEmptyStateText()}\n\t\t\t\tstyle={{ marginHorizontal: 16, marginTop: 16 }}\n\t\t\t/>\n\t\t);\n\t}\n\n\trender() {\n\t\tconst dataSource = this.props.limit\n\t\t\t? this.state.dataSource.slice(0, this.props.limit)\n\t\t\t: this.state.dataSource;\n\t\tconst isDataReady = !_.isEmpty(this.state.dataSource);\n\n\t\treturn (\n\t\t\t<View\n\t\t\t\tstyle={[styles.container, !this.props.isWidget && styles.mainContainer]}\n\t\t\t>\n\t\t\t\t{isDataReady && (\n\t\t\t\t\t<FlatList\n\t\t\t\t\t\tkeyboardShouldPersistTaps=\"always\"\n\t\t\t\t\t\tstyle={styles.fill}\n\t\t\t\t\t\tdata={dataSource}\n\t\t\t\t\t\tListEmptyComponent={this.renderEmptyList()}\n\t\t\t\t\t\tListHeaderComponent={this.renderListHeader()}\n\t\t\t\t\t\tkeyExtractor={(item) => item.Id}\n\t\t\t\t\t\trenderItem={({ item, index }) => this.renderChat(item, index)}\n\t\t\t\t\t\tListFooterComponent={\n\t\t\t\t\t\t\t!this.props.isWidget && <View style={{ height: 15 }} />\n\t\t\t\t\t\t}\n\t\t\t\t\t\textraData={this.state}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t\t{!isDataReady && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{this.renderListHeader()}\n\t\t\t\t\t\t{this.renderEmptyList()}\n\t\t\t\t\t</>\n\t\t\t\t)}\n\t\t\t</View>\n\t\t);\n\t}\n}\n\nconst styles = {\n\tmainContainer: {\n\t\tpaddingVertical: 16,\n\t},\n\tcard: {\n\t\tposition: \"relative\",\n\t\tpaddingHorizontal: 0,\n\t\tpaddingVertical: 16,\n\t\tmarginBottom: 8,\n\t},\n\tsectionTitleContainer: {\n\t\theight: 30,\n\t\tpaddingHorizontal: 16,\n\t\tpaddingBottom: 8,\n\t\tjustifyContent: \"center\",\n\t},\n\tsectionTitle: {\n\t\tfontSize: 16,\n\t\tfontFamily: \"sf-semibold\",\n\t\tcolor: TEXT_DARK,\n\t},\n\tcontainer: {\n\t\tflex: 1,\n\t\tposition: \"relative\",\n\t},\n\trowReverse: {\n\t\tflexDirection: \"row-reverse\",\n\t\talignItems: \"center\",\n\t},\n\tfill: {\n\t\tflex: 1,\n\t\tbackgroundColor: \"#fff\",\n\t},\n\tlistItem: {\n\t\tbackgroundColor: \"#fff\",\n\t\tpaddingHorizontal: 15,\n\t\tpaddingBottom: 16,\n\t\tjustifyContent: \"flex-start\",\n\t\tflexDirection: \"row\",\n\t\tposition: \"relative\",\n\t},\n\textraSeparation: {\n\t\tmarginTop: 15,\n\t},\n\tunreadMarker: {\n\t\tbackgroundColor: \"transparent\",\n\t\tmarginTop: 35,\n\t\twidth: 10,\n\t\theight: 10,\n\t\tborderRadius: 5,\n\t},\n\tlistItemTextContainer: {\n\t\tflex: 1,\n\t\tmarginLeft: 10,\n\t},\n\tchatUserName: {\n\t\tfontSize: 16,\n\t\tfontFamily: \"sf-bold\",\n\t\tcolor: TEXT_DARK,\n\t},\n\tchatLastMessageContainer: {\n\t\tflexDirection: \"row\",\n\t\tjustifyContent: \"flex-start\",\n\t\tpaddingRight: 20,\n\t},\n\tchatReplyIcon: {\n\t\tfontSize: 18,\n\t\tfontFamily: \"sf-regular\",\n\t\tcolor: TEXT_MID,\n\t\tmarginRight: 5,\n\t},\n\tchatLastMessage: {\n\t\tfontSize: 13,\n\t\tfontFamily: \"sf-medium\",\n\t\tcolor: TEXT_LIGHT,\n\t\tmarginRight: 5,\n\t},\n\tchatTextBold: {\n\t\tfontFamily: \"sf-bold\",\n\t},\n\tchatTimeStamp: {\n\t\tfontSize: 10,\n\t\tfontFamily: \"sf-semibold\",\n\t\tcolor: TEXT_LIGHT,\n\t},\n\taddButtonContainer: {\n\t\tposition: \"absolute\",\n\t\tright: 20,\n\t\tbottom: 20,\n\t},\n\taddButton: {\n\t\tleft: 0,\n\t\twidth: 45,\n\t\theight: 45,\n\t},\n\tcounter: {\n\t\tborderRadius: 10,\n\t\theight: 20,\n\t\tjustifyContent: \"center\",\n\t\tminWidth: 20,\n\t\tpaddingHorizontal: 4,\n\t\tbackgroundColor: COLOUR_GREEN,\n\t},\n\tcounterText: {\n\t\tcolor: \"#fff\",\n\t\tfontSize: 12,\n\t\tfontFamily: \"sf-semibold\",\n\t\ttextAlign: \"center\",\n\t},\n\tpublicGroupsHeaderContainer: {\n\t\tpaddingHorizontal: 16,\n\t\tpaddingTop: 16,\n\t\tpaddingBottom: 8,\n\t},\n\tpublicGroupsTitle: {\n\t\tmarginBottom: 4,\n\t},\n\tpublicGroupsHelper: {\n\t\tlineHeight: 20,\n\t},\n};\n\nconst mapStateToProps = (state) => {\n\tconst circles = state[values.reducerKey];\n\tconst { user } = state;\n\n\treturn {\n\t\tgroups: circles.list,\n\t\tinvites: circles.invites,\n\t\tunreadCount: circles && circles.unreadCount ? circles.unreadCount : 0,\n\t\tuser,\n\t\tcolourBrandingMain: getMainBrandingColourFromState(state),\n\t\tcircleAllowPublicCircles: getSiteSettingFromState(\n\t\t\tstate,\n\t\t\tvalues.allowPublicKey,\n\t\t),\n\t};\n};\n\nexport default connect(mapStateToProps, { clearGroupCounter })(ChatList);\n"],"mappings":"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","ignoreList":[]}