@plusscommunities/pluss-maintenance-app-forms 7.0.21 → 7.0.23-beta.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 (97) hide show
  1. package/dist/module/actions/JobActions.js +4 -4
  2. package/dist/module/actions/JobActions.js.map +1 -1
  3. package/dist/module/actions/index.js +1 -1
  4. package/dist/module/actions/index.js.map +1 -1
  5. package/dist/module/actions/types.js +1 -1
  6. package/dist/module/actions/types.js.map +1 -1
  7. package/dist/module/apis/index.js +3 -3
  8. package/dist/module/apis/index.js.map +1 -1
  9. package/dist/module/apis/maintenanceActions.js +36 -36
  10. package/dist/module/apis/maintenanceActions.js.map +1 -1
  11. package/dist/module/apis/userActions.js +5 -5
  12. package/dist/module/apis/userActions.js.map +1 -1
  13. package/dist/module/components/FilterPopupMenu.js +49 -49
  14. package/dist/module/components/FilterPopupMenu.js.map +1 -1
  15. package/dist/module/components/MaintenanceList.js +38 -38
  16. package/dist/module/components/MaintenanceList.js.map +1 -1
  17. package/dist/module/components/MaintenanceListItem.js +62 -62
  18. package/dist/module/components/MaintenanceListItem.js.map +1 -1
  19. package/dist/module/components/MaintenanceWidgetItem.js +27 -27
  20. package/dist/module/components/MaintenanceWidgetItem.js.map +1 -1
  21. package/dist/module/components/PrioritySelectorPopup.js +15 -15
  22. package/dist/module/components/PrioritySelectorPopup.js.map +1 -1
  23. package/dist/module/components/StatusSelectorPopup.js +16 -16
  24. package/dist/module/components/StatusSelectorPopup.js.map +1 -1
  25. package/dist/module/components/WidgetLarge.js +2 -2
  26. package/dist/module/components/WidgetLarge.js.map +1 -1
  27. package/dist/module/components/WidgetSmall.js +19 -19
  28. package/dist/module/components/WidgetSmall.js.map +1 -1
  29. package/dist/module/core.config.js +1 -1
  30. package/dist/module/core.config.js.map +1 -1
  31. package/dist/module/feature.config.js +17 -17
  32. package/dist/module/feature.config.js.map +1 -1
  33. package/dist/module/helper.js +10 -10
  34. package/dist/module/helper.js.map +1 -1
  35. package/dist/module/index.js +11 -11
  36. package/dist/module/index.js.map +1 -1
  37. package/dist/module/reducers/JobsReducer.js +13 -13
  38. package/dist/module/reducers/JobsReducer.js.map +1 -1
  39. package/dist/module/screens/JobTypePicker.js +17 -17
  40. package/dist/module/screens/JobTypePicker.js.map +1 -1
  41. package/dist/module/screens/MaintenancePage.js +10 -10
  42. package/dist/module/screens/MaintenancePage.js.map +1 -1
  43. package/dist/module/screens/MaintenanceUserPicker.js +22 -129
  44. package/dist/module/screens/MaintenanceUserPicker.js.map +1 -1
  45. package/dist/module/screens/RequestDetail.js +145 -145
  46. package/dist/module/screens/RequestDetail.js.map +1 -1
  47. package/dist/module/screens/RequestNotes.js +59 -59
  48. package/dist/module/screens/RequestNotes.js.map +1 -1
  49. package/dist/module/screens/ServiceRequest.js +189 -189
  50. package/dist/module/screens/ServiceRequest.js.map +1 -1
  51. package/dist/module/values.config.a.js +31 -31
  52. package/dist/module/values.config.a.js.map +1 -1
  53. package/dist/module/values.config.default.js +35 -35
  54. package/dist/module/values.config.default.js.map +1 -1
  55. package/dist/module/values.config.enquiry.js +35 -35
  56. package/dist/module/values.config.enquiry.js.map +1 -1
  57. package/dist/module/values.config.feedback.js +35 -35
  58. package/dist/module/values.config.feedback.js.map +1 -1
  59. package/dist/module/values.config.food.js +35 -35
  60. package/dist/module/values.config.food.js.map +1 -1
  61. package/dist/module/values.config.forms.js +34 -34
  62. package/dist/module/values.config.forms.js.map +1 -1
  63. package/dist/module/values.config.js +34 -34
  64. package/dist/module/values.config.js.map +1 -1
  65. package/package.json +52 -52
  66. package/src/actions/JobActions.js +60 -67
  67. package/src/actions/index.js +1 -1
  68. package/src/actions/types.js +2 -1
  69. package/src/apis/index.js +3 -3
  70. package/src/apis/maintenanceActions.js +178 -189
  71. package/src/apis/userActions.js +17 -17
  72. package/src/components/FilterPopupMenu.js +256 -313
  73. package/src/components/MaintenanceList.js +317 -396
  74. package/src/components/MaintenanceListItem.js +288 -347
  75. package/src/components/MaintenanceWidgetItem.js +124 -145
  76. package/src/components/PrioritySelectorPopup.js +68 -81
  77. package/src/components/StatusSelectorPopup.js +70 -81
  78. package/src/components/WidgetLarge.js +5 -5
  79. package/src/components/WidgetSmall.js +133 -153
  80. package/src/core.config.js +3 -27
  81. package/src/feature.config.js +62 -62
  82. package/src/helper.js +53 -58
  83. package/src/index.js +22 -22
  84. package/src/reducers/JobsReducer.js +66 -85
  85. package/src/screens/JobTypePicker.js +92 -115
  86. package/src/screens/MaintenancePage.js +80 -89
  87. package/src/screens/MaintenanceUserPicker.js +99 -262
  88. package/src/screens/RequestDetail.js +1125 -1345
  89. package/src/screens/RequestNotes.js +805 -946
  90. package/src/screens/ServiceRequest.js +1557 -1773
  91. package/src/values.config.a.js +34 -34
  92. package/src/values.config.default.js +40 -40
  93. package/src/values.config.enquiry.js +40 -40
  94. package/src/values.config.feedback.js +40 -40
  95. package/src/values.config.food.js +40 -40
  96. package/src/values.config.forms.js +39 -39
  97. package/src/values.config.js +39 -39
