From 53bdca87d5c3fc1cfaacc541fea19b82586109c3 Mon Sep 17 00:00:00 2001 From: Frank Date: Sun, 21 Dec 2025 22:19:48 +0100 Subject: [PATCH] Unify PDF pagination system and rename templates --- backend/pdfrender/pagination.go | 6 +++--- backend/pdfrender/pagination_test.go | 8 ++++---- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/backend/pdfrender/pagination.go b/backend/pdfrender/pagination.go index 4464b1d..fac693c 100644 --- a/backend/pdfrender/pagination.go +++ b/backend/pdfrender/pagination.go @@ -20,12 +20,12 @@ func GenerateContinuationTemplateName(originalTemplate string, pageNum int) stri // Pattern: page_N.html where N is a number ext := ".html" base := strings.TrimSuffix(originalTemplate, ext) - + // Check if it's already a continuation (has .2 in it) if strings.Contains(base, ".2") { return originalTemplate } - + // Append .2 before .html return fmt.Sprintf("%s.2%s", base, ext) } @@ -42,7 +42,7 @@ func ExtractBaseTemplateName(templateName string) string { // Remove .html base := strings.TrimSuffix(templateName, ext) - + // Find the last dot lastDotIdx := strings.LastIndex(base, ".") if lastDotIdx == -1 { diff --git a/backend/pdfrender/pagination_test.go b/backend/pdfrender/pagination_test.go index 0ec3cd5..6130110 100644 --- a/backend/pdfrender/pagination_test.go +++ b/backend/pdfrender/pagination_test.go @@ -166,9 +166,9 @@ func TestPaginateMultiList_WithOverflow(t *testing.T) { for _, dist := range distributions { for blockName, data := range dist.Data { // Only count skill blocks to avoid counting the same skills multiple times - if skillsList, ok := data.([]SkillViewModel); ok && - (blockName == "skills_column1" || blockName == "skills_column2" || - blockName == "skills_column3" || blockName == "skills_column4") { + if skillsList, ok := data.([]SkillViewModel); ok && + (blockName == "skills_column1" || blockName == "skills_column2" || + blockName == "skills_column3" || blockName == "skills_column4") { totalSkills += len(skillsList) } } @@ -837,7 +837,7 @@ func TestCalculatePagesNeeded(t *testing.T) { {"10 skills on page1", "page_1.html", "skills", 10, 1}, {fmt.Sprintf("%d skills on page1", skillCapacity), "page_1.html", "skills", skillCapacity, 1}, {fmt.Sprintf("%d skills on page1", skillCapacity+1), "page_1.html", "skills", skillCapacity + 1, 2}, - {"100 skills on page1", "page_1.html", "skills", 100, (100 + skillCapacity - 1) / skillCapacity}, // Dynamic calculation + {"100 skills on page1", "page_1.html", "skills", 100, (100 + skillCapacity - 1) / skillCapacity}, // Dynamic calculation {"10 weapons on page2", "page_2.html", "weapons", 10, (10 + weaponCapacity - 1) / weaponCapacity}, // Dynamic calculation {fmt.Sprintf("%d weapons on page2", weaponCapacity), "page_2.html", "weapons", weaponCapacity, 1}, {fmt.Sprintf("%d weapons on page2", weaponCapacity+1), "page_2.html", "weapons", weaponCapacity + 1, 2},