import { Tooltip } from "@material-ui/core"; import { useAppSelector } from "store/hooks"; import { piconerosToXmr, satsToBtc } from "utils/conversionUtils"; type Amount = number | null | undefined; export function AmountWithUnit({ amount, unit, fixedPrecision, exchangeRate, }: { amount: Amount; unit: string; fixedPrecision: number; exchangeRate?: Amount; }) { const fetchFiatPrices = useAppSelector((state) => state.settings.fetchFiatPrices); const fiatCurrency = useAppSelector((state) => state.settings.fiatCurrency); const title = fetchFiatPrices && exchangeRate != null && amount != null && fiatCurrency != null ? `≈ ${(exchangeRate * amount).toFixed(2)} ${fiatCurrency}` : ""; return ( {amount != null ? Number.parseFloat(amount.toFixed(fixedPrecision)) : "?"}{" "} {unit} ); } AmountWithUnit.defaultProps = { exchangeRate: null, }; export function BitcoinAmount({ amount }: { amount: Amount }) { const btcRate = useAppSelector((state) => state.rates.btcPrice); return ( ); } export function MoneroAmount({ amount }: { amount: Amount }) { const xmrRate = useAppSelector((state) => state.rates.xmrPrice); return ( ); } export function MoneroBitcoinExchangeRate( state: { rate: Amount } | { satsAmount: number; piconeroAmount: number }, ) { if ("rate" in state) { return ( ); } const rate = satsToBtc(state.satsAmount) / piconerosToXmr(state.piconeroAmount); return ; } export function MoneroSatsExchangeRate({ rate }: { rate: Amount }) { const btc = satsToBtc(rate); return ; } export function SatsAmount({ amount }: { amount: Amount }) { const btcAmount = amount == null ? null : satsToBtc(amount); return ; } export function PiconeroAmount({ amount }: { amount: Amount }) { return ( ); }