diff --git a/web-next/components/AccountTools.tsx b/web-next/components/AccountTools.tsx
index a81b082..f8ce92c 100644
--- a/web-next/components/AccountTools.tsx
+++ b/web-next/components/AccountTools.tsx
@@ -4,7 +4,7 @@ import { useState } from 'react'
import { useTranslations } from 'next-intl'
import { Link } from '@/i18n/navigation'
-type Tool = { href: string; icon: string; label: string; desc: string }
+type Tool = { href: string; icon: string; label: string; desc: string; labelClass?: string }
/** Replica los paneles plegables «OPCIONES DE CUENTA / OPCIONES DE PERSONAJE»
* del my-account de Django (acordeón por click), con las herramientas ya
@@ -14,10 +14,17 @@ export function AccountTools({ isAdmin }: { isAdmin: boolean }) {
const accountTools: Tool[] = [
{ href: '/change-password', icon: 'password-icon', label: t('svcChangePassword'), desc: t('svcChangePasswordDesc') },
- { href: '/change-email', icon: 'email-icon', label: t('svcChangeEmail'), desc: t('svcChangeEmailDesc') },
+ { href: '/security-2falogin', icon: 'email-icon', label: t('svc2FA'), desc: t('svc2FADesc'), labelClass: 'purple-info' },
+ { href: '/transfer-d-points', icon: 'transfer-dp-icon', label: t('svcTransferDP'), desc: t('svcTransferDPDesc') },
+ { href: '/trade-points', icon: 'trade-pd-icon', label: t('svcTradePD'), desc: t('svcTradePDDesc') },
+ { href: '/promo-code', icon: 'promo-icon', label: t('svcPromo'), desc: t('svcPromoDesc') },
{ href: '/security-token', icon: 'token-icon', label: t('svcToken'), desc: t('svcTokenDesc') },
{ href: '/recruit', icon: 'recruit-a-friend-icon', label: t('svcRecruit'), desc: t('svcRecruitDesc') },
+ { href: '/rename-guild', icon: 'rename-guild-icon', label: t('svcRenameGuild'), desc: t('svcRenameGuildDesc') },
{ href: '/vote-points', icon: 'vote-icon', label: t('svcVote'), desc: t('svcVoteDesc') },
+ { href: '/d-points', icon: 'dnt-icon', label: t('svcDPoints'), desc: t('svcDPointsDesc') },
+ // Las que tenemos y no están en la lista, al final:
+ { href: '/change-email', icon: 'email-icon', label: t('svcChangeEmail'), desc: t('svcChangeEmailDesc') },
// Panel de administración: una tool-button más dentro de «Opciones de cuenta» (solo admins).
...(isAdmin ? [{ href: '/admin', icon: 'store-icon', label: `🛡️ ${t('adminPanel')}`, desc: t('adminPanelDesc') }] : []),
]
@@ -74,7 +81,7 @@ function Panel({ id, arrow, title, tools, defaultOpen = false }: { id: string; a
- {it.label}
+ {it.label}
{it.desc}
diff --git a/web-next/messages/en.json b/web-next/messages/en.json
index ee19373..2706029 100644
--- a/web-next/messages/en.json
+++ b/web-next/messages/en.json
@@ -135,7 +135,19 @@
"svcStoreItems": "Store",
"svcStoreItemsDesc": "Get all kinds of items",
"svcSendGift": "Send gift",
- "svcSendGiftDesc": "Send gifts to your friends"
+ "svcSendGiftDesc": "Send gifts to your friends",
+ "svc2FA": "2FA (Two-step verification)",
+ "svc2FADesc": "Manage two-factor authentication",
+ "svcTransferDP": "Transfer PD",
+ "svcTransferDPDesc": "Transfer PD to your alt accounts",
+ "svcTradePD": "PD trading",
+ "svcTradePDDesc": "Buy or sell PD for gold",
+ "svcPromo": "Promo code",
+ "svcPromoDesc": "Redeem codes for PD or VP",
+ "svcRenameGuild": "Rename guild",
+ "svcRenameGuildDesc": "Change your guild's name",
+ "svcDPoints": "Get PD",
+ "svcDPointsDesc": "Get PD and access rewards"
},
"SelectAccount": {
"title": "Select your game account",
diff --git a/web-next/messages/es.json b/web-next/messages/es.json
index a0ba51f..b46191f 100644
--- a/web-next/messages/es.json
+++ b/web-next/messages/es.json
@@ -135,7 +135,19 @@
"svcStoreItems": "Tienda",
"svcStoreItemsDesc": "Adquiere objetos de todo tipo",
"svcSendGift": "Enviar regalo",
- "svcSendGiftDesc": "Envía regalos a tus amigos"
+ "svcSendGiftDesc": "Envía regalos a tus amigos",
+ "svc2FA": "2FA (Verificación en 2 pasos)",
+ "svc2FADesc": "Gestiona la doble autenticación",
+ "svcTransferDP": "Tranferir PD",
+ "svcTransferDPDesc": "Transfiere PD a tus cuentas alternativas",
+ "svcTradePD": "Comercio de PD",
+ "svcTradePDDesc": "Compra o vende PD por oro",
+ "svcPromo": "Código de promoción",
+ "svcPromoDesc": "Canjea códigos por PD o PV",
+ "svcRenameGuild": "Renombrar hermandad",
+ "svcRenameGuildDesc": "Cambia el nombre de tu hermandad",
+ "svcDPoints": "Adquirir PD",
+ "svcDPointsDesc": "Obtiene PD y accede a recompensas"
},
"SelectAccount": {
"title": "Selecciona tu cuenta de juego",
diff --git a/web-next/public/nw-themes/nw-ryu/nw-css/novawow-style.css b/web-next/public/nw-themes/nw-ryu/nw-css/novawow-style.css
index c856845..9a3e6b3 100644
--- a/web-next/public/nw-themes/nw-ryu/nw-css/novawow-style.css
+++ b/web-next/public/nw-themes/nw-ryu/nw-css/novawow-style.css
@@ -909,6 +909,14 @@ textarea:focus, select:focus, input[type=password]:focus, input[type=number]:foc
background-position: -424px -553px;
}
+.trade-pd-icon {
+ background-position: -299px -928px;
+}
+
+.purple-info {
+ color: #b172ff;
+}
+
.token-icon {
background-position: -174px -553px;
}