Files
NightSpire/web-next/app/api/forum/wowhead/route.ts
T
Inna 5bcf71a37b Foro: enlaces de wowhead en el idioma del lector
Los enlaces de wowhead se guardan con el locale de quien los postea (subdominio,
domain y nombre), así que un ítem posteado en /es se veía en español aunque lo
leyeras en /en, y al revés. Ahora siguen el idioma de QUIEN LEE.

Al renderizar el tema (server component, conoce el locale del lector) se localizan
los enlaces: se reescribe el subdominio y el domain del data-wowhead y se vuelve a
resolver el nombre en el idioma del lector (lib/forum-wowhead + lib/wowhead-resolve,
compartido con la API del editor y cacheado). Es solo de presentación: no cambia lo
guardado ni añade parpadeo (el nombre llega ya resuelto del servidor).

Verificado: un post guardado con nombre inglés y domain=wotlk se lee como «Bolsa de
tejido de Escarcha» + es.wotlk en /es, y «Frostweave Bag» + www en /en.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-16 14:08:08 +00:00

16 lines
731 B
TypeScript

import { fetchWowheadInfo } from '@/lib/wowhead-resolve'
// Resuelve nombre, calidad e icono de una entidad de wowhead (rama WotLK) para que
// el editor del foro pueda insertar el enlace ya con su nombre real, sin el parpadeo
// de «item=xxx». La lógica vive en lib/wowhead-resolve (compartida con el render).
export async function GET(request: Request) {
const url = new URL(request.url)
const type = String(url.searchParams.get('type') || 'item')
const id = String(url.searchParams.get('id') || '')
const locale = String(url.searchParams.get('locale') || 'es')
const info = await fetchWowheadInfo(type, id, locale)
if (!info) return Response.json({ name: null }, { status: 400 })
return Response.json(info)
}