diff --git a/apps/web/package.json b/apps/web/package.json index d8600cc40..f11a20c5e 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -45,6 +45,7 @@ "perfect-freehand": "^1.2.0", "posthog-js": "^1.75.3", "posthog-node": "^3.1.1", + "qrcode.react": "^4.2.0", "react": "^18", "react-call": "^1.3.0", "react-dom": "^18", diff --git a/apps/web/public/static/icon.svg b/apps/web/public/static/icon.svg new file mode 100644 index 000000000..1a7781ef4 --- /dev/null +++ b/apps/web/public/static/icon.svg @@ -0,0 +1,19 @@ + diff --git a/apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx b/apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx index 40cf83cee..49c2bb5e6 100644 --- a/apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx +++ b/apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx @@ -5,10 +5,12 @@ import { redirect } from 'next/navigation'; import { msg } from '@lingui/macro'; import { useLingui } from '@lingui/react'; import { DateTime } from 'luxon'; +import { QRCodeSVG } from 'qrcode.react'; import { match } from 'ts-pattern'; import { UAParser } from 'ua-parser-js'; import { setupI18nSSR } from '@documenso/lib/client-only/providers/i18n.server'; +import { WEBAPP_BASE_URL } from '@documenso/lib/constants/app'; import { APP_I18N_OPTIONS, ZSupportedLanguageCodeSchema } from '@documenso/lib/constants/i18n'; import { RECIPIENT_ROLES_DESCRIPTION, @@ -305,6 +307,24 @@ export default async function SigningCertificate({ searchParams }: SigningCertif +
diff --git a/package-lock.json b/package-lock.json index f0f95e451..fa8ae926b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -527,6 +527,7 @@ "perfect-freehand": "^1.2.0", "posthog-js": "^1.75.3", "posthog-node": "^3.1.1", + "qrcode.react": "^4.2.0", "react": "^18", "react-call": "^1.3.0", "react-dom": "^18", @@ -28019,6 +28020,15 @@ "node": ">=6.0.0" } }, + "node_modules/qrcode.react": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/qrcode.react/-/qrcode.react-4.2.0.tgz", + "integrity": "sha512-QpgqWi8rD9DsS9EP3z7BT+5lY5SFhsqGjpgW5DY/i3mK4M9DTBNz3ErMi8BWYEfI3L0d8GIbGmcdFAS1uIRGjA==", + "license": "ISC", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, "node_modules/qs": { "version": "6.11.2", "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz",