@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,111 +1,141 @@
1
- import moment from 'moment';
2
- import React, { Component } from 'react';
3
- import { Modal, View, TouchableOpacity, StyleSheet } from 'react-native';
4
- import { Calendar } from 'react-native-calendars';
5
- import { StatusBarHeight } from '../helper';
6
- import { Pl60Icon } from '../fonts';
7
- import { hexToRGBAstring, COLOUR_RED, TEXT_DARK } from '../colours';
1
+ import moment from "moment";
2
+ import React, { Component } from "react";
3
+ import { Modal, View, TouchableOpacity, StyleSheet } from "react-native";
4
+ import { Calendar } from "react-native-calendars";
5
+ import { StatusBarHeight } from "../helper";
6
+ import { FontAwesome } from "./Icon";
7
+ import {
8
+ hexToRGBAstring,
9
+ COLOUR_RED,
10
+ TEXT_DARK,
11
+ COLOUR_GRAPEFRUIT,
12
+ } from "../colours";
8
13
 
9
14
  class CalendarPopup extends Component {
10
- constructor(props) {
11
- super(props);
15
+ constructor(props) {
16
+ super(props);
12
17
 
13
- this.state = {};
14
- }
18
+ this.state = {};
19
+ }
15
20
 
16
- onDayPress = date => {
17
- const { onSelect } = this.props;
18
- if (!onSelect) return;
21
+ onDayPress = (date) => {
22
+ const { onSelect } = this.props;
23
+ if (!onSelect) return;
19
24
 
20
- // console.log('onDayPress', date);
21
- onSelect(date.timestamp);
22
- };
25
+ // console.log('onDayPress', date);
26
+ onSelect(date.timestamp);
27
+ };
23
28
 
24
- renderClose() {
25
- const { onClose } = this.props;
26
- return (
27
- <TouchableOpacity style={styles.menuIconContainer} onPress={onClose} activeOpacity={0.6}>
28
- <Pl60Icon name="close" style={styles.menuIcon} />
29
- </TouchableOpacity>
30
- );
31
- }
29
+ renderClose() {
30
+ const { onClose } = this.props;
31
+ return (
32
+ <TouchableOpacity
33
+ style={styles.menuIconContainer}
34
+ onPress={onClose}
35
+ activeOpacity={0.6}
36
+ >
37
+ <FontAwesome name="x" style={styles.menuIcon} />
38
+ </TouchableOpacity>
39
+ );
40
+ }
32
41
 
33
- render() {
34
- const {
35
- visible,
36
- animationType,
37
- onClose,
38
- backgroundStyle,
39
- selectedDate,
40
- minDate,
41
- maxDate,
42
- enabledDates,
43
- selectedColor,
44
- enabledColor,
45
- disabledColor,
46
- theme,
47
- } = this.props;
42
+ render() {
43
+ const {
44
+ visible,
45
+ animationType,
46
+ onClose,
47
+ backgroundStyle,
48
+ selectedDate,
49
+ minDate,
50
+ maxDate,
51
+ enabledDates,
52
+ selectedColor,
53
+ enabledColor,
54
+ disabledColor,
55
+ theme,
56
+ } = this.props;
48
57
 
49
- const initialDate = (selectedDate ? moment(selectedDate) : moment()).format('YYYY-MM-DD');
50
- const min = minDate ? moment(minDate).format('YYYY-MM-DD') : undefined;
51
- const max = maxDate ? moment(maxDate).format('YYYY-MM-DD') : undefined;
52
- const dateMarkings = {};
53
- (enabledDates || []).forEach(date => {
54
- const { day, enabled } = date;
55
- const key = moment(day).format('YYYY-MM-DD');
56
- dateMarkings[key] = {
57
- enabled,
58
- disableTouchEvent: !enabled,
59
- customStyles: { text: { color: enabled ? enabledColor || TEXT_DARK : disabledColor || COLOUR_RED } },
60
- };
61
- });
62
- // console.log('CalendarPopup - enabled', JSON.stringify(dateMarkings, null, 2));
63
- return (
64
- <Modal transparent visible={visible || false} animationType={animationType || 'fade'} onRequestClose={onClose}>
65
- <View style={[styles.popup, backgroundStyle || { backgroundColor: hexToRGBAstring('#fff', 1) }]}>
66
- <Calendar
67
- initialDate={initialDate}
68
- minDate={min}
69
- maxDate={max}
70
- markingType={'custom'}
71
- markedDates={{
72
- ...dateMarkings,
73
- [initialDate]: { selected: true, selectedColor: selectedColor || COLOUR_GRAPEFRUIT },
74
- }}
75
- onDayPress={this.onDayPress}
76
- theme={theme}
77
- />
78
- </View>
79
- {this.renderClose()}
80
- </Modal>
81
- );
82
- }
58
+ const initialDate = (selectedDate ? moment(selectedDate) : moment()).format(
59
+ "YYYY-MM-DD",
60
+ );
61
+ const min = minDate ? moment(minDate).format("YYYY-MM-DD") : undefined;
62
+ const max = maxDate ? moment(maxDate).format("YYYY-MM-DD") : undefined;
63
+ const dateMarkings = {};
64
+ (enabledDates || []).forEach((date) => {
65
+ const { day, enabled } = date;
66
+ const key = moment(day).format("YYYY-MM-DD");
67
+ dateMarkings[key] = {
68
+ enabled,
69
+ disableTouchEvent: !enabled,
70
+ customStyles: {
71
+ text: {
72
+ color: enabled
73
+ ? enabledColor || TEXT_DARK
74
+ : disabledColor || COLOUR_RED,
75
+ },
76
+ },
77
+ };
78
+ });
79
+ // console.log('CalendarPopup - enabled', JSON.stringify(dateMarkings, null, 2));
80
+ return (
81
+ <Modal
82
+ transparent
83
+ visible={visible || false}
84
+ animationType={animationType || "fade"}
85
+ onRequestClose={onClose}
86
+ >
87
+ <View
88
+ style={[
89
+ styles.popup,
90
+ backgroundStyle || { backgroundColor: hexToRGBAstring("#fff", 1) },
91
+ ]}
92
+ >
93
+ <Calendar
94
+ initialDate={initialDate}
95
+ minDate={min}
96
+ maxDate={max}
97
+ markingType={"custom"}
98
+ markedDates={{
99
+ ...dateMarkings,
100
+ [initialDate]: {
101
+ selected: true,
102
+ selectedColor: selectedColor || COLOUR_GRAPEFRUIT,
103
+ },
104
+ }}
105
+ onDayPress={this.onDayPress}
106
+ theme={theme}
107
+ />
108
+ </View>
109
+ {this.renderClose()}
110
+ </Modal>
111
+ );
112
+ }
83
113
  }
