@@ -354,176 +354,177 @@ export default function SignUp() {
354
354
Make sure to check your spam inbox.
355
355
</ p >
356
356
</ div >
357
+ </ div >
357
358
) ;
358
359
359
360
// Step 3 of the signup process (enter the rest of the impformation)
360
361
const step3 = (
361
- < div className = "bg-bunker w-max mx-auto h-7/12 py-10 px-8 rounded-xl drop-shadow-xl mb-36 md:mb-16" >
362
- < p className = "text-4xl font-bold flex justify-center mb-6 text-gray-400 mx-8 md:mx-16 text-transparent bg-clip-text bg-gradient-to-br from-sky-400 to-primary" >
363
- Almost there!
364
- </ p >
365
- < div className = "relative z-0 flex items-center justify-end w-full md:p-2 rounded-lg max-h-24" >
366
- < InputField
367
- label = "First Name"
368
- onChangeHandler = { setFirstName }
369
- type = "name"
370
- value = { firstName }
371
- isRequired
372
- errorText = "Please input your first name."
373
- error = { firstNameError }
374
- autoComplete = "given-name"
375
- />
376
- </ div >
377
- < div className = "mt-2 flex items-center justify-center w-full md:p-2 rounded-lg max-h-24" >
378
- < InputField
379
- label = "Last Name"
380
- onChangeHandler = { setLastName }
381
- type = "name"
382
- value = { lastName }
383
- isRequired
384
- errorText = "Please input your last name."
385
- error = { lastNameError }
386
- autoComplete = "family-name"
387
- />
388
- </ div >
389
- < div className = "mt-2 flex flex-col items-center justify-center w-full md:p-2 rounded-lg max-h-60" >
390
- < InputField
391
- label = "Password"
392
- onChangeHandler = { ( password : string ) => {
393
- setPassword ( password ) ;
394
- passwordCheck ( {
395
- password,
396
- setPasswordErrorLength,
397
- setPasswordErrorNumber,
398
- setPasswordErrorLowerCase,
399
- currentErrorCheck : false ,
400
- } ) ;
401
- } }
402
- type = "password"
403
- value = { password }
404
- isRequired
405
- error = {
406
- passwordErrorLength && passwordErrorNumber && passwordErrorLowerCase
407
- }
408
- autoComplete = "new-password"
409
- id = "new-password"
410
- />
411
- { passwordErrorLength ||
412
- passwordErrorLowerCase ||
413
- passwordErrorNumber ? (
414
- < div className = "w-full mt-4 bg-white/5 px-2 flex flex-col items-start py-2 rounded-md" >
415
- < div className = { `text-gray-400 text-sm mb-1` } >
416
- Password should contain at least:
417
- </ div >
418
- < div className = "flex flex-row justify-start items-center ml-1" >
419
- { passwordErrorLength ? (
420
- < FontAwesomeIcon
421
- icon = { faX }
422
- className = "text-md text-red mr-2.5"
423
- />
424
- ) : (
425
- < FontAwesomeIcon
426
- icon = { faCheck }
427
- className = "text-md text-primary mr-2"
428
- />
429
- ) }
430
- < div
431
- className = { `${
432
- passwordErrorLength ? 'text-gray-400' : 'text-gray-600'
433
- } text-sm`}
434
- >
435
- 14 characters
436
- </ div >
362
+ < div className = "bg-bunker w-max mx-auto h-7/12 py-10 px-8 rounded-xl drop-shadow-xl mb-36 md:mb-16" >
363
+ < p className = "text-4xl font-bold flex justify-center mb-6 text-gray-400 mx-8 md:mx-16 text-transparent bg-clip-text bg-gradient-to-br from-sky-400 to-primary" >
364
+ Almost there!
365
+ </ p >
366
+ < div className = "relative z-0 flex items-center justify-end w-full md:p-2 rounded-lg max-h-24" >
367
+ < InputField
368
+ label = "First Name"
369
+ onChangeHandler = { setFirstName }
370
+ type = "name"
371
+ value = { firstName }
372
+ isRequired
373
+ errorText = "Please input your first name."
374
+ error = { firstNameError }
375
+ autoComplete = "given-name"
376
+ />
377
+ </ div >
378
+ < div className = "mt-2 flex items-center justify-center w-full md:p-2 rounded-lg max-h-24" >
379
+ < InputField
380
+ label = "Last Name"
381
+ onChangeHandler = { setLastName }
382
+ type = "name"
383
+ value = { lastName }
384
+ isRequired
385
+ errorText = "Please input your last name."
386
+ error = { lastNameError }
387
+ autoComplete = "family-name"
388
+ />
389
+ </ div >
390
+ < div className = "mt-2 flex flex-col items-center justify-center w-full md:p-2 rounded-lg max-h-60" >
391
+ < InputField
392
+ label = "Password"
393
+ onChangeHandler = { ( password : string ) => {
394
+ setPassword ( password ) ;
395
+ passwordCheck ( {
396
+ password,
397
+ setPasswordErrorLength,
398
+ setPasswordErrorNumber,
399
+ setPasswordErrorLowerCase,
400
+ currentErrorCheck : false ,
401
+ } ) ;
402
+ } }
403
+ type = "password"
404
+ value = { password }
405
+ isRequired
406
+ error = {
407
+ passwordErrorLength && passwordErrorNumber && passwordErrorLowerCase
408
+ }
409
+ autoComplete = "new-password"
410
+ id = "new-password"
411
+ />
412
+ { passwordErrorLength ||
413
+ passwordErrorLowerCase ||
414
+ passwordErrorNumber ? (
415
+ < div className = "w-full mt-4 bg-white/5 px-2 flex flex-col items-start py-2 rounded-md" >
416
+ < div className = { `text-gray-400 text-sm mb-1` } >
417
+ Password should contain at least:
418
+ </ div >
419
+ < div className = "flex flex-row justify-start items-center ml-1" >
420
+ { passwordErrorLength ? (
421
+ < FontAwesomeIcon
422
+ icon = { faX }
423
+ className = "text-md text-red mr-2.5"
424
+ />
425
+ ) : (
426
+ < FontAwesomeIcon
427
+ icon = { faCheck }
428
+ className = "text-md text-primary mr-2"
429
+ />
430
+ ) }
431
+ < div
432
+ className = { `${
433
+ passwordErrorLength ? 'text-gray-400' : 'text-gray-600'
434
+ } text-sm`}
435
+ >
436
+ 14 characters
437
437
</ div >
438
- < div className = "flex flex-row justify-start items-center ml-1" >
439
- { passwordErrorLowerCase ? (
440
- < FontAwesomeIcon
441
- icon = { faX }
442
- className = "text-md text-red mr-2.5"
443
- />
444
- ) : (
445
- < FontAwesomeIcon
446
- icon = { faCheck }
447
- className = "text-md text-primary mr-2"
448
- />
449
- ) }
450
- < div
451
- className = { ` ${
452
- passwordErrorLowerCase ? 'text-gray-400' : 'text-gray-600'
453
- } text-sm` }
454
- >
455
- 1 lowercase character
456
- </ div >
438
+ </ div >
439
+ < div className = "flex flex-row justify-start items-center ml-1" >
440
+ { passwordErrorLowerCase ? (
441
+ < FontAwesomeIcon
442
+ icon = { faX }
443
+ className = "text-md text-red mr-2.5"
444
+ />
445
+ ) : (
446
+ < FontAwesomeIcon
447
+ icon = { faCheck }
448
+ className = "text-md text-primary mr-2"
449
+ />
450
+ ) }
451
+ < div
452
+ className = { ` ${
453
+ passwordErrorLowerCase ? ' text-gray-400' : 'text-gray-600'
454
+ } text-sm` }
455
+ >
456
+ 1 lowercase character
457
457
</ div >
458
- < div className = "flex flex-row justify-start items-center ml-1" >
459
- { passwordErrorNumber ? (
460
- < FontAwesomeIcon
461
- icon = { faX }
462
- className = "text-md text-red mr-2.5"
463
- />
464
- ) : (
465
- < FontAwesomeIcon
466
- icon = { faCheck }
467
- className = "text-md text-primary mr-2"
468
- />
469
- ) }
470
- < div
471
- className = { ` ${
472
- passwordErrorNumber ? 'text-gray-400' : 'text-gray-600'
473
- } text-sm` }
474
- >
475
- 1 number
476
- </ div >
458
+ </ div >
459
+ < div className = "flex flex-row justify-start items-center ml-1" >
460
+ { passwordErrorNumber ? (
461
+ < FontAwesomeIcon
462
+ icon = { faX }
463
+ className = "text-md text-red mr-2.5"
464
+ />
465
+ ) : (
466
+ < FontAwesomeIcon
467
+ icon = { faCheck }
468
+ className = "text-md text-primary mr-2"
469
+ />
470
+ ) }
471
+ < div
472
+ className = { ` ${
473
+ passwordErrorNumber ? ' text-gray-400' : 'text-gray-600'
474
+ } text-sm` }
475
+ >
476
+ 1 number
477
477
</ div >
478
478
</ div >
479
- ) : (
480
- < div className = "py-2" > </ div >
481
- ) }
482
- </ div >
483
- < div className = "flex flex-col items-center justify-center md:p-2 max-h-48 max-w-max mx-auto text-lg px-2 py-3" >
484
- < Button
485
- text = "Sign Up"
486
- loading = { isLoading }
487
- onButtonPressed = { signupErrorCheck }
488
- size = "lg"
489
- />
490
- </ div >
479
+ </ div >
480
+ ) : (
481
+ < div className = "py-2" > </ div >
482
+ ) }
483
+ </ div >
484
+ < div className = "flex flex-col items-center justify-center md:p-2 max-h-48 max-w-max mx-auto text-lg px-2 py-3" >
485
+ < Button
486
+ text = "Sign Up"
487
+ loading = { isLoading }
488
+ onButtonPressed = { signupErrorCheck }
489
+ size = "lg"
490
+ / >
491
491
</ div >
492
+ </ div >
492
493
) ;
493
494
494
495
// Step 4 of the sign up process (download the emergency kit pdf)
495
496
const step4 = (
496
- < div className = "bg-bunker flex flex-col items-center w-full max-w-xs md:max-w-lg mx-auto h-7/12 py-8 px-4 md:px-6 mx-1 mb-36 md:mb-16 rounded-xl drop-shadow-xl" >
497
- < p className = "text-4xl text-center font-semibold flex justify-center text-transparent bg-clip-text bg-gradient-to-br from-sky-400 to-primary" >
498
- Save your Emergency Kit
499
- </ p >
500
- < div className = "flex flex-col items-center justify-center w-full mt-4 md:mt-8 max-w-md text-gray-400 text-md rounded-md px-2" >
501
- < div >
502
- If you get locked out of your account, your Emergency Kit is the only
503
- way to sign in.
504
- </ div >
505
- < div className = "mt-3" >
506
- We recommend you download it and keep it somewhere safe.
507
- </ div >
508
- </ div >
509
- < div className = "w-full p-2 flex flex-row items-center bg-white/10 text-gray-400 rounded-md max-w-xs md:max-w-md mx-auto mt-4" >
510
- < FontAwesomeIcon icon = { faWarning } className = "ml-2 mr-4 text-4xl" />
511
- It contains your Secret Key which we cannot access or recover for you if
512
- you lose it.
497
+ < div className = "bg-bunker flex flex-col items-center w-full max-w-xs md:max-w-lg mx-auto h-7/12 py-8 px-4 md:px-6 mx-1 mb-36 md:mb-16 rounded-xl drop-shadow-xl" >
498
+ < p className = "text-4xl text-center font-semibold flex justify-center text-transparent bg-clip-text bg-gradient-to-br from-sky-400 to-primary" >
499
+ Save your Emergency Kit
500
+ </ p >
501
+ < div className = "flex flex-col items-center justify-center w-full mt-4 md:mt-8 max-w-md text-gray-400 text-md rounded-md px-2" >
502
+ < div >
503
+ If you get locked out of your account, your Emergency Kit is the only
504
+ way to sign in.
513
505
</ div >
514
- className="text-l mt-4 text-lg text-gray-400 hover:text-gray-300 duration-200 bg-white/5 px-8 hover:bg-white/10 py-3 rounded-md cursor-pointer"
515
- onClick={ ( ) => {
516
- if ( localStorage . getItem ( "projectData.id" ) ) {
517
- router . push ( "/dashboard/" + localStorage . getItem ( "projectData.id" ) ) ;
518
- } else {
519
- router . push ( "/noprojects" )
520
- }
521
- } }
522
- >
523
- Later
524
- </ div > */}
506
+ < div className = "mt-3" >
507
+ We recommend you download it and keep it somewhere safe.
525
508
</ div >
526
509
</ div >
510
+ < div className = "w-full p-2 flex flex-row items-center bg-white/10 text-gray-400 rounded-md max-w-xs md:max-w-md mx-auto mt-4" >
511
+ < FontAwesomeIcon icon = { faWarning } className = "ml-2 mr-4 text-4xl" />
512
+ It contains your Secret Key which we cannot access or recover for you if
513
+ you lose it.
514
+ </ div >
515
+ < div
516
+ className = "text-l mt-4 text-lg text-gray-400 hover:text-gray-300 duration-200 bg-white/5 px-8 hover:bg-white/10 py-3 rounded-md cursor-pointer"
517
+ onClick = { ( ) => {
518
+ if ( localStorage . getItem ( "projectData.id" ) ) {
519
+ router . push ( "/dashboard/" + localStorage . getItem ( "projectData.id" ) ) ;
520
+ } else {
521
+ router . push ( "/noprojects" )
522
+ }
523
+ } }
524
+ >
525
+ Later
526
+ </ div >
527
+ </ div >
527
528
) ;
528
529
529
530
return (
0 commit comments