From a64dec8937c93d261fbcd762da8b040365c64311 Mon Sep 17 00:00:00 2001 From: artemkolodko Date: Tue, 14 Feb 2023 16:24:49 +0000 Subject: [PATCH] Add search for *.country domains --- src/components/ui/Search.tsx | 39 ++++++++++++++++++++++-------------- 1 file changed, 24 insertions(+), 15 deletions(-) diff --git a/src/components/ui/Search.tsx b/src/components/ui/Search.tsx index af8163a..a37d957 100644 --- a/src/components/ui/Search.tsx +++ b/src/components/ui/Search.tsx @@ -29,6 +29,11 @@ export interface ISearchItem { item: any; } +const oneCountryPostfix = { + dotOne: '.1', + dotCountry: '.country' +} + export const SearchInput = () => { const [value, setValue] = useState(""); const [readySubmit, setReadySubmit] = useState(false); @@ -96,25 +101,29 @@ export const SearchInput = () => { return; } - if(config.oneCountryContractAddress && v.endsWith('.1')) { - const [prefix] = v.split('.1') - if(prefix) { - try { - const address = await getAddressByName(prefix) - if(address) { - history.push(`/address/${address}`); - } else { - toaster.show({ - message: () => ( + if(config.oneCountryContractAddress) { + const onePostfix = v.endsWith(oneCountryPostfix.dotOne) + const countryPostfix = v.endsWith(oneCountryPostfix.dotCountry) + if(onePostfix || countryPostfix) { + const [prefix] = v.split(onePostfix ? oneCountryPostfix.dotOne : oneCountryPostfix.dotCountry); + if(prefix) { + try { + const address = await getAddressByName(prefix); + if(address) { + history.push(`/address/${address}`); + } else { + toaster.show({ + message: () => ( Address for "{v}" not found - ), - time: 5000 - }) + ), + time: 5000 + }) + } + } catch (e) { + console.log('Cannot get one country address', e) } - } catch (e) { - console.log('Cannot get one country address', e) } } }