-
-
+
-
-
null}
- role="button"
- tabIndex={0}
- className="text-md md:text-sm mx-3 text-bunker-300 bg-mineshaft-700 py-3 md:py-3.5 px-5 rounded-md cursor-pointer hover:bg-mineshaft-500 duration-200"
- onClick={redirectToHome}
- >
- {t('signup:step5-skip')}
-
-
{
- if(serverDetails?.emailConfigured){
- inviteUsers({ emails })
- }else{
- handlePopUpOpen('setUpEmail');
- }
- }}
- size="lg"
- />
-
-
handlePopUpToggle('setUpEmail', isOpen)}
- />
);
}
diff --git a/frontend/src/components/signup/UserInfoStep.tsx b/frontend/src/components/signup/UserInfoStep.tsx
index e62d1d3a4..644940a0d 100644
--- a/frontend/src/components/signup/UserInfoStep.tsx
+++ b/frontend/src/components/signup/UserInfoStep.tsx
@@ -2,7 +2,7 @@ import crypto from 'crypto';
import React, { useState } from 'react';
import { useTranslation } from 'next-i18next';
-import { faCheck, faX } from '@fortawesome/free-solid-svg-icons';
+import { faCheck, faXmark } from '@fortawesome/free-solid-svg-icons';
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
import jsrp from 'jsrp';
import nacl from 'tweetnacl';
@@ -19,6 +19,7 @@ import Aes256Gcm from '../utilities/cryptography/aes-256-gcm';
import { deriveArgonKey } from '../utilities/cryptography/crypto';
import { saveTokenToLocalStorage } from '../utilities/saveTokenToLocalStorage';
import SecurityClient from '../utilities/SecurityClient';
+import { Input } from '../v2';
// eslint-disable-next-line new-cap
const client = new jsrp.client();
@@ -28,10 +29,12 @@ interface UserInfoStepProps {
email: string;
password: string;
setPassword: (value: string) => void;
- firstName: string;
- setFirstName: (value: string) => void;
- lastName: string;
- setLastName: (value: string) => void;
+ name: string;
+ setName: (value: string) => void;
+ organizationName: string;
+ setOrganizationName: (value: string) => void;
+ attributionSource: string;
+ setAttributionSource: (value: string) => void;
providerAuthToken?: string;
}
@@ -53,14 +56,16 @@ export default function UserInfoStep({
email,
password,
setPassword,
- firstName,
- setFirstName,
- lastName,
- setLastName,
+ name,
+ setName,
+ organizationName,
+ setOrganizationName,
+ attributionSource,
+ setAttributionSource,
providerAuthToken,
}: UserInfoStepProps): JSX.Element {
- const [firstNameError, setFirstNameError] = useState(false);
- const [lastNameError, setLastNameError] = useState(false);
+ const [nameError, setNameError] = useState(false);
+ const [organizationNameError, setOrganizationNameError] = useState(false);
const [passwordErrorLength, setPasswordErrorLength] = useState(false);
const [passwordErrorNumber, setPasswordErrorNumber] = useState(false);
const [passwordErrorLowerCase, setPasswordErrorLowerCase] = useState(false);
@@ -73,17 +78,17 @@ export default function UserInfoStep({
const signupErrorCheck = async () => {
setIsLoading(true);
let errorCheck = false;
- if (!firstName) {
- setFirstNameError(true);
+ if (!name) {
+ setNameError(true);
errorCheck = true;
} else {
- setFirstNameError(false);
+ setNameError(false);
}
- if (!lastName) {
- setLastNameError(true);
+ if (!organizationName) {
+ setOrganizationNameError(true);
errorCheck = true;
} else {
- setLastNameError(false);
+ setOrganizationNameError(false);
}
errorCheck = passwordCheck({
password,
@@ -149,8 +154,8 @@ export default function UserInfoStep({
const response = await completeAccountInformationSignup({
email,
- firstName,
- lastName,
+ firstName: name.split(" ")[0],
+ lastName: name.split(" ")[1],
protectedKey,
protectedKeyIV,
protectedKeyTag,
@@ -161,7 +166,7 @@ export default function UserInfoStep({
providerAuthToken,
salt: result.salt,
verifier: result.verifier,
- organizationName: `${firstName}'s organization`,
+ organizationName,
});
// unset signup JWT token and set JWT token
@@ -202,43 +207,44 @@ export default function UserInfoStep({
};
return (
-
-
- {t('signup:step3-message')}
+
+
+ Tell us a bit about yourself
-
-
+ Your Name
+ setName(e.target.value)}
+ value={name}
isRequired
- errorText={
- t('common:validate-required', {
- name: t('common:first-name')
- }) as string
- }
- error={firstNameError}
autoComplete="given-name"
+ className="h-12"
/>
+ {nameError && Please, specify your name
}
-
-
+ Organization Name
+ setOrganizationName(e.target.value)}
+ value={organizationName}
isRequired
- errorText={
- t('common:validate-required', {
- name: t('common:last-name')
- }) as string
- }
- error={lastNameError}
- autoComplete="family-name"
+ className="h-12"
+ />
+ {organizationNameError && Please, specify your organization name
}
+
+
+
Where did you hear about us? (optional)
+
setAttributionSource(e.target.value)}
+ value={attributionSource}
+ isRequired
+ className="h-12"
/>
-
+
{
@@ -263,7 +269,7 @@ export default function UserInfoStep({
{t('section-password:validate-base')}
{passwordErrorLength ? (
-
+
) : (
)}
@@ -273,7 +279,7 @@ export default function UserInfoStep({
{passwordErrorLowerCase ? (
-
+
) : (
)}
@@ -285,7 +291,7 @@ export default function UserInfoStep({
{passwordErrorNumber ? (
-
+
) : (
)}
diff --git a/frontend/src/pages/signup.tsx b/frontend/src/pages/signup.tsx
index de85be8bc..ec6f05051 100644
--- a/frontend/src/pages/signup.tsx
+++ b/frontend/src/pages/signup.tsx
@@ -25,11 +25,12 @@ import getWorkspaces from './api/workspace/getWorkspaces';
export default function SignUp() {
const [email, setEmail] = useState('');
const [password, setPassword] = useState('');
- const [firstName, setFirstName] = useState('');
- const [lastName, setLastName] = useState('');
+ const [name, setName] = useState('');
+ const [organizationName, setOrganizationName] = useState('');
+ const [attributionSource, setAttributionSource] = useState('');
const [code, setCode] = useState('123456');
const [codeError, setCodeError] = useState(false);
- const [step, setStep] = useState(1);
+ const [step, setStep] = useState(5);
const router = useRouter();
const { data: serverDetails } = useFetchServerStatus();
const [isSignupWithEmail, setIsSignupWithEmail] = useState(false);
@@ -124,10 +125,12 @@ export default function SignUp() {
email={email || providerEmail}
password={password}
setPassword={setPassword}
- firstName={firstName}
- setFirstName={setFirstName}
- lastName={lastName}
- setLastName={setLastName}
+ name={name}
+ setName={setName}
+ organizationName={organizationName}
+ setOrganizationName={setOrganizationName}
+ attributionSource={attributionSource}
+ setAttributionSource={setAttributionSource}
providerAuthToken={providerAuthToken}
/>
)
@@ -139,14 +142,14 @@ export default function SignUp() {
incrementStep={incrementStep}
email={email || providerEmail}
password={password}
- name={`${firstName} ${lastName}`}
+ name={name}
/>
)
}
- if (serverDetails?.emailConfigured) {
+ // if (serverDetails?.emailConfigured) {
return
- }
+ // }
return ""
}