diff --git a/packages/react-app/src/components/AmountIn.js b/packages/react-app/src/components/AmountIn.js index 9de20ba..d35be5c 100644 --- a/packages/react-app/src/components/AmountIn.js +++ b/packages/react-app/src/components/AmountIn.js @@ -1,69 +1,67 @@ import React, { useState, useEffect, useRef } from "react"; -import { chevronDown } from "../assets"; // icon -import { useOnClickOutside } from "../utils"; //helps to close menu bar +import { chevronDown } from "../assets"; +import { useOnClickOutside } from "../utils"; import styles from "../styles"; -const AmountIn = () => { - const [showList, setShowList] = useState(false); - const [activeCurrency, setActiveCurrency] = useState("Select"); - const ref = useRef() +const AmountIn = ({ value, onChange, currencyValue, onSelect, currencies, isSwapping }) => { + const [showList, setShowList] = useState(false); + const [activeCurrency, setActiveCurrency] = useState("Select"); + const ref = useRef() - useOnClickOutside(ref, () => setShowList(false)) + useOnClickOutside(ref, () => setShowList(false)) - useEffect(() => { - if (Object.keys(currencies).includes(currencyValue)) - setActiveCurrency(currencies[currencyValue]); - else setActiveCurrency("Select"); - }, [currencies, currencyValue]); + useEffect(() => { + if (Object.keys(currencies).includes(currencyValue)) + setActiveCurrency(currencies[currencyValue]); + else setActiveCurrency("Select"); + }, [currencies, currencyValue]); - return( -
- typeof onChange === "function" && onChange(e.target.value)} - className={styles.amountInput} - /> - -
setShowList(!showList)}> - - - {showList && ( - - )} -
+ return ( +
+ typeof onChange === "function" && onChange(e.target.value)} + className={styles.amountInput} + /> + +
setShowList(!showList)}> + + + {showList && ( +
    + {Object.entries(currencies).map(([token, tokenName], index) => ( +
  • { + if (typeof onSelect === "function") onSelect(token); + setActiveCurrency(tokenName); + setShowList(false); + }} + > + {tokenName} +
  • + ))} +
+ )}
- ) -} - - - +
+ ); +}; +export default AmountIn;