import React, { useState } from "react"; import { Form, InputGroup, Button, Dropdown, DropdownButton, } from "react-bootstrap"; import { useHistory, useLocation } from "react-router-dom"; import { isValidAddr } from "src/utils/Utils"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { faSearch } from "@fortawesome/free-solid-svg-icons"; import "./Searchbar.css"; interface IProps { isHeaderSearchbar: boolean; isISSearchbar: boolean; } const Searchbar: React.FC = ({ isHeaderSearchbar, isISSearchbar }) => { const history = useHistory(); const location = useLocation(); const [input, setInput] = useState(""); const [searchType, setSearchType] = useState("Txn/Addr"); const handleChange = (e: React.ChangeEvent) => setInput(e.target.value); const handleSubmit = (e: React.SyntheticEvent) => { e.preventDefault(); const trimmedInput = input.trim(); switch (searchType) { case "Txn/Addr": if (isValidAddr(trimmedInput)) history.push({ pathname: `/address/${trimmedInput}`, search: location.search, }); else history.push({ pathname: `/tx/${trimmedInput}`, search: location.search, }); break; case "Tx Block": history.push({ pathname: `/txbk/${trimmedInput}`, search: location.search, }); break; case "DS Block": history.push({ pathname: `/dsbk/${trimmedInput}`, search: location.search, }); break; } setInput(""); }; return ( <>
{isISSearchbar ? ( setSearchType("Txn/Addr")}> Txn/Addr setSearchType("Tx Block")}> Tx Block ) : ( setSearchType("Txn/Addr")}> Txn/Addr setSearchType("Tx Block")}> Tx Block setSearchType("DS Block")}> DS Block )}
); }; export default Searchbar;