From efbc7ec623af97d75f4b33d71cbeffcf5587c2d9 Mon Sep 17 00:00:00 2001 From: adevopg Date: Mon, 13 Jul 2026 14:01:31 +0000 Subject: [PATCH] web-next: panel HISTORIALES en /account (debajo de Opciones de personaje) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Tercer panel plegable «HISTORIALES» (id account-history) con 4 herramientas: Historial de PD y PV, transacciones, sanciones y seguridad (points-history/ trans-history/ban-history/security-history; iconos pointsh/dnth/banh/securityh). Arranca CERRADO como los otros dos (el usuario lo abre al click). Prop defaultOpen añadido a Panel (no usado aquí). Claves i18n en Account (es/en). Co-Authored-By: Claude Opus 4.8 (1M context) --- web-next/components/AccountTools.tsx | 11 +++++++++-- web-next/messages/en.json | 11 ++++++++++- web-next/messages/es.json | 11 ++++++++++- 3 files changed, 29 insertions(+), 4 deletions(-) diff --git a/web-next/components/AccountTools.tsx b/web-next/components/AccountTools.tsx index 5ceb331..f207e00 100644 --- a/web-next/components/AccountTools.tsx +++ b/web-next/components/AccountTools.tsx @@ -33,17 +33,24 @@ export function AccountTools({ isAdmin }: { isAdmin: boolean }) { { href: '/transfer', icon: 'tranfer-char-icon', label: t('svcTransfer'), desc: t('svcTransferDesc') }, { href: '/battlepay', icon: 'store-icon', label: t('svcStore'), desc: t('svcStoreDesc') }, ] + const historyTools: Tool[] = [ + { href: '/points-history', icon: 'pointsh-icon', label: t('svcPointsHistory'), desc: t('svcPointsHistoryDesc') }, + { href: '/trans-history', icon: 'dnth-icon', label: t('svcTransHistory'), desc: t('svcTransHistoryDesc') }, + { href: '/ban-history', icon: 'banh-icon', label: t('svcBanHistory'), desc: t('svcBanHistoryDesc') }, + { href: '/security-history', icon: 'securityh-icon', label: t('svcSecurityHistory'), desc: t('svcSecurityHistoryDesc') }, + ] return (
+
) } -function Panel({ id, arrow, title, tools }: { id: string; arrow: string; title: string; tools: Tool[] }) { - const [open, setOpen] = useState(false) +function Panel({ id, arrow, title, tools, defaultOpen = false }: { id: string; arrow: string; title: string; tools: Tool[]; defaultOpen?: boolean }) { + const [open, setOpen] = useState(defaultOpen) const rows: Tool[][] = [] for (let i = 0; i < tools.length; i += 2) rows.push(tools.slice(i, i + 2)) diff --git a/web-next/messages/en.json b/web-next/messages/en.json index bc3f9f7..b3f2953 100644 --- a/web-next/messages/en.json +++ b/web-next/messages/en.json @@ -116,7 +116,16 @@ "recruited": "Recruited account", "recruitedFriends": "Recruited friends", "yes": "Yes", - "no": "No" + "no": "No", + "historyOptions": "HISTORIES", + "svcPointsHistory": "PD & VP history", + "svcPointsHistoryDesc": "Check where you've spent your PD and VP", + "svcTransHistory": "Transaction history", + "svcTransHistoryDesc": "Check the operations you've made", + "svcBanHistory": "Ban history", + "svcBanHistoryDesc": "Check your account's sanctions", + "svcSecurityHistory": "Security history", + "svcSecurityHistoryDesc": "Check your account's security" }, "SelectAccount": { "title": "Select your game account", diff --git a/web-next/messages/es.json b/web-next/messages/es.json index a4d5330..61ee58b 100644 --- a/web-next/messages/es.json +++ b/web-next/messages/es.json @@ -116,7 +116,16 @@ "recruited": "Cuenta reclutada", "recruitedFriends": "Amigos reclutados", "yes": "Sí", - "no": "No" + "no": "No", + "historyOptions": "HISTORIALES", + "svcPointsHistory": "Historial de PD y PV", + "svcPointsHistoryDesc": "Revisa en qué has usado tus PD y PV", + "svcTransHistory": "Historial de transacciones", + "svcTransHistoryDesc": "Revisa los trámites que has realizado", + "svcBanHistory": "Historial de sanciones", + "svcBanHistoryDesc": "Revisa las sanciones de tu cuenta", + "svcSecurityHistory": "Historial de seguridad", + "svcSecurityHistoryDesc": "Revisa la seguridad de tu cuenta" }, "SelectAccount": { "title": "Selecciona tu cuenta de juego",