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 && (!domain.deleted ? : ) } }