@plusscommunities/pluss-core-app 8.0.0 → 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 (320) hide show
  1. package/dist/module/actions/FollowerActions.js +4 -4
  2. package/dist/module/actions/FollowerActions.js.map +1 -1
  3. package/dist/module/actions/MediaActions.js +1 -1
  4. package/dist/module/actions/MediaActions.js.map +1 -1
  5. package/dist/module/actions/ResidentActions.js +1 -1
  6. package/dist/module/actions/ResidentActions.js.map +1 -1
  7. package/dist/module/actions/UserActions.js +1 -1
  8. package/dist/module/actions/UserActions.js.map +1 -1
  9. package/dist/module/actions/UserSettingsActions.js +1 -1
  10. package/dist/module/actions/UserSettingsActions.js.map +1 -1
  11. package/dist/module/actions/index.js +5 -5
  12. package/dist/module/actions/index.js.map +1 -1
  13. package/dist/module/actions/types.js +16 -16
  14. package/dist/module/actions/types.js.map +1 -1
  15. package/dist/module/apis/analyticsActions.js +5 -5
  16. package/dist/module/apis/analyticsActions.js.map +1 -1
  17. package/dist/module/apis/contactActions.js +6 -6
  18. package/dist/module/apis/contactActions.js.map +1 -1
  19. package/dist/module/apis/eventActions.js +28 -28
  20. package/dist/module/apis/eventActions.js.map +1 -1
  21. package/dist/module/apis/fileActions.js +15 -15
  22. package/dist/module/apis/fileActions.js.map +1 -1
  23. package/dist/module/apis/followerActions.js +8 -8
  24. package/dist/module/apis/followerActions.js.map +1 -1
  25. package/dist/module/apis/index.js +12 -12
  26. package/dist/module/apis/index.js.map +1 -1
  27. package/dist/module/apis/notificationActions.js +17 -17
  28. package/dist/module/apis/notificationActions.js.map +1 -1
  29. package/dist/module/apis/profileActions.js +4 -4
  30. package/dist/module/apis/profileActions.js.map +1 -1
  31. package/dist/module/apis/reactionActions.js +15 -15
  32. package/dist/module/apis/reactionActions.js.map +1 -1
  33. package/dist/module/apis/settingActions.js +6 -6
  34. package/dist/module/apis/settingActions.js.map +1 -1
  35. package/dist/module/apis/stringActions.js +8 -8
  36. package/dist/module/apis/stringActions.js.map +1 -1
  37. package/dist/module/apis/typeActions.js +4 -4
  38. package/dist/module/apis/typeActions.js.map +1 -1
  39. package/dist/module/apis/userActions.js +8 -8
  40. package/dist/module/apis/userActions.js.map +1 -1
  41. package/dist/module/assets/icons/fontawesome/fa-brands-400.ttf +0 -0
  42. package/dist/module/assets/icons/fontawesome/fa-light-300.ttf +0 -0
  43. package/dist/module/assets/icons/fontawesome/fa-regular-400.ttf +0 -0
  44. package/dist/module/assets/icons/fontawesome/fa-solid-900.ttf +0 -0
  45. package/dist/module/assets/icons/fontawesome/fa-thin-100.ttf +0 -0
  46. package/dist/module/assets/icons/fontawesome/fa7-glyphmap.json +4205 -0
  47. package/dist/module/colours.js +26 -29
  48. package/dist/module/colours.js.map +1 -1
  49. package/dist/module/components/AddButton.js +8 -8
  50. package/dist/module/components/AddButton.js.map +1 -1
  51. package/dist/module/components/AddToCalendarButton.js +30 -29
  52. package/dist/module/components/AddToCalendarButton.js.map +1 -1
  53. package/dist/module/components/Attachment.js +10 -9
  54. package/dist/module/components/Attachment.js.map +1 -1
  55. package/dist/module/components/AudienceSelectorLauncher.js +11 -11
  56. package/dist/module/components/AudienceSelectorLauncher.js.map +1 -1
  57. package/dist/module/components/AudienceSelectorPage.js +45 -44
  58. package/dist/module/components/AudienceSelectorPage.js.map +1 -1
  59. package/dist/module/components/AutoOffsetImage.js +13 -13
  60. package/dist/module/components/AutoOffsetImage.js.map +1 -1
  61. package/dist/module/components/BackButton.js +10 -10
  62. package/dist/module/components/BackButton.js.map +1 -1
  63. package/dist/module/components/CalendarPopup.js +21 -21
  64. package/dist/module/components/CalendarPopup.js.map +1 -1
  65. package/dist/module/components/CategoryTabs.js +30 -29
  66. package/dist/module/components/CategoryTabs.js.map +1 -1
  67. package/dist/module/components/CommentReply.js +43 -37
  68. package/dist/module/components/CommentReply.js.map +1 -1
  69. package/dist/module/components/CommentSection.js +74 -74
  70. package/dist/module/components/CommentSection.js.map +1 -1
  71. package/dist/module/components/ConfirmPopup.js +21 -20
  72. package/dist/module/components/ConfirmPopup.js.map +1 -1
  73. package/dist/module/components/ConfirmationPopup.js +11 -11
  74. package/dist/module/components/ConfirmationPopup.js.map +1 -1
  75. package/dist/module/components/DocumentUploader.js +50 -50
  76. package/dist/module/components/DocumentUploader.js.map +1 -1
  77. package/dist/module/components/DropDownItem.js +14 -13
  78. package/dist/module/components/DropDownItem.js.map +1 -1
  79. package/dist/module/components/DropDownMenu.js +5 -5
  80. package/dist/module/components/DropDownMenu.js.map +1 -1
  81. package/dist/module/components/EmptyStateMain.js +10 -9
  82. package/dist/module/components/EmptyStateMain.js.map +1 -1
  83. package/dist/module/components/EmptyStateWidget.js +7 -6
  84. package/dist/module/components/EmptyStateWidget.js.map +1 -1
  85. package/dist/module/components/FontScaleButton.js +5 -4
  86. package/dist/module/components/FontScaleButton.js.map +1 -1
  87. package/dist/module/components/FontScalePopup.js +11 -10
  88. package/dist/module/components/FontScalePopup.js.map +1 -1
  89. package/dist/module/components/Forbidden.js +13 -13
  90. package/dist/module/components/Forbidden.js.map +1 -1
  91. package/dist/module/components/FormCard.js +4 -4
  92. package/dist/module/components/FormCard.js.map +1 -1
  93. package/dist/module/components/FormCardSection.js +20 -18
  94. package/dist/module/components/FormCardSection.js.map +1 -1
  95. package/dist/module/components/FormCardSectionOptionLauncher.js +13 -12
  96. package/dist/module/components/FormCardSectionOptionLauncher.js.map +1 -1
  97. package/dist/module/components/FormattedText.js +18 -16
  98. package/dist/module/components/FormattedText.js.map +1 -1
  99. package/dist/module/components/GenericInput.js +24 -21
  100. package/dist/module/components/GenericInput.js.map +1 -1
  101. package/dist/module/components/GenericInputSection.js +27 -26
  102. package/dist/module/components/GenericInputSection.js.map +1 -1
  103. package/dist/module/components/Header.js +70 -69
  104. package/dist/module/components/Header.js.map +1 -1
  105. package/dist/module/components/Icon.js +109 -0
  106. package/dist/module/components/Icon.js.map +1 -0
  107. package/dist/module/components/ImagePopup.js +211 -73
  108. package/dist/module/components/ImagePopup.js.map +1 -1
  109. package/dist/module/components/ImageUploadProgress.js +10 -9
  110. package/dist/module/components/ImageUploadProgress.js.map +1 -1
  111. package/dist/module/components/ImageUploader.js +116 -96
  112. package/dist/module/components/ImageUploader.js.map +1 -1
  113. package/dist/module/components/InlineButton.js +9 -8
  114. package/dist/module/components/InlineButton.js.map +1 -1
  115. package/dist/module/components/Input.js +28 -26
  116. package/dist/module/components/Input.js.map +1 -1
  117. package/dist/module/components/LoadingCircles.js +20 -20
  118. package/dist/module/components/LoadingCircles.js.map +1 -1
  119. package/dist/module/components/LoadingIndicator.js +11 -11
  120. package/dist/module/components/LoadingIndicator.js.map +1 -1
  121. package/dist/module/components/LoadingStateWidget.js +5 -5
  122. package/dist/module/components/LoadingStateWidget.js.map +1 -1
  123. package/dist/module/components/MediaPlayer.js +31 -31
  124. package/dist/module/components/MediaPlayer.js.map +1 -1
  125. package/dist/module/components/MiddlePopup.js +17 -11
  126. package/dist/module/components/MiddlePopup.js.map +1 -1
  127. package/dist/module/components/PDFPopup.js +52 -39
  128. package/dist/module/components/PDFPopup.js.map +1 -1
  129. package/dist/module/components/PlussChat.js +168 -149
  130. package/dist/module/components/PlussChat.js.map +1 -1
  131. package/dist/module/components/PlussChatMessage.js +42 -42
  132. package/dist/module/components/PlussChatMessage.js.map +1 -1
  133. package/dist/module/components/PlussChatTime.js +18 -17
  134. package/dist/module/components/PlussChatTime.js.map +1 -1
  135. package/dist/module/components/Popup.js +20 -19
  136. package/dist/module/components/Popup.js.map +1 -1
  137. package/dist/module/components/PopupMenu.js +15 -14
  138. package/dist/module/components/PopupMenu.js.map +1 -1
  139. package/dist/module/components/PositionedImage.js +20 -20
  140. package/dist/module/components/PositionedImage.js.map +1 -1
  141. package/dist/module/components/ProfilePic.js +10 -10
  142. package/dist/module/components/ProfilePic.js.map +1 -1
  143. package/dist/module/components/RadioButton.js +10 -9
  144. package/dist/module/components/RadioButton.js.map +1 -1
  145. package/dist/module/components/Reaction.js +18 -17
  146. package/dist/module/components/Reaction.js.map +1 -1
  147. package/dist/module/components/Reactions.js +7 -7
  148. package/dist/module/components/Reactions.js.map +1 -1
  149. package/dist/module/components/SharingTools.js +78 -43
  150. package/dist/module/components/SharingTools.js.map +1 -1
  151. package/dist/module/components/Spinner.js +5 -5
  152. package/dist/module/components/Spinner.js.map +1 -1
  153. package/dist/module/components/StickyFooter.js +6 -6
  154. package/dist/module/components/StickyFooter.js.map +1 -1
  155. package/dist/module/components/Text.js +57 -0
  156. package/dist/module/components/Text.js.map +1 -0
  157. package/dist/module/components/TickIcon.js +6 -6
  158. package/dist/module/components/TickIcon.js.map +1 -1
  159. package/dist/module/components/Toggle.js +10 -9
  160. package/dist/module/components/Toggle.js.map +1 -1
  161. package/dist/module/components/TouchableSearchBar.js +18 -17
  162. package/dist/module/components/TouchableSearchBar.js.map +1 -1
  163. package/dist/module/components/UserListPopup.js +20 -19
  164. package/dist/module/components/UserListPopup.js.map +1 -1
  165. package/dist/module/components/UserListing.js +41 -40
  166. package/dist/module/components/UserListing.js.map +1 -1
  167. package/dist/module/components/VideoPopup.js +20 -20
  168. package/dist/module/components/VideoPopup.js.map +1 -1
  169. package/dist/module/components/WarningPopup.js +21 -20
  170. package/dist/module/components/WarningPopup.js.map +1 -1
  171. package/dist/module/components/expo-image-picker-multiple/ImageBrowser.js +13 -13
  172. package/dist/module/components/expo-image-picker-multiple/ImageBrowser.js.map +1 -1
  173. package/dist/module/components/expo-image-picker-multiple/ImageTile.js +24 -23
  174. package/dist/module/components/expo-image-picker-multiple/ImageTile.js.map +1 -1
  175. package/dist/module/components/index.js +59 -58
  176. package/dist/module/components/index.js.map +1 -1
  177. package/dist/module/components/react-native-expo-image-cropper/ExpoImageManipulator.js +94 -64
  178. package/dist/module/components/react-native-expo-image-cropper/ExpoImageManipulator.js.map +1 -1
  179. package/dist/module/components/react-native-expo-image-cropper/ImageCropOverlay.js +64 -64
  180. package/dist/module/components/react-native-expo-image-cropper/ImageCropOverlay.js.map +1 -1
  181. package/dist/module/config.js +15 -10
  182. package/dist/module/config.js.map +1 -1
  183. package/dist/module/constants.js +3 -4
  184. package/dist/module/constants.js.map +1 -1
  185. package/dist/module/helper.js +83 -82
  186. package/dist/module/helper.js.map +1 -1
  187. package/dist/module/index.js +12 -12
  188. package/dist/module/index.js.map +1 -1
  189. package/dist/module/js/images/detectFaces.js +11 -10
  190. package/dist/module/js/images/detectFaces.js.map +1 -1
  191. package/dist/module/js/images/findLandmarkRange.js +8 -8
  192. package/dist/module/js/images/findLandmarkRange.js.map +1 -1
  193. package/dist/module/js/images/getScaledOffset.js.map +1 -1
  194. package/dist/module/js/site/getSiteLevelFromState.js +2 -2
  195. package/dist/module/js/site/getSiteLevelFromState.js.map +1 -1
  196. package/dist/module/js/site/isTVEnabled.js +2 -2
  197. package/dist/module/js/site/isTVEnabled.js.map +1 -1
  198. package/dist/module/session.js +6 -6
  199. package/dist/module/session.js.map +1 -1
  200. package/dist/module/styles.js +17 -17
  201. package/dist/module/styles.js.map +1 -1
  202. package/dist/module/withNavigationFocus.js +30 -0
  203. package/dist/module/withNavigationFocus.js.map +1 -0
  204. package/package.json +71 -68
  205. package/src/actions/FollowerActions.js +36 -32
  206. package/src/actions/MediaActions.js +25 -20
  207. package/src/actions/ResidentActions.js +26 -21
  208. package/src/actions/UserActions.js +22 -22
  209. package/src/actions/UserSettingsActions.js +11 -11
  210. package/src/actions/index.js +5 -5
  211. package/src/actions/types.js +16 -16
  212. package/src/apis/analyticsActions.js +17 -17
  213. package/src/apis/contactActions.js +20 -20
  214. package/src/apis/eventActions.js +153 -144
  215. package/src/apis/fileActions.js +96 -86
  216. package/src/apis/followerActions.js +29 -29
  217. package/src/apis/index.js +12 -12
  218. package/src/apis/notificationActions.js +44 -44
  219. package/src/apis/profileActions.js +8 -8
  220. package/src/apis/reactionActions.js +81 -73
  221. package/src/apis/settingActions.js +15 -15
  222. package/src/apis/stringActions.js +29 -25
  223. package/src/apis/typeActions.js +10 -10
  224. package/src/apis/userActions.js +93 -93
  225. package/src/assets/icons/fontawesome/fa-brands-400.ttf +0 -0
  226. package/src/assets/icons/fontawesome/fa-light-300.ttf +0 -0
  227. package/src/assets/icons/fontawesome/fa-regular-400.ttf +0 -0
  228. package/src/assets/icons/fontawesome/fa-solid-900.ttf +0 -0
  229. package/src/assets/icons/fontawesome/fa-thin-100.ttf +0 -0
  230. package/src/assets/icons/fontawesome/fa7-glyphmap.json +4205 -0
  231. package/src/colours.js +116 -96
  232. package/src/components/AddButton.js +32 -27
  233. package/src/components/AddToCalendarButton.js +236 -202
  234. package/src/components/Attachment.js +59 -36
  235. package/src/components/AudienceSelectorLauncher.js +52 -48
  236. package/src/components/AudienceSelectorPage.js +353 -311
  237. package/src/components/AutoOffsetImage.js +237 -196
  238. package/src/components/BackButton.js +57 -41
  239. package/src/components/CalendarPopup.js +127 -97
  240. package/src/components/CategoryTabs.js +208 -163
  241. package/src/components/CommentReply.js +370 -309
  242. package/src/components/CommentSection.js +974 -781
  243. package/src/components/ConfirmPopup.js +141 -110
  244. package/src/components/ConfirmationPopup.js +80 -69
  245. package/src/components/DocumentUploader.js +245 -215
  246. package/src/components/DropDownItem.js +70 -60
  247. package/src/components/DropDownMenu.js +31 -27
  248. package/src/components/EmptyStateMain.js +51 -44
  249. package/src/components/EmptyStateWidget.js +47 -38
  250. package/src/components/FontScaleButton.js +29 -25
  251. package/src/components/FontScalePopup.js +67 -56
  252. package/src/components/Forbidden.js +48 -46
  253. package/src/components/FormCard.js +21 -17
  254. package/src/components/FormCardSection.js +284 -233
  255. package/src/components/FormCardSectionOptionLauncher.js +72 -46
  256. package/src/components/FormattedText.js +128 -111
  257. package/src/components/GenericInput.js +168 -136
  258. package/src/components/GenericInputSection.js +209 -161
  259. package/src/components/Header.js +620 -474
  260. package/src/components/Icon.js +119 -0
  261. package/src/components/ImagePopup.js +425 -221
  262. package/src/components/ImageUploadProgress.js +49 -41
  263. package/src/components/ImageUploader.js +968 -797
  264. package/src/components/InlineButton.js +79 -69
  265. package/src/components/Input.js +190 -156
  266. package/src/components/LoadingCircles.js +233 -233
  267. package/src/components/LoadingIndicator.js +87 -76
  268. package/src/components/LoadingStateWidget.js +47 -37
  269. package/src/components/MediaPlayer.js +416 -387
  270. package/src/components/MiddlePopup.js +62 -33
  271. package/src/components/PDFPopup.js +212 -159
  272. package/src/components/PlussChat.js +1224 -1025
  273. package/src/components/PlussChatMessage.js +329 -298
  274. package/src/components/PlussChatTime.js +57 -53
  275. package/src/components/Popup.js +138 -116
  276. package/src/components/PopupMenu.js +140 -110
  277. package/src/components/PositionedImage.js +281 -237
  278. package/src/components/ProfilePic.js +122 -113
  279. package/src/components/RadioButton.js +76 -52
  280. package/src/components/Reaction.js +134 -96
  281. package/src/components/Reactions.js +65 -63
  282. package/src/components/SharingTools.js +185 -134
  283. package/src/components/Spinner.js +13 -13
  284. package/src/components/StickyFooter.js +36 -26
  285. package/src/components/Text.js +62 -0
  286. package/src/components/TickIcon.js +20 -20
  287. package/src/components/Toggle.js +74 -73
  288. package/src/components/TouchableSearchBar.js +68 -50
  289. package/src/components/UserListPopup.js +161 -124
  290. package/src/components/UserListing.js +273 -238
  291. package/src/components/VideoPopup.js +110 -96
  292. package/src/components/WarningPopup.js +92 -71
  293. package/src/components/expo-image-picker-multiple/ImageBrowser.js +288 -256
  294. package/src/components/expo-image-picker-multiple/ImageTile.js +108 -84
  295. package/src/components/index.js +59 -58
  296. package/src/components/react-native-expo-image-cropper/ExpoImageManipulator.js +444 -359
  297. package/src/components/react-native-expo-image-cropper/ImageCropOverlay.js +420 -324
  298. package/src/config.js +26 -21
  299. package/src/constants.js +8 -10
  300. package/src/helper.js +469 -438
  301. package/src/index.js +24 -12
  302. package/src/js/images/detectFaces.js +28 -21
  303. package/src/js/images/findLandmarkRange.js +97 -90
  304. package/src/js/images/getScaledOffset.js +80 -75
  305. package/src/js/site/getSiteLevelFromState.js +26 -26
  306. package/src/js/site/isTVEnabled.js +10 -10
  307. package/src/session.js +32 -32
  308. package/src/styles.js +61 -61
  309. package/src/withNavigationFocus.js +28 -0
  310. package/dist/module/components/TextStyle.js +0 -45
  311. package/dist/module/components/TextStyle.js.map +0 -1
  312. package/dist/module/fonts/index.js +0 -2
  313. package/dist/module/fonts/index.js.map +0 -1
  314. package/dist/module/fonts/pluss60-icons.js +0 -5
  315. package/dist/module/fonts/pluss60-icons.js.map +0 -1
  316. package/dist/module/fonts/pluss60-icons.json +0 -1097
  317. package/src/components/TextStyle.js +0 -48
  318. package/src/fonts/index.js +0 -1
  319. package/src/fonts/pluss60-icons.js +0 -7
  320. package/src/fonts/pluss60-icons.json +0 -1097
@@ -1,128 +1,137 @@
1
- import React, { Component } from 'react';
2
- import { View, ImageBackground } from 'react-native';
3
- import { connect } from 'react-redux';
4
- import Config from '../config';
5
- import { Spinner } from './Spinner';
6
- import { LINEGREY, getMainBrandingColourFromState } from '../colours';
1
+ import React, { Component } from "react";
2
+ import { View, ImageBackground } from "react-native";
3
+ import { connect } from "react-redux";
4
+ import Config from "../config";
5
+ import { Spinner } from "./Spinner";
6
+ import { LINEGREY, getMainBrandingColourFromState } from "../colours";
7
7
 
8
8
  class ProfilePic extends Component {
9
- constructor(props) {
10
- super(props);
11
- this.state = {
12
- image: null,
13
- imageBorderRadius: 18,
14
- imageUploading: false,
15
- backgroundFill: false,
16
- };
17
- }
9
+ constructor(props) {
10
+ super(props);
11
+ this.state = {
12
+ image: null,
13
+ imageBorderRadius: 18,
14
+ imageUploading: false,
15
+ backgroundFill: false,
16
+ };
17
+ }
18
18
 
19
- UNSAFE_componentWillMount() {
20
- this.setState({
21
- image: this.props.ProfilePic != null ? this.props.ProfilePic : Config.env.defaultProfileImage,
22
- imageDiameterStyle: {
23
- height: this.props.Diameter != null ? this.props.Diameter : 35,
24
- width: this.props.Diameter != null ? this.props.Diameter : 35,
25
- },
26
- imageBorderRadius: this.props.Diameter != null ? this.props.Diameter / 2 : 18,
27
- imageUploading: this.props.ImageUploading,
28
- backgroundFill: this.props.ProfilePic === Config.env.tinyChatDefault,
29
- });
30
- }
19
+ UNSAFE_componentWillMount() {
20
+ this.setState({
21
+ image:
22
+ this.props.ProfilePic != null
23
+ ? this.props.ProfilePic
24
+ : Config.env.defaultProfileImage,
25
+ imageDiameterStyle: {
26
+ height: this.props.Diameter != null ? this.props.Diameter : 35,
27
+ width: this.props.Diameter != null ? this.props.Diameter : 35,
28
+ },
29
+ imageBorderRadius:
30
+ this.props.Diameter != null ? this.props.Diameter / 2 : 18,
31
+ imageUploading: this.props.ImageUploading,
32
+ backgroundFill: this.props.ProfilePic === Config.env.tinyChatDefault,
33
+ });
34
+ }
31
35
 
32
- UNSAFE_componentWillReceiveProps(nextProps) {
33
- let profPic = null;
34
- if (nextProps.ProfilePic) {
35
- profPic = nextProps.ProfilePic;
36
- }
36
+ UNSAFE_componentWillReceiveProps(nextProps) {
37
+ let profPic = null;
38
+ if (nextProps.ProfilePic) {
39
+ profPic = nextProps.ProfilePic;
40
+ }
37
41
 
38
- this.setState({
39
- image: profPic,
40
- imageUploading: nextProps.ImageUploading,
41
- });
42
- }
42
+ this.setState({
43
+ image: profPic,
44
+ imageUploading: nextProps.ImageUploading,
45
+ });
46
+ }
43
47
 
44
- renderImage() {
45
- if (this.state.imageUploading) {
46
- return (
47
- <Spinner
48
- style={{
49
- backgroundColor: 'white',
50
- borderRadius: this.state.imageBorderRadius,
51
- }}
52
- />
53
- );
54
- }
55
- let image = Config.env.defaultProfileImage;
56
- let isDefault = true;
57
- if (this.state.image !== null && typeof this.state.image === 'string') {
58
- if (
59
- this.state.image !== 'https://plusscdn.azureedge.net/uploads/687-1/63663744750845828739defaultavatar.jpg' &&
60
- this.state.image !== 'https://plusscdn.azureedge.net/uploads/23046-1/636675694526742825882defaultavatar.jpg' &&
61
- this.state.image !== 'https://plusscdn.azureedge.net/uploads/687-1/63663744750845828739defaultavatar.jpg' &&
62
- this.state.image !==
63
- 'https://pluss60-dev-uploads.s3.ap-southeast-2.amazonaws.com/uploads/users/ap-southeast-2:e2dc6a8b-61e8-4a76-a7ea-b1a15a013b94/public/2b3df48c4394a03840e52db886/profilepic.jpg'
64
- ) {
65
- image = { uri: this.state.image };
66
- isDefault = false;
67
- }
68
- }
69
- return (
70
- <ImageBackground
71
- key="default"
72
- source={image}
73
- style={[
74
- styles.profilePicImage,
75
- { borderRadius: this.state.imageBorderRadius },
76
- (isDefault || this.state.backgroundFill) && { backgroundColor: this.props.colourBrandingMain },
77
- ]}
78
- imageStyle={{ borderRadius: this.state.imageBorderRadius }}
79
- >
80
- {this.props.children}
81
- </ImageBackground>
82
- );
83
- }
48
+ renderImage() {
49
+ if (this.state.imageUploading) {
50
+ return (
51
+ <Spinner
52
+ style={{
53
+ backgroundColor: "white",
54
+ borderRadius: this.state.imageBorderRadius,
55
+ }}
56
+ />
57
+ );
58
+ }
59
+ let image = Config.env.defaultProfileImage;
60
+ let isDefault = true;
61
+ if (this.state.image !== null && typeof this.state.image === "string") {
62
+ if (
63
+ this.state.image !==
64
+ "https://plusscdn.azureedge.net/uploads/687-1/63663744750845828739defaultavatar.jpg" &&
65
+ this.state.image !==
66
+ "https://plusscdn.azureedge.net/uploads/23046-1/636675694526742825882defaultavatar.jpg" &&
67
+ this.state.image !==
68
+ "https://plusscdn.azureedge.net/uploads/687-1/63663744750845828739defaultavatar.jpg" &&
69
+ this.state.image !==
70
+ "https://pluss60-dev-uploads.s3.ap-southeast-2.amazonaws.com/uploads/users/ap-southeast-2:e2dc6a8b-61e8-4a76-a7ea-b1a15a013b94/public/2b3df48c4394a03840e52db886/profilepic.jpg"
71
+ ) {
72
+ image = { uri: this.state.image };
73
+ isDefault = false;
74
+ }
75
+ }
76
+ return (
77
+ <ImageBackground
78
+ key="default"
79
+ source={image}
80
+ style={[
81
+ styles.profilePicImage,
82
+ { borderRadius: this.state.imageBorderRadius },
83
+ (isDefault || this.state.backgroundFill) && {
84
+ backgroundColor: this.props.colourBrandingMain,
85
+ },
86
+ ]}
87
+ imageStyle={{ borderRadius: this.state.imageBorderRadius }}
88
+ >
89
+ {this.props.children}
90
+ </ImageBackground>
91
+ );
92
+ }
84
93
 
85
- render() {
86
- return (
87
- <View
88
- style={[
89
- styles.profilePicOuter,
90
- this.state.imageDiameterStyle,
91
- this.props.bordered && styles.bordered,
92
- { borderRadius: this.state.imageBorderRadius },
93
- this.props.style,
94
- ]}
95
- key={this.props.id}
96
- >
97
- {this.renderImage()}
98
- </View>
99
- );
100
- }
94
+ render() {
95
+ return (
96
+ <View
97
+ style={[
98
+ styles.profilePicOuter,
99
+ this.state.imageDiameterStyle,
100
+ this.props.bordered && styles.bordered,
101
+ { borderRadius: this.state.imageBorderRadius },
102
+ this.props.style,
103
+ ]}
104
+ key={this.props.id}
105
+ >
106
+ {this.renderImage()}
107
+ </View>
108
+ );
109
+ }
101
110
  }
