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
┌─ web/src/client/player-profile.ts ─────────────────────────────────────────┐
│ 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> │
└────────────────────────────────────────────────────────────────────────────────────┘
┌─ web/src/client/player-profile.ts ───┐
│ 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> │
└──────────────────────────────────────────────┘
┌─ web/src/components/PlayerHeader.astro ────────────────────────────────────┐
│ 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> │
└────────────────────────────────────────────────────────────────────────────────────┘
┌─ ...components/PlayerHeader.astro ───┐
│ 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> │
└──────────────────────────────────────────────┘
┌─ web/src/lib/wow-constants.ts ─────────────────────────────────────────────┐
│ 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; │
│ } │
└────────────────────────────────────────────────────────────────────────────────────┘
┌─ web/src/lib/wow-constants.ts ───────┐
│ 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