import { FormControl, FormLabel, InputGroup, Input, InputRightElement, Button, HStack, useDisclosure, } from "@chakra-ui/react"; import { DeleteIcon } from "@chakra-ui/icons"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { faBook } from "@fortawesome/free-solid-svg-icons"; import AddressBook from "./AddressBook"; interface AddressInputParams { showAddress: string; setShowAddress: (value: string) => void; setAddress: (value: string) => void; setIsAddressValid: (value: boolean) => void; isAddressValid: boolean; selectedTabIndex: number; isConnected: boolean; appUrl: string | undefined; isIFrameLoading: boolean; updateAddress: () => void; } function AddressInput({ showAddress, setShowAddress, setAddress, setIsAddressValid, isAddressValid, selectedTabIndex, isConnected, appUrl, isIFrameLoading, updateAddress, }: AddressInputParams) { const { isOpen: isAddressBookOpen, onOpen: openAddressBook, onClose: closeAddressBook, } = useDisclosure(); return ( Enter Address or ENS to Impersonate { const _showAddress = e.target.value; setShowAddress(_showAddress); setAddress(_showAddress); setIsAddressValid(true); // remove inValid warning when user types again }} bg={"brand.lightBlack"} isInvalid={!isAddressValid} /> {(selectedTabIndex === 0 && isConnected) || (selectedTabIndex === 1 && appUrl && !isIFrameLoading) ? ( ) : ( showAddress && ( ) )} ); } export default AddressInput;