@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,262 +1,297 @@
1
- import React, { Component } from 'react';
2
- import _ from 'lodash';
3
- import { TouchableOpacity, Text, View } from 'react-native';
4
- import { connect } from 'react-redux';
5
- import moment from 'moment';
6
- import { COLOUR_GREEN, TEXT_DARK, TEXT_LIGHT, getMainBrandingColourFromState, getLightBrandingColourFromState } from '../colours';
7
- import { Services } from '../config';
8
- import { ProfilePic } from './ProfilePic';
9
- import { InlineButton } from './InlineButton';
10
- import { Spinner } from './Spinner';
11
- import { followerActions } from '../apis';
12
- import { addFollower } from '../actions';
1
+ import React, { Component } from "react";
2
+ import _ from "lodash";
3
+ import { TouchableOpacity, View } from "react-native";
4
+ import { Text } from "./Text";
5
+ import { connect } from "react-redux";
6
+ import moment from "moment";
7
+ import {
8
+ COLOUR_GREEN,
9
+ TEXT_DARK,
10
+ TEXT_LIGHT,
11
+ getMainBrandingColourFromState,
12
+ getLightBrandingColourFromState,
13
+ } from "../colours";
14
+ import { Services } from "../config";
15
+ import { ProfilePic } from "./ProfilePic";
16
+ import { InlineButton } from "./InlineButton";
17
+ import { Spinner } from "./Spinner";
18
+ import { followerActions } from "../apis";
19
+ import { addFollower } from "../actions";
13
20
 
14
21
  class UserListing extends Component {
15
- constructor(props) {
16
- super(props);
17
- this.state = { pending: false };
18
- }
22
+ constructor(props) {
23
+ super(props);
24
+ this.state = { pending: false };
25
+ }
19
26
 
20
- onPress() {
21
- const { hidden } = this.props.me;
22
- if (hidden && _.includes(hidden, 'people')) return;
27
+ onPress() {
28
+ const { hidden } = this.props.me;
29
+ if (hidden && _.includes(hidden, "people")) return;
23
30
 
24
- if (this.props.onPress) {
25
- this.props.onPress();
26
- return;
27
- }
28
- const user = { ...this.props.user };
29
- if (_.isUndefined(user.key)) {
30
- user.key = user.userId;
31
- }
32
- if (_.isUndefined(user.id)) {
33
- user.id = user.userId;
34
- }
35
- Services.navigation.navigate('profile', { user });
36
- }
31
+ if (this.props.onPress) {
32
+ this.props.onPress();
33
+ return;
34
+ }
35
+ const user = { ...this.props.user };
36
+ if (_.isUndefined(user.key)) {
37
+ user.key = user.userId;
38
+ }
39
+ if (_.isUndefined(user.id)) {
40
+ user.id = user.userId;
41
+ }
42
+ Services.navigation.navigate("profile", { user });
43
+ }
37
44
 
38
- onFollowUser() {
39
- const userToSave = {
40
- profilePic: this.props.user.profilePic,
41
- displayName: this.props.user.displayName,
42
- id: this.props.user.id,
43
- };
44
- this.setState({ pending: true });
45
- followerActions
46
- .addFollower(userToSave, this.props.myId)
47
- .then(() => {
48
- this.props.addFollower(userToSave);
49
- })
50
- .catch(() => {
51
- this.setState({ pending: false });
52
- });
53
- }
45
+ onFollowUser() {
46
+ const userToSave = {
47
+ profilePic: this.props.user.profilePic,
48
+ displayName: this.props.user.displayName,
49
+ id: this.props.user.id,
50
+ };
51
+ this.setState({ pending: true });
52
+ followerActions
53
+ .addFollower(userToSave, this.props.myId)
54
+ .then(() => {
55
+ this.props.addFollower(userToSave);
56
+ })
57
+ .catch(() => {
58
+ this.setState({ pending: false });
59
+ });
60
+ }
54
61
 
55
- getTimeText(input) {
56
- const gug = moment.unix(input);
57
- if (
58
- gug.isBefore(
59
- moment()
60
- .local()
61
- .startOf('d'),
62
- )
63
- ) {
64
- return gug.format('D MMM');
65
- }
66
- return gug.format('h:mma');
67
- }
62
+ getTimeText(input) {
63
+ const gug = moment.unix(input);
64
+ if (gug.isBefore(moment().local().startOf("d"))) {
65
+ return gug.format("D MMM");
66
+ }
67
+ return gug.format("h:mma");
68
+ }
68
69
 
69
- getProfilePic() {
70
- if (this.props.user.profilePic == null) return null;
71
- let profilePic = this.props.user.profilePic;
72
- if (!_.isUndefined(this.props.user.profilePicThumb) && !_.isEmpty(this.props.user.profilePicThumb)) {
73
- profilePic = this.props.user.profilePicThumb;
74
- } else if (this.props.user.profilePic.indexOf('.amazonaws.com/1400/') > -1) {
75
- profilePic = profilePic.replace('/1400/', '/300/');
76
- }
77
- return profilePic;
78
- }
70
+ getProfilePic() {
71
+ if (this.props.user.profilePic == null) return null;
72
+ let profilePic = this.props.user.profilePic;
73
+ if (
74
+ !_.isUndefined(this.props.user.profilePicThumb) &&
75
+ !_.isEmpty(this.props.user.profilePicThumb)
76
+ ) {
77
+ profilePic = this.props.user.profilePicThumb;
78
+ } else if (
79
+ this.props.user.profilePic.indexOf(".amazonaws.com/1400/") > -1
80
+ ) {
81
+ profilePic = profilePic.replace("/1400/", "/300/");
82
+ }
83
+ return profilePic;
84
+ }
79
85
 
80
- getLastMessage(chat) {
81
- if (typeof chat.lastMessage === 'string') {
82
- return chat.lastMessage;
83
- }
84
- // TODO recognise user name of last message
85
- return chat.lastMessage.text;
86
- }
86
+ getLastMessage(chat) {
87
+ if (typeof chat.lastMessage === "string") {
88
+ return chat.lastMessage;
89
+ }
90
+ // TODO recognise user name of last message
91
+ return chat.lastMessage.text;
92
+ }
87
93
 
88
- renderFollowButton() {
89
- if (this.props.user.privateChat) {
90
- return (
91
- <View style={{ justifyContent: 'flex-start' }}>
92
- <Text style={[styles.chatTimeStamp, this.props.user.unread > 0 && { color: TEXT_DARK, fontFamily: 'sf-bold' }]}>
93
- {this.getTimeText(this.props.user.Changed)}
94
- </Text>
95
- <View style={[{ flexDirection: 'row-reverse', marginTop: 2 }, this.props.user.unread === 0 && { opacity: 0 }]}>
96
- <View style={styles.counter}>
97
- <Text style={styles.counterText}>{this.props.user.unread}</Text>
98
- </View>
99
- </View>
100
- </View>
101
- );
102
- }
94
+ renderFollowButton() {
95
+ if (this.props.user.privateChat) {
96
+ return (
97
+ <View style={{ justifyContent: "flex-start" }}>
98
+ <Text
99
+ style={[
100
+ styles.chatTimeStamp,
101
+ this.props.user.unread > 0 && {
102
+ color: TEXT_DARK,
103
+ fontFamily: "sf-bold",
104
+ },
105
+ ]}
106
+ >
107
+ {this.getTimeText(this.props.user.Changed)}
108
+ </Text>
109
+ <View
110
+ style={[
111
+ { flexDirection: "row-reverse", marginTop: 2 },
112
+ this.props.user.unread === 0 && { opacity: 0 },
113
+ ]}
114
+ >
115
+ <View style={styles.counter}>
116
+ <Text style={styles.counterText}>{this.props.user.unread}</Text>
117
+ </View>
118
+ </View>
119
+ </View>
120
+ );
121
+ }
103
122
 
104
- if (!this.props.showFriendsButton) {
105
- return null;
106
- }
123
+ if (!this.props.showFriendsButton) {
124
+ return null;
125
+ }
107
126
 
108
- // self
109
- if (this.props.myId === this.props.user.id) {
110
- return null;
111
- }
127
+ // self
128
+ if (this.props.myId === this.props.user.id) {
129
+ return null;
130
+ }
112
131
 
113
- // already following
114
- if (this.props.isFollowing) {
115
- return (
116
- <InlineButton
117
- color={this.props.colourBrandingLight}
118
- style={styles.friendsButton}
119
- textStyle={{ color: this.props.colourBrandingMain }}
120
- disabled
121
- >
122
- Friends
123
- </InlineButton>
124
- );
125
- }
132
+ // already following
133
+ if (this.props.isFollowing) {
134
+ return (
135
+ <InlineButton
136
+ color={this.props.colourBrandingLight}
137
+ style={styles.friendsButton}
138
+ textStyle={{ color: this.props.colourBrandingMain }}
139
+ disabled
140
+ >
141
+ Friends
142
+ </InlineButton>
143
+ );
144
+ }
126
145
 
127
- // in process of following
128
- if (this.state.pending) {
129
- return (
130
- <InlineButton style={[styles.friendsButton, { borderColor: this.props.colourBrandingMain, borderWidth: 1 }]} disabled noText>
131
- <Spinner size="small" color={this.props.colourBrandingMain} />
132
- </InlineButton>
133
- );
134
- }
146
+ // in process of following
147
+ if (this.state.pending) {
148
+ return (
149
+ <InlineButton
150
+ style={[
151
+ styles.friendsButton,
152
+ { borderColor: this.props.colourBrandingMain, borderWidth: 1 },
153
+ ]}
154
+ disabled
155
+ noText
156
+ >
157
+ <Spinner size="small" color={this.props.colourBrandingMain} />
158
+ </InlineButton>
159
+ );
160
+ }
135
161
 
136
- // not following yet
137
- return (
138
- <InlineButton
139
- onPress={this.onFollowUser.bind(this)}
140
- color="#fff"
141
- style={[styles.friendsButton, { borderColor: this.props.colourBrandingMain, borderWidth: 1 }]}
142
- textStyle={{ color: this.props.colourBrandingMain }}
143
- >
144
- Add friend
145
- </InlineButton>
146
- );
147
- }
162
+ // not following yet
163
+ return (
164
+ <InlineButton
165
+ onPress={this.onFollowUser.bind(this)}
166
+ color="#fff"
167
+ style={[
168
+ styles.friendsButton,
169
+ { borderColor: this.props.colourBrandingMain, borderWidth: 1 },
170
+ ]}
171
+ textStyle={{ color: this.props.colourBrandingMain }}
172
+ >
173
+ Add friend
174
+ </InlineButton>
175
+ );
176
+ }
148
177
 
149
- renderStatusText() {
150
- if (!this.props.statusText) {
151
- return null;
152
- }
153
- return <Text style={styles.statusText}>{this.props.statusText}</Text>;
154
- }
178
+ renderStatusText() {
179
+ if (!this.props.statusText) {
180
+ return null;
181
+ }
182
+ return <Text style={styles.statusText}>{this.props.statusText}</Text>;
183
+ }
155
184
 
156
- render() {
157
- return (
158
- <View style={this.props.containerStyle}>
159
- <TouchableOpacity activeOpacity={0.9} onPress={this.onPress.bind(this)} disabled={this.props.onPressDisabled}>
160
- <View style={[styles.listItem, this.props.listItemStyle]}>
161
- {this.renderStatusText()}
162
- <ProfilePic ProfilePic={this.getProfilePic()} Diameter={42} />
163
- <View style={[styles.fill, styles.flexRowReverse, styles.alignCenter]}>
164
- {this.props.rightContent}
165
- {this.renderFollowButton()}
166
- <View style={styles.fill}>
167
- <View style={styles.listItemTextContainer}>
168
- <Text style={styles.contactName} numberOfLines={1}>
169
- {this.props.user.displayName}
170
- </Text>
171
- {this.props.user.privateChat && (
172
- <Text style={styles.chatLastMessage} numberOfLines={1}>
173
- {this.getLastMessage(this.props.user)}
174
- </Text>
175
- )}
176
- {this.props.subText}
177
- </View>
178
- </View>
179
- </View>
180
- </View>
181
- </TouchableOpacity>
182
- </View>
183
- );
184
- }
185
+ render() {
186
+ return (
187
+ <View style={this.props.containerStyle}>
188
+ <TouchableOpacity
189
+ activeOpacity={0.9}
190
+ onPress={this.onPress.bind(this)}
191
+ disabled={this.props.onPressDisabled}
192
+ >
193
+ <View style={[styles.listItem, this.props.listItemStyle]}>
194
+ {this.renderStatusText()}
195
+ <ProfilePic ProfilePic={this.getProfilePic()} Diameter={42} />
196
+ <View
197
+ style={[styles.fill, styles.flexRowReverse, styles.alignCenter]}
198
+ >
199
+ {this.props.rightContent}
200
+ {this.renderFollowButton()}
201
+ <View style={styles.fill}>
202
+ <View style={styles.listItemTextContainer}>
203
+ <Text style={styles.contactName} numberOfLines={1}>
204
+ {this.props.user.displayName}
205
+ </Text>
206
+ {this.props.user.privateChat && (
207
+ <Text style={styles.chatLastMessage} numberOfLines={1}>
208
+ {this.getLastMessage(this.props.user)}
209
+ </Text>
210
+ )}
211
+ {this.props.subText}
212
+ </View>
213
+ </View>
214
+ </View>
215
+ </View>
216
+ </TouchableOpacity>
217
+ </View>
218
+ );
219
+ }
185
220
  }
