'use client' import { useEffect } from 'react' /** * Reaplica el tratamiento de wowhead (color por calidad, icono y nombre automático) * a los enlaces que React acaba de montar. `tooltips.js` solo recorre el DOM al * cargar, así que los enlaces de un post (inyectados con dangerouslySetInnerHTML) o * los de una página abierta por navegación SPA se quedan sin procesar sin esto. * Es lo mismo que hace la tienda con $WowheadPower.refreshLinks() (ver StoreBrowser). * * Se reintenta un rato porque tooltips.js carga `afterInteractive` y puede no estar * listo justo al montar. `dep` (p.ej. tema+página) fuerza que se repita tras navegar. */ export function WowheadRefresh({ dep }: { dep?: string | number }) { useEffect(() => { let tries = 0 let timer: ReturnType const run = () => { const wp = (window as unknown as { $WowheadPower?: { refreshLinks?: () => void } }).$WowheadPower if (wp?.refreshLinks) { wp.refreshLinks() return } if (tries++ < 25) timer = setTimeout(run, 150) } run() return () => clearTimeout(timer) }, [dep]) return null }