La ficha de personaje pasa a mostrar el equipo sobre el paperdoll (con
encantamientos y gemas en los tooltips de wowhead), el árbol de talentos y
la actividad reciente del personaje.
El proxy de /modelviewer/* deja de ser un rewrite de Next y pasa a un route
handler que cachea en disco los assets de zamimg, para no repetir la descarga
en cada visita.
Tres arreglos:
1) Búsqueda insensible a mayúsculas/minúsculas. Las consultas usaban LIKE directo
(sensible según la colación de la tabla), así que 'test' no encontraba 'Test'.
Ahora comparan con LOWER(col) LIKE LOWER(?).
2) Autocompletar tipo wowhead. Nuevo /api/armory/suggest + ArmorySearchBox
reescrito: al teclear (≥1 carácter, con debounce) muestra un desplegable con
personajes, ítems y hermandades que coinciden; clic va directo a la ficha/wowhead.
Enter o el botón siguen haciendo la búsqueda completa.
3) Visor 3D «no disponible». Causa: el contenido de wow.zamimg.com/modelviewer no
envía cabeceras CORS (el propio README de wow-model-viewer pide un proxy). Se
añade un rewrite en next.config (/modelviewer/* -> zamimg) para servirlo
same-origin, y el visor usa esas rutas. Además, si falla la resolución de ítems
se renderiza el personaje sin equipo, y los errores se registran en consola para
diagnóstico.
Verificado: 'test' encuentra 'Test'; el autocompletar responde; el proxy
/modelviewer/live/viewer/viewer.min.js sirve 200 same-origin.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Nueva sección Armería (menú Jugadores del header, pública). Migra la idea del
módulo armory de FusionCMS a Next, ajustada al diseño del sitio y en ES/EN.
DATOS (verificado antes de construir): item_template no existe en 3.4.3, pero los
datos de ítem ya están en MySQL (django_wow.item_data, 44.873 filas con nombre
es/en, calidad, item_level, inventory_type y display_id). El equipo del personaje
sale de acore_characters (character_inventory + item_instance, con transmog) y se
resuelve contra item_data en dos pasos (sin joins entre esquemas). lib/armory.ts +
lib/wow-data.ts (razas/clases/slots ES/EN y colores de clase).
RUTAS:
- /armory: buscador con pestañas personajes/ítems/hermandades (SSR por searchParams),
ítems con tooltip/color/icono de wowhead.
- /armory/character/[guid]: identidad, equipo (tooltips wowhead, color por calidad)
y visor 3D.
- /armory/guild/[guid]: miembros con enlace a su ficha.
VISOR 3D (components/ArmoryModel3D): usa la librería wow-model-viewer (generateModels)
con jQuery + ZamModelViewer de wowhead cargados bajo demanda, alimentado con
raza+género+display_ids del equipo (transmog si lo hay). Es integración cliente que
depende del CDN de zamimg y NO se puede verificar sin navegador: va todo en try/catch
con temporizador de reserva y aviso si no carga, para no romper la ficha.
Verificado en producción (salvo el render 3D): buscador, ficha con equipo real
(«Camisa de acólito»/«Acolyte's Shirt»), tooltips de wowhead y página de hermandad,
en ES y EN.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>