Commit Graph

15 Commits

Author SHA1 Message Date
Frank 5f952742c8 add current db layout and data
add handling for mounted export template directory
fixed naming problems and port exposure
2025-12-27 08:27:34 +01:00
Frank 2697aee592 updated Docker and docker-compose files 2025-12-26 08:45:47 +01:00
Frank 06788abe49 add current db layout and data 2025-12-26 08:39:36 +01:00
Frank 59fe69d35d refactor: Unify PDF pagination system and rename templates
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
2025-12-21 22:07:46 +01:00
Frank 2af477397e added more file type specific instructions
I hope that coding results will be better and more consistent
2025-12-21 08:39:29 +01:00
Frank f6f0b334c2 Updated Got to 1.25.5
made spells display correct spell information
2025-12-19 17:04:20 +01:00
Frank 83286c8627 WIP Char create get skills
und Docker stuff für Production deployment
2025-08-14 23:25:01 +02:00
Frank 32375bea76 do not expose MariaDB Port 2025-08-14 00:08:12 +02:00
Frank 1919d540fb API URL per env setzen 2025-08-13 07:14:04 +02:00
Frank cb598bd630 Ignore MariaDB Database 2025-08-12 22:20:27 +02:00
Frank c8813306af Add MariaDB und phpMyadmin to the docker compose 2025-08-12 22:09:15 +02:00
Frank 77b074902f Neues LearncostSystem initialisiert 2025-07-29 19:21:58 +02:00
Frank 20659fa5f6 Merge branch 'FlexiDB' 2025-07-24 07:39:43 +02:00
Frank 0a5971cea4 made changes to t he docker system 2025-01-03 15:51:41 +01:00
Frank 48e0708dc9 introduced structure backend packeges and frontend 2024-12-28 16:30:48 +01:00