diff --git a/packages/twenty-front/src/modules/auth/sign-in-up/components/internal/SignInUpTwoFactorAuthenticationProvision.tsx b/packages/twenty-front/src/modules/auth/sign-in-up/components/internal/SignInUpTwoFactorAuthenticationProvision.tsx
index 2a8aaa30be..6a2ba3f33a 100644
--- a/packages/twenty-front/src/modules/auth/sign-in-up/components/internal/SignInUpTwoFactorAuthenticationProvision.tsx
+++ b/packages/twenty-front/src/modules/auth/sign-in-up/components/internal/SignInUpTwoFactorAuthenticationProvision.tsx
@@ -4,6 +4,11 @@ import {
SignInUpStep,
signInUpStepState,
} from '@/auth/states/signInUpStepState';
+import {
+ StyledTwoFactorInstructions,
+ StyledTwoFactorMainContent,
+} from '@/auth/sign-in-up/components/internal/SignInUpTwoFactorAuthenticationStyles';
+import { ONBOARDING_CONTENT_BLOCK_WIDTH } from '@/onboarding/constants/OnboardingContentBlockWidth';
import { extractSecretFromOtpUri } from '@/settings/two-factor-authentication/utils/extractSecretFromOtpUri';
import { styled } from '@linaria/react';
import { Trans, useLingui } from '@lingui/react/macro';
@@ -20,36 +25,12 @@ import { useCopyToClipboard } from '~/hooks/useCopyToClipboard';
const QRCode = resolveCjsModuleDefaultExport(QRCodeModule);
-const StyledMainContentContainer = styled.div`
- margin-bottom: ${themeCssVariables.spacing[8]};
- margin-top: ${themeCssVariables.spacing[4]};
- text-align: center;
-`;
-
-const StyledTextContainer = styled.div`
- align-items: center;
- color: ${themeCssVariables.font.color.tertiary};
- font-size: ${themeCssVariables.font.size.sm};
-
- margin-bottom: ${themeCssVariables.spacing[4]};
- max-width: 280px;
- text-align: center;
-
- & > a {
- color: ${themeCssVariables.font.color.tertiary};
- text-decoration: none;
-
- &:hover {
- text-decoration: underline;
- }
- }
-`;
-
const StyledForm = styled.div`
align-items: center;
display: flex;
flex-direction: column;
- width: 100%;
+ max-width: 100%;
+ width: ${ONBOARDING_CONTENT_BLOCK_WIDTH}px;
`;
const StyledCopySetupKeyLink = styled.button`
@@ -94,13 +75,13 @@ export const SignInUpTwoFactorAuthenticationProvision = () => {
<>
-
+
Use authenticator apps and browser extensions like 1Password, Authy,
Microsoft Authenticator to generate one-time passwords
-
-
+
+
{!qrCode ? : }
{qrCode && (
@@ -108,7 +89,7 @@ export const SignInUpTwoFactorAuthenticationProvision = () => {
Copy Setup Key
)}
-
+
a {
+ color: ${themeCssVariables.font.color.tertiary};
+ text-decoration: none;
+
+ &:hover {
+ text-decoration: underline;
+ }
+ }
+`;
diff --git a/packages/twenty-front/src/modules/auth/sign-in-up/components/internal/SignInUpTwoFactorAuthenticationVerification.tsx b/packages/twenty-front/src/modules/auth/sign-in-up/components/internal/SignInUpTwoFactorAuthenticationVerification.tsx
index 9a43669fcf..e769c0d098 100644
--- a/packages/twenty-front/src/modules/auth/sign-in-up/components/internal/SignInUpTwoFactorAuthenticationVerification.tsx
+++ b/packages/twenty-front/src/modules/auth/sign-in-up/components/internal/SignInUpTwoFactorAuthenticationVerification.tsx
@@ -10,7 +10,12 @@ import {
SignInUpStep,
signInUpStepState,
} from '@/auth/states/signInUpStepState';
+import {
+ StyledTwoFactorInstructions,
+ StyledTwoFactorMainContent,
+} from '@/auth/sign-in-up/components/internal/SignInUpTwoFactorAuthenticationStyles';
import { useReadCaptchaToken } from '@/captcha/hooks/useReadCaptchaToken';
+import { ONBOARDING_CONTENT_BLOCK_WIDTH } from '@/onboarding/constants/OnboardingContentBlockWidth';
import { useCaptcha } from '@/client-config/hooks/useCaptcha';
import { useSnackBar } from '@/ui/feedback/snack-bar-manager/hooks/useSnackBar';
import { Trans, useLingui } from '@lingui/react/macro';
@@ -25,17 +30,12 @@ import { useNavigateApp } from '~/hooks/useNavigateApp';
import { useAtomStateValue } from '@/ui/utilities/state/jotai/hooks/useAtomStateValue';
import { useSetAtomState } from '@/ui/utilities/state/jotai/hooks/useSetAtomState';
-const StyledMainContentContainer = styled.div`
- margin-bottom: ${themeCssVariables.spacing[8]};
- margin-top: ${themeCssVariables.spacing[4]};
- text-align: center;
-`;
-
const StyledForm = styled.form`
align-items: center;
display: flex;
flex-direction: column;
- width: 100%;
+ max-width: 100%;
+ width: ${ONBOARDING_CONTENT_BLOCK_WIDTH}px;
`;
const StyledSlot = styled.div<{ isActive: boolean }>`
@@ -161,15 +161,6 @@ const StyledOTPContainer = styled.div`
const StyledSlotGroup = styled.div`
display: flex;
`;
-const StyledTextContainer = styled.div`
- align-items: center;
- color: ${themeCssVariables.font.color.tertiary};
- font-size: ${themeCssVariables.font.size.sm};
-
- margin-bottom: ${themeCssVariables.spacing[4]};
- max-width: 280px;
- text-align: center;
-`;
const StyledActionBackLinkContainer = styled.div`
margin: ${themeCssVariables.spacing[3]} 0 0;
@@ -228,10 +219,10 @@ export const SignInUpTOTPVerification = () => {
return (
-
+
Paste the code below
-
-
+
+
{/* // oxlint-disable-next-line react/jsx-props-no-spreading */}
{
/>
)}
/>
-
+