diff --git a/web-next/app/forum.css b/web-next/app/forum.css
index 72c3d6c..852e0ef 100644
--- a/web-next/app/forum.css
+++ b/web-next/app/forum.css
@@ -200,7 +200,14 @@ h3.post_field dd { margin: 0; }
/* Enlaces normales del post en dorado; los de wowhead (data-wowhead) se dejan con
SU color de calidad e icono, sin subrayado, para que se vean como en el tooltip. */
.topic_post .right_side .post_container a:not([data-wowhead]) { color: var(--forum-gold-soft); text-decoration: underline; }
-.topic_post .right_side .post_container a[data-wowhead] { text-decoration: none; }
+/* enlaces de wowhead sin subrayado, tanto en el post como en la vista previa */
+.post_container a[data-wowhead] { text-decoration: none; }
+
+/* Vista previa bajo el editor (se ve como el post publicado, con icono/nombre/calidad). */
+.forum-preview { margin-top: 14px; border: 1px solid #2a2723; border-radius: 3px; background: rgba(0, 0, 0, .18); padding: 10px 14px; }
+.forum-preview-label { font-size: 11px; text-transform: uppercase; color: #8a8578; margin-bottom: 8px; }
+.forum-preview .post_container { color: #b5b1a3; font-size: 13px; }
+.forum-preview .post_container img { max-width: 100%; height: auto; }
/* Colores de calidad de WoW. theme.css solo trae q3..q6, así que aquí se completan
q0..q2 y q7 (con !important para ganar al color del enlace del post). Sin esto,
diff --git a/web-next/components/ForumEditor.tsx b/web-next/components/ForumEditor.tsx
index 9dd3962..4dc6326 100644
--- a/web-next/components/ForumEditor.tsx
+++ b/web-next/components/ForumEditor.tsx
@@ -1,5 +1,6 @@
'use client'
+import { useEffect } from 'react'
import { Editor } from '@tinymce/tinymce-react'
import { useLocale } from 'next-intl'
import { wowheadUrl, wowheadData, type WowheadType } from '@/lib/wowhead'
@@ -52,9 +53,25 @@ export function ForumEditor({
text: es ? 'Texto (vacío = nombre automático)' : 'Text (empty = auto name)',
insert: es ? 'Insertar' : 'Insert',
cancel: es ? 'Cancelar' : 'Cancel',
+ preview: es ? 'Vista previa' : 'Preview',
}
+ // Reprocesa los enlaces de wowhead de la VISTA PREVIA (que vive en el documento
+ // principal, no en el iframe del editor) cada vez que cambia el texto. Así el
+ // preview se ve como el post publicado sin ensuciar lo que se guarda.
+ useEffect(() => {
+ const t = setTimeout(() => {
+ try {
+ ;(window as unknown as { $WowheadPower?: { refreshLinks?: () => void } }).$WowheadPower?.refreshLinks?.()
+ } catch {
+ /* no crítico */
+ }
+ }, 300)
+ return () => clearTimeout(t)
+ }, [value])
+
return (
+ <>