mirror of
https://github.com/AmruthPillai/Reactive-Resume.git
synced 2026-07-12 14:05:08 +10:00
a4999c04af
- drop dotenv (Node 24 process.loadEnvFile) and dompurify (only used by dead code) - delete unused ui components/hooks (card, progress, checkbox, use-confirm, use-prompt) - delete dead sanitizeHtml/sanitizeCss, url-security helpers, patch-resume tool, schema/page, createResumePatches, patch-proposal preview builder, fonts fallback helpers - inline single-caller wrappers (flags service, auth getSession, pdf renderer passthrough) - deduplicate template color helpers into shared/color-helpers - unexport 50+ internal-only symbols, remove dead export-map entries - replace hand-rolled unique()/useIsMobile with Set spread and usehooks-ts
23 lines
792 B
TypeScript
23 lines
792 B
TypeScript
import type { ResumeData } from "@reactive-resume/schema/resume/data";
|
|
import type { Template } from "@reactive-resume/schema/templates";
|
|
import type { SectionTitleResolver } from "./section-title";
|
|
import { createElement } from "react";
|
|
import { pdf } from "#react-pdf-renderer";
|
|
import { ResumeDocument } from "./document";
|
|
|
|
type CreateResumePdfBlobOptions = {
|
|
data: ResumeData;
|
|
template?: Template | undefined;
|
|
resolveSectionTitle?: SectionTitleResolver | undefined;
|
|
};
|
|
|
|
export const createResumePdfBlob = async ({ data, template, resolveSectionTitle }: CreateResumePdfBlobOptions) => {
|
|
const document = createElement(ResumeDocument, {
|
|
data,
|
|
template: template ?? data.metadata.template,
|
|
resolveSectionTitle,
|
|
}) as Parameters<typeof pdf>[0];
|
|
|
|
return pdf(document).toBlob();
|
|
};
|