BREAKING CHANGE: Template names changed from page1_stats.html to page_1.html
## Phase 1: Unified Pagination Function
- Implemented PaginateMultiList() to replace PaginateSkills(), PaginateSpells(), and PaginatePage2PlayLists()
- Single metadata-driven function handles all list types (skills, weapons, spells, equipment)
- Properly handles filters (learned/unlearned/language) via template metadata
- Shares list trackers by ListType+Filter combination to avoid duplication
- Added comprehensive tests for all edge cases
## Phase 2: Template Naming Convention
- Renamed templates to be data-agnostic:
- page1_stats.html -> page_1.html
- page1.2_stats.html -> page_1.2.html
- page2_play.html -> page_2.html
- page2.2_play.html -> page_2.2.html
- page3_spell.html -> page_3.html
- page3.2_spell.html -> page_3.2.html
- page4_equip.html -> page_4.html
- Updated GenerateContinuationTemplateName() for new naming (page_1.html -> page_1.2.html)
- Updated ExtractBaseTemplateName() to handle new format
- Updated all test files and source files with new template names
## Phase 3: Simplified RenderPageWithContinuations
- Removed hardcoded switch statements based on template names
- Replaced with generic dataMap and unified pagination call
- Extracted populatePageDataFromDistribution() to handle data mapping
- Template type detection now driven by metadata, not hardcoded names
## Benefits
- ✅ Extensibility: Add new templates without code changes
- ✅ Maintainability: One pagination algorithm instead of three
- ✅ Clarity: Template names reflect page numbers, not content types
- ✅ Flexibility: Templates can mix any data types
- ✅ All 40+ tests passing
## Technical Details
- Added SkillsColumn3 and SkillsColumn4 fields to PageData for continuation pages
- Template metadata loaded from HTML comments drives pagination behavior
- Backward compatibility maintained for old template references in comments
Branch: export_pdf_frontend
Merge-base: 4b4201b9e5
Generated: 2025-12-21
42d5700 2025-08-28 removed errors from missing translations refresh in audit log
9f563cd 2025-08-28 add missing translations
471cc7a 2025-08-28 selektion von Chars nach UserID
7eead94 2025-08-29 selektion von Chars nach UserID and public
fabe24c 2025-08-30 added SQL to Testdata
ae8c1e4 2025-08-30 wsl settings
0151c9a 2025-08-30 added tests to config and database
67d1284 2025-08-30 Tests in user package
d226f2d 2025-08-30 added tests for register, login and passwordreset routes
219af67 2025-08-30 added tests for model_skills
cb6a5ab 2025-08-30 added tests for model_gsmaster
7e74a95 2025-08-30 added tests for model_learning_costs
2971894 2025-08-30 added tests for model_equipment
cc29e5b 2025-08-30 added tests for model_character
fa0a8d5 2025-08-30 added tests for model_character_creation
398d77c 2025-08-30 added fix introduced in model_character_creation_test
b6ff07e 2025-08-30 whitespace changes
acde6ae 2025-08-30 fixing testsa for copy_db
fe32213 2025-08-30 added tests package maintenance
b37c6a0 2025-08-30 added tests package logger
da13e10 2025-08-30 added tests package equipment
149f80f 2025-08-30 removed almost all function from the Old static SYstem
fc78bca 2025-08-30 fixed a typo
d6e943e 2025-10-03 added more githubchatmodes and instructions
d493271 2025-10-03 Fixe by database value update
8a67bb0 2025-10-03 removed missin table from query
48943dd 2025-10-03 removed fixed failed tests
4e6c014 2025-10-03 marked deprecated function and test
7f843be 2025-10-03 Adopt to testdata
257fb80 2025-10-22 fixing Tests
d92fb62 2025-12-06 I do not know what changed.
a32ba23 2025-12-14 Planen und geplant zu werden
4381925 2025-12-18 First page html template prepared
7871162 2025-12-18 Second page html template prepared
6f020bf 2025-12-18 third page html template prepared
679cc37 2025-12-18 forth page html template prepared
b90f4e8 2025-12-18 Planen und geplant zu werden 2
6ce2065 2025-12-18 ignore helper directory
b99aded 2025-12-18 mapping the character data to a viewmodel
5c5f890 2025-12-18 html files are now templates
cf260d6 2025-12-18 Templates werden gerendert
ff38731 2025-12-19 css changed to fix history overflow
a4dca0b 2025-12-19 History renders right
da91eb5 2025-12-19 fix pagination
9d1398b 2025-12-19 one pagination error has been fixed
f6f0b33 2025-12-19 Updated Got to 1.25.5
165f55f 2025-12-19 Show right values for Weapons
92f9e4c 2025-12-19 Defining list length in Template
c47e004 2025-12-19 add missing fields in template
de6c8c1 2025-12-20 weapons are displayed fine
4b9782c 2025-12-20 nur noch ein todo
58692f5 2025-12-20 continuation of lists on a continuation page
915352c 2025-12-20 routes and handlker for PDFexport created
c3d6af2 2025-12-20 Frontend PDF Export eingebaut
2af4773 2025-12-21 added more file type specific instructions
cd0f980 2025-12-21 PDF generation and downloads are working
62abf72 2025-12-21 remove implementation documentation files