@plusscommunities/pluss-circles-app-groups 6.0.8-auth.0 → 6.0.9-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.
- package/dist/module/actions/ChatActions.js +3 -3
- package/dist/module/actions/ChatActions.js.map +1 -1
- package/dist/module/actions/GroupActions.js +20 -20
- package/dist/module/actions/GroupActions.js.map +1 -1
- package/dist/module/actions/index.js +3 -3
- package/dist/module/actions/index.js.map +1 -1
- package/dist/module/actions/types.js +5 -2
- package/dist/module/actions/types.js.map +1 -1
- package/dist/module/components/chat/Chat.js +99 -56
- package/dist/module/components/chat/Chat.js.map +1 -1
- package/dist/module/components/chat/ChatList.js +90 -71
- package/dist/module/components/chat/ChatList.js.map +1 -1
- package/dist/module/components/chat/ContactsList.js +35 -25
- package/dist/module/components/chat/ContactsList.js.map +1 -1
- package/dist/module/components/chat/KioskPeoplePage.js +41 -40
- package/dist/module/components/chat/KioskPeoplePage.js.map +1 -1
- package/dist/module/components/chat/PeopleContainer.js +5 -5
- package/dist/module/components/chat/PeopleContainer.js.map +1 -1
- package/dist/module/components/chat/PeoplePage.js +51 -49
- package/dist/module/components/chat/PeoplePage.js.map +1 -1
- package/dist/module/components/common/SwipeableUserListing.js +123 -0
- package/dist/module/components/common/SwipeableUserListing.js.map +1 -0
- package/dist/module/components/common/index.js +5 -2
- package/dist/module/components/common/index.js.map +1 -1
- package/dist/module/components/events/EventInvitePopup.js +41 -41
- package/dist/module/components/events/EventInvitePopup.js.map +1 -1
- package/dist/module/components/groups/EditGroup.js +66 -65
- package/dist/module/components/groups/EditGroup.js.map +1 -1
- package/dist/module/components/groups/GroupDetails.js +38 -37
- package/dist/module/components/groups/GroupDetails.js.map +1 -1
- package/dist/module/components/groups/GroupsList.js +12 -12
- package/dist/module/components/groups/GroupsList.js.map +1 -1
- package/dist/module/components/groups/GroupsWidget.js +21 -20
- package/dist/module/components/groups/GroupsWidget.js.map +1 -1
- package/dist/module/components/groups/NewGroup.js +104 -103
- package/dist/module/components/groups/NewGroup.js.map +1 -1
- package/dist/module/components/groups/PublicGroup.js +18 -17
- package/dist/module/components/groups/PublicGroup.js.map +1 -1
- package/dist/module/components/groups/PublicGroupAction.js +40 -39
- package/dist/module/components/groups/PublicGroupAction.js.map +1 -1
- package/dist/module/components/notifications/GroupInvite.js +28 -27
- package/dist/module/components/notifications/GroupInvite.js.map +1 -1
- package/dist/module/components/notifications/GroupInviteAction.js +45 -44
- package/dist/module/components/notifications/GroupInviteAction.js.map +1 -1
- package/dist/module/components/notifications/GroupMessage.js +21 -20
- package/dist/module/components/notifications/GroupMessage.js.map +1 -1
- package/dist/module/components/takeover/TakeoverBackground.js +5 -5
- package/dist/module/components/takeover/TakeoverBackground.js.map +1 -1
- package/dist/module/config/index.js +2 -2
- package/dist/module/config/index.js.map +1 -1
- package/dist/module/core.config.js +2 -3
- package/dist/module/core.config.js.map +1 -1
- package/dist/module/feature.config.js +52 -33
- package/dist/module/feature.config.js.map +1 -1
- package/dist/module/index.js +14 -14
- package/dist/module/index.js.map +1 -1
- package/dist/module/js/Colors.js +1 -1
- package/dist/module/js/Colors.js.map +1 -1
- package/dist/module/js/NavigationService.js +1 -1
- package/dist/module/js/NavigationService.js.map +1 -1
- package/dist/module/js/Styles.js +1 -1
- package/dist/module/js/Styles.js.map +1 -1
- package/dist/module/js/circles/MapStateToDirectMessages.js +2 -2
- package/dist/module/js/circles/MapStateToDirectMessages.js.map +1 -1
- package/dist/module/js/index.js +3 -3
- package/dist/module/js/index.js.map +1 -1
- package/dist/module/reducers/ChatsReducer.js +6 -6
- package/dist/module/reducers/ChatsReducer.js.map +1 -1
- package/dist/module/reducers/GroupsReducer.js +79 -17
- package/dist/module/reducers/GroupsReducer.js.map +1 -1
- package/dist/module/reducers/reducerKeys.js +1 -1
- package/dist/module/reducers/reducerKeys.js.map +1 -1
- package/dist/module/values.config.default.js +25 -25
- package/dist/module/values.config.default.js.map +1 -1
- package/dist/module/values.config.groups.js +25 -25
- package/dist/module/values.config.groups.js.map +1 -1
- package/dist/module/values.config.js +25 -25
- package/dist/module/values.config.js.map +1 -1
- package/dist/module/webapi/circleActions.js +43 -30
- package/dist/module/webapi/circleActions.js.map +1 -1
- package/dist/module/webapi/helper.js +1 -1
- package/dist/module/webapi/helper.js.map +1 -1
- package/dist/module/webapi/index.js +3 -3
- package/dist/module/webapi/index.js.map +1 -1
- package/dist/module/webapi/messageActions.js +19 -8
- package/dist/module/webapi/messageActions.js.map +1 -1
- package/package.json +57 -57
- package/src/actions/ChatActions.js +55 -55
- package/src/actions/GroupActions.js +246 -237
- package/src/actions/index.js +3 -3
- package/src/actions/types.js +5 -2
- package/src/components/chat/Chat.js +730 -600
- package/src/components/chat/ChatList.js +598 -481
- package/src/components/chat/ContactsList.js +187 -157
- package/src/components/chat/KioskPeoplePage.js +316 -292
- package/src/components/chat/PeopleContainer.js +14 -14
- package/src/components/chat/PeoplePage.js +450 -383
- package/src/components/common/SwipeableUserListing.js +137 -0
- package/src/components/common/index.js +5 -2
- package/src/components/events/EventInvitePopup.js +587 -506
- package/src/components/groups/EditGroup.js +606 -541
- package/src/components/groups/GroupDetails.js +385 -305
- package/src/components/groups/GroupsList.js +91 -79
- package/src/components/groups/GroupsWidget.js +123 -116
- package/src/components/groups/NewGroup.js +758 -639
- package/src/components/groups/PublicGroup.js +130 -101
- package/src/components/groups/PublicGroupAction.js +307 -244
- package/src/components/notifications/GroupInvite.js +168 -139
- package/src/components/notifications/GroupInviteAction.js +366 -273
- package/src/components/notifications/GroupMessage.js +111 -102
- package/src/components/takeover/TakeoverBackground.js +24 -18
- package/src/config/index.js +4 -4
- package/src/core.config.js +25 -3
- package/src/feature.config.js +261 -229
- package/src/index.js +24 -21
- package/src/js/Colors.js +5 -3
- package/src/js/NavigationService.js +5 -4
- package/src/js/Styles.js +1 -1
- package/src/js/circles/MapStateToDirectMessages.js +6 -6
- package/src/js/index.js +3 -3
- package/src/reducers/ChatsReducer.js +66 -53
- package/src/reducers/GroupsReducer.js +204 -128
- package/src/reducers/reducerKeys.js +1 -1
- package/src/values.config.default.js +29 -29
- package/src/values.config.groups.js +29 -29
- package/src/values.config.js +29 -29
- package/src/webapi/circleActions.js +109 -101
- package/src/webapi/helper.js +1 -1
- package/src/webapi/index.js +3 -3
- package/src/webapi/messageActions.js +47 -36
- package/dist/module/assets/fonts.js +0 -3
- package/dist/module/assets/fonts.js.map +0 -1
- package/src/assets/fonts.js +0 -3
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import _ from
|
|
2
|
-
import { 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 } from
|
|
1
|
+
import _ from "lodash";
|
|
2
|
+
import { 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 } from "./types";
|
|
3
3
|
export const createChat = (users, title) => {
|
|
4
|
-
console.log(
|
|
4
|
+
console.log("CREATE CHAT ACTION HIT.......???");
|
|
5
5
|
};
|
|
6
6
|
export const deleteChat = chatKey => {
|
|
7
7
|
return async dispatch => {
|
|
@@ -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
|
|
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,13 +1,13 @@
|
|
|
1
|
-
import _ from
|
|
2
|
-
import { circleActions } from
|
|
3
|
-
import { getUrl } from
|
|
4
|
-
import { authedFunction } from
|
|
5
|
-
import NavigationService from
|
|
6
|
-
import { PUBLIC_CIRCLES_LOAD_INITIALISE, CIRCLES_LOAD_INITIALISE, CIRCLE_INVITES_UPDATED, CIRCLE_INVITES_LOADED, CREATED_CIRCLE, CIRCLES_LOADED, UPDATE_CIRCLE_UNREAD, CLEAR_SINGLE_CIRCLE_UNREAD } from
|
|
7
|
-
import { values } from
|
|
8
|
-
export const refreshGroups = () => {
|
|
1
|
+
import _ from "lodash";
|
|
2
|
+
import { circleActions } from "../webapi";
|
|
3
|
+
import { getUrl } from "../webapi/helper";
|
|
4
|
+
import { authedFunction } from "../js";
|
|
5
|
+
import NavigationService from "../js/NavigationService";
|
|
6
|
+
import { PUBLIC_CIRCLES_LOAD_INITIALISE, CIRCLES_LOAD_INITIALISE, CIRCLE_INVITES_UPDATED, CIRCLE_INVITES_LOADED, CREATED_CIRCLE, CIRCLES_LOADED, UPDATE_CIRCLE_UNREAD, CLEAR_SINGLE_CIRCLE_UNREAD, ARCHIVE_CIRCLE } from "./types";
|
|
7
|
+
import { values } from "../values.config";
|
|
8
|
+
export const refreshGroups = (includeArchived = false) => {
|
|
9
9
|
return async dispatch => {
|
|
10
|
-
const res = await circleActions.getGroups();
|
|
10
|
+
const res = await circleActions.getGroups(includeArchived);
|
|
11
11
|
dispatch({
|
|
12
12
|
type: CIRCLES_LOAD_INITIALISE,
|
|
13
13
|
payload: res.data.Items
|
|
@@ -89,7 +89,7 @@ export const getGroupInvites = () => {
|
|
|
89
89
|
payload: res.data.Items
|
|
90
90
|
});
|
|
91
91
|
}).catch(err => {
|
|
92
|
-
console.log(
|
|
92
|
+
console.log("fetch circle invites FAIL");
|
|
93
93
|
console.log(err);
|
|
94
94
|
});
|
|
95
95
|
};
|
|
@@ -132,8 +132,8 @@ export const handleGroupInvite = (invite, action, tempUserId) => {
|
|
|
132
132
|
}, 100);
|
|
133
133
|
}
|
|
134
134
|
await authedFunction({
|
|
135
|
-
method:
|
|
136
|
-
url: getUrl(values.serviceKey,
|
|
135
|
+
method: "post",
|
|
136
|
+
url: getUrl(values.serviceKey, "handleGroupInvite"),
|
|
137
137
|
data: {
|
|
138
138
|
inviteID: invite.Id,
|
|
139
139
|
action
|
|
@@ -146,7 +146,7 @@ export const handleGroupInvite = (invite, action, tempUserId) => {
|
|
|
146
146
|
});
|
|
147
147
|
}
|
|
148
148
|
}).catch(err => {
|
|
149
|
-
console.log(
|
|
149
|
+
console.log("handle event invite fail", err);
|
|
150
150
|
});
|
|
151
151
|
};
|
|
152
152
|
};
|
|
@@ -179,7 +179,7 @@ export const joinGroup = group => {
|
|
|
179
179
|
payload: [res.data.group]
|
|
180
180
|
});
|
|
181
181
|
}).catch(err => {
|
|
182
|
-
console.log(
|
|
182
|
+
console.log("handle join group fail", err);
|
|
183
183
|
});
|
|
184
184
|
};
|
|
185
185
|
};
|
|
@@ -192,8 +192,8 @@ export const softLeaveGroup = group => {
|
|
|
192
192
|
payload: [newGroup]
|
|
193
193
|
});
|
|
194
194
|
await authedFunction({
|
|
195
|
-
method:
|
|
196
|
-
url: getUrl(values.serviceKey,
|
|
195
|
+
method: "post",
|
|
196
|
+
url: getUrl(values.serviceKey, "leaveGroup"),
|
|
197
197
|
data: {
|
|
198
198
|
groupID: group.Id
|
|
199
199
|
}
|
|
@@ -208,8 +208,8 @@ export const deleteGroup = group => {
|
|
|
208
208
|
payload: [group]
|
|
209
209
|
});
|
|
210
210
|
await authedFunction({
|
|
211
|
-
method:
|
|
212
|
-
url:
|
|
211
|
+
method: "POST",
|
|
212
|
+
url: getUrl(values.serviceKey, "update/delete"),
|
|
213
213
|
data: {
|
|
214
214
|
circleId: group.Id
|
|
215
215
|
}
|
|
@@ -233,8 +233,8 @@ export const editGroup = (group, usersToAdd, usersToRemove) => {
|
|
|
233
233
|
});
|
|
234
234
|
try {
|
|
235
235
|
await authedFunction({
|
|
236
|
-
method:
|
|
237
|
-
url: getUrl(values.serviceKey,
|
|
236
|
+
method: "post",
|
|
237
|
+
url: getUrl(values.serviceKey, "editUsersGroup"),
|
|
238
238
|
data: {
|
|
239
239
|
group,
|
|
240
240
|
usersToAdd,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_","circleActions","getUrl","authedFunction","NavigationService","PUBLIC_CIRCLES_LOAD_INITIALISE","CIRCLES_LOAD_INITIALISE","CIRCLE_INVITES_UPDATED","CIRCLE_INVITES_LOADED","CREATED_CIRCLE","CIRCLES_LOADED","UPDATE_CIRCLE_UNREAD","CLEAR_SINGLE_CIRCLE_UNREAD","values","refreshGroups","dispatch","res","getGroups","type","payload","data","Items","loadGroups","groups","updatePublicGroups","publicGroups","updateGroups","updateUnreadCounter","userId","isEmpty","counter","forEach","element","Deleted","isUndefined","Unread","clearGroupCounter","groupId","isPrivate","clearGroupUnread","createGroup","group","updateInvites","invites","getGroupInvites","userID","token","then","catch","err","console","log","handleGroupInvite","invite","action","tempUserId","tempEvent","clone","newInvite","cloneDeep","fetchingLatest","ads","findIndex","Invites","item","userToUse","splice","Audience","push","chat","key","Id","title","Title","unread","userKeys","userNames","userProfilePics","setTimeout","navigate","screenCircleChat","new","back","screenCircleChatList","method","url","serviceKey","inviteID","joinGroup","tempGroup","softLeaveGroup","newGroup","groupID","deleteGroup","Helper","circleId","editGroup","usersToAdd","usersToRemove","localGroup","filter","user","some","e"],"sources":["GroupActions.js"],"sourcesContent":["import _ from 'lodash';\nimport { circleActions } from '../webapi';\nimport { getUrl } from '../webapi/helper';\nimport { authedFunction } from '../js';\nimport NavigationService from '../js/NavigationService';\nimport {\n PUBLIC_CIRCLES_LOAD_INITIALISE,\n CIRCLES_LOAD_INITIALISE,\n CIRCLE_INVITES_UPDATED,\n CIRCLE_INVITES_LOADED,\n CREATED_CIRCLE,\n CIRCLES_LOADED,\n UPDATE_CIRCLE_UNREAD,\n CLEAR_SINGLE_CIRCLE_UNREAD,\n} from './types';\nimport { values } from '../values.config';\n\nexport const refreshGroups = () => {\n return async dispatch => {\n const res = await circleActions.getGroups();\n dispatch({\n type: CIRCLES_LOAD_INITIALISE,\n payload: res.data.Items,\n });\n };\n};\n\nexport const loadGroups = groups => {\n return dispatch => {\n dispatch({\n type: CIRCLES_LOADED,\n payload: groups,\n });\n };\n};\n\nexport const updatePublicGroups = publicGroups => {\n return async dispatch => {\n dispatch({\n type: PUBLIC_CIRCLES_LOAD_INITIALISE,\n payload: publicGroups,\n });\n };\n};\n\nexport const updateGroups = groups => {\n return async dispatch => {\n dispatch({\n type: CIRCLES_LOAD_INITIALISE,\n payload: groups,\n });\n };\n};\n\nexport const updateUnreadCounter = (groups, userId) => {\n return async dispatch => {\n if (!_.isEmpty(groups)) {\n let counter = 0;\n groups.forEach(element => {\n if (!element.Deleted && !_.isUndefined(element.Unread) && !_.isEmpty(element.Unread) && !_.isUndefined(element.Unread[userId])) {\n counter += element.Unread[userId];\n }\n });\n\n dispatch({\n type: UPDATE_CIRCLE_UNREAD,\n payload: counter,\n });\n }\n };\n};\n\nexport const clearGroupCounter = (groupId, userId, isPrivate) => {\n circleActions.clearGroupUnread(groupId, userId);\n return {\n type: CLEAR_SINGLE_CIRCLE_UNREAD,\n payload: { groupId, userId, isPrivate },\n };\n};\n\nexport const createGroup = group => {\n return dispatch => {\n dispatch({\n type: CREATED_CIRCLE,\n payload: group,\n });\n };\n};\n\nexport const updateInvites = invites => {\n return dispatch => {\n dispatch({\n type: CIRCLE_INVITES_LOADED,\n payload: invites,\n });\n };\n};\n\nexport const getGroupInvites = () => {\n return async dispatch => {\n circleActions\n .getGroupInvites(userID, token)\n .then(res => {\n dispatch({\n type: CIRCLE_INVITES_LOADED,\n payload: res.data.Items,\n });\n })\n .catch(err => {\n console.log('fetch circle invites FAIL');\n console.log(err);\n });\n };\n};\n\nexport const handleGroupInvite = (invite, action, tempUserId) => {\n const tempEvent = _.clone(invite);\n const newInvite = _.cloneDeep(invite);\n newInvite.Deleted = true;\n return async dispatch => {\n dispatch({\n type: CIRCLE_INVITES_UPDATED,\n payload: [newInvite],\n });\n if (action) {\n tempEvent.fetchingLatest = true;\n const ads = _.findIndex(tempEvent.Invites, item => {\n return item.userId === tempUserId;\n });\n const userToUse = tempEvent.Invites[ads];\n tempEvent.Invites.splice(ads, 1);\n tempEvent.Audience.push(userToUse);\n\n const chat = {\n key: invite.Id,\n title: invite.Title,\n unread: [],\n userKeys: [],\n userNames: [],\n userProfilePics: [],\n };\n dispatch({\n type: CIRCLES_LOADED,\n payload: [tempEvent],\n });\n setTimeout(() => {\n NavigationService.navigate(values.screenCircleChat, {\n chat,\n new: true,\n back: values.screenCircleChatList,\n });\n }, 100);\n }\n\n await authedFunction({\n method: 'post',\n url: getUrl(values.serviceKey, 'handleGroupInvite'),\n data: {\n inviteID: invite.Id,\n action,\n },\n })\n .then(res => {\n if (action) {\n dispatch({\n type: CIRCLES_LOADED,\n payload: [res.data.group],\n });\n }\n })\n .catch(err => {\n console.log('handle event invite fail', err);\n });\n };\n};\n\nexport const joinGroup = group => {\n const tempGroup = _.clone(group);\n return async dispatch => {\n tempGroup.fetchingLatest = true;\n\n const chat = {\n key: group.Id,\n title: group.Title,\n unread: [],\n userKeys: [],\n userNames: [],\n userProfilePics: [],\n };\n dispatch({\n type: CIRCLES_LOADED,\n payload: [tempGroup],\n });\n setTimeout(() => {\n NavigationService.navigate(values.screenCircleChat, {\n chat,\n new: true,\n back: values.screenCircleChatList,\n });\n }, 100);\n\n await circleActions\n .joinGroup(group.Id)\n .then(res => {\n dispatch({\n type: CIRCLES_LOADED,\n payload: [res.data.group],\n });\n })\n .catch(err => {\n console.log('handle join group fail', err);\n });\n };\n};\n\nexport const softLeaveGroup = group => {\n const newGroup = _.cloneDeep(group);\n newGroup.Deleted = true;\n return async dispatch => {\n dispatch({\n type: CIRCLES_LOADED,\n payload: [newGroup],\n });\n await authedFunction({\n method: 'post',\n url: getUrl(values.serviceKey, 'leaveGroup'),\n data: {\n groupID: group.Id,\n },\n });\n };\n};\n\nexport const deleteGroup = group => {\n group.Deleted = true;\n return async dispatch => {\n dispatch({\n type: CIRCLES_LOADED,\n payload: [group],\n });\n\n await authedFunction({\n method: 'POST',\n url: Helper.getUrl(values.serviceKey, 'update/delete'),\n data: {\n circleId: group.Id,\n },\n });\n };\n};\n\nexport const editGroup = (group, usersToAdd, usersToRemove) => {\n return async dispatch => {\n // push to local store\n const localGroup = { ...group };\n localGroup.Audience = _.filter([...localGroup.Audience, ...usersToAdd], user => {\n return !_.some(usersToRemove, userId => {\n return user.userId === userId;\n });\n });\n dispatch({\n type: CIRCLES_LOADED,\n payload: [localGroup],\n });\n\n try {\n await authedFunction({\n method: 'post',\n url: getUrl(values.serviceKey, 'editUsersGroup'),\n data: {\n group,\n usersToAdd,\n usersToRemove,\n },\n });\n } catch (e) {}\n };\n};\n"],"mappings":"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","ignoreList":[]}
|
|
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,4 +1,4 @@
|
|
|
1
|
-
import { Actions } from
|
|
1
|
+
import { Actions } from "../core.config";
|
|
2
2
|
export const getFollowers = Actions.getFollowers;
|
|
3
3
|
export const addFollower = Actions.addFollower;
|
|
4
4
|
export const selectEventTime = Actions.selectEventTime;
|
|
@@ -21,14 +21,14 @@ export const updateNavRead = Actions.updateNavRead;
|
|
|
21
21
|
// export * from './NavigationActions';
|
|
22
22
|
// export * from './PersonalEventActions';
|
|
23
23
|
// export * from './UserSettingsActions';
|
|
24
|
-
export * from
|
|
24
|
+
export * from "./ChatActions";
|
|
25
25
|
// export * from './NotificationActions';
|
|
26
26
|
// export * from './ProfileActions';
|
|
27
27
|
// export * from './ContactActions';
|
|
28
28
|
// export * from './EventContactActions';
|
|
29
29
|
// export * from './FollowerActions';
|
|
30
30
|
// export * from './InfoActions';
|
|
31
|
-
export * from
|
|
31
|
+
export * from "./GroupActions";
|
|
32
32
|
// export * from './GeneralActions';
|
|
33
33
|
// export * from './ResidentActions';
|
|
34
34
|
// export * from './ServiceActions';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Actions","getFollowers","addFollower","selectEventTime","residentsLoaded","linkedUsersLoaded","linkedToUsersLoaded","updateNavRead"],"sources":["index.js"],"sourcesContent":["import { Actions } from
|
|
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,5 +1,5 @@
|
|
|
1
|
-
import { values } from
|
|
2
|
-
import { ActionTypes } from
|
|
1
|
+
import { values } from "../values.config";
|
|
2
|
+
import { ActionTypes } from "../core.config";
|
|
3
3
|
export const LOGOUT = ActionTypes.LOGOUT;
|
|
4
4
|
export const CHANGE_ROLE = ActionTypes.CHANGE_ROLE;
|
|
5
5
|
|
|
@@ -25,4 +25,7 @@ export const UPDATE_CIRCLE_UNREAD = `UPDATE_${values.actionCircleKey}_UNREAD`;
|
|
|
25
25
|
export const CLEAR_SINGLE_CIRCLE_UNREAD = `CLEAR_SINGLE_${values.actionCircleKey}_UNREAD`;
|
|
26
26
|
export const CIRCLE_INVITES_LOADED = `${values.actionCircleKey}_INVITES_LOADED`;
|
|
27
27
|
export const CIRCLE_INVITES_UPDATED = `${values.actionCircleKey}_INVITES_UPDATED`;
|
|
28
|
+
|
|
29
|
+
// Archive Actions
|
|
30
|
+
export const ARCHIVE_CIRCLE = `ARCHIVE_${values.actionCircleKey}`;
|
|
28
31
|
//# sourceMappingURL=types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["values","ActionTypes","LOGOUT","CHANGE_ROLE","SOFT_ADD_CIRCLE_CHAT","actionCircleKey","RECEIVED_CIRCLE_MESSAGES","START_FETCHING_CIRCLE_CHATS","RECEIVED_CIRCLE_CHATS","CREATED_CIRCLE_CHAT","DELETED_CIRCLE_CHAT","DISCONNECTED_CIRCLE_CHAT","DISCONNECTED_CIRCLE_CHAT_LIST","BLOCKED_CIRCLE_USER","RECEIVED_BLOCKED_CIRCLE_USERS","PUBLIC_CIRCLES_LOAD_INITIALISE","CIRCLES_LOAD_INITIALISE","CIRCLES_LOADED","CREATED_CIRCLE","CLEAR_CIRCLES","UPDATE_CIRCLE_UNREAD","CLEAR_SINGLE_CIRCLE_UNREAD","CIRCLE_INVITES_LOADED","CIRCLE_INVITES_UPDATED"],"sources":["types.js"],"sourcesContent":["import { values } from
|
|
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,24 +1,24 @@
|
|
|
1
|
-
function _defineProperty(
|
|
2
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i
|
|
1
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
2
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
|
|
3
3
|
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
4
|
-
import React, { Component } from
|
|
5
|
-
import { View, Platform, Alert, TouchableWithoutFeedback } from
|
|
6
|
-
import { connect } from
|
|
7
|
-
import _ from
|
|
8
|
-
import moment from
|
|
9
|
-
import { PlussChat, Header, ConfirmPopup, DropDownMenu, DropDownItem } from
|
|
10
|
-
import { getGroupInvites, updateUnreadCounter, handleGroupInvite, softLeaveGroup, deleteGroup, createChat, disconnectChat, blockUser, deleteChat, updateGroups, clearGroupCounter, updateChatMessages } from
|
|
11
|
-
import { TEXT_DARK, TEXT_LIGHTER, StatusBarHeight, getMainBrandingColourFromState, getLightBrandingColourFromState } from
|
|
12
|
-
import NavigationService from
|
|
13
|
-
import { getTinyChatDefault } from
|
|
14
|
-
import { messageActions, circleActions } from
|
|
15
|
-
import { values } from
|
|
4
|
+
import React, { Component } from "react";
|
|
5
|
+
import { View, Platform, Alert, TouchableWithoutFeedback } from "react-native";
|
|
6
|
+
import { connect } from "react-redux";
|
|
7
|
+
import _ from "lodash";
|
|
8
|
+
import moment from "moment";
|
|
9
|
+
import { PlussChat, Header, ConfirmPopup, DropDownMenu, DropDownItem } from "../common";
|
|
10
|
+
import { getGroupInvites, updateUnreadCounter, handleGroupInvite, softLeaveGroup, deleteGroup, createChat, disconnectChat, blockUser, deleteChat, updateGroups, clearGroupCounter, updateChatMessages } from "../../actions";
|
|
11
|
+
import { TEXT_DARK, TEXT_LIGHTER, StatusBarHeight, getMainBrandingColourFromState, getLightBrandingColourFromState } from "../../js";
|
|
12
|
+
import NavigationService from "../../js/NavigationService";
|
|
13
|
+
import { getTinyChatDefault } from "../../config";
|
|
14
|
+
import { messageActions, circleActions } from "../../webapi";
|
|
15
|
+
import { values } from "../../values.config";
|
|
16
16
|
class Chat extends Component {
|
|
17
17
|
constructor(props) {
|
|
18
18
|
super(props);
|
|
19
19
|
_defineProperty(this, "getTitle", () => {
|
|
20
20
|
if (!this.state.group) {
|
|
21
|
-
return
|
|
21
|
+
return "";
|
|
22
22
|
}
|
|
23
23
|
if (_.isEmpty(this.state.group.Title) && this.state.group.IsPrivate) {
|
|
24
24
|
const otherUser = _.find(this.state.group.Audience || [], u => {
|
|
@@ -31,21 +31,21 @@ class Chat extends Component {
|
|
|
31
31
|
return this.state.group.Title;
|
|
32
32
|
});
|
|
33
33
|
_defineProperty(this, "onPressEvent", event => {
|
|
34
|
-
NavigationService.navigate(
|
|
34
|
+
NavigationService.navigate("eventDetail", {
|
|
35
35
|
event
|
|
36
36
|
});
|
|
37
37
|
});
|
|
38
38
|
_defineProperty(this, "onPressAttachment", attachment => {
|
|
39
39
|
switch (attachment.Type) {
|
|
40
|
-
case
|
|
40
|
+
case "Event":
|
|
41
41
|
// TODO: No need to handle?
|
|
42
|
-
NavigationService.navigate(
|
|
42
|
+
NavigationService.navigate("eventDetail", {
|
|
43
43
|
event: attachment
|
|
44
44
|
});
|
|
45
45
|
break;
|
|
46
|
-
case
|
|
46
|
+
case "Place":
|
|
47
47
|
// TODO: No need to handle?
|
|
48
|
-
NavigationService.navigate(
|
|
48
|
+
NavigationService.navigate("placeDetail", {
|
|
49
49
|
place: attachment
|
|
50
50
|
});
|
|
51
51
|
break;
|
|
@@ -99,12 +99,12 @@ class Chat extends Component {
|
|
|
99
99
|
});
|
|
100
100
|
});
|
|
101
101
|
_defineProperty(this, "confirmBlockUser", () => {
|
|
102
|
-
Alert.alert(
|
|
103
|
-
text:
|
|
102
|
+
Alert.alert("Block user", "Are you sure you want to block this user? Existing chat with this user will be deleted.", [{
|
|
103
|
+
text: "Cancel",
|
|
104
104
|
onPress: () => this.closeSettings(),
|
|
105
|
-
style:
|
|
105
|
+
style: "cancel"
|
|
106
106
|
}, {
|
|
107
|
-
text:
|
|
107
|
+
text: "Ok",
|
|
108
108
|
onPress: () => this.blockUser()
|
|
109
109
|
}], {
|
|
110
110
|
cancelable: false
|
|
@@ -118,6 +118,48 @@ class Chat extends Component {
|
|
|
118
118
|
this.props.deleteChat(this.chatKey);
|
|
119
119
|
this.onPressBack();
|
|
120
120
|
});
|
|
121
|
+
_defineProperty(this, "handleDeleteMessage", async message => {
|
|
122
|
+
// Store original message for rollback
|
|
123
|
+
const originalMessages = [...this.state.messages];
|
|
124
|
+
|
|
125
|
+
// Optimistic update - show deleted immediately
|
|
126
|
+
const updatedMessages = this.state.messages.map(msg => {
|
|
127
|
+
if (msg._id === message._id) {
|
|
128
|
+
return {
|
|
129
|
+
...msg,
|
|
130
|
+
text: "[Message deleted]",
|
|
131
|
+
deleted: true,
|
|
132
|
+
image: undefined,
|
|
133
|
+
attachments: undefined,
|
|
134
|
+
replyingTo: undefined // Remove reply quote
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
return msg;
|
|
138
|
+
});
|
|
139
|
+
this.setState({
|
|
140
|
+
messages: updatedMessages
|
|
141
|
+
});
|
|
142
|
+
|
|
143
|
+
// Update Redux store optimistically
|
|
144
|
+
this.props.updateChatMessages(this.chatKey, updatedMessages);
|
|
145
|
+
try {
|
|
146
|
+
// Call the delete message API
|
|
147
|
+
await messageActions.deleteMessage(message._id, this.chatKey);
|
|
148
|
+
// Success - update is already applied
|
|
149
|
+
} catch (error) {
|
|
150
|
+
var _error$response;
|
|
151
|
+
// Rollback on failure
|
|
152
|
+
console.log("handleDeleteMessage error", error);
|
|
153
|
+
this.setState({
|
|
154
|
+
messages: originalMessages
|
|
155
|
+
});
|
|
156
|
+
this.props.updateChatMessages(this.chatKey, originalMessages);
|
|
157
|
+
const errorMessage = ((_error$response = error.response) === null || _error$response === void 0 || (_error$response = _error$response.data) === null || _error$response === void 0 ? void 0 : _error$response.message) || "Failed to delete message. Please try again.";
|
|
158
|
+
Alert.alert("Delete Failed", errorMessage, [{
|
|
159
|
+
text: "OK"
|
|
160
|
+
}]);
|
|
161
|
+
}
|
|
162
|
+
});
|
|
121
163
|
this._isMounted = false;
|
|
122
164
|
|
|
123
165
|
// used to match the constant used by gifted chat
|
|
@@ -134,14 +176,14 @@ class Chat extends Component {
|
|
|
134
176
|
},
|
|
135
177
|
chat: {},
|
|
136
178
|
group: {
|
|
137
|
-
Title:
|
|
179
|
+
Title: ""
|
|
138
180
|
},
|
|
139
181
|
messages: [],
|
|
140
182
|
settingsOpen: false,
|
|
141
183
|
keyboardOpen: false,
|
|
142
184
|
newLoading: false,
|
|
143
185
|
showDeleteConfirm: false,
|
|
144
|
-
popUpType:
|
|
186
|
+
popUpType: "leave",
|
|
145
187
|
muteChat: false,
|
|
146
188
|
muteSubmitting: false,
|
|
147
189
|
hasInvite: false,
|
|
@@ -316,7 +358,7 @@ class Chat extends Component {
|
|
|
316
358
|
if (!_.isEmpty(title)) {
|
|
317
359
|
return title;
|
|
318
360
|
}
|
|
319
|
-
return _.without(userNames, this.state.currentUser.name).join(
|
|
361
|
+
return _.without(userNames, this.state.currentUser.name).join(", ");
|
|
320
362
|
}
|
|
321
363
|
getMaxTime() {
|
|
322
364
|
const maxMessage = _.maxBy(this.state.messages, m => {
|
|
@@ -348,7 +390,7 @@ class Chat extends Component {
|
|
|
348
390
|
});
|
|
349
391
|
}
|
|
350
392
|
mergeMessages(receivedMessages) {
|
|
351
|
-
const newMessages = _.sortBy(_.concat(this.state.messages, receivedMessages),
|
|
393
|
+
const newMessages = _.sortBy(_.concat(this.state.messages, receivedMessages), "createdAt");
|
|
352
394
|
if (this._isMounted) {
|
|
353
395
|
this.setState({
|
|
354
396
|
messages: _.uniqBy(newMessages, m => {
|
|
@@ -405,16 +447,16 @@ class Chat extends Component {
|
|
|
405
447
|
});
|
|
406
448
|
}
|
|
407
449
|
onConfirmDelete() {
|
|
408
|
-
if (this.state.popUpType ===
|
|
450
|
+
if (this.state.popUpType === "leave") {
|
|
409
451
|
this.props.softLeaveGroup(this.state.group);
|
|
410
452
|
}
|
|
411
|
-
if (this.state.popUpType ===
|
|
453
|
+
if (this.state.popUpType === "delete") {
|
|
412
454
|
this.props.deleteGroup(this.state.group);
|
|
413
455
|
}
|
|
414
456
|
this.onPressBack();
|
|
415
457
|
}
|
|
416
458
|
renderConfirmPopup() {
|
|
417
|
-
if (this.state.popUpType ===
|
|
459
|
+
if (this.state.popUpType === "leave" && this.isOnlyAdmin(this.props.user.uid)) {
|
|
418
460
|
return /*#__PURE__*/React.createElement(ConfirmPopup, {
|
|
419
461
|
visible: this.state.showDeleteConfirm,
|
|
420
462
|
onConfirm: this.onCancelDelete.bind(this),
|
|
@@ -452,45 +494,46 @@ class Chat extends Component {
|
|
|
452
494
|
text: `View ${values.entityName}`,
|
|
453
495
|
onPress: this.goToGroupInfo.bind(this)
|
|
454
496
|
}), (this.isGroupOwner(this.props.user.uid) || this.isAdmin(this.props.user.uid)) && !this.isPrivateChat() && /*#__PURE__*/React.createElement(DropDownItem, {
|
|
455
|
-
text:
|
|
497
|
+
text: "Manage",
|
|
456
498
|
onPress: this.startEdit.bind(this)
|
|
457
499
|
}), /*#__PURE__*/React.createElement(DropDownItem, {
|
|
458
|
-
text: this.state.muteSubmitting ?
|
|
500
|
+
text: this.state.muteSubmitting ? "Updating..." : this.state.muteChat ? "Unmute" : "Mute",
|
|
459
501
|
onPress: this.muteTest.bind(this),
|
|
460
502
|
textStyle: this.state.muteSubmitting ? {
|
|
461
503
|
color: TEXT_LIGHTER
|
|
462
504
|
} : {}
|
|
463
505
|
}), this.isAdmin(this.props.user.uid) && !this.isPrivateChat() && /*#__PURE__*/React.createElement(DropDownItem, {
|
|
464
|
-
text:
|
|
465
|
-
onPress: this.onOpenDeletePrompt.bind(this,
|
|
506
|
+
text: "Delete",
|
|
507
|
+
onPress: this.onOpenDeletePrompt.bind(this, "delete")
|
|
466
508
|
}), !this.isPrivateChat() && /*#__PURE__*/React.createElement(DropDownItem, {
|
|
467
509
|
last: true,
|
|
468
|
-
text:
|
|
469
|
-
onPress: this.onOpenDeletePrompt.bind(this,
|
|
510
|
+
text: "Leave",
|
|
511
|
+
onPress: this.onOpenDeletePrompt.bind(this, "leave")
|
|
470
512
|
})), /*#__PURE__*/React.createElement(Header, {
|
|
471
513
|
leftIcon: "angle-left",
|
|
472
514
|
onPressLeft: this.onPressBack.bind(this),
|
|
473
515
|
rightIconType: "pluss",
|
|
474
|
-
rightIcon: "
|
|
516
|
+
rightIcon: "ellipsis-vertical",
|
|
475
517
|
onPressRight: this.toggleSettings.bind(this),
|
|
476
518
|
text: this.getTitle(),
|
|
477
519
|
onTextPress: this.goToGroupInfo.bind(this)
|
|
478
520
|
}), /*#__PURE__*/React.createElement(PlussChat, {
|
|
479
521
|
messages: this.chatKey ? this.state.messages : [],
|
|
480
|
-
onSend: this.onSend.bind(this)
|
|
522
|
+
onSend: this.onSend.bind(this),
|
|
523
|
+
onDeleteMessage: this.handleDeleteMessage
|
|
481
524
|
}), this.renderConfirmPopup()));
|
|
482
525
|
}
|
|
483
526
|
}
|
|
484
527
|
const styles = {
|
|
485
528
|
container: {
|
|
486
529
|
flex: 1,
|
|
487
|
-
backgroundColor:
|
|
530
|
+
backgroundColor: "#fff"
|
|
488
531
|
},
|
|
489
532
|
send: {
|
|
490
|
-
color:
|
|
533
|
+
color: "#fff",
|
|
491
534
|
fontSize: 15,
|
|
492
535
|
width: 30,
|
|
493
|
-
textAlign:
|
|
536
|
+
textAlign: "center"
|
|
494
537
|
},
|
|
495
538
|
setting: {
|
|
496
539
|
fontSize: 18
|
|
@@ -500,32 +543,32 @@ const styles = {
|
|
|
500
543
|
},
|
|
501
544
|
settingDropDown: {
|
|
502
545
|
height: 0,
|
|
503
|
-
width:
|
|
504
|
-
position:
|
|
546
|
+
width: "auto",
|
|
547
|
+
position: "absolute",
|
|
505
548
|
right: 2,
|
|
506
549
|
top: 62,
|
|
507
550
|
zIndex: 2,
|
|
508
551
|
elevation: 2,
|
|
509
552
|
paddingTop: 0,
|
|
510
|
-
overflow:
|
|
553
|
+
overflow: "hidden"
|
|
511
554
|
},
|
|
512
555
|
settingDropDownOpen: {
|
|
513
|
-
height:
|
|
556
|
+
height: "auto"
|
|
514
557
|
},
|
|
515
558
|
dropDownOuterContainer: {
|
|
516
559
|
paddingTop: 9,
|
|
517
|
-
overflow:
|
|
518
|
-
backgroundColor:
|
|
560
|
+
overflow: "visible",
|
|
561
|
+
backgroundColor: "transparent",
|
|
519
562
|
margin: 5
|
|
520
563
|
},
|
|
521
564
|
dropDownInnerContainer: {
|
|
522
|
-
flexDirection:
|
|
523
|
-
backgroundColor:
|
|
565
|
+
flexDirection: "column",
|
|
566
|
+
backgroundColor: "#fcfcfc",
|
|
524
567
|
borderRadius: 3,
|
|
525
568
|
paddingBottom: 10,
|
|
526
569
|
paddingHorizontal: 15,
|
|
527
|
-
overflow:
|
|
528
|
-
shadowColor:
|
|
570
|
+
overflow: "visible",
|
|
571
|
+
shadowColor: "#000",
|
|
529
572
|
shadowOffset: {
|
|
530
573
|
width: 1,
|
|
531
574
|
height: 1
|
|
@@ -534,17 +577,17 @@ const styles = {
|
|
|
534
577
|
...Platform.select({
|
|
535
578
|
android: {
|
|
536
579
|
borderWidth: 1,
|
|
537
|
-
borderColor:
|
|
580
|
+
borderColor: "rgba(230, 230, 230, .4)"
|
|
538
581
|
}
|
|
539
582
|
})
|
|
540
583
|
},
|
|
541
584
|
dropDownItem: {
|
|
542
|
-
flexDirection:
|
|
543
|
-
alignItems:
|
|
585
|
+
flexDirection: "row",
|
|
586
|
+
alignItems: "center",
|
|
544
587
|
marginTop: 10
|
|
545
588
|
},
|
|
546
589
|
dropDownItem_Text: {
|
|
547
|
-
fontFamily:
|
|
590
|
+
fontFamily: "sf-regular",
|
|
548
591
|
fontSize: 15,
|
|
549
592
|
lineHeight: 22,
|
|
550
593
|
color: TEXT_DARK
|