import React, { useState } from 'react'; import { api } from '../api.js'; export function RouteChecker() { const [host, setHost] = useState(''); const [port, setPort] = useState('443'); const [network, setNetwork] = useState('tcp'); const [busy, setBusy] = useState(false); const [result, setResult] = useState(null); const [error, setError] = useState(''); async function check() { setBusy(true); setError(''); setResult(null); try { const data = await api.route.check({ host, port: port || undefined, network }); setResult(data); } catch (err) { setError(err.message); } finally { setBusy(false); } } const r = result?.result; const kind = r?.outbound?.startsWith('direct') ? 'success' : r?.outbound === 'block' ? 'danger' : r?.outbound?.includes('VPN') || r?.outbound?.includes('vpn') ? 'info' : 'warning'; return (