|
1 | 1 | import React, { Fragment } from 'react'
|
2 |
| - |
3 |
| -const CommunityExpectations = () => ( |
4 |
| - <Fragment> |
5 |
| - <h1>JOIN OUR COMMUNITY</h1> |
6 |
| - <p> |
7 |
| - Welcome to a fun, inclusive community where your knowledge and expertise |
8 |
| - can transform the lives of refugees, asylum seekers and local |
9 |
| - disadvantaged people. A young nonprofit is a lot like a start-up: growing |
10 |
| - quickly and always looking for versatile, dependable people. You can join |
11 |
| - us in one of 6 CYF cities worldwide or set up a new CYF chapter to support |
12 |
| - your local communities.{' '} |
13 |
| - </p> |
14 |
| - <ul> |
15 |
| - We are looking for volunteers in the following areas: |
16 |
| - <li> |
17 |
| - <strong>Volunteers</strong> from virtually any background to help us run |
18 |
| - and grow our organization (to help with events, marketing, admin, etc.) |
19 |
| - </li> |
20 |
| - <li> |
21 |
| - Professionals from the tech industry to join our |
22 |
| - <strong>mentorship programme</strong> and give a student guidance and |
23 |
| - support |
24 |
| - </li> |
25 |
| - <li> |
26 |
| - <strong>Experienced web developers</strong> (HTML/CSS, JavaScript, Node, |
27 |
| - React, Databases) to help teach our classes |
28 |
| - </li> |
29 |
| - </ul> |
30 |
| - <p> |
31 |
| - Previous volunteers at Code Your Future have developed their skills, |
32 |
| - learnt valuable new ones, and made wonderful friends along the way. Roles |
33 |
| - can last a few weeks, a month, or longer - depending on how much time you |
34 |
| - can commit. Apply using the volunteer form linked below and we'll be in |
35 |
| - touch. |
36 |
| - </p> |
37 |
| - </Fragment> |
38 |
| -) |
39 |
| - |
40 |
| -const Modal = ({ selectedModal }) => { |
41 |
| - return ( |
42 |
| - <div> |
43 |
| - <div className="modal fade" id={`id-form-acknowledgement`} role="dialog"> |
44 |
| - <div className="modal-dialog"> |
45 |
| - <div className="modal-content"> |
46 |
| - <div className="modal-body"> |
47 |
| - {selectedModal === 'modal-acknowledgement' && ( |
48 |
| - <CommunityExpectations /> |
49 |
| - )} |
50 |
| - <div className="modal-footer"> |
51 |
| - <span className="close" data-dismiss="modal"> |
52 |
| - close |
53 |
| - </span> |
54 |
| - </div> |
55 |
| - </div> |
56 |
| - </div> |
57 |
| - </div> |
58 |
| - </div> |
59 |
| - </div> |
60 |
| - ) |
61 |
| -} |
62 |
| - |
63 |
| -const ExpectationCheckBox = ({ onChange, checkedExpectations, showModal }) => { |
64 |
| - return ( |
65 |
| - <Fragment> |
66 |
| - <input |
67 |
| - className={`form-check-input`} |
68 |
| - type="checkbox" |
69 |
| - name="checkedExpectations" |
70 |
| - onChange={onChange} |
71 |
| - checked={checkedExpectations} |
72 |
| - ></input> |
73 |
| - <label className="form-check-label"> |
74 |
| - <span |
75 |
| - id={'modal-acknowledgement'} |
76 |
| - className="form-acknowledgement-read-about" |
77 |
| - data-toggle="modal" |
78 |
| - data-target={`#id-form-acknowledgement`} |
79 |
| - onClick={showModal} |
80 |
| - > |
81 |
| - What to expect when volunteering at CYF |
82 |
| - </span> |
83 |
| - </label> |
84 |
| - </Fragment> |
85 |
| - ) |
86 |
| -} |
87 |
| - |
88 |
| -const TermsCheckBox = ({ onChange, termsOfUseAndPrivacy, showModal }) => { |
89 |
| - return ( |
90 |
| - <Fragment> |
91 |
| - <input |
92 |
| - className={`form-check-input`} |
93 |
| - type="checkbox" |
94 |
| - name="termsOfUseAndPrivacy" |
95 |
| - onChange={onChange} |
96 |
| - checked={termsOfUseAndPrivacy} |
97 |
| - ></input> |
98 |
| - |
99 |
| - <label className="form-check-label"> |
100 |
| - <span |
101 |
| - id={'modal-terms'} |
102 |
| - className="form-acknowledgement-read-about" |
103 |
| - data-toggle="modal" |
104 |
| - data-target={`#id-form-acknowledgement`} |
105 |
| - onClick={showModal} |
106 |
| - > |
107 |
| - Terms Of Use |
108 |
| - </span>{' '} |
109 |
| - and{' '} |
110 |
| - <span |
111 |
| - id={'modal-privacypolicy'} |
112 |
| - className="form-acknowledgement-read-about" |
113 |
| - data-toggle="modal" |
114 |
| - data-target={`#id-form-acknowledgement`} |
115 |
| - onClick={showModal} |
116 |
| - > |
117 |
| - Privacy Policy |
118 |
| - </span> |
119 |
| - .{' '} |
120 |
| - </label> |
121 |
| - </Fragment> |
122 |
| - ) |
123 |
| -} |
| 2 | +import { FormGroup, Label, Input } from 'reactstrap' |
124 | 3 |
|
125 | 4 | export default ({
|
126 | 5 | onChange,
|
127 |
| - checkedExpectations, |
128 | 6 | termsOfUseAndPrivacy,
|
129 |
| - showModal, |
130 |
| - selectedModal, |
131 |
| - acknowledgementErrors |
| 7 | + agreeToReceiveEmails, |
| 8 | + agreeToReceivePhoneCall, |
| 9 | + agreeToReceiveCYFNews |
132 | 10 | }) => {
|
133 | 11 | return (
|
134 | 12 | <Fragment>
|
135 | 13 | <span className="form-acknowledgement-header">
|
136 | 14 | Acknowledgement: (* Required)
|
137 | 15 | </span>
|
138 | 16 | <br />
|
139 |
| - <br />I have read: |
140 |
| - <div |
141 |
| - className={`form-check ml-4 pl-4 mt-2 ${acknowledgementErrors && |
142 |
| - 'is-empty'}`} |
143 |
| - > |
144 |
| - <ExpectationCheckBox |
145 |
| - onChange={onChange} |
146 |
| - checkedExpectations={checkedExpectations} |
147 |
| - showModal={showModal} |
148 |
| - /> |
149 |
| - <br /> |
150 |
| - <TermsCheckBox |
151 |
| - showModal={showModal} |
152 |
| - onChange={onChange} |
153 |
| - termsOfUseAndPrivacy={termsOfUseAndPrivacy} |
154 |
| - /> |
155 |
| - <Modal selectedModal={selectedModal} /> |
156 |
| - </div> |
| 17 | + <FormGroup check> |
| 18 | + <Label check htmlFor="termsOfUseAndPrivacy"> |
| 19 | + <Input |
| 20 | + className={`form-check-input`} |
| 21 | + type="checkbox" |
| 22 | + name="termsOfUseAndPrivacy" |
| 23 | + onChange={onChange} |
| 24 | + id="termsOfUseAndPrivacy" |
| 25 | + checked={termsOfUseAndPrivacy} |
| 26 | + /> |
| 27 | + I have read and accepted to the{' '} |
| 28 | + <a |
| 29 | + href="https://codeyourfuture.io/terms/" |
| 30 | + target="_blank" |
| 31 | + rel="noopener noreferrer" |
| 32 | + > |
| 33 | + terms of use |
| 34 | + </a>{' '} |
| 35 | + and{' '} |
| 36 | + <a |
| 37 | + href="https://codeyourfuture.io/privacy-policy/" |
| 38 | + target="_blank" |
| 39 | + rel="noopener noreferrer" |
| 40 | + > |
| 41 | + privacy policy |
| 42 | + </a> |
| 43 | + </Label> |
| 44 | + </FormGroup> |
| 45 | + <FormGroup check> |
| 46 | + <Label check htmlFor="agreeToReceiveEmails"> |
| 47 | + <Input |
| 48 | + className={`form-check-input`} |
| 49 | + type="checkbox" |
| 50 | + name="agreeToReceiveEmails" |
| 51 | + id="agreeToReceiveEmails" |
| 52 | + onChange={onChange} |
| 53 | + checked={agreeToReceiveEmails} |
| 54 | + /> |
| 55 | + Send me emails relevant to my volunteering (mandatory) |
| 56 | + </Label> |
| 57 | + </FormGroup> |
| 58 | + <FormGroup check> |
| 59 | + <Label check htmlFor="agreeToReceivePhoneCall"> |
| 60 | + <Input |
| 61 | + className={`form-check-input`} |
| 62 | + type="checkbox" |
| 63 | + name="agreeToReceivePhoneCall" |
| 64 | + id="agreeToReceivePhoneCall" |
| 65 | + onChange={onChange} |
| 66 | + checked={agreeToReceivePhoneCall} |
| 67 | + /> |
| 68 | + Contact me via telephone in regards to volunteering |
| 69 | + </Label> |
| 70 | + </FormGroup> |
| 71 | + <FormGroup check> |
| 72 | + <Label check htmlFor="agreeToReceiveCYFNews"> |
| 73 | + <Input |
| 74 | + className={`form-check-input`} |
| 75 | + type="checkbox" |
| 76 | + name="agreeToReceiveCYFNews" |
| 77 | + id="agreeToReceiveCYFNews" |
| 78 | + onChange={onChange} |
| 79 | + checked={agreeToReceiveCYFNews} |
| 80 | + /> |
| 81 | + Contact me via email about events and other CYF news |
| 82 | + </Label> |
| 83 | + </FormGroup> |
157 | 84 | </Fragment>
|
158 | 85 | )
|
159 | 86 | }
|
0 commit comments