From 8da22ba70f2354703edc310f0f8845e6bbfd647d Mon Sep 17 00:00:00 2001 From: adevopg Date: Mon, 13 Jul 2026 12:35:06 +0000 Subject: [PATCH] =?UTF-8?q?web-next:=20p=C3=A1gina=20/novawow-realm=20(inf?= =?UTF-8?q?ormaci=C3=B3n=20del=20reino)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Ruta con el markup del tema: título «Reino - » (nombre tomado de acore_auth.realmlist con LIMIT 1, por si hay varios reinos; lib/realm.ts getRealmName) y dos columnas realm-information-half con Rates y Horarios. force-dynamic + generateMetadata con el nombre del reino. Co-Authored-By: Claude Opus 4.8 (1M context) --- web-next/app/[locale]/novawow-realm/page.tsx | 52 ++++++++++++++++++++ web-next/lib/realm.ts | 14 ++++++ 2 files changed, 66 insertions(+) create mode 100644 web-next/app/[locale]/novawow-realm/page.tsx create mode 100644 web-next/lib/realm.ts diff --git a/web-next/app/[locale]/novawow-realm/page.tsx b/web-next/app/[locale]/novawow-realm/page.tsx new file mode 100644 index 0000000..b354916 --- /dev/null +++ b/web-next/app/[locale]/novawow-realm/page.tsx @@ -0,0 +1,52 @@ +import type { Metadata } from 'next' +import { setRequestLocale } from 'next-intl/server' +import { getRealmName } from '@/lib/realm' + +export const dynamic = 'force-dynamic' + +export async function generateMetadata(): Promise { + const realm = await getRealmName() + return { title: `Reino - ${realm}` } +} + +export default async function NovawowRealmPage({ params }: { params: Promise<{ locale: string }> }) { + const { locale } = await params + setRequestLocale(locale) + const realm = await getRealmName() + + return ( +
+
+
+
+

Reino - {realm.toUpperCase()}

+
+
+
+

Rates

+

Experiencia: x8 modificable con .xp (Con Recluta a un Amigo x16)

+

Drop de objetos verdes y azules: x4

+

Drop de oro en NPCs: x2

+

Drop de oro en misiones: x1

+

Habilidades: x3

+

Profesiones: x3

+

Reputaciones: x3 (Bonus con Recluta a un amigo)

+

Honor: x3

+
+
+

Horarios

+

Los siguientes horarios son basados en la hora del reino.

+
+

Misiones diarias: 7 am

+

Reinicio de mazmorras diarias: 9 am

+

Reinicio de bandas: 9 am (Miércoles)

+

Campos de Batalla: 10 am

+

Reparto de Puntos de Arena: 11 am (Viernes)

+
+
+
+
+
+
+ ) +} diff --git a/web-next/lib/realm.ts b/web-next/lib/realm.ts new file mode 100644 index 0000000..7b5414f --- /dev/null +++ b/web-next/lib/realm.ts @@ -0,0 +1,14 @@ +import type { RowDataPacket } from 'mysql2' +import { db, DB } from './db' + +/** Nombre del reino desde acore_auth.realmlist (LIMIT 1, por si hay varios). */ +export async function getRealmName(): Promise { + try { + const [rows] = await db(DB.auth).query( + 'SELECT name FROM realmlist ORDER BY id LIMIT 1', + ) + return rows[0]?.name || 'NovaWoW' + } catch { + return 'NovaWoW' + } +}