import { Show } from "solid-js"; import { useMegaStore } from "~/state/megaStore"; import { satsToUsd } from "~/utils/conversions"; import bolt from "~/assets/icons/bolt.svg"; import chain from "~/assets/icons/chain.svg"; import { useI18n } from "~/i18n/context"; function prettyPrintAmount(n?: number | bigint): string { if (!n || n.valueOf() === 0) { return "0"; } return n.toLocaleString(); } export function AmountSats(props: { amountSats: bigint | number | undefined; loading?: boolean; icon?: "lightning" | "chain" | "plus" | "minus"; denominationSize?: "sm" | "lg" | "xl"; }) { const i18n = useI18n(); return (
lightning chain

+ - {props.loading ? "..." : prettyPrintAmount(props.amountSats)}   1 || Number(props.amountSats) === 0 } > {i18n.t("common.sats")} {i18n.t("common.sat")}

); } export function AmountFiat(props: { amountSats: bigint | number | undefined; loading?: boolean; denominationSize?: "sm" | "lg" | "xl"; }) { const i18n = useI18n() const [state, _] = useMegaStore(); const amountInUsd = () => satsToUsd(state.price, Number(props.amountSats) || 0, true); return (

~{props.loading ? "..." : amountInUsd()}  {i18n.t("common.usd")}

); } export function AmountSmall(props: { amountSats: bigint | number | undefined; }) { const i18n = useI18n(); return ( {prettyPrintAmount(props.amountSats)}  {props.amountSats === 1 || props.amountSats === 1n ? i18n.t("common.sat") : i18n.t("common.sats")} ); }