84
114
 
85
115
  const styles = StyleSheet.create({
86
- container: {
87
- backgroundColor: '#000',
88
- },
89
- popup: {
90
- flex: 1,
91
- justifyContent: 'center',
92
- },
93
- menuIconContainer: {
94
- position: 'absolute',
95
- top: StatusBarHeight(0),
96
- right: 0,
97
- width: 55,
98
- height: 55,
99
- zIndex: 3,
100
- },
101
- menuIcon: {
102
- fontSize: 30,
103
- padding: 15,
104
- width: 65,
105
- textAlign: 'center',
106
- color: '#000',
107
- zIndex: 3,
108
- },
116
+ container: {
117
+ backgroundColor: "#000",
118
+ },
119
+ popup: {
120
+ flex: 1,
121
+ justifyContent: "center",
122
+ },
123
+ menuIconContainer: {
124
+ position: "absolute",
125
+ top: StatusBarHeight(0),
126
+ right: 0,
127
+ width: 55,
128
+ height: 55,
129
+ zIndex: 3,
130
+ },
131
+ menuIcon: {
132
+ fontSize: 30,
133
+ padding: 15,
134
+ width: 65,
135
+ textAlign: "center",
136
+ color: "#000",
137
+ zIndex: 3,
138
+ },
109
139
  });
110
140
 
111
141
  export { CalendarPopup };
@@ -1,181 +1,226 @@
1
- import React, { Component } from 'react';
2
- import _ from 'lodash';
3
- import { Text, TouchableOpacity, View, ScrollView } from 'react-native';
4
- import { connect } from 'react-redux';
5
- import { TEXT_LIGHT, COLOUR_GREEN, getMainBrandingColourFromState } from '../colours';
6
- import { getSiteSettingFromState } from '../helper';
1
+ import React, { Component } from "react";
2
+ import _ from "lodash";
3
+ import { TouchableOpacity, View, ScrollView } from "react-native";
4
+ import { Text } from "./Text";
5
+ import { connect } from "react-redux";
6
+ import {
7
+ TEXT_LIGHT,
8
+ COLOUR_GREEN,
9
+ getMainBrandingColourFromState,
10
+ } from "../colours";
11
+ import { getSiteSettingFromState } from "../helper";
7
12
  // import { HAS_GRADIENT_HEADER } from '../../config';
