@plusscommunities/pluss-maintenance-app 6.0.21 → 6.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.
- package/dist/module/screens/RequestDetail.js +146 -145
- package/dist/module/screens/RequestDetail.js.map +1 -1
- package/dist/module/screens/ServiceRequest.js +5 -9
- package/dist/module/screens/ServiceRequest.js.map +1 -1
- package/dist/module/values.config.a.js +1 -2
- package/dist/module/values.config.a.js.map +1 -1
- package/dist/module/values.config.default.js +1 -2
- package/dist/module/values.config.default.js.map +1 -1
- package/dist/module/values.config.enquiry.js +1 -2
- package/dist/module/values.config.enquiry.js.map +1 -1
- package/dist/module/values.config.feedback.js +1 -2
- package/dist/module/values.config.feedback.js.map +1 -1
- package/dist/module/values.config.food.js +1 -2
- package/dist/module/values.config.food.js.map +1 -1
- package/dist/module/values.config.js +1 -2
- package/dist/module/values.config.js.map +1 -1
- package/package.json +2 -2
- package/src/screens/RequestDetail.js +1125 -1348
- package/src/screens/ServiceRequest.js +11 -15
- package/src/values.config.a.js +0 -1
- package/src/values.config.default.js +0 -1
- package/src/values.config.enquiry.js +0 -1
- package/src/values.config.feedback.js +0 -1
- package/src/values.config.food.js +0 -1
- package/src/values.config.js +0 -1
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
2
2
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
3
3
|
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
4
|
-
import React, { Component } from
|
|
5
|
-
import { ScrollView, View, StyleSheet, Text, KeyboardAvoidingView, TouchableOpacity, ImageBackground, Platform } from
|
|
6
|
-
import DateTimePicker from
|
|
7
|
-
import { Icon } from
|
|
8
|
-
import _ from
|
|
9
|
-
import moment from
|
|
10
|
-
import { connect } from
|
|
11
|
-
import { maintenanceActions } from
|
|
12
|
-
import { jobAdded, jobStatusesUpdate, jobHideSeenUpdate } from
|
|
13
|
-
import StatusSelectorPopup from
|
|
14
|
-
import PrioritySelectorPopup from
|
|
15
|
-
import { getJobStatus, getJobPriority } from
|
|
16
|
-
import { Services } from
|
|
17
|
-
import { Colours, Helper, Components, Config } from
|
|
18
|
-
import { values } from
|
|
4
|
+
import React, { Component } from 'react';
|
|
5
|
+
import { ScrollView, View, StyleSheet, Text, KeyboardAvoidingView, TouchableOpacity, ImageBackground, Platform } from 'react-native';
|
|
6
|
+
import DateTimePicker from 'react-native-modal-datetime-picker';
|
|
7
|
+
import { Icon } from 'react-native-elements';
|
|
8
|
+
import _ from 'lodash';
|
|
9
|
+
import moment from 'moment';
|
|
10
|
+
import { connect } from 'react-redux';
|
|
11
|
+
import { maintenanceActions } from '../apis';
|
|
12
|
+
import { jobAdded, jobStatusesUpdate, jobHideSeenUpdate } from '../actions';
|
|
13
|
+
import StatusSelectorPopup from '../components/StatusSelectorPopup';
|
|
14
|
+
import PrioritySelectorPopup from '../components/PrioritySelectorPopup';
|
|
15
|
+
import { getJobStatus, getJobPriority } from '../helper';
|
|
16
|
+
import { Services } from '../feature.config';
|
|
17
|
+
import { Colours, Helper, Components, Config } from '../core.config';
|
|
18
|
+
import { values } from '../values.config';
|
|
19
19
|
class RequestDetail extends Component {
|
|
20
20
|
constructor(props) {
|
|
21
21
|
super(props);
|
|
@@ -31,14 +31,14 @@ class RequestDetail extends Component {
|
|
|
31
31
|
// Refresh external sync data when job is refreshed
|
|
32
32
|
this.getExternalSync();
|
|
33
33
|
} catch (error) {
|
|
34
|
-
console.log(
|
|
34
|
+
console.log('getJob error', error.toString());
|
|
35
35
|
// check for 403 or 404 error
|
|
36
36
|
if (error.response.status === 403 || error.response.status === 404) {
|
|
37
37
|
this.setState({
|
|
38
38
|
forbidden: true
|
|
39
39
|
});
|
|
40
40
|
}
|
|
41
|
-
console.log(
|
|
41
|
+
console.log('getJob error', error);
|
|
42
42
|
} finally {
|
|
43
43
|
this.setState({
|
|
44
44
|
loading: false
|
|
@@ -54,7 +54,7 @@ class RequestDetail extends Component {
|
|
|
54
54
|
assignees: res.data.Users
|
|
55
55
|
});
|
|
56
56
|
} catch (error) {
|
|
57
|
-
console.log(
|
|
57
|
+
console.log('getAssignees error', error);
|
|
58
58
|
}
|
|
59
59
|
});
|
|
60
60
|
_defineProperty(this, "getExternalSync", async () => {
|
|
@@ -75,7 +75,7 @@ class RequestDetail extends Component {
|
|
|
75
75
|
var _error$response;
|
|
76
76
|
// 404 is expected if no sync - don't show error
|
|
77
77
|
if (((_error$response = error.response) === null || _error$response === void 0 ? void 0 : _error$response.status) !== 404) {
|
|
78
|
-
console.log(
|
|
78
|
+
console.log('getExternalSync error', error);
|
|
79
79
|
}
|
|
80
80
|
this.setState({
|
|
81
81
|
loadingExternalSync: false
|
|
@@ -101,7 +101,7 @@ class RequestDetail extends Component {
|
|
|
101
101
|
const updated = {
|
|
102
102
|
id: job.id,
|
|
103
103
|
seen: true,
|
|
104
|
-
status: job.status ||
|
|
104
|
+
status: job.status || 'Unassigned'
|
|
105
105
|
};
|
|
106
106
|
const res = await maintenanceActions.editJob(updated, user.site);
|
|
107
107
|
// console.log('markSeen updated');
|
|
@@ -112,7 +112,7 @@ class RequestDetail extends Component {
|
|
|
112
112
|
seen: true
|
|
113
113
|
});
|
|
114
114
|
} catch (error) {
|
|
115
|
-
console.log(
|
|
115
|
+
console.log('markSeen error', error);
|
|
116
116
|
this.setState({
|
|
117
117
|
loading: false
|
|
118
118
|
});
|
|
@@ -140,7 +140,7 @@ class RequestDetail extends Component {
|
|
|
140
140
|
this.props.jobAdded(res.data.job);
|
|
141
141
|
this.getJob();
|
|
142
142
|
} catch (error) {
|
|
143
|
-
console.log(
|
|
143
|
+
console.log('updateJob error', error);
|
|
144
144
|
} finally {
|
|
145
145
|
this.setState({
|
|
146
146
|
loading: false
|
|
@@ -157,7 +157,7 @@ class RequestDetail extends Component {
|
|
|
157
157
|
this.props.jobAdded(res.data.job);
|
|
158
158
|
this.getJob();
|
|
159
159
|
} catch (error) {
|
|
160
|
-
console.log(
|
|
160
|
+
console.log('updateJobStatus error', error);
|
|
161
161
|
} finally {
|
|
162
162
|
this.setState({
|
|
163
163
|
loading: false
|
|
@@ -174,7 +174,7 @@ class RequestDetail extends Component {
|
|
|
174
174
|
this.props.jobAdded(res.data.job);
|
|
175
175
|
this.getJob();
|
|
176
176
|
} catch (error) {
|
|
177
|
-
console.log(
|
|
177
|
+
console.log('updateJobPriority error', error);
|
|
178
178
|
} finally {
|
|
179
179
|
this.setState({
|
|
180
180
|
loading: false
|
|
@@ -231,7 +231,7 @@ class RequestDetail extends Component {
|
|
|
231
231
|
});
|
|
232
232
|
_defineProperty(this, "onOpenDatePicker", () => {
|
|
233
233
|
this.setState({
|
|
234
|
-
popUpType:
|
|
234
|
+
popUpType: 'date',
|
|
235
235
|
isDateTimePickerVisible: true
|
|
236
236
|
});
|
|
237
237
|
});
|
|
@@ -241,11 +241,11 @@ class RequestDetail extends Component {
|
|
|
241
241
|
});
|
|
242
242
|
});
|
|
243
243
|
_defineProperty(this, "onDateSelected", date => {
|
|
244
|
-
if (this.state.popUpType ===
|
|
244
|
+
if (this.state.popUpType === 'date') {
|
|
245
245
|
date = moment(date);
|
|
246
246
|
this.setState({
|
|
247
247
|
expectedDate: date,
|
|
248
|
-
expectedDateText: date.format(
|
|
248
|
+
expectedDateText: date.format('DD/MM/YYYY'),
|
|
249
249
|
isDateTimePickerVisible: false
|
|
250
250
|
}, () => {
|
|
251
251
|
this.updateJob();
|
|
@@ -279,7 +279,7 @@ class RequestDetail extends Component {
|
|
|
279
279
|
this.props.jobAdded(job.data);
|
|
280
280
|
this.getJob();
|
|
281
281
|
} catch (error) {
|
|
282
|
-
console.log(
|
|
282
|
+
console.log('onCommentAdded error', error);
|
|
283
283
|
} finally {
|
|
284
284
|
this.setState({
|
|
285
285
|
loading: false
|
|
@@ -303,7 +303,7 @@ class RequestDetail extends Component {
|
|
|
303
303
|
return false;
|
|
304
304
|
});
|
|
305
305
|
_defineProperty(this, "toggleFullscreenVideo", url => {
|
|
306
|
-
if (typeof url !==
|
|
306
|
+
if (typeof url !== 'string') url = '';
|
|
307
307
|
this.setState({
|
|
308
308
|
showFullscreenVideo: url.length > 0,
|
|
309
309
|
currentVideoUrl: url
|
|
@@ -316,10 +316,10 @@ class RequestDetail extends Component {
|
|
|
316
316
|
name: a.displayName
|
|
317
317
|
};
|
|
318
318
|
});
|
|
319
|
-
Services.navigation.navigate(
|
|
319
|
+
Services.navigation.navigate('optionSelector', {
|
|
320
320
|
options,
|
|
321
321
|
selection: this.state.job.AssigneeId,
|
|
322
|
-
title:
|
|
322
|
+
title: 'Assign request',
|
|
323
323
|
onSelect: this.onSelectAssignee
|
|
324
324
|
});
|
|
325
325
|
});
|
|
@@ -328,12 +328,12 @@ class RequestDetail extends Component {
|
|
|
328
328
|
loading: true
|
|
329
329
|
}, async () => {
|
|
330
330
|
try {
|
|
331
|
-
console.log(
|
|
331
|
+
console.log('onSelectAssignee', this.props.job.id, assignee.key);
|
|
332
332
|
const res = await maintenanceActions.assignJob(this.props.job.id, assignee.key);
|
|
333
333
|
this.props.jobAdded(res.data.job);
|
|
334
334
|
this.getJob();
|
|
335
335
|
} catch (error) {
|
|
336
|
-
console.log(
|
|
336
|
+
console.log('onSelectAssignee error', error);
|
|
337
337
|
} finally {
|
|
338
338
|
this.setState({
|
|
339
339
|
loading: false
|
|
@@ -344,18 +344,18 @@ class RequestDetail extends Component {
|
|
|
344
344
|
this.state = {
|
|
345
345
|
job: {},
|
|
346
346
|
isDateTimePickerVisible: false,
|
|
347
|
-
popUpType:
|
|
348
|
-
status:
|
|
349
|
-
priority:
|
|
347
|
+
popUpType: '',
|
|
348
|
+
status: '',
|
|
349
|
+
priority: '',
|
|
350
350
|
expectedDate: null,
|
|
351
|
-
expectedDateText:
|
|
351
|
+
expectedDateText: '',
|
|
352
352
|
seen: false,
|
|
353
353
|
showMore: true,
|
|
354
354
|
showStatusPopup: false,
|
|
355
355
|
showPriorityPopup: false,
|
|
356
356
|
loading: false,
|
|
357
357
|
showFullscreenVideo: false,
|
|
358
|
-
currentVideoUrl:
|
|
358
|
+
currentVideoUrl: '',
|
|
359
359
|
galleryOpen: false,
|
|
360
360
|
galleryImages: [],
|
|
361
361
|
showMessages: false,
|
|
@@ -388,7 +388,7 @@ class RequestDetail extends Component {
|
|
|
388
388
|
};
|
|
389
389
|
if (job.expectedDate) {
|
|
390
390
|
newState.expectedDate = moment(job.expectedDate);
|
|
391
|
-
newState.expectedDateText = newState.expectedDate.format(
|
|
391
|
+
newState.expectedDateText = newState.expectedDate.format('DD/MM/YYYY');
|
|
392
392
|
}
|
|
393
393
|
if (job.seen) newState.seen = job.seen;
|
|
394
394
|
this.setState(newState, () => {
|
|
@@ -420,7 +420,7 @@ class RequestDetail extends Component {
|
|
|
420
420
|
const statusOption = getJobStatus(status, this.props);
|
|
421
421
|
const priority = getJobPriority(job.priority);
|
|
422
422
|
const canEdit = this.hasPermission();
|
|
423
|
-
const isStaff = this.props.user.category ===
|
|
423
|
+
const isStaff = this.props.user.category === 'staff';
|
|
424
424
|
const showSeen = !status || status === getJobStatus(null, this.props).text;
|
|
425
425
|
return /*#__PURE__*/React.createElement(View, {
|
|
426
426
|
style: {
|
|
@@ -465,7 +465,7 @@ class RequestDetail extends Component {
|
|
|
465
465
|
style: styles.textSectionTextContainer
|
|
466
466
|
}, /*#__PURE__*/React.createElement(Text, {
|
|
467
467
|
style: styles.textSectionText
|
|
468
|
-
}, moment(job.lastActivityUnix).format(
|
|
468
|
+
}, moment(job.lastActivityUnix).format('ddd D MMMM, h:mm A'))))), /*#__PURE__*/React.createElement(View, {
|
|
469
469
|
style: styles.jobInfoContainer
|
|
470
470
|
}, /*#__PURE__*/React.createElement(View, {
|
|
471
471
|
style: styles.jobStatusExpectedContainer
|
|
@@ -587,7 +587,7 @@ class RequestDetail extends Component {
|
|
|
587
587
|
style: styles.documentTypeText
|
|
588
588
|
}, document.ext)), /*#__PURE__*/React.createElement(Text, {
|
|
589
589
|
style: styles.documentText
|
|
590
|
-
}, `${document.name}${document.uploading ? ` - ${document.uploadProgress}` :
|
|
590
|
+
}, `${document.name}${document.uploading ? ` - ${document.uploadProgress}` : ''}`));
|
|
591
591
|
});
|
|
592
592
|
}
|
|
593
593
|
return null;
|
|
@@ -632,7 +632,7 @@ class RequestDetail extends Component {
|
|
|
632
632
|
return /*#__PURE__*/React.createElement(Components.FormCardSectionOptionLauncher, {
|
|
633
633
|
onPress: this.onOpenAssigneePicker,
|
|
634
634
|
title: "Assigned To",
|
|
635
|
-
value: job.Assignee ? job.Assignee.displayName :
|
|
635
|
+
value: job.Assignee ? job.Assignee.displayName : 'Unassigned',
|
|
636
636
|
textStyle: styles.detailsText,
|
|
637
637
|
sectionStyle: styles.detailsSection
|
|
638
638
|
}, content);
|
|
@@ -680,7 +680,7 @@ class RequestDetail extends Component {
|
|
|
680
680
|
style: styles.externalSyncLabel
|
|
681
681
|
}, "Synced:"), /*#__PURE__*/React.createElement(Text, {
|
|
682
682
|
style: styles.externalSyncValue
|
|
683
|
-
}, moment(externalSync.syncedAt).format(
|
|
683
|
+
}, moment(externalSync.syncedAt).format('D MMM YYYY h:mma')))));
|
|
684
684
|
}
|
|
685
685
|
renderCustomFields() {
|
|
686
686
|
const {
|
|
@@ -691,27 +691,27 @@ class RequestDetail extends Component {
|
|
|
691
691
|
} = job;
|
|
692
692
|
const renderAnswer = field => {
|
|
693
693
|
switch (field.type) {
|
|
694
|
-
case
|
|
694
|
+
case 'date':
|
|
695
695
|
return /*#__PURE__*/React.createElement(Text, {
|
|
696
696
|
style: styles.customText
|
|
697
|
-
}, field.answer ? moment(field.answer,
|
|
698
|
-
case
|
|
697
|
+
}, field.answer ? moment(field.answer, 'YYYY-MM-DD').format('DD MMM YYYY') : '');
|
|
698
|
+
case 'time':
|
|
699
699
|
return /*#__PURE__*/React.createElement(Text, {
|
|
700
700
|
style: styles.customText
|
|
701
|
-
}, field.answer ? moment(field.answer,
|
|
702
|
-
case
|
|
701
|
+
}, field.answer ? moment(field.answer, 'HH:mm').format('h:mm a') : '');
|
|
702
|
+
case 'yn':
|
|
703
703
|
return /*#__PURE__*/React.createElement(Text, {
|
|
704
704
|
style: styles.customText
|
|
705
|
-
}, field.answer ?
|
|
706
|
-
case
|
|
705
|
+
}, field.answer ? 'Yes' : 'No');
|
|
706
|
+
case 'checkbox':
|
|
707
707
|
return /*#__PURE__*/React.createElement(Text, {
|
|
708
708
|
style: styles.customText
|
|
709
|
-
}, field.answer && Array.isArray(field.answer) ? field.answer.join(
|
|
710
|
-
case
|
|
709
|
+
}, field.answer && Array.isArray(field.answer) ? field.answer.join(', ') : '');
|
|
710
|
+
case 'image':
|
|
711
711
|
return /*#__PURE__*/React.createElement(View, {
|
|
712
712
|
style: styles.customImage
|
|
713
713
|
}, this.renderImage(field.answer));
|
|
714
|
-
case
|
|
714
|
+
case 'document':
|
|
715
715
|
return /*#__PURE__*/React.createElement(View, {
|
|
716
716
|
style: styles.customDocument
|
|
717
717
|
}, this.renderDocument(field.answer));
|
|
@@ -722,8 +722,8 @@ class RequestDetail extends Component {
|
|
|
722
722
|
}
|
|
723
723
|
};
|
|
724
724
|
return customFields.map((field, index) => {
|
|
725
|
-
if ([
|
|
726
|
-
if (_.isNil(field.answer) || field.answer ===
|
|
725
|
+
if (['staticTitle', 'staticText'].includes(field.type)) return null;
|
|
726
|
+
if (_.isNil(field.answer) || field.answer === '' || Array.isArray(field.answer) && field.answer.length === 0) return null;
|
|
727
727
|
return /*#__PURE__*/React.createElement(View, {
|
|
728
728
|
key: index
|
|
729
729
|
}, /*#__PURE__*/React.createElement(Text, {
|
|
@@ -742,10 +742,11 @@ class RequestDetail extends Component {
|
|
|
742
742
|
return /*#__PURE__*/React.createElement(View, null, /*#__PURE__*/React.createElement(Components.FormCardSectionOptionLauncher, {
|
|
743
743
|
onPress: this.onToggleDetails,
|
|
744
744
|
title: "Details",
|
|
745
|
-
icon: this.state.showMore ?
|
|
745
|
+
icon: this.state.showMore ? 'angle-up' : 'angle-down',
|
|
746
746
|
textStyle: styles.detailsText,
|
|
747
747
|
sectionStyle: styles.detailsSection
|
|
748
748
|
}), this.state.showMore && /*#__PURE__*/React.createElement(View, null, hasCustomFields ? this.renderCustomFields() : null, !hasCustomFields ? /*#__PURE__*/React.createElement(React.Fragment, null, this.renderImage(job.images, job.image), !_.isEmpty(job.description) && /*#__PURE__*/React.createElement(Text, {
|
|
749
|
+
numberOfLines: 10,
|
|
749
750
|
style: styles.jobDescriptionText
|
|
750
751
|
}, job.description)) : null, /*#__PURE__*/React.createElement(Text, {
|
|
751
752
|
style: styles.locationLabel
|
|
@@ -784,7 +785,7 @@ class RequestDetail extends Component {
|
|
|
784
785
|
site: this.state.job.site || this.state.job.location,
|
|
785
786
|
live: true,
|
|
786
787
|
refreshFrequency: 10000,
|
|
787
|
-
placeHolder:
|
|
788
|
+
placeHolder: '',
|
|
788
789
|
style: {
|
|
789
790
|
flex: 1,
|
|
790
791
|
paddingHorizontal: 0,
|
|
@@ -804,7 +805,7 @@ class RequestDetail extends Component {
|
|
|
804
805
|
height: 36
|
|
805
806
|
},
|
|
806
807
|
textStyle: {
|
|
807
|
-
color:
|
|
808
|
+
color: '#fff'
|
|
808
809
|
},
|
|
809
810
|
fullWidth: true
|
|
810
811
|
}, "Leave Message"));
|
|
@@ -842,7 +843,7 @@ class RequestDetail extends Component {
|
|
|
842
843
|
return /*#__PURE__*/React.createElement(Components.Forbidden, null);
|
|
843
844
|
}
|
|
844
845
|
return /*#__PURE__*/React.createElement(KeyboardAvoidingView, {
|
|
845
|
-
behavior: Platform.OS ===
|
|
846
|
+
behavior: Platform.OS === 'ios' && 'padding',
|
|
846
847
|
style: styles.container
|
|
847
848
|
}, /*#__PURE__*/React.createElement(Components.Header, {
|
|
848
849
|
leftIcon: "angle-left",
|
|
@@ -854,7 +855,7 @@ class RequestDetail extends Component {
|
|
|
854
855
|
paddingBottom: 26
|
|
855
856
|
},
|
|
856
857
|
style: {
|
|
857
|
-
height:
|
|
858
|
+
height: '100%'
|
|
858
859
|
}
|
|
859
860
|
}, /*#__PURE__*/React.createElement(View, {
|
|
860
861
|
style: styles.innerContainer
|
|
@@ -870,7 +871,7 @@ class RequestDetail extends Component {
|
|
|
870
871
|
const styles = StyleSheet.create({
|
|
871
872
|
container: {
|
|
872
873
|
flex: 1,
|
|
873
|
-
backgroundColor:
|
|
874
|
+
backgroundColor: '#fff'
|
|
874
875
|
},
|
|
875
876
|
innerContainer: {
|
|
876
877
|
paddingTop: 23,
|
|
@@ -881,49 +882,49 @@ const styles = StyleSheet.create({
|
|
|
881
882
|
paddingHorizontal: 12
|
|
882
883
|
},
|
|
883
884
|
jobIdText: {
|
|
884
|
-
fontFamily:
|
|
885
|
+
fontFamily: 'sf-medium',
|
|
885
886
|
fontSize: 12,
|
|
886
887
|
marginBottom: 4
|
|
887
888
|
},
|
|
888
889
|
jobTitleText: {
|
|
889
|
-
fontFamily:
|
|
890
|
+
fontFamily: 'sf-semibold',
|
|
890
891
|
fontSize: 20,
|
|
891
892
|
color: Colours.TEXT_DARKEST,
|
|
892
893
|
marginBottom: 8
|
|
893
894
|
},
|
|
894
895
|
jobTypeSeenContainer: {
|
|
895
|
-
flexDirection:
|
|
896
|
-
alignItems:
|
|
896
|
+
flexDirection: 'row',
|
|
897
|
+
alignItems: 'center'
|
|
897
898
|
},
|
|
898
899
|
jobTypeContainer: {
|
|
899
900
|
padding: 4,
|
|
900
901
|
minWidth: 80,
|
|
901
902
|
maxWidth: 140,
|
|
902
903
|
borderRadius: 4,
|
|
903
|
-
justifyContent:
|
|
904
|
+
justifyContent: 'center'
|
|
904
905
|
},
|
|
905
906
|
jobTypeText: {
|
|
906
|
-
fontFamily:
|
|
907
|
+
fontFamily: 'sf-semibold',
|
|
907
908
|
fontSize: 12,
|
|
908
|
-
textAlign:
|
|
909
|
-
maxWidth:
|
|
909
|
+
textAlign: 'center',
|
|
910
|
+
maxWidth: '100%'
|
|
910
911
|
},
|
|
911
912
|
jobSeenContainer: {
|
|
912
|
-
flexDirection:
|
|
913
|
-
alignItems:
|
|
913
|
+
flexDirection: 'row',
|
|
914
|
+
alignItems: 'center',
|
|
914
915
|
marginLeft: 10
|
|
915
916
|
},
|
|
916
917
|
jobSeenIcon: {
|
|
917
918
|
fontSize: 12
|
|
918
919
|
},
|
|
919
920
|
jobSeenText: {
|
|
920
|
-
fontFamily:
|
|
921
|
+
fontFamily: 'sf-semibold',
|
|
921
922
|
fontSize: 12,
|
|
922
923
|
marginLeft: 4
|
|
923
924
|
},
|
|
924
925
|
jobStatusDateText: {
|
|
925
926
|
marginTop: 8,
|
|
926
|
-
fontFamily:
|
|
927
|
+
fontFamily: 'sf-medium',
|
|
927
928
|
fontSize: 13,
|
|
928
929
|
color: Colours.TEXT_LIGHT
|
|
929
930
|
},
|
|
@@ -934,60 +935,60 @@ const styles = StyleSheet.create({
|
|
|
934
935
|
paddingHorizontal: 12
|
|
935
936
|
},
|
|
936
937
|
jobStatusExpectedContainer: {
|
|
937
|
-
flexDirection:
|
|
938
|
-
alignItems:
|
|
939
|
-
justifyContent:
|
|
938
|
+
flexDirection: 'row',
|
|
939
|
+
alignItems: 'flex-start',
|
|
940
|
+
justifyContent: 'space-between'
|
|
940
941
|
},
|
|
941
942
|
jobStatusOuterContainer: {
|
|
942
943
|
// marginRight: 50,
|
|
943
944
|
},
|
|
944
945
|
jobStatusHeading: {
|
|
945
|
-
fontFamily:
|
|
946
|
+
fontFamily: 'sf-bold',
|
|
946
947
|
fontSize: 11,
|
|
947
948
|
letterSpacing: 0.8,
|
|
948
949
|
color: Colours.TEXT_DARK,
|
|
949
950
|
marginBottom: 6
|
|
950
951
|
},
|
|
951
952
|
jobStatusContainer: {
|
|
952
|
-
flexDirection:
|
|
953
|
-
alignItems:
|
|
953
|
+
flexDirection: 'row',
|
|
954
|
+
alignItems: 'center',
|
|
954
955
|
width: 120,
|
|
955
956
|
height: 30,
|
|
956
957
|
paddingHorizontal: 8,
|
|
957
958
|
borderRadius: 4
|
|
958
959
|
},
|
|
959
960
|
jobStatusIcon: {
|
|
960
|
-
color:
|
|
961
|
+
color: '#fff',
|
|
961
962
|
fontSize: 14,
|
|
962
963
|
marginRight: 8
|
|
963
964
|
},
|
|
964
965
|
jobStatusText: {
|
|
965
|
-
color:
|
|
966
|
-
textAlign:
|
|
967
|
-
fontFamily:
|
|
966
|
+
color: '#fff',
|
|
967
|
+
textAlign: 'center',
|
|
968
|
+
fontFamily: 'sf-semibold',
|
|
968
969
|
fontSize: 13,
|
|
969
970
|
flex: 1,
|
|
970
|
-
textAlign:
|
|
971
|
+
textAlign: 'center'
|
|
971
972
|
},
|
|
972
973
|
jobPriorityOuterContainer: {
|
|
973
974
|
marginTop: 12
|
|
974
975
|
},
|
|
975
976
|
jobExpectedDateContainer: {
|
|
976
977
|
backgroundColor: Colours.BOXGREY,
|
|
977
|
-
flexDirection:
|
|
978
|
+
flexDirection: 'row',
|
|
978
979
|
width: 115,
|
|
979
980
|
height: 30,
|
|
980
981
|
borderRadius: 4,
|
|
981
|
-
alignItems:
|
|
982
|
+
alignItems: 'center',
|
|
982
983
|
paddingLeft: 8
|
|
983
984
|
},
|
|
984
985
|
jobExpectedDate: {
|
|
985
|
-
fontFamily:
|
|
986
|
+
fontFamily: 'sf-regular',
|
|
986
987
|
fontSize: 13,
|
|
987
988
|
color: Colours.hexToRGBAstring(Colours.TEXT_DARKEST, 0.5)
|
|
988
989
|
},
|
|
989
990
|
detailsText: {
|
|
990
|
-
fontFamily:
|
|
991
|
+
fontFamily: 'sf-semibold',
|
|
991
992
|
fontSize: 16,
|
|
992
993
|
color: Colours.TEXT_DARKEST
|
|
993
994
|
},
|
|
@@ -998,55 +999,55 @@ const styles = StyleSheet.create({
|
|
|
998
999
|
},
|
|
999
1000
|
sideBySideImages: {
|
|
1000
1001
|
flex: 1,
|
|
1001
|
-
flexDirection:
|
|
1002
|
-
justifyContent:
|
|
1002
|
+
flexDirection: 'row',
|
|
1003
|
+
justifyContent: 'space-between',
|
|
1003
1004
|
marginBottom: 16
|
|
1004
1005
|
},
|
|
1005
1006
|
sideBySideImageContainer: {
|
|
1006
|
-
backgroundColor:
|
|
1007
|
-
width:
|
|
1007
|
+
backgroundColor: '#fff',
|
|
1008
|
+
width: '48%',
|
|
1008
1009
|
height: 150,
|
|
1009
1010
|
borderRadius: 2,
|
|
1010
|
-
overflow:
|
|
1011
|
+
overflow: 'hidden'
|
|
1011
1012
|
},
|
|
1012
1013
|
singleImageContainer: {
|
|
1013
|
-
backgroundColor:
|
|
1014
|
-
width:
|
|
1014
|
+
backgroundColor: '#fff',
|
|
1015
|
+
width: '100%',
|
|
1015
1016
|
height: 150,
|
|
1016
1017
|
flex: 1,
|
|
1017
1018
|
borderRadius: 2,
|
|
1018
|
-
overflow:
|
|
1019
|
+
overflow: 'hidden',
|
|
1019
1020
|
marginBottom: 16
|
|
1020
1021
|
},
|
|
1021
1022
|
imageContainer: {
|
|
1022
1023
|
height: 150,
|
|
1023
|
-
width:
|
|
1024
|
-
justifyContent:
|
|
1024
|
+
width: 'auto',
|
|
1025
|
+
justifyContent: 'center'
|
|
1025
1026
|
},
|
|
1026
1027
|
imagePlayContainer: {
|
|
1027
|
-
position:
|
|
1028
|
+
position: 'absolute',
|
|
1028
1029
|
top: 0,
|
|
1029
1030
|
left: 0,
|
|
1030
1031
|
right: 0,
|
|
1031
1032
|
bottom: 0,
|
|
1032
|
-
alignItems:
|
|
1033
|
-
justifyContent:
|
|
1033
|
+
alignItems: 'center',
|
|
1034
|
+
justifyContent: 'center'
|
|
1034
1035
|
},
|
|
1035
1036
|
imageControlIcon: {
|
|
1036
|
-
color:
|
|
1037
|
+
color: '#fff',
|
|
1037
1038
|
fontSize: 30,
|
|
1038
|
-
textShadowColor:
|
|
1039
|
+
textShadowColor: 'rgba(0,0,0,0.3)',
|
|
1039
1040
|
textShadowOffset: {
|
|
1040
1041
|
width: 2,
|
|
1041
1042
|
height: 2
|
|
1042
1043
|
}
|
|
1043
1044
|
},
|
|
1044
1045
|
plusImages: {
|
|
1045
|
-
fontFamily:
|
|
1046
|
+
fontFamily: 'sf-bold',
|
|
1046
1047
|
fontSize: 32,
|
|
1047
|
-
textAlign:
|
|
1048
|
-
color:
|
|
1049
|
-
textShadowColor:
|
|
1048
|
+
textAlign: 'center',
|
|
1049
|
+
color: '#fff',
|
|
1050
|
+
textShadowColor: 'rgba(0, 0, 0, 0.5)',
|
|
1050
1051
|
textShadowOffset: {
|
|
1051
1052
|
width: 0,
|
|
1052
1053
|
height: 2
|
|
@@ -1054,64 +1055,64 @@ const styles = StyleSheet.create({
|
|
|
1054
1055
|
textShadowRadius: 8
|
|
1055
1056
|
},
|
|
1056
1057
|
jobDescriptionText: {
|
|
1057
|
-
fontFamily:
|
|
1058
|
+
fontFamily: 'sf-medium',
|
|
1058
1059
|
fontSize: 14,
|
|
1059
1060
|
color: Colours.TEXT_LIGHT,
|
|
1060
1061
|
paddingBottom: 16
|
|
1061
1062
|
},
|
|
1062
1063
|
locationLabel: {
|
|
1063
|
-
fontFamily:
|
|
1064
|
+
fontFamily: 'sf-bold',
|
|
1064
1065
|
fontSize: 14,
|
|
1065
1066
|
color: Colours.TEXT_DARKEST
|
|
1066
1067
|
},
|
|
1067
1068
|
locationText: {
|
|
1068
|
-
fontFamily:
|
|
1069
|
+
fontFamily: 'sf-regular',
|
|
1069
1070
|
fontSize: 16,
|
|
1070
1071
|
color: Colours.TEXT_DARKEST,
|
|
1071
1072
|
paddingVertical: 8
|
|
1072
1073
|
},
|
|
1073
1074
|
requesterLabel: {
|
|
1074
|
-
fontFamily:
|
|
1075
|
+
fontFamily: 'sf-bold',
|
|
1075
1076
|
fontSize: 14,
|
|
1076
1077
|
color: Colours.TEXT_DARKEST,
|
|
1077
1078
|
paddingVertical: 10
|
|
1078
1079
|
},
|
|
1079
1080
|
profileContainer: {
|
|
1080
|
-
flexDirection:
|
|
1081
|
-
alignItems:
|
|
1081
|
+
flexDirection: 'row',
|
|
1082
|
+
alignItems: 'center'
|
|
1082
1083
|
},
|
|
1083
1084
|
nameContainer: {
|
|
1084
1085
|
marginLeft: 18
|
|
1085
1086
|
},
|
|
1086
1087
|
nameText: {
|
|
1087
|
-
fontSize:
|
|
1088
|
+
fontSize: 'sf-semibold',
|
|
1088
1089
|
fontSize: 14,
|
|
1089
1090
|
color: Colours.TEXT_DARKEST,
|
|
1090
1091
|
marginBottom: 4
|
|
1091
1092
|
},
|
|
1092
1093
|
phoneText: {
|
|
1093
|
-
fontSize:
|
|
1094
|
+
fontSize: 'sf-medium',
|
|
1094
1095
|
fontSize: 14,
|
|
1095
1096
|
color: Colours.TEXT_LIGHT
|
|
1096
1097
|
},
|
|
1097
1098
|
textSectionInner: {
|
|
1098
|
-
flexDirection:
|
|
1099
|
-
justifyContent:
|
|
1100
|
-
alignItems:
|
|
1099
|
+
flexDirection: 'row',
|
|
1100
|
+
justifyContent: 'space-between',
|
|
1101
|
+
alignItems: 'center',
|
|
1101
1102
|
marginTop: 8
|
|
1102
1103
|
},
|
|
1103
1104
|
textSectionLabel: {
|
|
1104
|
-
fontFamily:
|
|
1105
|
+
fontFamily: 'sf-semibold',
|
|
1105
1106
|
fontSize: 12,
|
|
1106
1107
|
lineHeight: 24,
|
|
1107
1108
|
color: Colours.TEXT_DARKEST
|
|
1108
1109
|
},
|
|
1109
1110
|
textSectionTextContainer: {
|
|
1110
|
-
flexDirection:
|
|
1111
|
-
alignItems:
|
|
1111
|
+
flexDirection: 'row',
|
|
1112
|
+
alignItems: 'center'
|
|
1112
1113
|
},
|
|
1113
1114
|
textSectionText: {
|
|
1114
|
-
fontFamily:
|
|
1115
|
+
fontFamily: 'sf-regular',
|
|
1115
1116
|
fontSize: 13,
|
|
1116
1117
|
lineHeight: 24,
|
|
1117
1118
|
color: Colours.TEXT_LIGHT
|
|
@@ -1122,12 +1123,12 @@ const styles = StyleSheet.create({
|
|
|
1122
1123
|
lineHeight: 24
|
|
1123
1124
|
},
|
|
1124
1125
|
customLabel: {
|
|
1125
|
-
fontFamily:
|
|
1126
|
+
fontFamily: 'sf-bold',
|
|
1126
1127
|
fontSize: 14,
|
|
1127
1128
|
color: Colours.TEXT_DARKEST
|
|
1128
1129
|
},
|
|
1129
1130
|
customText: {
|
|
1130
|
-
fontFamily:
|
|
1131
|
+
fontFamily: 'sf-regular',
|
|
1131
1132
|
fontSize: 16,
|
|
1132
1133
|
color: Colours.TEXT_DARKEST,
|
|
1133
1134
|
paddingVertical: 8
|
|
@@ -1141,59 +1142,59 @@ const styles = StyleSheet.create({
|
|
|
1141
1142
|
},
|
|
1142
1143
|
customStaticTitle: {
|
|
1143
1144
|
fontSize: 20,
|
|
1144
|
-
fontFamily:
|
|
1145
|
+
fontFamily: 'sf-semibold',
|
|
1145
1146
|
color: Colours.TEXT_DARKEST,
|
|
1146
1147
|
marginBottom: 10
|
|
1147
1148
|
},
|
|
1148
1149
|
customStaticText: {
|
|
1149
1150
|
fontSize: 17,
|
|
1150
|
-
fontFamily:
|
|
1151
|
+
fontFamily: 'sf-regular',
|
|
1151
1152
|
color: Colours.TEXT_DARKEST,
|
|
1152
1153
|
lineHeight: 24,
|
|
1153
1154
|
marginBottom: 10
|
|
1154
1155
|
},
|
|
1155
1156
|
documentContainer: {
|
|
1156
|
-
flexDirection:
|
|
1157
|
-
alignItems:
|
|
1158
|
-
justifyContent:
|
|
1157
|
+
flexDirection: 'row',
|
|
1158
|
+
alignItems: 'center',
|
|
1159
|
+
justifyContent: 'space-between',
|
|
1159
1160
|
paddingVertical: 4
|
|
1160
1161
|
},
|
|
1161
1162
|
documentTypeContainer: {
|
|
1162
1163
|
width: 50,
|
|
1163
1164
|
height: 60,
|
|
1164
|
-
justifyContent:
|
|
1165
|
-
alignItems:
|
|
1165
|
+
justifyContent: 'center',
|
|
1166
|
+
alignItems: 'center',
|
|
1166
1167
|
borderRadius: 5,
|
|
1167
1168
|
marginRight: 8
|
|
1168
1169
|
},
|
|
1169
1170
|
documentTypeText: {
|
|
1170
|
-
color:
|
|
1171
|
-
fontFamily:
|
|
1172
|
-
textAlign:
|
|
1171
|
+
color: '#fff',
|
|
1172
|
+
fontFamily: 'sf-semibold',
|
|
1173
|
+
textAlign: 'center'
|
|
1173
1174
|
},
|
|
1174
1175
|
documentText: {
|
|
1175
1176
|
flex: 1,
|
|
1176
|
-
fontFamily:
|
|
1177
|
+
fontFamily: 'sf-semibold',
|
|
1177
1178
|
fontSize: 16,
|
|
1178
|
-
color:
|
|
1179
|
+
color: '#65686D'
|
|
1179
1180
|
},
|
|
1180
1181
|
externalSyncContainer: {
|
|
1181
|
-
backgroundColor:
|
|
1182
|
+
backgroundColor: '#fff',
|
|
1182
1183
|
marginTop: 16,
|
|
1183
1184
|
borderRadius: 8,
|
|
1184
1185
|
padding: 16
|
|
1185
1186
|
},
|
|
1186
1187
|
externalSyncHeader: {
|
|
1187
|
-
flexDirection:
|
|
1188
|
-
justifyContent:
|
|
1189
|
-
alignItems:
|
|
1188
|
+
flexDirection: 'row',
|
|
1189
|
+
justifyContent: 'space-between',
|
|
1190
|
+
alignItems: 'center',
|
|
1190
1191
|
marginBottom: 12,
|
|
1191
1192
|
paddingBottom: 12,
|
|
1192
1193
|
borderBottomWidth: 1,
|
|
1193
1194
|
borderBottomColor: Colours.LINEGREY
|
|
1194
1195
|
},
|
|
1195
1196
|
externalSyncTitle: {
|
|
1196
|
-
fontFamily:
|
|
1197
|
+
fontFamily: 'sf-semibold',
|
|
1197
1198
|
fontSize: 16,
|
|
1198
1199
|
color: Colours.TEXT_DARKEST
|
|
1199
1200
|
},
|
|
@@ -1204,17 +1205,17 @@ const styles = StyleSheet.create({
|
|
|
1204
1205
|
paddingTop: 4
|
|
1205
1206
|
},
|
|
1206
1207
|
externalSyncRow: {
|
|
1207
|
-
flexDirection:
|
|
1208
|
+
flexDirection: 'row',
|
|
1208
1209
|
marginBottom: 10
|
|
1209
1210
|
},
|
|
1210
1211
|
externalSyncLabel: {
|
|
1211
|
-
fontFamily:
|
|
1212
|
+
fontFamily: 'sf-semibold',
|
|
1212
1213
|
fontSize: 14,
|
|
1213
1214
|
color: Colours.TEXT_DARK,
|
|
1214
1215
|
width: 100
|
|
1215
1216
|
},
|
|
1216
1217
|
externalSyncValue: {
|
|
1217
|
-
fontFamily:
|
|
1218
|
+
fontFamily: 'sf-regular',
|
|
1218
1219
|
fontSize: 14,
|
|
1219
1220
|
color: Colours.TEXT_DARKEST,
|
|
1220
1221
|
flex: 1
|