import { Button } from '@/components/ui/button' import { Input } from '@/components/ui/input' import { normalizeUrl } from '@/lib/url' import { useFavoriteRelays } from '@/providers/FavoriteRelaysProvider' import { useState } from 'react' import { useTranslation } from 'react-i18next' export default function AddNewRelay() { const { t } = useTranslation() const { favoriteRelays, addFavoriteRelays } = useFavoriteRelays() const [input, setInput] = useState('') const [errorMsg, setErrorMsg] = useState('') const saveRelay = async () => { if (!input) return const normalizedUrl = normalizeUrl(input) if (!normalizedUrl) { setErrorMsg(t('Invalid URL')) return } if (favoriteRelays.includes(normalizedUrl)) { setErrorMsg(t('Already saved')) return } await addFavoriteRelays([normalizedUrl]) setInput('') } const handleNewRelayInputChange = (e: React.ChangeEvent) => { setInput(e.target.value) setErrorMsg('') } const handleNewRelayInputKeyDown = (event: React.KeyboardEvent) => { if (event.key === 'Enter') { event.preventDefault() saveRelay() } } return (
{errorMsg &&
{errorMsg}
}
) }