@@ -26,7 +26,7 @@ const CenterLogo = styled.img`
26
26
display: block;
27
27
margin-left: auto;
28
28
margin-right: auto;
29
- width: 50 %;
29
+ width: 75 %;
30
30
` ;
31
31
32
32
export const JoinPage = injectIntl ( ( { intl } ) => {
@@ -52,7 +52,7 @@ export const JoinPage = injectIntl(({ intl }) => {
52
52
53
53
async function sendJoinRequest ( ) {
54
54
try {
55
- if ( ! teamname || teamname . length === 0 ) {
55
+ if ( ! teamname || teamname . length === 0 ) {
56
56
setFailed ( true ) ;
57
57
return ;
58
58
}
@@ -142,26 +142,36 @@ export const JoinPage = injectIntl(({ intl }) => {
142
142
< li > This domain: here is where you can do your exercises</ li >
143
143
< li >
144
144
The domain where you provide your responses in exchange for a CTF key:{ ' ' }
145
- < a href = { dynamics . heroku_wrongsecret_ctf_url } > { dynamics . heroku_wrongsecret_ctf_url } </ a >
145
+ < a style = { { color : 'white' } } href = { dynamics . heroku_wrongsecret_ctf_url } >
146
+ { dynamics . heroku_wrongsecret_ctf_url }
147
+ </ a >
146
148
</ li >
147
149
< li >
148
150
The domain where you provide your CTF key:{ ' ' }
149
- < a href = { dynamics . ctfd_url } > { dynamics . ctfd_url } </ a >
151
+ < a style = { { color : 'white' } } href = { dynamics . ctfd_url } >
152
+ { dynamics . ctfd_url }
153
+ </ a >
150
154
</ li >
151
155
< li >
152
156
Optionally: the storage bucket with Terraform state for the cloud challneges:{ ' ' }
153
- < a href = { dynamics . s3_bucket_url } > { dynamics . s3_bucket_url } </ a >
157
+ < a style = { { color : 'white' } } href = { dynamics . s3_bucket_url } >
158
+ { dynamics . s3_bucket_url }
159
+ </ a >
160
+ . For this you will need credentials that will be provided to you as part of the CTF
161
+ instructions.
154
162
</ li >
155
163
</ ul >
156
164
< FormattedMessage
157
165
id = "welcome_text_2"
158
166
defaultMessage = { `
159
- We need multiple domains, as you will be able to steal the CTF key after a few challenges.
167
+ We need to usse multiple domains, as you will be able to steal the CTF key after a few challenges.
160
168
` }
161
169
values = { {
162
170
strong : ( msg ) => < strong > { msg } </ strong > ,
163
171
} }
164
172
/>
173
+ < br />
174
+ < br />
165
175
166
176
< H2 >
167
177
< FormattedMessage id = "getting_started" defaultMessage = "Getting Started" />
@@ -179,6 +189,20 @@ export const JoinPage = injectIntl(({ intl }) => {
179
189
} }
180
190
/>
181
191
192
+ { dynamics . enable_password ? (
193
+ < p >
194
+ < FormattedMessage
195
+ id = "getting_started_password"
196
+ defaultMessage = { `
197
+ In the password field you have to enter the password you received as part of your CTF instructions.
198
+ This can be different from the CTFD passswords.
199
+ ` }
200
+ values = { {
201
+ strong : ( msg ) => < strong > { msg } </ strong > ,
202
+ } }
203
+ />
204
+ </ p >
205
+ ) : null }
182
206
{ failed ? (
183
207
< p >
184
208
< strong >
@@ -206,24 +230,24 @@ export const JoinPage = injectIntl(({ intl }) => {
206
230
onChange = { ( { target } ) => setTeamname ( target . value ) }
207
231
/>
208
232
{ dynamics . enable_password ? (
209
- < p >
210
- < Label htmlFor = "password" >
211
- < FormattedMessage id = "password" defaultMessage = "Password" />
212
- </ Label >
213
- < Input
214
- type = "password"
215
- id = "password"
216
- data-test-id = "password-input"
217
- name = "password"
218
- disabled = { ! dynamics . enable_password }
219
- value = { password }
220
- title = { formatMessage ( messages . passwordValidationConstraints ) }
221
- pattern = "^[a-zA-Z0-9]([-a-z-A-Z0-9])+[a-zA-Z0-9]$"
222
- maxLength = "64"
223
- onChange = { ( { target } ) => setPassword ( target . value ) }
224
- />
225
- </ p >
226
- ) : null }
233
+ < p >
234
+ < Label htmlFor = "password" >
235
+ < FormattedMessage id = "password" defaultMessage = "Password" />
236
+ </ Label >
237
+ < Input
238
+ type = "password"
239
+ id = "password"
240
+ data-test-id = "password-input"
241
+ name = "password"
242
+ disabled = { ! dynamics . enable_password }
243
+ value = { password }
244
+ title = { formatMessage ( messages . passwordValidationConstraints ) }
245
+ pattern = "^[a-zA-Z0-9]([-a-z-A-Z0-9])+[a-zA-Z0-9]$"
246
+ maxLength = "64"
247
+ onChange = { ( { target } ) => setPassword ( target . value ) }
248
+ />
249
+ </ p >
250
+ ) : null }
227
251
< Button data-test-id = "create-join-team-button" type = "submit" >
228
252
< FormattedMessage id = "create_or_join_team_label" defaultMessage = "Create / Join Team" />
229
253
</ Button >
0 commit comments