Files
NightSpire/web-next/components/WowheadLink.tsx
T
Inna 7d1abab9f1 Enlaces de ítems por wowhead (locale + tooltips) en toda la web
Sustituye la base de datos de ítems del sistema antiguo (AoWoW en
wotlk.novawow/wotlk.ultimowow) y los iconos de mirrors por wowhead / zamimg,
con el idioma del tooltip según el locale de la web (es. / www.).

Sistema reutilizable para rutas actuales y futuras:
- lib/wowhead.ts: wowheadUrl/wowheadItemUrl/wowheadWotlkHome (subdominio por
  locale), wowheadIcon (zamimg) y wowheadData (atributo data-wowhead, rama WotLK).
- components/WowheadLink.tsx: enlace con tooltip en el locale actual.
- layout raíz: config whTooltips (solo tooltips) + script tooltips.js global;
  funciona con contenido añadido por React (carrito, búsquedas).

Aplicado en: send-gift (catálogo + carrito), restore-items, recruit
(RecruitPanel, enlace por item_id + icono zamimg), quest-character (misión/npc/
facción + iconos), y el enlace "WOTLK DB" de la cabecera.

Verificado en prod (:3001): /es -> es.wowhead.com, /en -> www.wowhead.com,
data-wowhead presente, iconos por zamimg.

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

38 lines
854 B
TypeScript

'use client'
import { useLocale } from 'next-intl'
import { wowheadUrl, wowheadData, type WowheadType } from '@/lib/wowhead'
/**
* Enlace a wowhead (rama WotLK) con tooltip, en el locale actual de la web.
* Reutilizable en cualquier ruta actual o futura donde haya que enlazar un
* ítem/misión/hechizo. El tooltip lo pinta el script global del layout.
*/
export function WowheadLink({
type = 'item',
id,
children,
className,
style,
}: {
type?: WowheadType
id: number | string
children: React.ReactNode
className?: string
style?: React.CSSProperties
}) {
const locale = useLocale()
return (
<a
href={wowheadUrl(type, id, locale)}
data-wowhead={wowheadData(type, id)}
target="_blank"
rel="noopener noreferrer"
className={className}
style={style}
>
{children}
</a>
)
}