feat: use dancing script font locally

This commit is contained in:
Ephraim Atta-Duncan
2024-01-28 18:19:42 +00:00
parent 144bd4782b
commit 1c4a5449bb
6 changed files with 20 additions and 16 deletions

View File

@ -148,19 +148,19 @@ export const Widget = ({ className, children, ...props }: WidgetProps) => {
const claimPlanInput = signatureDataUrl const claimPlanInput = signatureDataUrl
? { ? {
name, name,
email, email,
planId, planId,
signatureDataUrl: signatureDataUrl, signatureDataUrl: signatureDataUrl,
signatureText: null, signatureText: null,
} }
: { : {
name, name,
email, email,
planId, planId,
signatureDataUrl: null, signatureDataUrl: null,
signatureText: signatureText ?? '', signatureText: signatureText ?? '',
}; };
const [result] = await Promise.all([claimPlan(claimPlanInput), delay]); const [result] = await Promise.all([claimPlan(claimPlanInput), delay]);

View File

@ -17,6 +17,10 @@ const FONT_CAVEAT_BYTES = fs.readFileSync(
path.join(__dirname, '../../packages/assets/fonts/caveat.ttf'), path.join(__dirname, '../../packages/assets/fonts/caveat.ttf'),
); );
const FONT_DANCING_SCRIPT_BYTES = fs.readFileSync(
path.join(__dirname, '../../packages/assets/fonts/dancing-script.ttf'),
);
/** @type {import('next').NextConfig} */ /** @type {import('next').NextConfig} */
const config = { const config = {
output: process.env.DOCKER_OUTPUT ? 'standalone' : undefined, output: process.env.DOCKER_OUTPUT ? 'standalone' : undefined,
@ -40,6 +44,7 @@ const config = {
APP_VERSION: version, APP_VERSION: version,
NEXT_PUBLIC_PROJECT: 'web', NEXT_PUBLIC_PROJECT: 'web',
FONT_CAVEAT_URI: `data:font/ttf;base64,${FONT_CAVEAT_BYTES.toString('base64')}`, FONT_CAVEAT_URI: `data:font/ttf;base64,${FONT_CAVEAT_BYTES.toString('base64')}`,
FONT_DANCING_SCRIPT_URI: `data:font/ttf;base64,${FONT_DANCING_SCRIPT_BYTES.toString('base64')}`,
}, },
modularizeImports: { modularizeImports: {
'lucide-react': { 'lucide-react': {

Binary file not shown.

View File

@ -12,10 +12,7 @@ import { isSignatureFieldType } from '@documenso/prisma/guards/is-signature-fiel
import type { FieldWithSignature } from '@documenso/prisma/types/field-with-signature'; import type { FieldWithSignature } from '@documenso/prisma/types/field-with-signature';
export const insertFieldInPDF = async (pdf: PDFDocument, field: FieldWithSignature) => { export const insertFieldInPDF = async (pdf: PDFDocument, field: FieldWithSignature) => {
const fontDancingScriptURL = const fontDancingScript = await fetch(process.env.FONT_DANCING_SCRIPT_URI).then(async (res) =>
'https://fonts.gstatic.com/s/dancingscript/v25/If2cXTr6YS-zF4S-kcSWSVi_sxjsohD9F50Ruu7BMSoHTQ.ttf';
const fontDancingScript = await fetch(fontDancingScriptURL).then(async (res) =>
res.arrayBuffer(), res.arrayBuffer(),
); );

View File

@ -64,6 +64,7 @@ declare namespace NodeJS {
DEPLOYMENT_TARGET?: 'webapp' | 'marketing'; DEPLOYMENT_TARGET?: 'webapp' | 'marketing';
FONT_CAVEAT_URI: string; FONT_CAVEAT_URI: string;
FONT_DANCING_SCRIPT_URI: string;
POSTGRES_URL?: string; POSTGRES_URL?: string;
DATABASE_URL?: string; DATABASE_URL?: string;

View File

@ -86,6 +86,7 @@
"VERCEL_URL", "VERCEL_URL",
"DEPLOYMENT_TARGET", "DEPLOYMENT_TARGET",
"FONT_CAVEAT_URI", "FONT_CAVEAT_URI",
"FONT_DANCING_SCRIPT_URI",
"POSTGRES_URL", "POSTGRES_URL",
"DATABASE_URL", "DATABASE_URL",
"POSTGRES_PRISMA_URL", "POSTGRES_PRISMA_URL",