186
221
 
187
222
  const styles = {
188
- listItem: {
189
- paddingVertical: 8,
190
- paddingHorizontal: 16,
191
- justifyContent: 'flex-start',
192
- flexDirection: 'row',
193
- position: 'relative',
194
- },
195
- listItemTextContainer: {
196
- flex: 1,
197
- flexDirection: 'column',
198
- justifyContent: 'space-around',
199
- paddingLeft: 16,
200
- },
201
- contactName: {
202
- fontSize: 15,
203
- fontFamily: 'sf-semibold',
204
- backgroundColor: 'rgba(255,255,255,0)',
205
- color: TEXT_DARK,
206
- },
207
- statusText: {
208
- position: 'absolute',
209
- top: 0,
210
- left: 82,
211
- fontFamily: 'sf-semibold',
212
- fontSize: 12,
213
- color: TEXT_LIGHT,
214
- },
215
- fill: {
216
- flex: 1,
217
- },
218
- alignCenter: {
219
- alignItems: 'center',
220
- },
221
- flexRowReverse: {
222
- flexDirection: 'row-reverse',
223
- },
224
- friendsButton: {
225
- width: 100,
226
- },
227
- counter: {
228
- borderRadius: 10,
229
- height: 20,
230
- justifyContent: 'center',
231
- minWidth: 20,
232
- paddingHorizontal: 4,
233
- backgroundColor: COLOUR_GREEN,
234
- },
235
- counterText: {
236
- color: '#fff',
237
- fontSize: 12,
238
- fontFamily: 'sf-semibold',
239
- textAlign: 'center',
240
- },
241
- chatTimeStamp: {
242
- fontSize: 10,
243
- fontFamily: 'sf-semibold',
244
- color: TEXT_LIGHT,
245
- },
246
- chatLastMessage: {
247
- fontSize: 13,
248
- fontFamily: 'sf-medium',
249
- color: TEXT_LIGHT,
250
- marginRight: 5,
251
- },
223
+ listItem: {
224
+ paddingVertical: 8,
225
+ paddingHorizontal: 16,
226
+ justifyContent: "flex-start",
227
+ flexDirection: "row",
228
+ position: "relative",
229
+ },
230
+ listItemTextContainer: {
231
+ flex: 1,
232
+ flexDirection: "column",
233
+ justifyContent: "space-around",
234
+ paddingLeft: 16,
235
+ },
236
+ contactName: {
237
+ fontSize: 15,
238
+ fontFamily: "sf-semibold",
239
+ backgroundColor: "rgba(255,255,255,0)",
240
+ color: TEXT_DARK,
241
+ },
242
+ statusText: {
243
+ position: "absolute",
244
+ top: 0,
245
+ left: 82,
246
+ fontFamily: "sf-semibold",
247
+ fontSize: 12,
248
+ color: TEXT_LIGHT,
249
+ },
250
+ fill: {
251
+ flex: 1,
252
+ },
253
+ alignCenter: {
254
+ alignItems: "center",
255
+ },
256
+ flexRowReverse: {
257
+ flexDirection: "row-reverse",
258
+ },
259
+ friendsButton: {
260
+ width: 100,
261
+ },
262
+ counter: {
263
+ borderRadius: 10,
264
+ height: 20,
265
+ justifyContent: "center",
266
+ minWidth: 20,
267
+ paddingHorizontal: 4,
268
+ backgroundColor: COLOUR_GREEN,
269
+ },
270
+ counterText: {
271
+ color: "#fff",
272
+ fontSize: 12,
273
+ fontFamily: "sf-semibold",
274
+ textAlign: "center",
275
+ },
276
+ chatTimeStamp: {
277
+ fontSize: 10,
278
+ fontFamily: "sf-semibold",
279
+ color: TEXT_LIGHT,
280
+ },
281
+ chatLastMessage: {
282
+ fontSize: 13,
283
+ fontFamily: "sf-medium",
284
+ color: TEXT_LIGHT,
285
+ marginRight: 5,
286
+ },
252
287
  };
253
288
 
254
- const mapStateToProps = state => {
255
- return {
256
- me: state.user,
257
- colourBrandingMain: getMainBrandingColourFromState(state),
258
- colourBrandingLight: getLightBrandingColourFromState(state),
259
- };
289
+ const mapStateToProps = (state) => {
290
+ return {
291
+ me: state.user,
292
+ colourBrandingMain: getMainBrandingColourFromState(state),
293
+ colourBrandingLight: getLightBrandingColourFromState(state),
294
+ };
260
295
  };
261
296
 
262
297
  export default connect(mapStateToProps, { addFollower })(UserListing);