import React, {useEffect, useState} from 'react' import {Empty, Flex, FormProps, message, Skeleton} from 'antd' import {Domain, getDomain} from '../../utils/api' import {AxiosError} from 'axios' import {t} from 'ttag' import {DomainSearchBar, FieldType} from '../../components/search/DomainSearchBar' import {DomainResult} from '../../components/search/DomainResult' import {showErrorAPI} from '../../utils/functions/showErrorAPI' import {useNavigate, useParams} from 'react-router-dom' export default function DomainSearchPage() { const {query} = useParams() const [domain, setDomain] = useState() const [loading, setLoading] = useState(false) const [messageApi, contextHolder] = message.useMessage() const navigate = useNavigate() const onFinish: FormProps['onFinish'] = (values) => { navigate('/search/domain/' + values.ldhName) if (loading) return setLoading(true) setDomain(null) getDomain(values.ldhName).then(d => { setDomain(d) messageApi.success(t`Found !`) }).catch((e: AxiosError) => { setDomain(undefined) showErrorAPI(e, messageApi) }).finally(() => setLoading(false)) } useEffect(() => { if (query === undefined) return onFinish({ldhName: query}) }, []) return ( {contextHolder} { (domain != null) && (!domain.deleted ? : ) } ) }