refactor: types frontend alignés backend — zéro as any, monstres triés par level
All checks were successful
CI/CD — Build & Deploy / Build & Deploy (push) Successful in 33s
All checks were successful
CI/CD — Build & Deploy / Build & Deploy (push) Successful in 33s
types.ts: rewrite complet — Character, Monster, CombatResult, CombatLog alignés sur les champs réels du backend. Plus de mapping approximatif. CombatPage: réécriture propre — monstres triés par level (appropriés en haut, trop forts en bas avec opacity + warning), historique avec vrais noms de monstres et valeurs XP/or, level up affiché dans le résultat. Cleanup: 0 occurrence de "as any" dans tout le frontend.
This commit is contained in:
@@ -46,8 +46,8 @@ export function HudBar() {
|
||||
|
||||
if (!char) return null;
|
||||
|
||||
const endurance = (char as any).enduranceCurrent ?? (char as any).endurance ?? 0;
|
||||
const xpNext = (char as any).xpToNextLevel ?? Math.round(100 * Math.pow(char.level, 1.5));
|
||||
const endurance = char.enduranceCurrent;
|
||||
const xpNext = char.xpToNextLevel;
|
||||
const questCount = activeQuests?.filter((pq: any) => pq.status === 'active').length ?? 0;
|
||||
const questReady = activeQuests?.filter((pq: any) => pq.status === 'completed').length ?? 0;
|
||||
|
||||
@@ -88,11 +88,11 @@ export function HudBar() {
|
||||
<span style={{ color: endurance < 5 ? '#e84040' : '#6b7a99' }}>
|
||||
{endurance}/{char.enduranceMax}
|
||||
</span>
|
||||
{(char as any).lastEnduranceTs && (
|
||||
{char.lastEnduranceTs && (
|
||||
<RegenTimer
|
||||
endurance={endurance}
|
||||
enduranceMax={char.enduranceMax}
|
||||
lastEnduranceTs={(char as any).lastEnduranceTs}
|
||||
lastEnduranceTs={char.lastEnduranceTs}
|
||||
/>
|
||||
)}
|
||||
</Link>
|
||||
|
||||
Reference in New Issue
Block a user