From 93b8282a6919c9ce5b8b887f5f232b80344ca622 Mon Sep 17 00:00:00 2001 From: PhilReact Date: Mon, 23 Jun 2025 14:31:45 +0300 Subject: [PATCH] fix userlookup address --- src/background.ts | 2 +- src/components/UserLookup.tsx/UserLookup.tsx | 14 +++++++++++--- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/background.ts b/src/background.ts index bd32200..f7f1297 100644 --- a/src/background.ts +++ b/src/background.ts @@ -823,7 +823,7 @@ export async function getAddressInfo(address) { const data = await response.json(); if (!response?.ok && data?.error !== 124) - throw new Error("Cannot fetch address info"); + throw new Error("Cannot retrieve address info"); if (data?.error === 124) { return { address, diff --git a/src/components/UserLookup.tsx/UserLookup.tsx b/src/components/UserLookup.tsx/UserLookup.tsx index 3499e90..f62dedd 100644 --- a/src/components/UserLookup.tsx/UserLookup.tsx +++ b/src/components/UserLookup.tsx/UserLookup.tsx @@ -28,6 +28,7 @@ import CloseFullscreenIcon from '@mui/icons-material/CloseFullscreen'; import SearchIcon from '@mui/icons-material/Search'; import { executeEvent, subscribeToEvent, unsubscribeFromEvent } from "../../utils/events"; import { useNameSearch } from "../../hooks/useNameSearch"; +import { validateAddress } from "../../utils/validateAddress"; function formatAddress(str) { if (str.length <= 12) return str; @@ -42,7 +43,11 @@ export const UserLookup = ({ isOpenDrawerLookup, setIsOpenDrawerLookup }) => { const [nameOrAddress, setNameOrAddress] = useState(""); const [inputValue, setInputValue] = useState(''); const { results, isLoading } = useNameSearch(inputValue); - const options = useMemo(() => results?.map((item) => item.name), [results]); + const options = useMemo(() => { + const isAddress = validateAddress(inputValue); + if (isAddress) return [inputValue]; + return results?.map((item) => item.name); + }, [results, inputValue]); const [errorMessage, setErrorMessage] = useState(""); const [addressInfo, setAddressInfo] = useState(null); const [isLoadingUser, setIsLoadingUser] = useState(false); @@ -63,7 +68,10 @@ export const UserLookup = ({ isOpenDrawerLookup, setIsOpenDrawerLookup }) => { if (!addressInfoRes?.publicKey) { throw new Error("Address does not exist on blockchain"); } - const name = await getNameInfo(owner); + const isAddress = validateAddress(messageAddressOrName); + const name = !isAddress + ? messageAddressOrName + : await getNameInfo(owner); const balanceRes = await fetch( `${getBaseApiReact()}/addresses/balance/${owner}` ); @@ -166,7 +174,7 @@ export const UserLookup = ({ isOpenDrawerLookup, setIsOpenDrawerLookup }) => { {...params} label="Address or Name" onKeyDown={(e) => { - if (e.key === 'Enter' && nameOrAddress) { + if (e.key === 'Enter' && inputValue) { lookupFunc(inputValue); } }}