102
111
 
103
112
  const styles = {
104
- profilePicOuter: {
105
- height: 35,
106
- width: 35,
107
- zIndex: 1,
108
- backgroundColor: LINEGREY,
109
- // overflow: 'hidden'
110
- },
111
- profilePicImage: {
112
- flex: 1,
113
- height: null,
114
- width: null,
115
- },
116
- bordered: {
117
- borderWidth: 1,
118
- borderColor: '#fff',
119
- },
113
+ profilePicOuter: {
114
+ height: 35,
115
+ width: 35,
116
+ zIndex: 1,
117
+ backgroundColor: LINEGREY,
118
+ // overflow: 'hidden'
119
+ },
120
+ profilePicImage: {
121
+ flex: 1,
122
+ height: null,
123
+ width: null,
124
+ },
125
+ bordered: {
126
+ borderWidth: 1,
127
+ borderColor: "#fff",
128
+ },
120
129
  };
121
130
 
122
- const mapStateToProps = state => {
123
- return {
124
- colourBrandingMain: getMainBrandingColourFromState(state),
125
- };
131
+ const mapStateToProps = (state) => {
132
+ return {
133
+ colourBrandingMain: getMainBrandingColourFromState(state),
134
+ };
126
135
  };
127
136
 
128
137
  const profilePic = connect(mapStateToProps, {})(ProfilePic);
@@ -1,65 +1,89 @@
1
- import React, { PureComponent } from 'react';
2
- import { View, TouchableOpacity, TouchableWithoutFeedback, StyleSheet, Text } from 'react-native';
3
- import { connect } from 'react-redux';
4
- import { getMainBrandingColourFromState, LINEGREY, TEXT_DARKEST } from '../colours';
1
+ import React, { PureComponent } from "react";
2
+ import { Text } from "@plusscommunities/pluss-core-app/components";
3
+ import {
4
+ View,
5
+ TouchableOpacity,
6
+ TouchableWithoutFeedback,
7
+ StyleSheet,
8
+ } from "react-native";
9
+ import { connect } from "react-redux";
10
+ import {
11
+ getMainBrandingColourFromState,
12
+ LINEGREY,
13
+ TEXT_DARKEST,
14
+ } from "../colours";
5
15
 
6
16
  class RadioButton extends PureComponent {
7
- render() {
8
- const { size, isActive, value, onPress, colourBrandingMain, style, label } = this.props;
9
- const iconSize = size || 20;
10
- const innerSize = iconSize - 8;
17
+ render() {
18
+ const { size, isActive, value, onPress, colourBrandingMain, style, label } =
19
+ this.props;
20
+ const iconSize = size || 20;
21
+ const innerSize = iconSize - 8;
11
22
 
12
- const content = (
13
- <TouchableWithoutFeedback onPress={() => onPress(value)}>
14
- <View style={[styles.container, { width: iconSize, height: iconSize, borderRadius: iconSize / 2 }, style]}>
15
- {isActive && (
16
- <View style={{ width: innerSize, height: innerSize, borderRadius: innerSize / 2, backgroundColor: colourBrandingMain }} />
17
- )}
18
- </View>
19
- </TouchableWithoutFeedback>
20
- );
23
+ const content = (
24
+ <TouchableWithoutFeedback onPress={() => onPress(value)}>
25
+ <View
26
+ style={[
27
+ styles.container,
28
+ { width: iconSize, height: iconSize, borderRadius: iconSize / 2 },
29
+ style,
30
+ ]}
31
+ >
32
+ {isActive && (
33
+ <View
34
+ style={{
35
+ width: innerSize,
36
+ height: innerSize,
37
+ borderRadius: innerSize / 2,
38
+ backgroundColor: colourBrandingMain,
39
+ }}
40
+ />
41
+ )}
42
+ </View>
43
+ </TouchableWithoutFeedback>
44
+ );
21
45
 
22
- if (label) {
23
- return (
24
- <TouchableOpacity
25
- onPress={() => onPress(value)}
26
- key={label}
27
- style={styles.radioOption}
28
- hitSlop={{ top: 8, left: 8, bottom: 8, right: 8 }}
29
- >
30
- {content}
31
- <Text style={styles.radioOptionText}>{label}</Text>
32
- </TouchableOpacity>
33
- );
34
- }
46
+ if (label) {
47
+ return (
48
+ <TouchableOpacity
49
+ onPress={() => onPress(value)}
50
+ key={label}
51
+ style={styles.radioOption}
52
+ hitSlop={{ top: 8, left: 8, bottom: 8, right: 8 }}
53
+ >
54
+ {content}
55
+ <Text style={styles.radioOptionText}>{label}</Text>
56
+ </TouchableOpacity>
57
+ );
58
+ }
35
59
 
36
- return content;
37
- }
60
+ return content;
61
+ }
38
62
  }
39
63
 
40
64
  const styles = StyleSheet.create({
41
- container: {
42
- borderColor: LINEGREY,
43
- borderWidth: 1,
44
- backgroundColor: '#fff',
45
- alignItems: 'center',
46
- justifyContent: 'center',
47
- },
48
- radioOption: {
49
- flexDirection: 'row',
50
- marginRight: 26,
51
- },
52
- radioOptionText: {
53
- fontFamily: 'sf-medium',
54
- fontSize: 14,
55
- color: TEXT_DARKEST,
56
- },
65
+ container: {
66
+ borderColor: LINEGREY,
67
+ borderWidth: 1,
68
+ backgroundColor: "#fff",
69
+ alignItems: "center",
70
+ justifyContent: "center",
71
+ },
72
+ radioOption: {
73
+ flexDirection: "row",
74
+ marginRight: 26,
75
+ },
76
+ radioOptionText: {
77
+ fontFamily: "sf-medium",
78
+ fontSize: 14,
79
+ color: TEXT_DARKEST,
80
+ },
57
81
  });
58
82
 
59
- const mapStateToProps = state => {
60
- return {
61
- colourBrandingMain: getMainBrandingColourFromState(state),
62
- };
83
+ const mapStateToProps = (state) => {
84
+ return {
85
+ colourBrandingMain: getMainBrandingColourFromState(state),
86
+ };
63
87
  };
64
88
 
65
89
  const radioButton = connect(mapStateToProps, {})(RadioButton);
@@ -1,110 +1,148 @@
1
- import React, { Component } from 'react';
2
- import { View, Text, Image, TouchableOpacity } from 'react-native';
3
- import { connect } from 'react-redux';
4
- import _ from 'lodash';
5
- import { getReactions, getShadowStyle } from '../helper';
6
- import { BG_GREY, TEXT_DARK, getMainBrandingColourFromState } from '../colours';
7
- import { reactionActions } from '../apis';
1
+ import React, { Component } from "react";
2
+ import { View, Image, TouchableOpacity } from "react-native";
3
+ import { Text } from "./Text";
4
+ import { connect } from "react-redux";
5
+ import _ from "lodash";
6
+ import { getReactions, getShadowStyle } from "../helper";
7
+ import { BG_GREY, TEXT_DARK, getMainBrandingColourFromState } from "../colours";
8
+ import { reactionActions } from "../apis";
8
9
 
9
10
  class Reaction extends Component {
10
- onPressReaction = () => {
11
- if (!this.props.reactions[this.props.userId]) {
12
- reactionActions.add(this.props.entityId, this.props.entityType, this.props.reaction.key, this.props.site);
13
- this.props.onLike();
14
- } else {
15
- reactionActions.remove(this.props.entityId, this.props.entityType, this.props.reaction.key);
16
- this.props.onUnlike();
17
- }
18
- };
11
+ onPressReaction = () => {
12
+ if (!this.props.reactions[this.props.userId]) {
13
+ reactionActions.add(
14
+ this.props.entityId,
15
+ this.props.entityType,
16
+ this.props.reaction.key,
17
+ this.props.site,
18
+ );
19
+ this.props.onLike();
20
+ } else {
21
+ reactionActions.remove(
22
+ this.props.entityId,
23
+ this.props.entityType,
24
+ this.props.reaction.key,
25
+ );
26
+ this.props.onUnlike();
27
+ }
28
+ };
19
29
 
20
- getStyleType() {
21
- if (this.props.reactions[this.props.userId]) {
22
- return 'ThisHL';
23
- }
24
- if (this.props.anyHighlighted) {
25
- return 'OtherHL';
26
- }
27
- return 'Default';
28
- }
30
+ getStyleType() {
31
+ if (this.props.reactions[this.props.userId]) {
32
+ return "ThisHL";
33
+ }
34
+ if (this.props.anyHighlighted) {
35
+ return "OtherHL";
36
+ }
37
+ return "Default";
38
+ }
29
39
 
30
- getTopReaction() {
31
- return _.maxBy(Object.keys(this.props.reactions), key => {
32
- return Object.keys(this.props.reactions[key]).length;
33
- });
34
- }
40
+ getTopReaction() {
41
+ return _.maxBy(Object.keys(this.props.reactions), (key) => {
42
+ return Object.keys(this.props.reactions[key]).length;
43
+ });
44
+ }
35
45
 
36
- getIcon(topReaction) {
37
- return _.find(getReactions(), r => {
38
- return r.key === topReaction;
39
- }).icon;
40
- }
46
+ getIcon(topReaction) {
47
+ return _.find(getReactions(), (r) => {
48
+ return r.key === topReaction;
49
+ }).icon;
50
+ }
41
51
 
42
- render() {
43
- if (this.props.topReactionOnly) {
44
- const topReaction = this.getTopReaction();
45
- if (!topReaction) {
46
- return null;
47
- }
48
- return (
49
- <View style={[styles.container, styles.containerThisHL, this.props.style]}>
50
- <Image style={[styles.image, this.props.imageStyle]} source={this.getIcon(topReaction)} />
51
- <Text style={[styles.count, this.props.countStyle]}>{Object.keys(this.props.reactions[topReaction]).length}</Text>
52
- </View>
53
- );
54
- }
55
- return (
56
- <TouchableOpacity style={styles.touchable} onPress={this.onPressReaction} disabled={this.props.user.type === 'KIOSK'}>
57
- <View style={[styles.container, styles[`container${this.getStyleType()}`], this.props.style]}>
58
- <Image style={[styles.image, this.props.imageStyle]} source={this.props.reaction.icon} />
59
- <Text style={[styles.count, this.getStyleType() === 'ThisHL' && { color: this.props.colourBrandingMain }, this.props.countStyle]}>
60
- {Object.keys(this.props.reactions).length}
61
- </Text>
62
- </View>
63
- </TouchableOpacity>
64
- );
65
- }
52
+ render() {
53
+ if (this.props.topReactionOnly) {
54
+ const topReaction = this.getTopReaction();
55
+ if (!topReaction) {
56
+ return null;
57
+ }
58
+ return (
59
+ <View
60
+ style={[styles.container, styles.containerThisHL, this.props.style]}
61
+ >
62
+ <Image
63
+ style={[styles.image, this.props.imageStyle]}
64
+ source={this.getIcon(topReaction)}
65
+ />
66
+ <Text style={[styles.count, this.props.countStyle]}>
67
+ {Object.keys(this.props.reactions[topReaction]).length}
68
+ </Text>
69
+ </View>
70
+ );
71
+ }
72
+ return (
73
+ <TouchableOpacity
74
+ style={styles.touchable}
75
+ onPress={this.onPressReaction}
76
+ disabled={this.props.user.type === "KIOSK"}
77
+ >
78
+ <View
79
+ style={[
80
+ styles.container,
81
+ styles[`container${this.getStyleType()}`],
82
+ this.props.style,
83
+ ]}
84
+ >
85
+ <Image
86
+ style={[styles.image, this.props.imageStyle]}
87
+ source={this.props.reaction.icon}
88
+ />
89
+ <Text
90
+ style={[
91
+ styles.count,
92
+ this.getStyleType() === "ThisHL" && {
93
+ color: this.props.colourBrandingMain,
94
+ },
95
+ this.props.countStyle,
96
+ ]}
97
+ >
98
+ {Object.keys(this.props.reactions).length}
99
+ </Text>
100
+ </View>
101
+ </TouchableOpacity>
102
+ );
103
+ }
66
104
  }
67
105
 
68
106
  const styles = {
69
- touchable: {
70
- marginHorizontal: 4,
71
- width: 60,
72
- height: 30,
73
- },
74
- container: {
75
- width: 60,
76
- height: 30,
77
- borderRadius: 15,
78
- backgroundColor: BG_GREY,
79
- flexDirection: 'row-reverse',
80
- alignItems: 'center',
81
- paddingHorizontal: 8,
82
- },
83
- containerThisHL: {
84
- ...getShadowStyle(),
85
- },
86
- containerOtherHL: {
87
- opacity: 0.5,
88
- },
89
- image: {
90
- width: 20,
91
- height: 20,
92
- resizeMode: 'contain',
93
- },
94
- count: {
95
- fontFamily: 'sf-medium',
96
- color: TEXT_DARK,
97
- flex: 1,
98
- textAlign: 'center',
99
- fontSize: 16,
100
- },
107
+ touchable: {
108
+ marginHorizontal: 4,
109
+ width: 60,
110
+ height: 30,
111
+ },
112
+ container: {
113
+ width: 60,
114
+ height: 30,
115
+ borderRadius: 15,
116
+ backgroundColor: BG_GREY,
117
+ flexDirection: "row-reverse",
118
+ alignItems: "center",
119
+ paddingHorizontal: 8,
120
+ },
121
+ containerThisHL: {
122
+ ...getShadowStyle(),
123
+ },
124
+ containerOtherHL: {
125
+ opacity: 0.5,
126
+ },
127
+ image: {
128
+ width: 20,
129
+ height: 20,
130
+ resizeMode: "contain",
131
+ },
132
+ count: {
133
+ fontFamily: "sf-medium",
134
+ color: TEXT_DARK,
135
+ flex: 1,
136
+ textAlign: "center",
137
+ fontSize: 16,
138
+ },
101
139
  };
102
140
 
103
- const mapStateToProps = state => {
104
- return {
105
- colourBrandingMain: getMainBrandingColourFromState(state),
106
- user: state.user,
107
- };
141
+ const mapStateToProps = (state) => {
142
+ return {
143
+ colourBrandingMain: getMainBrandingColourFromState(state),
144
+ user: state.user,
145
+ };
108
146
  };
109
147
 
110
148
  const reaction = connect(mapStateToProps, {})(Reaction);