web-next: panel HISTORIALES en /account (debajo de Opciones de personaje)

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) <noreply@anthropic.com>
This commit is contained in:
2026-07-13 14:01:31 +00:00
parent ce39d0582c
commit efbc7ec623
3 changed files with 29 additions and 4 deletions
+9 -2
View File
@@ -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 (
<div className="body-box-content-account">
<Panel id="account-settings" arrow="fa-arrow-down-account" title={t('accountOptions')} tools={accountTools} />
<Panel id="character-settings" arrow="fa-arrow-down-character" title={t('characterOptions')} tools={characterTools} />
<Panel id="account-history" arrow="fa-arrow-down-history" title={t('historyOptions')} tools={historyTools} />
</div>
)
}
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))
+10 -1
View File
@@ -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",
+10 -1
View File
@@ -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",