darroyo c109a59d3d
CI / Build Native (push) Successful in 6m54s
feat(historial): recalcular run con precios actuales
H4: en el modal de detalle de un run del historial, agregar un botón
que recalcula ganancia, costo y venta usando los precios actuales de
insumos en lugar del snapshot guardado.

Cambios:
- Nuevo campo modalMode ('snapshot' | 'current') en historialSection.
- displayItems()/recomputeItem(): si modalMode='current', recalcula
  cada item multiplicando las cantidades guardadas (cristalesUsados,
  oreNecesario, crafteosPosibles, shotsObtenidos) por los precios
  actuales de insumos. Las formulas del snapshot no se rederivan — solo
  se cambian los precios.
- displayTotals(): agrega totales en el modo activo.
- recomputeDelta(): snapshot_profit - current_profit para indicador.
- Refactor de costCristalesTotal/Ore/Dwarven/Pct + totalCrafteos +
  marginPct/costPerShot/profitPerShot para usar displayItems/displayTotals
  en lugar de modalDetails directo.
- Nuevos marginPctCurrent/costPerShotCurrent/profitPerShotCurrent.
- Modal totals cards + tabla de items leen de displayTotals() /
  displayItems().
- Toggle button 'Recalcular con precios actuales' ↔ 'Volver al snapshot'
  en el header del modal.
- Badge amarillo 'Precios actuales' cuando modalMode='current'.
- Indicador de delta en la card de Ganancia (↑ verde si ganás más,
  ↓ rojo si perdés más), formateado como '↑ X.XXX vs snapshot'.

Verificado en navegador: cambiar venta en Insumos → en el modal del
historial, el toggle actualiza todos los valores (totales, desglose,
distribución, items) usando precios nuevos. La matemática es consistente
con la calculadora principal.
2026-08-21 20:07:41 -04:00
S
Description
No description provided
676 KiB
Languages
HTML 62%
Java 23.1%
CSS 7.6%
JavaScript 6.9%
Shell 0.2%
Other 0.2%