From a87534907299dd71d4f65adcf4b03634032d1b1b Mon Sep 17 00:00:00 2001 From: JOYCEQL <1449239013@qq.com> Date: Sun, 8 Mar 2026 22:35:05 +0800 Subject: [PATCH 1/2] feat: add more fonts config --- .../dashboard/resumes/CreateResumeModal.tsx | 2 +- src/app/app/dashboard/templates/page.tsx | 36 +++++++++---------- src/components/editor/SidePanel.tsx | 12 +++---- .../preview/IframeTemplateViewer.tsx | 10 +++--- src/components/preview/index.tsx | 2 +- src/components/shared/PdfExport.tsx | 28 +++++++-------- src/components/shared/TemplateSheet.tsx | 2 +- src/i18n/locales/en.json | 6 ++-- src/i18n/locales/zh.json | 6 ++-- src/utils/print.ts | 2 +- 10 files changed, 53 insertions(+), 53 deletions(-) diff --git a/src/app/app/dashboard/resumes/CreateResumeModal.tsx b/src/app/app/dashboard/resumes/CreateResumeModal.tsx index 9262256..e317d21 100644 --- a/src/app/app/dashboard/resumes/CreateResumeModal.tsx +++ b/src/app/app/dashboard/resumes/CreateResumeModal.tsx @@ -137,7 +137,7 @@ const TemplateThumbnail = ({ height: "297mm", transform: `scale(${scale})`, padding: `${template.spacing?.contentPadding || 32}px`, - fontFamily: "Alibaba PuHuiTi, sans-serif", + fontFamily: previewData.globalSettings?.fontFamily || "Alibaba PuHuiTi, sans-serif", }} > - ({ - ...baseData, - id: mockId, - templateId: template.id, - globalSettings: { - ...baseData.globalSettings, - themeColor: selectedColor || template.colorScheme.primary, - sectionSpacing: template.spacing.sectionGap, - paragraphSpacing: template.spacing.itemGap, - pagePadding: template.spacing.contentPadding, - }, - basic: { - ...baseData.basic, - layout: template.basic.layout, - }, - } as any); +({ + ...baseData, + id: mockId, + templateId: template.id, + globalSettings: { + ...baseData.globalSettings, + themeColor: selectedColor || template.colorScheme.primary, + sectionSpacing: template.spacing.sectionGap, + paragraphSpacing: template.spacing.itemGap, + pagePadding: template.spacing.contentPadding, + }, + basic: { + ...baseData.basic, + layout: template.basic.layout, + }, +} as any); interface TemplateCardItemProps { index: number; @@ -138,7 +138,7 @@ const TemplateCardItem = ({ transform: `scale(${scale})`, transformOrigin: "top left", padding: `${template.spacing.contentPadding}px`, - fontFamily: "Alibaba PuHuiTi, sans-serif", + fontFamily: previewData.globalSettings?.fontFamily || "Alibaba PuHuiTi, sans-serif", }} > @@ -352,7 +352,7 @@ const TemplatesPage = () => { transform: `scale(${PREVIEW_MODAL_SCALE})`, transformOrigin: "top left", padding: `${activePreviewTemplate.spacing.contentPadding}px`, - fontFamily: "Alibaba PuHuiTi, sans-serif", + fontFamily: selectedColor ? `Alibaba PuHuiTi, sans-serif` : `Alibaba PuHuiTi, sans-serif`, // Base on standard since it's just a general preview }} >
- {/*
+
-
*/} +
{/* 行高选择 */}
diff --git a/src/components/preview/IframeTemplateViewer.tsx b/src/components/preview/IframeTemplateViewer.tsx index 34ea406..46e6104 100644 --- a/src/components/preview/IframeTemplateViewer.tsx +++ b/src/components/preview/IframeTemplateViewer.tsx @@ -10,14 +10,14 @@ import { ResumeTemplate } from "../../types/template"; const IframeTemplateViewer = () => { const { id } = useParams({ from: "/app/preview-template/$id" }); - + // Use cookie to determine locale const locale = typeof document !== "undefined" ? document.cookie - .split("; ") - .find((row) => row.startsWith("NEXT_LOCALE=")) - ?.split("=")[1] || "zh" + .split("; ") + .find((row) => row.startsWith("NEXT_LOCALE=")) + ?.split("=")[1] || "zh" : "zh"; const template = useMemo(() => { @@ -55,7 +55,7 @@ const IframeTemplateViewer = () => { "relative mx-auto origin-top-left" )} style={{ - fontFamily: "Alibaba PuHuiTi, sans-serif", + fontFamily: mockData.globalSettings?.fontFamily || "Alibaba PuHuiTi, sans-serif", padding: `${template.spacing.contentPadding}px`, }} > diff --git a/src/components/preview/index.tsx b/src/components/preview/index.tsx index 71bd2a2..1b22937 100644 --- a/src/components/preview/index.tsx +++ b/src/components/preview/index.tsx @@ -181,7 +181,7 @@ const PreviewPanel = React.forwardRef( ref={previewRef} className="relative w-full h-full bg-gray-100" style={{ - fontFamily: "Alibaba PuHuiTi, sans-serif", + fontFamily: activeResume.globalSettings?.fontFamily || "Alibaba PuHuiTi, sans-serif", }} >
diff --git a/src/components/shared/PdfExport.tsx b/src/components/shared/PdfExport.tsx index e3379c6..272c25c 100644 --- a/src/components/shared/PdfExport.tsx +++ b/src/components/shared/PdfExport.tsx @@ -283,7 +283,7 @@ const PdfExport = () => { padding: ${pagePadding}px !important; -webkit-box-decoration-break: clone; box-decoration-break: clone; - font-family: "Alibaba PuHuiTi", sans-serif !important; + font-family: ${globalSettings?.fontFamily || '"Alibaba PuHuiTi", sans-serif'} !important; } #print-content { @@ -308,17 +308,17 @@ const PdfExport = () => { } ${Array.from(document.styleSheets) - .map((sheet) => { - try { - return Array.from(sheet.cssRules) - .map((rule) => rule.cssText) - .join("\n"); - } catch (e) { - console.warn("Could not copy styles from sheet:", e); - return ""; - } - }) - .join("\n")} + .map((sheet) => { + try { + return Array.from(sheet.cssRules) + .map((rule) => rule.cssText) + .join("\n"); + } catch (e) { + console.warn("Could not copy styles from sheet:", e); + return ""; + } + }) + .join("\n")} @@ -375,8 +375,8 @@ const PdfExport = () => { const loadingText = isExporting ? t("button.exporting") : isExportingJson - ? t("button.exportingJson") - : ""; + ? t("button.exportingJson") + : ""; return ( <> diff --git a/src/components/shared/TemplateSheet.tsx b/src/components/shared/TemplateSheet.tsx index 9e97482..8751bec 100644 --- a/src/components/shared/TemplateSheet.tsx +++ b/src/components/shared/TemplateSheet.tsx @@ -89,7 +89,7 @@ const TemplatePreview = ({ transformOrigin: "top left", boxSizing: "border-box", padding: `${template.spacing.contentPadding}px`, - fontFamily: "Alibaba PuHuiTi, sans-serif", + fontFamily: baseData.globalSettings?.fontFamily || "Alibaba PuHuiTi, sans-serif", }} > Date: Wed, 11 Mar 2026 23:44:53 +0800 Subject: [PATCH 2/2] feat: export font --- src/components/shared/PdfExport.tsx | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/components/shared/PdfExport.tsx b/src/components/shared/PdfExport.tsx index 272c25c..c955141 100644 --- a/src/components/shared/PdfExport.tsx +++ b/src/components/shared/PdfExport.tsx @@ -142,7 +142,11 @@ const PdfExport = () => { const styles = ` ${capturedStyles} html, body { background: white !important; background-color: white !important; } - #resume-preview { background: white !important; background-color: white !important; } + #resume-preview { + background: white !important; + background-color: white !important; + font-family: ${globalSettings?.fontFamily || '"Alibaba PuHuiTi", sans-serif'} !important; + } `; const response = await fetch(PDF_EXPORT_CONFIG.SERVER_URL, {