Skip to content

Commit a3fc79a

Browse files
fix: tos closing issue
1 parent 271a5ea commit a3fc79a

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

src/components/Global/IframeWrapper/index.tsx

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,15 @@ const IframeWrapper = ({ src, visible, onClose, closeConfirmMessage }: IFrameWra
2222
// track completed event from iframe and close the modal
2323
useEffect(() => {
2424
const handleMessage = (event: MessageEvent) => {
25-
if (event.data?.name === 'complete' && event.data?.metadata?.status === 'completed') {
25+
const data = event.data
26+
if (data?.name === 'complete' && data?.metadata?.status === 'completed') {
2627
onClose('completed')
2728
}
29+
// @dev note: kinda hacky, but tos modal takes too long to close using websocket, so we use the signedAgreementId to close it
30+
// persona fires this event when the user clicks the "accept" button within the iframe
31+
if (data?.signedAgreementId) {
32+
onClose('tos_accepted')
33+
}
2834
}
2935

3036
window.addEventListener('message', handleMessage)

0 commit comments

Comments
 (0)