cleanup captcha step

This commit is contained in:
Hailey
2025-08-05 08:35:22 -07:00
parent 47ca4d5728
commit 9328c13201
@@ -1,5 +1,4 @@
import React, {useEffect, useRef} from 'react'
import {StyleSheet} from 'react-native'
import {useEffect, useMemo, useRef} from 'react'
import {WebView, type WebViewNavigation} from 'react-native-webview'
import {type ShouldStartLoadRequest} from 'react-native-webview/lib/WebViewTypes'
@@ -43,7 +42,7 @@ export function CaptchaWebView({
}
}, [])
const redirectHost = React.useMemo(() => {
const redirectHost = useMemo(() => {
if (!state?.serviceUrl) return 'bsky.app'
return state?.serviceUrl &&
@@ -52,18 +51,14 @@ export function CaptchaWebView({
: 'bsky.app'
}, [state?.serviceUrl])
const wasSuccessful = React.useRef(false)
const wasSuccessful = useRef(false)
const onShouldStartLoadWithRequest = React.useCallback(
(event: ShouldStartLoadRequest) => {
const onShouldStartLoadWithRequest = (event: ShouldStartLoadRequest) => {
const urlp = new URL(event.url)
return ALLOWED_HOSTS.includes(urlp.host)
},
[],
)
}
const onNavigationStateChange = React.useCallback(
(e: WebViewNavigation) => {
const onNavigationStateChange = (e: WebViewNavigation) => {
if (wasSuccessful.current) return
const urlp = new URL(e.url)
@@ -86,15 +81,17 @@ export function CaptchaWebView({
} else {
onSuccess(code)
}
},
[redirectHost, stateParam, onSuccess, onError],
)
}
return (
<WebView
source={{uri: url}}
javaScriptEnabled
style={styles.webview}
style={{
flex: 1,
backgroundColor: 'transparent',
borderRadius: 10,
}}
onShouldStartLoadWithRequest={onShouldStartLoadWithRequest}
onNavigationStateChange={onNavigationStateChange}
scrollEnabled={false}
@@ -107,11 +104,3 @@ export function CaptchaWebView({
/>
)
}
const styles = StyleSheet.create({
webview: {
flex: 1,
backgroundColor: 'transparent',
borderRadius: 10,
},
})