import { Invoice, getFiatValue } from "@getalby/lightning-tools"; import { CopyIcon, ExternalLinkIcon } from "lucide-react"; import React from "react"; import { FixedFloatButton } from "src/components/FixedFloatButton"; import { FormattedBitcoinAmount } from "src/components/FormattedBitcoinAmount"; import Loading from "src/components/Loading"; import QRCode from "src/components/QRCode"; import { Button } from "src/components/ui/button"; import { copyToClipboard } from "src/lib/clipboard"; type PayLightningInvoiceProps = { invoice: string; }; export function PayLightningInvoice({ invoice }: PayLightningInvoiceProps) { const amountSat = new Invoice({ pr: invoice, }).satoshi; const [fiatAmount, setFiatAmount] = React.useState(0); React.useEffect(() => { getFiatValue({ satoshi: amountSat, currency: "USD" }).then((fiatAmount) => setFiatAmount(fiatAmount) ); }, [amountSat]); const copy = () => { copyToClipboard(invoice); }; return (

Waiting for Payment...

{new Intl.NumberFormat("en-US", { currency: "USD", style: "currency", }).format(fiatAmount)}

Pay with Crypto
); }