import ButtonGroup from '@components/forms/ButtonGroup' import Input from '@components/forms/Input' import Label from '@components/forms/Label' import Button from '@components/shared/Button' import SheenLoader from '@components/shared/SheenLoader' import { ChevronRightIcon, MagnifyingGlassIcon, NoSymbolIcon, UserIcon, } from '@heroicons/react/20/solid' import { PublicKey } from '@solana/web3.js' import { useTranslation } from 'next-i18next' import { ChangeEvent, useState } from 'react' import { MANGO_DATA_API_URL } from 'utils/constants' import { abbreviateAddress } from 'utils/formatting' import { notify } from 'utils/notifications' const SEARCH_TYPES = [ 'mango-account', 'mango-account-name', 'profile-name', 'wallet-pk', ] const SearchPage = () => { const { t } = useTranslation('search') const [loading, setLoading] = useState(false) const [searchString, setSearchString] = useState('') const [searchResults, setSearchResults] = useState([]) const [searchType, setSearchType] = useState('mango-account') const [showNoResults, setShowNoResults] = useState(false) const [isAccountSearch, setIsAccountSearch] = useState(true) const handleSearch = async () => { if (searchType === 'mango-account' || searchType === 'mango-account-name') { setIsAccountSearch(true) } else { setIsAccountSearch(false) } try { setLoading(true) const response = await fetch( `${MANGO_DATA_API_URL}/user-data/profile-search?search-string=${searchString}&search-method=${searchType}` ) const data = await response.json() setSearchResults(data) if (!data.length) { setShowNoResults(true) } } catch { notify({ title: t('search-failed'), type: 'error', }) } finally { setLoading(false) } } return (

{t('search-accounts')}