1
|
|
|
import React from "react"; |
2
|
|
|
import { FormattedMessage } from "react-intl"; |
3
|
|
|
import { JobWorkEnvValues } from "./JobWorkEnv"; |
4
|
|
|
import Modal from "../../Modal"; |
5
|
|
|
import WorkEnvFeatures from "./WorkEnvFeatures"; |
6
|
|
|
|
7
|
|
|
interface JobWorkEnvModalProps { |
8
|
|
|
modalConfirm: (values) => void; |
9
|
|
|
modalCancel: () => void; |
10
|
|
|
isVisible: boolean; |
11
|
|
|
parentElement: Element | null; |
12
|
|
|
values: JobWorkEnvValues; |
13
|
|
|
cultureSummary: string; |
14
|
|
|
jobIsComplete: boolean; |
15
|
|
|
handleSkipToReview: () => void; |
16
|
|
|
} |
17
|
|
|
|
18
|
|
|
const JobWorkEnvModal: React.FunctionComponent<JobWorkEnvModalProps> = ({ |
19
|
|
|
modalConfirm, |
20
|
|
|
modalCancel, |
21
|
|
|
isVisible, |
22
|
|
|
parentElement, |
23
|
|
|
values, |
24
|
|
|
cultureSummary, |
25
|
|
|
jobIsComplete, |
26
|
|
|
handleSkipToReview, |
27
|
|
|
}): React.ReactElement => { |
28
|
|
|
return ( |
29
|
|
|
<> |
30
|
|
|
<Modal |
31
|
|
|
id="work-environment-preview" |
32
|
|
|
parentElement={parentElement} |
33
|
|
|
visible={isVisible} |
34
|
|
|
onModalConfirm={modalConfirm} |
35
|
|
|
onModalCancel={modalCancel} |
36
|
|
|
onModalMiddle={handleSkipToReview} |
37
|
|
|
> |
38
|
|
|
<Modal.Header> |
39
|
|
|
<div |
40
|
|
|
data-c-background="c1(100)" |
41
|
|
|
data-c-border="bottom(thin, solid, black)" |
42
|
|
|
data-c-padding="normal" |
43
|
|
|
> |
44
|
|
|
<h5 |
45
|
|
|
data-c-colour="white" |
46
|
|
|
data-c-font-size="h4" |
47
|
|
|
id="work-environment-preview-title" |
48
|
|
|
> |
49
|
|
|
<FormattedMessage |
50
|
|
|
id="jobBuilder.workEnv.greatStart" |
51
|
|
|
defaultMessage="You're off to a great start!" |
52
|
|
|
description="Kicker message at the start of the modal." |
53
|
|
|
/> |
54
|
|
|
</h5> |
55
|
|
|
</div> |
56
|
|
|
</Modal.Header> |
57
|
|
|
<Modal.Body> |
58
|
|
|
<div |
59
|
|
|
data-c-border="bottom(thin, solid, black)" |
60
|
|
|
data-c-padding="normal" |
61
|
|
|
id="work-environment-preview-body" |
62
|
|
|
> |
63
|
|
|
<p> |
64
|
|
|
<FormattedMessage |
65
|
|
|
id="jobBuilder.workEnv.openingSentence" |
66
|
|
|
defaultMessage="Here's a preview of the Job Information you just entered. Feel free to go back and edit things or move to the next step if you're happy with it." |
67
|
|
|
description="Opening sentence for modal." |
68
|
|
|
/> |
69
|
|
|
</p> |
70
|
|
|
</div> |
71
|
|
|
<div data-c-background="grey(20)" data-c-padding="normal"> |
72
|
|
|
<div |
73
|
|
|
className="manager-job-card" |
74
|
|
|
data-c-background="white(100)" |
75
|
|
|
data-c-padding="normal" |
76
|
|
|
data-c-radius="rounded" |
77
|
|
|
> |
78
|
|
|
<h4 |
79
|
|
|
data-c-border="bottom(thin, solid, black)" |
80
|
|
|
data-c-font-size="h4" |
81
|
|
|
data-c-font-weight="600" |
82
|
|
|
data-c-margin="bottom(normal)" |
83
|
|
|
data-c-padding="bottom(normal)" |
84
|
|
|
> |
85
|
|
|
<FormattedMessage |
86
|
|
|
id="jobBuilder.workEnvModal.title" |
87
|
|
|
defaultMessage="Work Environment" |
88
|
|
|
description="Header of job poster builder work environment step." |
89
|
|
|
/> |
90
|
|
|
</h4> |
91
|
|
|
<WorkEnvFeatures |
92
|
|
|
teamSize={values.teamSize || 0} |
93
|
|
|
selectedEnvOptions={[ |
94
|
|
|
...values.amenities, |
95
|
|
|
...values.physicalEnv, |
96
|
|
|
...values.technology, |
97
|
|
|
]} |
98
|
|
|
envDescription={values.envDescription} |
99
|
|
|
/> |
100
|
|
|
<h4 |
101
|
|
|
data-c-border="bottom(thin, solid, black)" |
102
|
|
|
data-c-font-size="h4" |
103
|
|
|
data-c-font-weight="600" |
104
|
|
|
data-c-margin="top(double) bottom(normal)" |
105
|
|
|
data-c-padding="bottom(normal)" |
106
|
|
|
> |
107
|
|
|
<FormattedMessage |
108
|
|
|
id="jobBuilder.workEnvModal.workCultureTitle" |
109
|
|
|
defaultMessage="Work Culture" |
110
|
|
|
description="The title displayed for the work culture section on modal." |
111
|
|
|
/> |
112
|
|
|
</h4> |
113
|
|
|
<p>{cultureSummary}</p> |
114
|
|
|
{values.moreCultureSummary && ( |
115
|
|
|
<p data-c-margin="top(normal)">{values.moreCultureSummary}</p> |
116
|
|
|
)} |
117
|
|
|
</div> |
118
|
|
|
</div> |
119
|
|
|
</Modal.Body> |
120
|
|
|
<Modal.Footer> |
121
|
|
|
<Modal.FooterCancelBtn> |
122
|
|
|
<FormattedMessage |
123
|
|
|
id="jobBuilder.workEnvModal.cancelLabel" |
124
|
|
|
defaultMessage="Go Back" |
125
|
|
|
description="The label displayed on modal cancel button." |
126
|
|
|
/> |
127
|
|
|
</Modal.FooterCancelBtn> |
128
|
|
|
{jobIsComplete && ( |
129
|
|
|
<Modal.FooterMiddleBtn> |
130
|
|
|
<FormattedMessage |
131
|
|
|
id="jobBuilder.workEnvModal.modalMiddleLabel" |
132
|
|
|
defaultMessage="Skip to Review" |
133
|
|
|
description="The text displayed on the 'Skip to Review' button of the Work Env modal." |
134
|
|
|
/> |
135
|
|
|
</Modal.FooterMiddleBtn> |
136
|
|
|
)} |
137
|
|
|
<Modal.FooterConfirmBtn> |
138
|
|
|
<FormattedMessage |
139
|
|
|
id="jobBuilder.workEnvModal.confirmLabel" |
140
|
|
|
defaultMessage="Next Step" |
141
|
|
|
description="The label displayed on modal confirm button." |
142
|
|
|
/> |
143
|
|
|
</Modal.FooterConfirmBtn> |
144
|
|
|
</Modal.Footer> |
145
|
|
|
</Modal> |
146
|
|
|
<div data-c-dialog-overlay={isVisible ? "active" : ""} /> |
147
|
|
|
</> |
148
|
|
|
); |
149
|
|
|
}; |
150
|
|
|
|
151
|
|
|
export default JobWorkEnvModal; |
152
|
|
|
|