feat: Charaktere-Modul mit Pathbuilder Import

Backend:
- Characters-Modul (CRUD, HP-Tracking, Conditions)
- Pathbuilder 2e JSON Import Service
- Claude API Integration für automatische Übersetzungen
- Translations-Modul mit Datenbank-Caching
- Prisma Schema erweitert (Character, Abilities, Skills, Feats, Items, Resources)

Frontend:
- Kampagnen-Detailseite mit Mitglieder- und Charakterverwaltung
- Charakter erstellen Modal
- Pathbuilder Import Modal (Datei-Upload + JSON-Paste)
- Logo-Integration (Dimension 47 + Zeasy)
- Cinzel Font für Branding

Weitere Änderungen:
- Auth 401 Redirect Fix für Login-Seite
- PROGRESS.md mit Projektfortschritt

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Alexander Zielonka
2026-01-18 20:36:44 +01:00
parent 090aae53d8
commit 94335ecd12
53 changed files with 4581 additions and 114 deletions

View File

@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="793.44598" height="791.01794" version="1.1" viewBox="0 0 793.44598 791.01794" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><linearGradient id="b" x1="488.39264" x2="284.4079" y1="-170.60948" y2="590.67194" gradientUnits="userSpaceOnUse"><stop stop-color="#6e2ad8" offset=".21782178"/><stop stop-color="#8d19c9" offset=".84158415"/></linearGradient><linearGradient id="a" x1="541.3728" x2="220.80882" y1="83.038246" y2="803.0368" gradientUnits="userSpaceOnUse"><stop stop-color="#a608c2" offset="0"/><stop stop-color="#fb4ced" offset="1"/></linearGradient></defs><g transform="translate(12.977401,68.974609)" stroke-width="1.97972"><path d="m72.022599-68.974609c-46.944204 0-85 38.055796-85 85 1e-6 46.944203 38.055797 84.999999 85 84.999999 28.907141-2.4e-4 55.832701-14.691726 71.476561-38.999999h501.30553c17.80803 0 33.56211 10.526042 40.37695 26.978515 6.81484 16.452474 3.11757 35.032824-9.47461 47.625004l-260.4082 260.4082h-50.79883l-92 92h161.85352c12.19994-2.8e-4 23.90021-4.84647 32.52734-13.47266l273.88086-273.88086c38.71717-38.71716 50.36959-97.3003 29.41601-147.88672-20.95357-50.58641-70.6187-83.771484-125.37304-83.771484h-501.30553c-15.64386-24.308273-42.56942-38.999759-71.476561-39zm0 45.5c21.815247 1e-6 39.500001 17.684753 39.500001 39.5 0 21.815247-17.684754 39.499999-39.500001 39.5-21.815248 0-39.5-17.684752-39.5-39.5 0-21.815248 17.684752-39.5 39.5-39.5z" fill="url(#b)"/><path d="m695.46858 722.04333c46.94421 0 85-38.0558 85-85s-38.05579-85-85-85c-28.90713 2.4e-4 -55.83269 14.69173-71.47656 39h-501.30554c-17.80803 0-33.562109-10.52604-40.376949-26.97852-6.81484-16.45247-3.11757-35.03282 9.47461-47.625l260.4082-260.4082h50.79883l92-92h-161.85352c-12.19994 2.8e-4 -23.90021 4.84647-32.52734 13.47266l-273.88086 273.88086c-38.71717 38.71716-50.36961 97.3003-29.41601 147.88672 20.95357 50.58641 70.6187 83.77148 125.37304 83.77148h501.30554c15.64387 24.30827 42.56943 38.99976 71.47656 39zm0-45.5c-21.81524 0-39.5-17.68475-39.5-39.5s17.68476-39.5 39.5-39.5c21.81525 0 39.5 17.68475 39.5 39.5s-17.68475 39.5-39.5 39.5z" fill="url(#a)"/></g></svg>

After

Width:  |  Height:  |  Size: 2.1 KiB