diff --git a/src/utils/preflightChecks.tsx b/src/utils/preflightChecks.tsx index 6d0e278..7bf37ba 100644 --- a/src/utils/preflightChecks.tsx +++ b/src/utils/preflightChecks.tsx @@ -1,4 +1,3 @@ -import { c as _c } from "react/compiler-runtime"; import axios from 'axios'; import React, { useEffect, useState } from 'react'; import { logEvent } from 'src/services/analytics/index.js'; @@ -75,76 +74,61 @@ async function checkEndpoints(): Promise { interface PreflightStepProps { onSuccess: () => void; } -export function PreflightStep(t0) { - const $ = _c(12); - const { - onSuccess - } = t0; - const [result, setResult] = useState(null); +export function PreflightStep({ onSuccess }: PreflightStepProps) { + const [result, setResult] = useState(null); const [isChecking, setIsChecking] = useState(true); const showSpinner = useTimeout(1000) && isChecking; - let t1; - let t2; - if ($[0] === Symbol.for("react.memo_cache_sentinel")) { - t1 = () => { - const run = async function run() { - const checkResult = await checkEndpoints(); - setResult(checkResult); - setIsChecking(false); - }; - run(); - }; - t2 = []; - $[0] = t1; - $[1] = t2; - } else { - t1 = $[0]; - t2 = $[1]; + + useEffect(() => { + checkEndpoints().then((checkResult) => { + setResult(checkResult); + setIsChecking(false); + }); + }, []); + + useEffect(() => { + if (result?.success) { + onSuccess(); + } else if (result && !result.success) { + logError(result.error ?? 'Preflight connectivity check failed'); + onSuccess(); + } + }, [result, onSuccess]); + + let content = null; + if (isChecking && showSpinner) { + content = ( + + + Checking connectivity... + + ); + } else if (!result?.success && !isChecking) { + content = ( + + Unable to connect to Anthropic services + {result?.error} + {result?.sslHint ? ( + + {result.sslHint} + See https://code.claude.com/docs/en/network-config + + ) : ( + + Please check your internet connection and network settings. + + Note: Claude Code might not be available in your country. Check supported countries at{" "} + https://anthropic.com/supported-countries + + + )} + + ); } - useEffect(t1, t2); - let t3; - let t4; - if ($[2] !== onSuccess || $[3] !== result) { - t3 = () => { - if (result?.success) { - onSuccess(); - } else { - if (result && !result.success) { - const timer = setTimeout(_temp, 100); - return () => clearTimeout(timer); - } - } - }; - t4 = [result, onSuccess]; - $[2] = onSuccess; - $[3] = result; - $[4] = t3; - $[5] = t4; - } else { - t3 = $[4]; - t4 = $[5]; - } - useEffect(t3, t4); - let t5; - if ($[6] !== isChecking || $[7] !== result || $[8] !== showSpinner) { - t5 = isChecking && showSpinner ? Checking connectivity... : !result?.success && !isChecking && Unable to connect to Anthropic services{result?.error}{result?.sslHint ? {result.sslHint}See https://code.claude.com/docs/en/network-config : Please check your internet connection and network settings.Note: Claude Code might not be available in your country. Check supported countries at{" "}https://anthropic.com/supported-countries}; - $[6] = isChecking; - $[7] = result; - $[8] = showSpinner; - $[9] = t5; - } else { - t5 = $[9]; - } - let t6; - if ($[10] !== t5) { - t6 = {t5}; - $[10] = t5; - $[11] = t6; - } else { - t6 = $[11]; - } - return t6; -} -function _temp() { - return process.exit(1); + + return ( + + {content} + + ); }