diff --git a/frontend/src/components/RecentPayments.tsx b/frontend/src/components/RecentPayments.tsx index 6c9b812..43b4a34 100644 --- a/frontend/src/components/RecentPayments.tsx +++ b/frontend/src/components/RecentPayments.tsx @@ -5,6 +5,7 @@ import { usePathname, useRouter, useSearchParams } from "next/navigation"; import { useLocale, useTranslations } from "next-intl"; import Skeleton from "react-loading-skeleton"; import "react-loading-skeleton/dist/skeleton.css"; +import toast from "react-hot-toast"; import PaymentDetailModal from "@/components/PaymentDetailModal"; import ExportCsvButton from "@/components/ExportCsvButton"; import { localeToLanguageTag } from "@/i18n/config"; @@ -383,6 +384,21 @@ export default function RecentPayments({ setSelectedPayment(null); }; + const handleCopyId = async (id: string, event: React.MouseEvent) => { + event.stopPropagation(); + try { + await navigator.clipboard.writeText(id); + } catch { + const el = document.createElement("textarea"); + el.value = id; + document.body.appendChild(el); + el.select(); + document.execCommand("copy"); + document.body.removeChild(el); + } + toast.success("Intent ID copied to clipboard"); + }; + if (showSkeleton || loading) { return (