OOKNET                             [ /  search the index  ]  
──────────────────────────────────────────────────────────────────────────────────────
══════════════════════════════════════════════════════════════════════════════════════
OOKNET   [ /  search  ]  
────────────────────────────────────────────────
════════════════════════════════════════════════
 
HASH      5bf58ea1e9de
DATE      2025-09-20
SUBJECT   web: fix css for death knight
FILES     3 CHANGED
HASH      5bf58ea1e9de
DATE      2025-09-20
SUBJECT   web: fix css for death knight
FILES     3 CHANGED
 

diff --git a/web/src/client/player-profile.ts b/web/src/client/player-profile.ts
index 74278db..73675fc 100644
--- a/web/src/client/player-profile.ts
+++ b/web/src/client/player-profile.ts
@@ -3,6 +3,7 @@ import {
   buildStaticPlayerProfilePath,
   formatDurationMMSS,
 } from "../lib/utils";
+import { getClassTextClass } from "../lib/wow-constants";
 import { formatRankingWithBracket as formatRank } from "../lib/client-utils.ts";
 import { renderBestRunsWithWrapper } from "../lib/bestRunsRenderer";
 import {
@@ -148,13 +149,14 @@ class PlayerProfileManager {
     const regBracket = player.regional_ranking_bracket || "";
     const realmBracket = player.realm_ranking_bracket || "";
 
+    const classText = getClassTextClass(player.class_name || "common");
     const headerHTML = `
       <div class="player-header-horizontal">
         <div class="player-avatar">
           ${avatar ? `<img src="${avatar}" alt="${player.name} avatar" class="ava
tar-image" />` : ""}
         </div>
         <div class="player-info-column">
-          <h1 class="player-name text-${(player.class_name || "common").toLowerCa
se()}">${player.name}</h1>
+          <h1 class="player-name ${classText}">${player.name}</h1>
           ${guild ? `<div class="guild-name">${guild}</div>` : ""}
           <div class="character-details">${player.race_name || ""} ${player.activ
e_spec_name || player.spec_name || ""} ${player.class_name || ""}</div>
           <div class="item-level">Item Level: ${player.equipped_item_level ?? "-"
} equipped / ${player.average_item_level ?? "-"} average</div>

diff --git a/web/src/client/player-profile.t
s b/web/src/client/player-profile.ts
index 74278db..73675fc 100644
--- a/web/src/client/player-profile.ts
+++ b/web/src/client/player-profile.ts
@@ -3,6 +3,7 @@ import {
   buildStaticPlayerProfilePath,
   formatDurationMMSS,
 } from "../lib/utils";
+import { getClassTextClass } from "../lib/w
ow-constants";
 import { formatRankingWithBracket as format
Rank } from "../lib/client-utils.ts";
 import { renderBestRunsWithWrapper } from "
../lib/bestRunsRenderer";
 import {
@@ -148,13 +149,14 @@ class PlayerProfileMan
ager {
     const regBracket = player.regional_rank
ing_bracket || "";
     const realmBracket = player.realm_ranki
ng_bracket || "";
 
+    const classText = getClassTextClass(pla
yer.class_name || "common");
     const headerHTML = `
       <div class="player-header-horizontal"
>
         <div class="player-avatar">
           ${avatar ? `<img src="${avatar}" 
alt="${player.name} avatar" class="avatar-im
age" />` : ""}
         </div>
         <div class="player-info-column">
-          <h1 class="player-name text-${(pl
ayer.class_name || "common").toLowerCase()}"
>${player.name}</h1>
+          <h1 class="player-name ${classTex
t}">${player.name}</h1>
           ${guild ? `<div class="guild-name
">${guild}</div>` : ""}
           <div class="character-details">${
player.race_name || ""} ${player.active_spec
_name || player.spec_name || ""} ${player.cl
ass_name || ""}</div>
           <div class="item-level">Item Leve
l: ${player.equipped_item_level ?? "-"} equi
pped / ${player.average_item_level ?? "-"} a
verage</div>
 

diff --git a/web/src/components/PlayerHeader.astro b/web/src/components/PlayerHead
er.astro
index 322ea0f..a18fd34 100644
--- a/web/src/components/PlayerHeader.astro
+++ b/web/src/components/PlayerHeader.astro
@@ -1,6 +1,7 @@
 ---
 import { formatDurationMMSS } from "../lib/utils.ts";
 import { formatRankingWithBracket } from "../lib/ranking-utils.ts";
+import { getClassTextClass } from "../lib/wow-constants.ts";
 
 export interface Props {
   player: any;
@@ -47,7 +48,7 @@ const avatarUrl = player.avatar_url
 
   <div class="player-info-column">
     <h1
-      class={`player-name text-${player.class_name?.toLowerCase() || "common"}`}
+      class={`player-name ${getClassTextClass(player.class_name)}`}
     >
       {player.name}
     </h1>

diff --git a/web/src/components/PlayerHeader
.astro b/web/src/components/PlayerHeader.ast
ro
index 322ea0f..a18fd34 100644
--- a/web/src/components/PlayerHeader.astro
+++ b/web/src/components/PlayerHeader.astro
@@ -1,6 +1,7 @@
 ---
 import { formatDurationMMSS } from "../lib/
utils.ts";
 import { formatRankingWithBracket } from ".
./lib/ranking-utils.ts";
+import { getClassTextClass } from "../lib/w
ow-constants.ts";
 
 export interface Props {
   player: any;
@@ -47,7 +48,7 @@ const avatarUrl = player.a
vatar_url
 
   <div class="player-info-column">
     <h1
-      class={`player-name text-${player.cla
ss_name?.toLowerCase() || "common"}`}
+      class={`player-name ${getClassTextCla
ss(player.class_name)}`}
     >
       {player.name}
     </h1>
 

diff --git a/web/src/lib/wow-constants.ts b/web/src/lib/wow-constants.ts
index f5a60a6..65a1a5e 100644
--- a/web/src/lib/wow-constants.ts
+++ b/web/src/lib/wow-constants.ts
@@ -80,6 +80,15 @@ export function getClassColorClass(className: string): string {
   return `class-${normalizedClass}`;
 }
 
+export function getClassTextClass(
+  className: string | undefined | null,
+): string {
+  const key = String(className || "common")
+    .toLowerCase()
+    .replace(/[\s_]+/g, "-");
+  return `text-${key}`;
+}
+
 export function getSpecInfo(specId: number) {
   return SPEC_MAP[specId as SpecId] || null;
 }

diff --git a/web/src/lib/wow-constants.ts b/
web/src/lib/wow-constants.ts
index f5a60a6..65a1a5e 100644
--- a/web/src/lib/wow-constants.ts
+++ b/web/src/lib/wow-constants.ts
@@ -80,6 +80,15 @@ export function getClassC
olorClass(className: string): string {
   return `class-${normalizedClass}`;
 }
 
+export function getClassTextClass(
+  className: string | undefined | null,
+): string {
+  const key = String(className || "common")
+    .toLowerCase()
+    .replace(/[\s_]+/g, "-");
+  return `text-${key}`;
+}
+
 export function getSpecInfo(specId: number)
 {
   return SPEC_MAP[specId as SpecId] || null
;
 }
 
[ BACK TO LOG ]
──────────────────────────────────────────────────────────────────────────────────────
OOKNET
────────────────────────────────────────────────
OOKNET