@@ -1,362 +1,303 @@
1
- import React, { Component } from "react";
2
- import { Image, Text, TouchableOpacity, View, StyleSheet } from "react-native";
3
- import _ from "lodash";
4
- import { Icon } from "@rneui/themed";
5
- import { connect } from "react-redux";
6
- import moment from "moment";
7
- import { getJobStatus, getJobPriority } from "../helper";
8
- import { Services } from "../feature.config";
9
- import { Helper, Colours } from "../core.config";
10
- import { values } from "../values.config";
1
+ import React, { Component } from 'react';
2
+ import { Image, Text, TouchableOpacity, View, StyleSheet } from 'react-native';
3
+ import _ from 'lodash';
4
+ import { Icon } from '@rneui/themed';
5
+ import { connect } from 'react-redux';
6
+ import moment from 'moment';
7
+ import { getJobStatus, getJobPriority } from '../helper';
8
+ import { Services } from '../feature.config';
9
+ import { Helper, Colours } from '../core.config';
10
+ import { values } from '../values.config';
11
11
 
12
12
  class MaintenanceListItem extends Component {
13
- onPressJob = () => {
14
- Services.navigation.navigate(values.screenRequestDetail, {
15
- job: this.props.job,
16
- });
17
- };
13
+ onPressJob = () => {
14
+ Services.navigation.navigate(values.screenRequestDetail, { job: this.props.job });
15
+ };
18
16
 
19
- renderCommentCount() {
20
- const { job } = this.props;
21
- if (!job.commentCount) {
22
- return null;
23
- }
24
- return (
25
- <View style={styles.commentCountContainer}>
26
- <Text style={styles.commentCountText}>
27
- {job.commentCount > 99 ? "99" : job.commentCount}
28
- </Text>
29
- </View>
30
- );
31
- }
17
+ renderCommentCount() {
18
+ const { job } = this.props;
19
+ if (!job.commentCount) {
20
+ return null;
21
+ }
22
+ return (
23
+ <View style={styles.commentCountContainer}>
24
+ <Text style={styles.commentCountText}>{job.commentCount > 99 ? '99' : job.commentCount}</Text>
25
+ </View>
26
+ );
27
+ }
32
28
 
33
- renderDescription() {
34
- const { job } = this.props;
35
- if (_.isEmpty(job.description)) {
36
- return null;
37
- }
38
- return <Text style={styles.jobDescriptionText}>{job.description}</Text>;
39
- }
29
+ renderDescription() {
30
+ const { job } = this.props;
31
+ if (_.isEmpty(job.description)) {
32
+ return null;
33
+ }
34
+ return <Text style={styles.jobDescriptionText}>{job.description}</Text>;
35
+ }
40
36
 
41
- renderSeen() {
42
- const { job, hideSeen } = this.props;
43
- const showSeen =
44
- !job.status || job.status === getJobStatus(null, this.props).text;
45
- if (hideSeen || !showSeen || !job.seen) {
46
- return null;
47
- }
48
- return (
49
- <View style={styles.jobSeenContainer}>
50
- <Icon
51
- name="check"
52
- type="font-awesome"
53
- iconStyle={[
54
- styles.jobSeenIcon,
55
- { color: this.props.colourBrandingMain },
56
- ]}
57
- />
58
- <Text
59
- style={[styles.jobSeenText, { color: this.props.colourBrandingMain }]}
60
- >
61
- Seen
62
- </Text>
63
- </View>
64
- );
65
- }
37
+ renderSeen() {
38
+ const { job, hideSeen } = this.props;
39
+ const showSeen = !job.status || job.status === getJobStatus(null, this.props).text;
40
+ if (hideSeen || !showSeen || !job.seen) {
41
+ return null;
42
+ }
43
+ return (
44
+ <View style={styles.jobSeenContainer}>
45
+ <Icon name="check" type="font-awesome" iconStyle={[styles.jobSeenIcon, { color: this.props.colourBrandingMain }]} />
46
+ <Text style={[styles.jobSeenText, { color: this.props.colourBrandingMain }]}>Seen</Text>
47
+ </View>
48
+ );
49
+ }
66
50
 
67
- render() {
68
- const { job } = this.props;
69
- const createdTime = moment(job.createdUnix);
70
- const createdTimeText = `${createdTime.format("ddd, D MMMM")} • ${createdTime.format("h:mma")}`;
71
- const assigneeText = job.Assignee
72
- ? `Assigned to\n${job.Assignee.displayName}`
73
- : "";
74
- const status = getJobStatus(job.status, this.props);
75
- const priority = getJobPriority(job.priority);
76
- const isStaff = this.props.user.category === "staff";
51
+ render() {
52
+ const { job } = this.props;
53
+ const createdTime = moment(job.createdUnix);
54
+ const createdTimeText = `${createdTime.format('ddd, D MMMM')} • ${createdTime.format('h:mma')}`;
55
+ const assigneeText = job.Assignee ? `Assigned to\n${job.Assignee.displayName}` : '';
56
+ const status = getJobStatus(job.status, this.props);
57
+ const priority = getJobPriority(job.priority);
58
+ const isStaff = this.props.user.category === 'staff'
77
59
 
78
- return (
79
- <TouchableOpacity onPress={this.onPressJob}>
80
- <View style={[styles.jobContainer, this.props.style]}>
81
- <View style={styles.jobInnerContainer}>
82
- <View style={styles.jobTopSection}>
83
- <View style={styles.jobTopLeft}>
84
- {job.jobId ? (
85
- <Text
86
- style={[
87
- styles.jobIdText,
88
- { color: this.props.colourBrandingMain },
89
- ]}
90
- >{`${values.textEntityName} #${job.jobId}`}</Text>
91
- ) : null}
92
- <Text style={styles.jobTitleText}>{job.title}</Text>
93
- {job.room ? (
94
- <Text style={styles.jobLocationText}>{job.room}</Text>
95
- ) : null}
96
- <View style={styles.jobTypeSeenContainer}>
97
- <View
98
- style={[
99
- styles.jobTypeContainer,
100
- {
101
- backgroundColor: Colours.hexToRGBAstring(
102
- this.props.colourBrandingMain,
103
- 0.2,
104
- ),
105
- },
106
- ]}
107
- >
108
- <Text
109
- style={[
110
- styles.jobTypeText,
111
- { color: this.props.colourBrandingMain },
112
- ]}
113
- numberOfLines={2}
114
- >
115
- {job.type}
116
- </Text>
117
- </View>
118
- {this.renderSeen()}
119
- </View>
120
- </View>
121
- <View style={styles.jobTopRight}>
122
- <Image
123
- style={styles.jobCommentImage}
124
- source={require("../images/speechbubble.png")}
125
- />
126
- {this.renderCommentCount()}
127
- </View>
128
- </View>
129
- <View style={styles.jobBottomSection}>
130
- {/* {this.renderDescription()} */}
131
- <Text style={styles.jobCreatedText}>{createdTimeText}</Text>
132
- <View style={styles.jobActivityContainer}>
133
- <View
134
- style={[
135
- styles.jobStatusContainer,
136
- { backgroundColor: status?.color },
137
- ]}
138
- >
139
- {/* <Icon name="wrench" type="font-awesome" iconStyle={styles.jobStatusIcon} /> */}
140
- <Text style={styles.jobStatusText}>{status?.text}</Text>
141
- </View>
142
- <View
143
- style={[styles.jobStatusLine, { borderColor: status?.color }]}
144
- >
145
- <View style={styles.jobStatusLineMask} />
146
- </View>
147
- <View
148
- style={[
149
- styles.jobStatusCircle,
150
- { backgroundColor: status?.color },
151
- ]}
152
- />
153
- <Text style={styles.jobStatusDateText}>{assigneeText}</Text>
154
- </View>
155
- {isStaff && (
156
- <View
157
- style={[
158
- styles.jobPriorityContainer,
159
- { backgroundColor: priority.color },
160
- ]}
161
- >
162
- <Text style={styles.jobPriorityText}>{priority.label}</Text>
163
- </View>
164
- )}
165
- </View>
166
- </View>
167
- </View>
168
- </TouchableOpacity>
169
- );
170
- }
60
+ return (
61
+ <TouchableOpacity onPress={this.onPressJob}>
62
+ <View style={[styles.jobContainer, this.props.style]}>
63
+ <View style={styles.jobInnerContainer}>
64
+ <View style={styles.jobTopSection}>
65
+ <View style={styles.jobTopLeft}>
66
+ {job.jobId ? (
67
+ <Text
68
+ style={[styles.jobIdText, { color: this.props.colourBrandingMain }]}
69
+ >{`${values.textEntityName} #${job.jobId}`}</Text>
70
+ ) : null}
71
+ <Text style={styles.jobTitleText}>{job.title}</Text>
72
+ {job.room ? <Text style={styles.jobLocationText}>{job.room}</Text> : null}
73
+ <View style={styles.jobTypeSeenContainer}>
74
+ <View style={[styles.jobTypeContainer, { backgroundColor: Colours.hexToRGBAstring(this.props.colourBrandingMain, 0.2) }]}>
75
+ <Text style={[styles.jobTypeText, { color: this.props.colourBrandingMain }]} numberOfLines={2}>
76
+ {job.type}
77
+ </Text>
78
+ </View>
79
+ {this.renderSeen()}
80
+ </View>
81
+ </View>
82
+ <View style={styles.jobTopRight}>
83
+ <Image style={styles.jobCommentImage} source={require('../images/speechbubble.png')} />
84
+ {this.renderCommentCount()}
85
+ </View>
86
+ </View>
87
+ <View style={styles.jobBottomSection}>
88
+ {/* {this.renderDescription()} */}
89
+ <Text style={styles.jobCreatedText}>{createdTimeText}</Text>
90
+ <View style={styles.jobActivityContainer}>
91
+ <View style={[styles.jobStatusContainer, { backgroundColor: status?.color }]}>
92
+ {/* <Icon name="wrench" type="font-awesome" iconStyle={styles.jobStatusIcon} /> */}
93
+ <Text style={styles.jobStatusText}>{status?.text}</Text>
94
+ </View>
95
+ <View style={[styles.jobStatusLine, { borderColor: status?.color }]}>
96
+ <View style={styles.jobStatusLineMask} />
97
+ </View>
98
+ <View style={[styles.jobStatusCircle, { backgroundColor: status?.color }]} />
99
+ <Text style={styles.jobStatusDateText}>{assigneeText}</Text>
100
+ </View>
101
+ {isStaff && (
102
+ <View style={[styles.jobPriorityContainer, { backgroundColor: priority.color }]}>
103
+ <Text style={styles.jobPriorityText}>{priority.label}</Text>
104
+ </View>
105
+ )}
106
+ </View>
107
+ </View>
108
+ </View>
109
+ </TouchableOpacity>
110
+ );
111
+ }
171
112
  }