8
- import Config from '../config';
13
+ import Config from "../config";
9
14
 
10
15
  class CategoryTabs extends Component {
11
- constructor(props) {
12
- super(props);
13
- this.state = {
14
- categoryKeys: [],
15
- selectedCategory: this.props.initialCategory,
16
- };
17
- }
16
+ constructor(props) {
17
+ super(props);
18
+ this.state = {
19
+ categoryKeys: [],
20
+ selectedCategory: this.props.initialCategory,
21
+ };
22
+ }
18
23
 
19
- UNSAFE_componentWillMount() {
20
- this.setState({
21
- selectedCategory:
22
- !_.isUndefined(this.props.currentTab) && !_.isEmpty(this.props.currentTab) ? this.props.currentTab : this.props.initialCategory,
23
- categoryKeys: this.props.categoryKeys,
24
- });
25
- }
24
+ UNSAFE_componentWillMount() {
25
+ this.setState({
26
+ selectedCategory:
27
+ !_.isUndefined(this.props.currentTab) &&
28
+ !_.isEmpty(this.props.currentTab)
29
+ ? this.props.currentTab
30
+ : this.props.initialCategory,
31
+ categoryKeys: this.props.categoryKeys,
32
+ });
33
+ }
26
34
 
27
- componentDidMount() {
28
- this.setState({
29
- selectedCategory:
30
- !_.isUndefined(this.props.currentTab) && !_.isEmpty(this.props.currentTab) ? this.props.currentTab : this.props.initialCategory,
31
- });
32
- }
35
+ componentDidMount() {
36
+ this.setState({
37
+ selectedCategory:
38
+ !_.isUndefined(this.props.currentTab) &&
39
+ !_.isEmpty(this.props.currentTab)
40
+ ? this.props.currentTab
41
+ : this.props.initialCategory,
42
+ });
43
+ }
33
44
 
34
- UNSAFE_componentWillReceiveProps(nextProps) {
35
- if (!_.isUndefined(nextProps.currentTab) && !_.isEmpty(nextProps.currentTab)) {
36
- this.setState({ selectedCategory: nextProps.currentTab });
37
- }
38
- }
45
+ UNSAFE_componentWillReceiveProps(nextProps) {
46
+ if (
47
+ !_.isUndefined(nextProps.currentTab) &&
48
+ !_.isEmpty(nextProps.currentTab)
49
+ ) {
50
+ this.setState({ selectedCategory: nextProps.currentTab });
51
+ }
52
+ }
39
53
 
40
- selectCategory(key) {
41
- this.setState({
42
- selectedCategory: key,
43
- });
44
- this.props.onSelect(key);
45
- }
54
+ selectCategory(key) {
55
+ this.setState({
56
+ selectedCategory: key,
57
+ });
58
+ this.props.onSelect(key);
59
+ }
46
60
 
47
- renderCounter(key) {
48
- if (
49
- this.props.categoryCounter &&
50
- this.props.categoryCounter[key] &&
51
- this.props.categoryCounter[key] === true &&
52
- this.props.counterValues &&
53
- this.props.counterValues[key] > 0
54
- ) {
55
- return (
56
- <View style={styles.counter}>
57
- <Text style={styles.counterText}>{this.props.counterValues[key]}</Text>
58
- </View>
59
- );
60
- }
61
- return null;
62
- }
61
+ renderCounter(key) {
62
+ if (
63
+ this.props.categoryCounter &&
64
+ this.props.categoryCounter[key] &&
65
+ this.props.categoryCounter[key] === true &&
66
+ this.props.counterValues &&
67
+ this.props.counterValues[key] > 0
68
+ ) {
69
+ return (
70
+ <View style={styles.counter}>
71
+ <Text style={styles.counterText}>
72
+ {this.props.counterValues[key]}
73
+ </Text>
74
+ </View>
75
+ );
76
+ }
77
+ return null;
78
+ }
63
79
 
64
- renderCategories(noScrollStyle) {
65
- const getTextColour = key => {
66
- if (this.state.selectedCategory === key) {
67
- return this.props.headerType !== 'white' ? '#fff' : this.props.colourBrandingMain;
68
- }
69
- return this.props.headerType !== 'white' ? '#fff' : TEXT_LIGHT;
70
- };
71
- const getBottomBorderColour = key => {
72
- if (this.state.selectedCategory === key) {
73
- return this.props.headerType !== 'white' ? '#fff' : this.props.colourBrandingMain;
74
- }
75
- return this.props.headerType !== 'white' ? this.props.colourBrandingMain : '#fff';
76
- };
77
- return this.state.categoryKeys.map((key, index) => {
78
- return (
79
- <TouchableOpacity
80
- key={index}
81
- // style={[{ minHeight: this.props.height || 30, justifyContent: 'center' }, noScrollStyle && { flex: 1 }]}
82
- style={[{ flex: 1, minHeight: this.props.height || 30, justifyContent: 'center' }, this.props.catWrapperStyle]}
83
- onPress={this.selectCategory.bind(this, key)}
84
- >
85
- <View
86
- style={[
87
- {
88
- borderBottomColor: getBottomBorderColour(key),
89
- borderBottomWidth: noScrollStyle ? 0 : 2,
90
- marginRight: noScrollStyle ? 0 : 16,
91
- marginLeft: index === 0 && !noScrollStyle ? 16 : 0,
92
- justifyContent: 'center',
93
- alignContent: 'center',
94
- minHeight: 30,
95
- flexDirection: 'row',
96
- backgroundColor: this.props.headerType !== 'white' ? this.props.colourBrandingMain : undefined,
97
- },
98
- this.props.style,
99
- ]}
100
- >
101
- <View
102
- style={[
103
- noScrollStyle && styles.innerContainer,
104
- {
105
- flex: 1,
106
- borderColor: getBottomBorderColour(key),
107
- justifyContent: 'center',
108
- },
109
- this.props.catStyle,
110
- ]}
111
- >
112
- <Text
113
- style={[
114
- {
115
- fontFamily: 'sf-semibold',
116
- fontSize: 15,
117
- color: getTextColour(key),
118
- textAlign: 'center',
119
- paddingVertical: 8,
120
- width: 'auto',
121
- },
122
- this.props.textStyle,
123
- this.props.colourBrandingHeader &&
124
- this.state.selectedCategory !== key && { color: this.props.colourBrandingMain, opacity: 0.5 },
125
- ]}
126
- >
127
- {key}
128
- </Text>
129
- {this.renderCounter(key)}
130
- </View>
131
- </View>
132
- </TouchableOpacity>
133
- );
134
- });
135
- }
80
+ renderCategories(noScrollStyle) {
81
+ const getTextColour = (key) => {
82
+ if (this.state.selectedCategory === key) {
83
+ return this.props.headerType !== "white"
84
+ ? "#fff"
85
+ : this.props.colourBrandingMain;
86
+ }
87
+ return this.props.headerType !== "white" ? "#fff" : TEXT_LIGHT;
88
+ };
89
+ const getBottomBorderColour = (key) => {
90
+ if (this.state.selectedCategory === key) {
91
+ return this.props.headerType !== "white"
92
+ ? "#fff"
93
+ : this.props.colourBrandingMain;
94
+ }
95
+ return this.props.headerType !== "white"
96
+ ? this.props.colourBrandingMain
97
+ : "#fff";
98
+ };
99
+ return this.state.categoryKeys.map((key, index) => {
100
+ return (
101
+ <TouchableOpacity
102
+ key={index}
103
+ // style={[{ minHeight: this.props.height || 30, justifyContent: 'center' }, noScrollStyle && { flex: 1 }]}
104
+ style={[
105
+ {
106
+ flex: 1,
107
+ minHeight: this.props.height || 30,
108
+ justifyContent: "center",
109
+ },
110
+ this.props.catWrapperStyle,
111
+ ]}
112
+ onPress={this.selectCategory.bind(this, key)}
113
+ >
114
+ <View
115
+ style={[
116
+ {
117
+ borderBottomColor: getBottomBorderColour(key),
118
+ borderBottomWidth: noScrollStyle ? 0 : 2,
119
+ marginRight: noScrollStyle ? 0 : 16,
120
+ marginLeft: index === 0 && !noScrollStyle ? 16 : 0,
121
+ justifyContent: "center",
122
+ alignContent: "center",
123
+ minHeight: 30,
124
+ flexDirection: "row",
125
+ backgroundColor:
126
+ this.props.headerType !== "white"
127
+ ? this.props.colourBrandingMain
128
+ : undefined,
129
+ },
130
+ this.props.style,
131
+ ]}
132
+ >
133
+ <View
134
+ style={[
135
+ noScrollStyle && styles.innerContainer,
136
+ {
137
+ flex: 1,
138
+ borderColor: getBottomBorderColour(key),
139
+ justifyContent: "center",
140
+ },
141
+ this.props.catStyle,
142
+ ]}
143
+ >
144
+ <Text
145
+ style={[
146
+ {
147
+ fontFamily: "sf-semibold",
148
+ fontSize: 15,
149
+ color: getTextColour(key),
150
+ textAlign: "center",
151
+ paddingVertical: 8,
152
+ width: "auto",
153
+ },
154
+ this.props.textStyle,
155
+ this.props.colourBrandingHeader &&
156
+ this.state.selectedCategory !== key && {
157
+ color: this.props.colourBrandingMain,
158
+ opacity: 0.5,
159
+ },
160
+ ]}
161
+ >
162
+ {key}
163
+ </Text>
164
+ {this.renderCounter(key)}
165
+ </View>
166
+ </View>
167
+ </TouchableOpacity>
168
+ );
169
+ });
170
+ }
136
171
 
137
- render() {
138
- if (this.props.noScroll) {
139
- // return (<View style={{ flexDirection: 'row', paddingLeft: 16, paddingRight: 16 }}>
140
- return <View style={{ flexDirection: 'row', justifyContent: 'space-evenly' }}>{this.renderCategories(true)}</View>;
141
- }
142
- return <ScrollView horizontal>{this.renderCategories(false)}</ScrollView>;
143
- }
172
+ render() {
173
+ if (this.props.noScroll) {
174
+ // return (<View style={{ flexDirection: 'row', paddingLeft: 16, paddingRight: 16 }}>
175
+ return (
176
+ <View style={{ flexDirection: "row", justifyContent: "space-evenly" }}>
177
+ {this.renderCategories(true)}
178
+ </View>
179
+ );
180
+ }
181
+ return <ScrollView horizontal>{this.renderCategories(false)}</ScrollView>;
182
+ }
144
183
  }
