From 5609a35f61d5ccdbadb218a233834ef0caa5e01e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juan=20Jos=C3=A9=20Ram=C3=ADrez?= Date: Mon, 13 Jul 2026 20:57:14 -0300 Subject: [PATCH 1/2] refactor: remove StartVerificationView interstitial MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Every KYC entry point except the card flow and first-time region KYC already skipped this screen via autoStart/skipStartView — and in both remaining flows the user had just tapped an explicit CTA, making it a redundant double-consent step. The Sumsub SDK never needed it: it inits off token + container, proven by the autoStart paths in prod. Also unifies the exit-confirmation copy on the 'Exit for now?' variant; the 'start again from scratch' copy was wrong anyway (Sumsub persists applicant progress). --- .../add-money/[country]/bank/page.tsx | 2 +- src/app/(mobile-ui)/qr-pay/page.tsx | 1 - src/app/(mobile-ui)/withdraw/manteca/page.tsx | 1 - .../IframeWrapper/StartVerificationView.tsx | 53 ---------- src/components/Global/IframeWrapper/index.tsx | 82 +++++++--------- src/components/Kyc/BridgeTosStep.tsx | 2 +- src/components/Kyc/KycStatusDrawer.tsx | 2 +- src/components/Kyc/SumsubKycModals.tsx | 11 +-- src/components/Kyc/SumsubKycWrapper.tsx | 98 ++++++------------- .../Profile/views/UnlockedRegions.view.tsx | 16 +-- .../components/IncreaseLimitsButton.tsx | 1 - 11 files changed, 74 insertions(+), 195 deletions(-) delete mode 100644 src/components/Global/IframeWrapper/StartVerificationView.tsx diff --git a/src/app/(mobile-ui)/add-money/[country]/bank/page.tsx b/src/app/(mobile-ui)/add-money/[country]/bank/page.tsx index 9c99f92cb9..33c56d53c7 100644 --- a/src/app/(mobile-ui)/add-money/[country]/bank/page.tsx +++ b/src/app/(mobile-ui)/add-money/[country]/bank/page.tsx @@ -515,7 +515,7 @@ export default function OnrampBankPage() { message={pendingModal.message} /> - +
diff --git a/src/app/(mobile-ui)/withdraw/manteca/page.tsx b/src/app/(mobile-ui)/withdraw/manteca/page.tsx index 4501750936..c5d99913fe 100644 --- a/src/app/(mobile-ui)/withdraw/manteca/page.tsx +++ b/src/app/(mobile-ui)/withdraw/manteca/page.tsx @@ -664,7 +664,6 @@ function MantecaBankWithdrawFlow() { onClose={limitIncreaseFlow.handleClose} onComplete={limitIncreaseFlow.handleSdkComplete} onRefreshToken={limitIncreaseFlow.refreshToken} - autoStart isMultiLevel /> void - onClose: () => void -}) => { - return ( -
-
- - verification -
- -
-
- -
-

Secure Verification. Limited Data Use.

-
-

- The verification is done using a trusted provider, which shares your verification status with - Peanut. -

-

- It operates under industry-standard security and privacy practices. -

-

Peanut never sees or stores your verification data.

-
- -
-
- ) -} - -export default StartVerificationView diff --git a/src/components/Global/IframeWrapper/index.tsx b/src/components/Global/IframeWrapper/index.tsx index 400ea683ab..503f4f6389 100644 --- a/src/components/Global/IframeWrapper/index.tsx +++ b/src/components/Global/IframeWrapper/index.tsx @@ -3,7 +3,6 @@ import Modal from '../Modal' import { Icon, type IconName } from '../Icons/Icon' import ActionModal from '../ActionModal' import { useRouter } from 'next/navigation' -import StartVerificationView from './StartVerificationView' import { useModalsContext } from '@/context/ModalsContext' import { Button, type ButtonVariant } from '@/components/0_Bruddle/Button' @@ -12,15 +11,13 @@ export type IFrameWrapperProps = { visible: boolean onClose: (source?: 'manual' | 'completed' | 'tos_accepted') => void closeConfirmMessage?: string - skipStartView?: boolean } -const IframeWrapper = ({ src, visible, onClose, closeConfirmMessage, skipStartView }: IFrameWrapperProps) => { +const IframeWrapper = ({ src, visible, onClose, closeConfirmMessage }: IFrameWrapperProps) => { const enableConfirmationPrompt = closeConfirmMessage !== undefined const [isHelpModalOpen, setIsHelpModalOpen] = useState(false) const [modalVariant, setModalVariant] = useState<'stop-verification' | 'trouble'>('trouble') const [copied, setCopied] = useState(false) - const [isVerificationStarted, setIsVerificationStarted] = useState(skipStartView ?? false) const router = useRouter() const { setIsSupportModalOpen } = useModalsContext() @@ -72,8 +69,8 @@ const IframeWrapper = ({ src, visible, onClose, closeConfirmMessage, skipStartVi } return { - title: 'Exit and lose progress?', - description: 'If you exit now, you’ll need to start the ID check again from scratch.', + title: 'Exit for now?', + description: 'You can pick up where you left off later — your progress is saved.', icon: 'alert' as IconName, iconContainerClassName: 'bg-secondary-1', ctas: [ @@ -135,49 +132,42 @@ const IframeWrapper = ({ src, visible, onClose, closeConfirmMessage, skipStartVi preventClose={true} hideOverlay={false} > - {!isVerificationStarted ? ( - onClose('manual')} - onStartVerification={() => setIsVerificationStarted(true)} - /> - ) : ( -
-
-