diff --git a/web-next/app/[locale]/forum/topic/[topicId]/page.tsx b/web-next/app/[locale]/forum/topic/[topicId]/page.tsx
index 827c18b..6c316be 100644
--- a/web-next/app/[locale]/forum/topic/[topicId]/page.tsx
+++ b/web-next/app/[locale]/forum/topic/[topicId]/page.tsx
@@ -101,7 +101,12 @@ export default async function TopicPage({
{author?.name ?? `#${post.poster}`}
-
+
diff --git a/web-next/lib/forum.ts b/web-next/lib/forum.ts
index e8d1913..c752936 100644
--- a/web-next/lib/forum.ts
+++ b/web-next/lib/forum.ts
@@ -85,6 +85,16 @@ export interface PosterInfo {
isStaff: boolean
joindate: string | null
postCount: number
+ avatar: string
+}
+
+// Avatar por clase (FusionCMS) del personaje de más nivel de la cuenta. Solo clases
+// jugables en WotLK 3.4.3 (1..9 y 11). Sin personaje → guerrero por defecto.
+const AVATAR_DIR = '/forum/avatars'
+const AVATAR_CLASSES = new Set([1, 2, 3, 4, 5, 6, 7, 8, 9, 11])
+function avatarForClass(classId: number | undefined): string {
+ const c = classId && AVATAR_CLASSES.has(classId) ? classId : 1
+ return `${AVATAR_DIR}/class-${c}.gif`
}
/** Nivel GM mínimo para considerarse «staff» en el foro (badge y color). */
@@ -362,6 +372,23 @@ export async function resolvePosters(ids: number[]): Promise