Rebranding a NightSpire en toda la web

Marca, dominios y correos: UltimoWoW/Nova WoW -> NightSpire, cualquier URL de
esos dominios -> https://www.nightspire.gg y los correos -> consultas@nightspire.gg.
98 sustituciones en 16 ficheros de textos de usuario (messages/, app/, components/).

Assets: logo largo de cabecera y vídeo sustituidos por los de NightSpire (el logo
nuevo es 214x28, igual que el viejo, así que no hace falta tocar el CSS).

Redes: apuntan a las cuentas de NightSpire, tanto en el pie de la web como en el
de los correos (que seguían enlazando a las de NovaWoW desde el porte del diseño).

Cookie de sesión novawow_session -> nightspire_session. Cierra la sesión de todos
los conectados una vez; se asume ahora, recién hecho el cutover.

Ficheros del tema renombrados: novawow-style.css -> nightspire-style.css y
novawow-main-logo-transparent.webp -> nightspire-main-logo-transparent.webp, para
que la marca vieja no quede ni en las rutas.

El foro externo (foro.ultimowow.com) pasa a ser el nuestro: <Link> a /forum, que
respeta el idioma y no abre pestaña nueva.

NO se tocan y es a propósito:
- Los comentarios que nombran AzerothCore: describen el comportamiento REAL del
  core (límite de 12 ítems por correo, convención de baneos, SOAP...). Cambiarlos
  a NightSpire los volvería falsos. Además AzerothCore no aparece en la web: las
  14 menciones son todas comentarios de código.
- El regex de brandify() sigue buscando los nombres VIEJOS: son los que hay
  escritos en las noticias de la BD.
- lib/changelog.ts REPO='Inna/NovaWoW': es la ruta real del repo en Gitea.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-07-15 15:15:57 +00:00
parent cccc70338d
commit 579396c34a
29 changed files with 112 additions and 106 deletions
+1 -1
View File
@@ -5,7 +5,7 @@ import { useLocale, useTranslations } from 'next-intl'
import { Link } from '@/i18n/navigation'
import { wowheadWotlkHome } from '@/lib/wowhead'
const SERVER_NAME = 'NovaWoW'
const SERVER_NAME = 'NightSpire'
/**
* Cabecera / barra de navegación — réplica EXACTA del partial Django
+10 -10
View File
@@ -10,10 +10,10 @@ export async function Social() {
<div className="social-media">
<span className="big-font">{t('social.followUs')}</span>
<a
href="https://www.facebook.com/NovaWoW/"
href="https://www.facebook.com/NightSpire"
className="social-button social-button-responsive facebook"
target="_blank"
title="Facebook NovaWoW"
title="Facebook NightSpire"
rel="noopener noreferrer"
>
<div className="social-inline">
@@ -21,10 +21,10 @@ export async function Social() {
</div>
</a>
<a
href="https://www.instagram.com/NovaWoW/"
href="https://www.instagram.com/NightSpire"
className="social-button social-button-responsive instagram"
target="_blank"
title="Instagram NovaWoW"
title="Instagram NightSpire"
rel="noopener noreferrer"
>
<div className="social-inline">
@@ -32,10 +32,10 @@ export async function Social() {
</div>
</a>
<a
href="https://twitter.com/NovaWoW"
href="https://twitter.com/NightSpire"
className="social-button social-button-responsive twitter"
target="_blank"
title="Twitter NovaWoW"
title="Twitter NightSpire"
rel="noopener noreferrer"
>
<div className="social-inline">
@@ -43,10 +43,10 @@ export async function Social() {
</div>
</a>
<a
href="https://www.youtube.com/channel/UCaHL8BZcho8AkeM9wckQbyg"
href="https://www.youtube.com/@NightSpire"
className="social-button social-button-responsive youtube"
target="_blank"
title="Youtube NovaWoW"
title="Youtube NightSpire"
rel="noopener noreferrer"
>
<div className="social-inline">
@@ -54,10 +54,10 @@ export async function Social() {
</div>
</a>
<a
href="https://discord.novawow.com"
href="https://discord.nightspire.gg"
className="social-button social-button-responsive discord"
target="_blank"
title="Discord NovaWoW"
title="Discord NightSpire"
rel="noopener noreferrer"
>
<div className="social-inline">
+2 -2
View File
@@ -1,6 +1,6 @@
import { Link } from '@/i18n/navigation'
const SERVER_NAME = 'NovaWoW'
const SERVER_NAME = 'NightSpire'
/**
* Bloque de vídeo de cabecera — réplica del partial Django `partials/video.html`
@@ -15,7 +15,7 @@ export function Video() {
{/* eslint-disable-next-line @next/next/no-img-element */}
<img
className="nw_main_logo_img"
src="/nw-themes/nw-ryu/nw-images/nw-logos/novawow-main-logo-transparent.webp"
src="/nw-themes/nw-ryu/nw-images/nw-logos/nightspire-main-logo-transparent.webp"
alt={SERVER_NAME}
title={SERVER_NAME}
/>