feat: add hide link underline option to resume settings, resolves #3134

This commit is contained in:
Amruth Pillai
2026-06-01 15:30:49 +02:00
parent d6a9bc6c4b
commit 5fb4976ec9
16 changed files with 2820 additions and 157 deletions
+7
View File
@@ -280,6 +280,13 @@ describe("pageSchema", () => {
expect(result.success).toBe(true);
if (result.success) expect(result.data.hideSectionIcons).toBe(true);
});
it("defaults hideLinkUnderline to false when missing", () => {
const { hideLinkUnderline: _, ...pageWithout } = defaultResumeData.metadata.page;
const result = pageSchema.safeParse(pageWithout);
expect(result.success).toBe(true);
if (result.success) expect(result.data.hideLinkUnderline).toBe(false);
});
});
describe("baseSectionSchema", () => {
+1
View File
@@ -469,6 +469,7 @@ export const pageSchema = z.object({
.string()
.describe("The locale of the page. Used for displaying pre-translated section headings, if not overridden.")
.catch("en-US"),
hideLinkUnderline: z.boolean().describe("Whether to hide the underlines of the links.").catch(false),
hideIcons: z.boolean().describe("Whether to hide the item-level icons (skills, profiles, interests).").catch(false),
hideSectionIcons: z
.boolean()
@@ -20,6 +20,10 @@ describe("defaultResumeData", () => {
expect(defaultResumeData.metadata.page.format).toBe("a4");
});
it("shows link underlines by default", () => {
expect(defaultResumeData.metadata.page.hideLinkUnderline).toBe(false);
});
it("starts with no resume content", () => {
expect(defaultResumeData.basics.name).toBe("");
expect(defaultResumeData.summary.content).toBe("");
+1
View File
@@ -135,6 +135,7 @@ export const defaultResumeData: ResumeData = {
marginY: 12,
format: "a4",
locale: "en-US",
hideLinkUnderline: false,
hideIcons: false,
hideSectionIcons: true,
},
+1
View File
@@ -567,6 +567,7 @@ export const sampleResumeData: ResumeData = {
marginY: 16,
format: "a4",
locale: "en-US",
hideLinkUnderline: false,
hideIcons: false,
hideSectionIcons: false,
},