diff --git a/src/components/LoginScreen.tsx b/src/components/LoginScreen.tsx index 2ccfc1b..0c3770a 100644 --- a/src/components/LoginScreen.tsx +++ b/src/components/LoginScreen.tsx @@ -26,10 +26,14 @@ export function LoginScreen({ onConnect, error, isConnecting }: Props) { const [token, setToken] = useState(getInitialToken); const [showToken, setShowToken] = useState(false); + const urlTrimmed = url.trim(); + const isValidWsUrl = /^wss?:\/\/.+/.test(urlTrimmed); + const showUrlHint = urlTrimmed.length > 0 && !isValidWsUrl; + const handleSubmit = (e: React.FormEvent) => { e.preventDefault(); - if (!url.trim() || !token.trim()) return; - onConnect(url.trim(), token.trim()); + if (!urlTrimmed || !token.trim() || !isValidWsUrl) return; + onConnect(urlTrimmed, token.trim()); }; return ( @@ -61,6 +65,11 @@ export function LoginScreen({ onConnect, error, isConnecting }: Props) { autoComplete="url" disabled={isConnecting} /> + {showUrlHint && ( +

+ {t('login.wsHint')} +

+ )}
@@ -98,7 +107,7 @@ export function LoginScreen({ onConnect, error, isConnecting }: Props) {