033ebc6861
El script de tooltips prioriza el atributo data-wowhead sobre el subdominio del
href, y su parámetro `domain` codifica idioma + versión: el 1.er segmento va al
mapa de locales ({es:6,...}) y el resto a la versión (wotlk=WRATH). Antes se
enviaba `domain=wotlk` (sin idioma) → locale 0 = inglés siempre.
Ahora `wowheadData(type,id,locale)` genera `domain=es.wotlk` en español (locale 6)
y `domain=wotlk` en inglés. Verificado: el endpoint de datos con locale 6 devuelve
los nombres en español.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
38 lines
862 B
TypeScript
38 lines
862 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, locale)}
|
|
target="_blank"
|
|
rel="noopener noreferrer"
|
|
className={className}
|
|
style={style}
|
|
>
|
|
{children}
|
|
</a>
|
|
)
|
|
}
|