Fase 3 (islas): historiales de seguridad y transacciones en React/TSX

Tabla genérica reutilizable HistoryTable (columnas por data-columns, filas por
json_script) + entry history_table:
- security_history: intentos de conexión (username/status/ip/fecha). Se elimina la
  caja "actividad" duplicada. Las vistas pasan login_attempts_data serializable.
- trans_history: historial de transacciones (StripeLog) con transactions_data.

Datos embebidos con json_script (sin endpoint extra). Verificado: check OK, ambas
plantillas renderizan la isla con datos.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-07-12 21:52:20 +00:00
parent cefa30dabc
commit 230d401c75
7 changed files with 107 additions and 82 deletions
+17
View File
@@ -0,0 +1,17 @@
import { StrictMode } from 'react'
import { createRoot } from 'react-dom/client'
import { HistoryTable } from '../components/HistoryTable'
// Entry genérico para los historiales de solo lectura. La plantilla define las
// columnas en data-columns (JSON) y las filas en un json_script.
const el = document.getElementById('history-table-app')
if (el) {
const dEl = document.getElementById('history-table-data')
const rows = dEl ? JSON.parse(dEl.textContent || '[]') : []
const columns = JSON.parse(el.dataset.columns || '[]')
createRoot(el).render(
<StrictMode>
<HistoryTable columns={columns} rows={rows} emptyText={el.dataset.emptyText || 'No hay datos'} />
</StrictMode>,
)
}