172
113
 
173
114
  const styles = StyleSheet.create({
174
- jobContainer: {
175
- marginVertical: 8,
176
- paddingHorizontal: 16,
177
- },
178
- jobInnerContainer: {
179
- ...Helper.getShadowStyle(),
180
- },
181
- jobTopSection: {
182
- flexDirection: "row",
183
- alignItems: "flex-end",
184
- paddingHorizontal: 10,
185
- paddingVertical: 10,
186
- borderBottomWidth: 1,
187
- borderBottomColor: Colours.LINEGREY,
188
- },
189
- jobTopLeft: {
190
- flex: 1,
191
- },
192
- jobIdText: {
193
- fontFamily: "sf-medium",
194
- fontSize: 12,
195
- marginBottom: 4,
196
- },
197
- jobTitleText: {
198
- fontFamily: "sf-semibold",
199
- fontSize: 18,
200
- color: Colours.TEXT_DARK,
201
- marginBottom: 4,
202
- },
203
- jobLocationText: {
204
- fontFamily: "sf-medium",
205
- fontSize: 12,
206
- color: Colours.TEXT_LIGHT,
207
- marginBottom: 4,
208
- },
209
- jobTypeSeenContainer: {
210
- marginTop: 4,
211
- flexDirection: "row",
212
- alignItems: "center",
213
- },
214
- jobTypeContainer: {
215
- padding: 4,
216
- minWidth: 80,
217
- maxWidth: 140,
218
- borderRadius: 4,
219
- justifyContent: "center",
220
- },
221
- jobTypeText: {
222
- fontFamily: "sf-semibold",
223
- fontSize: 12,
224
- textAlign: "center",
225
- maxWidth: "100%",
226
- },
227
- jobSeenContainer: {
228
- flexDirection: "row",
229
- alignItems: "center",
230
- marginLeft: 10,
231
- },
232
- jobSeenIcon: {
233
- fontSize: 12,
234
- },
235
- jobSeenText: {
236
- fontFamily: "sf-semibold",
237
- fontSize: 12,
238
- marginLeft: 4,
239
- },
240
- jobTopRight: {
241
- alignItems: "center",
242
- justifyContent: "center",
243
- paddingHorizontal: 10,
244
- paddingTop: 10,
245
- },
246
- jobCommentImage: {
247
- width: 34,
248
- height: 34,
249
- resizeMode: "contain",
250
- },
251
- commentCountContainer: {
252
- position: "absolute",
253
- top: 0,
254
- right: 0,
255
- borderRadius: 10,
256
- borderWidth: 2,
257
- borderColor: "#fff",
258
- width: 20,
259
- height: 20,
260
- backgroundColor: Colours.COLOUR_GREEN,
261
- justifyContent: "center",
262
- alignItems: "center",
263
- },
264
- commentCountText: {
265
- textAlign: "center",
266
- fontFamily: "sf-bold",
267
- fontSize: 10,
268
- color: "#fff",
269
- },
270
- jobBottomSection: {
271
- paddingHorizontal: 10,
272
- paddingVertical: 16,
273
- },
274
- jobDescriptionText: {
275
- fontFamily: "sf-medium",
276
- fontSize: 14,
277
- color: Colours.TEXT_DARK,
278
- marginBottom: 8,
279
- },
280
- jobCreatedText: {
281
- fontFamily: "sf-medium",
282
- fontSize: 12,
283
- color: Colours.TEXT_LIGHT,
284
- marginBottom: 10,
285
- },
286
- jobActivityContainer: {
287
- flexDirection: "row",
288
- alignItems: "center",
289
- },
290
- jobStatusContainer: {
291
- flexDirection: "row",
292
- alignItems: "center",
293
- justifyContent: "center",
294
- width: 105,
295
- height: 30,
296
- paddingHorizontal: 8,
297
- borderRadius: 4,
298
- },
299
- jobStatusIcon: {
300
- color: "#fff",
301
- fontSize: 14,
302
- },
303
- jobStatusText: {
304
- color: "#fff",
305
- textAlign: "center",
306
- fontFamily: "sf-semibold",
307
- fontSize: 13,
308
- },
309
- jobStatusLine: {
310
- borderWidth: 1,
311
- borderStyle: "dashed",
312
- width: 30,
313
- },
314
- jobStatusLineMask: {
315
- position: "absolute",
316
- left: -1,
317
- top: -1,
318
- width: "100%",
319
- height: 1,
320
- backgroundColor: "#fff",
321
- zIndex: 1,
322
- },
323
- jobStatusCircle: {
324
- width: 18,
325
- height: 18,
326
- borderRadius: 9,
327
- },
328
- jobStatusDateText: {
329
- flex: 1,
330
- textAlign: "right",
331
- fontFamily: "sf-medium",
332
- fontSize: 14,
333
- color: Colours.TEXT_DARK,
334
- },
335
- jobPriorityContainer: {
336
- flexDirection: "row",
337
- alignItems: "center",
338
- justifyContent: "center",
339
- width: 105,
340
- height: 24,
341
- paddingHorizontal: 8,
342
- borderRadius: 4,
343
- marginTop: 8,
344
- },
345
- jobPriorityText: {
346
- color: "#fff",
347
- textAlign: "center",
348
- fontFamily: "sf-semibold",
349
- fontSize: 13,
350
- },
115
+ jobContainer: {
116
+ marginVertical: 8,
117
+ paddingHorizontal: 16,
118
+ },
119
+ jobInnerContainer: {
120
+ ...Helper.getShadowStyle(),
121
+ },
122
+ jobTopSection: {
123
+ flexDirection: 'row',
124
+ alignItems: 'flex-end',
125
+ paddingHorizontal: 10,
126
+ paddingVertical: 10,
127
+ borderBottomWidth: 1,
128
+ borderBottomColor: Colours.LINEGREY,
129
+ },
130
+ jobTopLeft: {
131
+ flex: 1,
132
+ },
133
+ jobIdText: {
134
+ fontFamily: 'sf-medium',
135
+ fontSize: 12,
136
+ marginBottom: 4,
137
+ },
138
+ jobTitleText: {
139
+ fontFamily: 'sf-semibold',
140
+ fontSize: 18,
141
+ color: Colours.TEXT_DARK,
142
+ marginBottom: 4,
143
+ },
144
+ jobLocationText: {
145
+ fontFamily: 'sf-medium',
146
+ fontSize: 12,
147
+ color: Colours.TEXT_LIGHT,
148
+ marginBottom: 4,
149
+ },
150
+ jobTypeSeenContainer: {
151
+ marginTop: 4,
152
+ flexDirection: 'row',
153
+ alignItems: 'center',
154
+ },
155
+ jobTypeContainer: {
156
+ padding: 4,
157
+ minWidth: 80,
158
+ maxWidth: 140,
159
+ borderRadius: 4,
160
+ justifyContent: 'center',
161
+ },
162
+ jobTypeText: {
163
+ fontFamily: 'sf-semibold',
164
+ fontSize: 12,
165
+ textAlign: 'center',
166
+ maxWidth: '100%',
167
+ },
168
+ jobSeenContainer: {
169
+ flexDirection: 'row',
170
+ alignItems: 'center',
171
+ marginLeft: 10,
172
+ },
173
+ jobSeenIcon: {
174
+ fontSize: 12,
175
+ },
176
+ jobSeenText: {
177
+ fontFamily: 'sf-semibold',
178
+ fontSize: 12,
179
+ marginLeft: 4,
180
+ },
181
+ jobTopRight: {
182
+ alignItems: 'center',
183
+ justifyContent: 'center',
184
+ paddingHorizontal: 10,
185
+ paddingTop: 10,
186
+ },
187
+ jobCommentImage: {
188
+ width: 34,
189
+ height: 34,
190
+ resizeMode: 'contain',
191
+ },
192
+ commentCountContainer: {
193
+ position: 'absolute',
194
+ top: 0,
195
+ right: 0,
196
+ borderRadius: 10,
197
+ borderWidth: 2,
198
+ borderColor: '#fff',
199
+ width: 20,
200
+ height: 20,
201
+ backgroundColor: Colours.COLOUR_GREEN,
202
+ justifyContent: 'center',
203
+ alignItems: 'center',
204
+ },
205
+ commentCountText: {
206
+ textAlign: 'center',
207
+ fontFamily: 'sf-bold',
208
+ fontSize: 10,
209
+ color: '#fff',
210
+ },
211
+ jobBottomSection: {
212
+ paddingHorizontal: 10,
213
+ paddingVertical: 16,
214
+ },
215
+ jobDescriptionText: {
216
+ fontFamily: 'sf-medium',
217
+ fontSize: 14,
218
+ color: Colours.TEXT_DARK,
219
+ marginBottom: 8,
220
+ },
221
+ jobCreatedText: {
222
+ fontFamily: 'sf-medium',
223
+ fontSize: 12,
224
+ color: Colours.TEXT_LIGHT,
225
+ marginBottom: 10,
226
+ },
227
+ jobActivityContainer: {
228
+ flexDirection: 'row',
229
+ alignItems: 'center',
230
+ },
231
+ jobStatusContainer: {
232
+ flexDirection: 'row',
233
+ alignItems: 'center',
234
+ justifyContent: 'center',
235
+ width: 105,
236
+ height: 30,
237
+ paddingHorizontal: 8,
238
+ borderRadius: 4,
239
+ },
240
+ jobStatusIcon: {
241
+ color: '#fff',
242
+ fontSize: 14,
243
+ },
244
+ jobStatusText: {
245
+ color: '#fff',
246
+ textAlign: 'center',
247
+ fontFamily: 'sf-semibold',
248
+ fontSize: 13,
249
+ },
250
+ jobStatusLine: {
251
+ borderWidth: 1,
252
+ borderStyle: 'dashed',
253
+ width: 30,
254
+ },
255
+ jobStatusLineMask: {
256
+ position: 'absolute',
257
+ left: -1,
258
+ top: -1,
259
+ width: '100%',
260
+ height: 1,
261
+ backgroundColor: '#fff',
262
+ zIndex: 1,
263
+ },
264
+ jobStatusCircle: {
265
+ width: 18,
266
+ height: 18,
267
+ borderRadius: 9,
268
+ },
269
+ jobStatusDateText: {
270
+ flex: 1,
271
+ textAlign: 'right',
272
+ fontFamily: 'sf-medium',
273
+ fontSize: 14,
274
+ color: Colours.TEXT_DARK,
275
+ },
276
+ jobPriorityContainer: {
277
+ flexDirection: 'row',
278
+ alignItems: 'center',
279
+ justifyContent: 'center',
280
+ width: 105,
281
+ height: 24,
282
+ paddingHorizontal: 8,
283
+ borderRadius: 4,
284
+ marginTop: 8,
285
+ },
286
+ jobPriorityText: {
287
+ color: '#fff',
288
+ textAlign: 'center',
289
+ fontFamily: 'sf-semibold',
290
+ fontSize: 13,
291
+ },
351
292
  });
352
293
 
353
- const mapStateToProps = (state) => {
354
- return {
355
- user: state.user,
356
- colourBrandingMain: Colours.getMainBrandingColourFromState(state),
357
- statusTypes: state[values.reducerKey].jobstatuses,
358
- hideSeen: state[values.reducerKey].hideSeen,
359
- };
294
+ const mapStateToProps = state => {
295
+ return {
296
+ user: state.user,
297
+ colourBrandingMain: Colours.getMainBrandingColourFromState(state),
298
+ statusTypes: state[values.reducerKey].jobstatuses,
299
+ hideSeen: state[values.reducerKey].hideSeen,
300
+ };
360
301
  };
361
302
 
362
303
  export default connect(mapStateToProps, {})(MaintenanceListItem);