From 6723e11ab0345fc6e9e796e7249dd248b51376c0 Mon Sep 17 00:00:00 2001 From: ephraimduncan Date: Fri, 24 Jul 2026 16:39:50 +0000 Subject: [PATCH] feat: add copy button for license key in admin panel --- .../components/general/admin-license-card.tsx | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/apps/remix/app/components/general/admin-license-card.tsx b/apps/remix/app/components/general/admin-license-card.tsx index c3a3428df..3e8c39192 100644 --- a/apps/remix/app/components/general/admin-license-card.tsx +++ b/apps/remix/app/components/general/admin-license-card.tsx @@ -1,3 +1,4 @@ +import { useCopyToClipboard } from '@documenso/lib/client-only/hooks/use-copy-to-clipboard'; import type { TCachedLicense } from '@documenso/lib/types/license'; import { SUBSCRIPTION_CLAIM_FEATURE_FLAGS } from '@documenso/lib/types/subscription'; import { trpc } from '@documenso/trpc/react'; @@ -9,6 +10,7 @@ import { Trans, useLingui } from '@lingui/react/macro'; import { ArrowRightIcon, CheckCircle2Icon, + CopyIcon, EyeIcon, EyeOffIcon, KeyRoundIcon, @@ -29,6 +31,8 @@ type AdminLicenseCardProps = { export const AdminLicenseCard = ({ licenseData }: AdminLicenseCardProps) => { const { t, i18n } = useLingui(); + const { toast } = useToast(); + const [, copy] = useCopyToClipboard(); const [isLicenseKeyVisible, setIsLicenseKeyVisible] = useState(false); const { license } = licenseData || {}; @@ -147,6 +151,24 @@ export const AdminLicenseCard = ({ licenseData }: AdminLicenseCardProps) => { > {isLicenseKeyVisible ? : } + +