145
184
 
146
185
  const styles = {
147
- counter: {
148
- backgroundColor: COLOUR_GREEN,
149
- height: 16,
150
- minWidth: 16,
151
- borderRadius: 8,
152
- marginLeft: 4,
153
- marginTop: 4,
154
- justifyContent: 'center',
155
- alignContent: 'center',
156
- },
157
- counterText: {
158
- color: '#fff',
159
- textAlign: 'center',
160
- fontSize: 12,
161
- fontFamily: 'sf-semibold',
162
- },
163
- innerContainer: {
164
- borderBottomWidth: 2,
165
- flexDirection: 'row',
166
- paddingHorizontal: 8,
167
- },
186
+ counter: {
187
+ backgroundColor: COLOUR_GREEN,
188
+ height: 16,
189
+ minWidth: 16,
190
+ borderRadius: 8,
191
+ marginLeft: 4,
192
+ marginTop: 4,
193
+ justifyContent: "center",
194
+ alignContent: "center",
195
+ },
196
+ counterText: {
197
+ color: "#fff",
198
+ textAlign: "center",
199
+ fontSize: 12,
200
+ fontFamily: "sf-semibold",
201
+ },
202
+ innerContainer: {
203
+ borderBottomWidth: 2,
204
+ flexDirection: "row",
205
+ paddingHorizontal: 8,
206
+ },
168
207
  };
169
208
 
170
- const mapStateToProps = state => {
171
- return {
172
- colourBrandingMain: getMainBrandingColourFromState(state),
173
- headerType: getSiteSettingFromState(
174
- state,
175
- 'HeaderType',
176
- getSiteSettingFromState(state, 'UseGradientHeader', Config.env.hasGradientHeader) ? 'gradient' : 'white',
177
- ),
178
- };
209
+ const mapStateToProps = (state) => {
210
+ return {
211
+ colourBrandingMain: getMainBrandingColourFromState(state),
212
+ headerType: getSiteSettingFromState(
213
+ state,
214
+ "HeaderType",
215
+ getSiteSettingFromState(
216
+ state,
217
+ "UseGradientHeader",
218
+ Config.env.hasGradientHeader,
219
+ )
220
+ ? "gradient"
221
+ : "white",
222
+ ),
223
+ };
179
224
  };
180
225
 
181
226
  const categoryTabs = connect(mapStateToProps, {})(CategoryTabs);