From 7d1abab9f15f3c4c8c4e72e4d41d2cccbd6733dd Mon Sep 17 00:00:00 2001 From: adevopg Date: Tue, 14 Jul 2026 22:34:26 +0000 Subject: [PATCH] =?UTF-8?q?Enlaces=20de=20=C3=ADtems=20por=20wowhead=20(lo?= =?UTF-8?q?cale=20+=20tooltips)=20en=20toda=20la=20web?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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) --- web-next/app/[locale]/layout.tsx | 13 +++++ .../app/[locale]/quest-character/page.tsx | 15 +++--- web-next/components/QuestTrackerForm.tsx | 6 +-- web-next/components/RecruitPanel.tsx | 11 ++-- web-next/components/RestoreItemsForm.tsx | 5 +- web-next/components/SendGiftForm.tsx | 13 +++-- web-next/components/SiteHeader.tsx | 3 +- web-next/components/WowheadLink.tsx | 37 +++++++++++++ web-next/lib/wowhead.ts | 52 +++++++++++++++++++ 9 files changed, 132 insertions(+), 23 deletions(-) create mode 100644 web-next/components/WowheadLink.tsx create mode 100644 web-next/lib/wowhead.ts diff --git a/web-next/app/[locale]/layout.tsx b/web-next/app/[locale]/layout.tsx index e0f3835..e28786b 100644 --- a/web-next/app/[locale]/layout.tsx +++ b/web-next/app/[locale]/layout.tsx @@ -1,4 +1,5 @@ import type { Metadata } from 'next' +import Script from 'next/script' import { notFound } from 'next/navigation' import { NextIntlClientProvider, hasLocale } from 'next-intl' import { getTranslations, setRequestLocale } from 'next-intl/server' @@ -66,6 +67,14 @@ export default async function LocaleLayout({ /> {/* Tema real de NovaWoW (nw-ryu). Va el ÚLTIMO para ganar la cascada. */} + {/* Config de los tooltips de wowhead (debe definirse antes de tooltips.js). + Solo tooltips: no recolorea/renombra/iconiza nuestros enlaces. El idioma + del tooltip lo da el subdominio del enlace (es./www.). */} +