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 (
);
}