Screen · Historial

Historial

Segundo tab del bottom nav: la lista completa de transacciones, filtrable y con detalle expandible. Screen de validación — compone top-app-bar (interior), tx-list, bottom-sheet expandible, empty-states y skeleton. Los filtros viven en el sheet de A11 (patterns-history-filters): el chip-rail de tipos se retiró — sin filtros la lista arranca bajo el app bar; con filtros aparecen los chips activos removibles. Caso especial de cumplimiento: el estado "En revisión" (SAGRILAFT) nunca revela el motivo.

Tab Historial filtros vía sheet (A11) · agrupado por fecha 4 estados screen · 4 estados tx cumplimiento SAGRILAFT
Layout anotado · con datos

Cada etiqueta marca el componente del DS que provee esa zona. La app bar es interior con scroll-off (se oculta al bajar por ser lista larga). Sin filtros activos no hay fila de chips: la lista arranca directo bajo el app bar.

← top-app-bar · interior
← tx-list
← bottom-nav
9:41
Historial
Hoy
Depósito de BTC
10:03Completada
+0,00250 BTC
$1.145.800
Compra de BTC
9:42Completada
+0,00109 BTC
$145.500
Venta a Bancolombia
9:12Procesando
−0,00350 BTC
$1.508.562
Ayer
ETH → USDT
18:45Completada
+12,50 USDT
−0,003 ETH
Compra de USDT
11:02Devuelta
$100.300
26 may 2026
Venta de ETH
15:20En revisión
$820.000

Composición

  1. top-app-bar · interiorTítulo "Historial" + acciones trailing: filtros (sliders-horizontal, con dot si hay filtro activo) y exportar (download). Scroll-off: se oculta al bajar.
  2. fchips · filtros activosEl chip-rail de tipos se retiró. Los filtros se aplican desde el sheet (sliders-horizontal, con dot cuando hay filtro activo) y se materializan como chips removibles bajo el app bar — solo cuando existen. Cf. patterns-history-filters.
  3. tx-list · agrupadaHeaders de fecha ("Hoy", "Ayer", "26 may 2026"). Cada row: ícono+dirección por tipo, descripción, hora, monto (cripto para compra/swap, COP para venta) y badge de estado.
  4. Monto por tipoCompra, swap y depósito muestran cripto (el depósito on-chain, positivo en verde); venta muestra el COP. Las no completadas (Devuelta, En revisión) van en muted, sin color de signo.
  5. bottom-navHistorial activo (pill + ícono filled). Persistente.
Detalle de transacción · bottom sheet expandible

Al tocar una row se abre el bottom-sheet con snap points. Hero con el monto principal + filas de detalle + referencia copiable (haptic lightImpact). Para retiros cripto se añade el hash de blockchain.

Detalle · venta a banco
9:41
Historial
Hoy
Compra de BTC
+0,00109 BTC
Venta a Bancolombia
Procesando
$1.508.562 COP
Vendiste 0,00350 BTC
Fecha y hora8 jun 2026 · 9:12
Tasa aplicada$458.320.000/BTC
Comisión (5%)$80.200
IVA (19%)$15.238
Cuenta destinoBancolombia ****4521
Entrega estimadaHasta 1 día hábil
Referencia
MCP-2026-06-021
Copiar
lightImpact
Descargar comprobante (PDF)
Detalle · retiro a wallet (con hash)
9:41
Historial
Hoy
Retiro a wallet
0,0050 BTC
Retiro a wallet externa
Confirmando 2/6
0,00500 BTC
Red Bitcoin · on-chain
Fecha y hora8 jun 2026 · 9:30
Comisión de red0,00002 BTC
Comisión MiCapi0,00005 BTC
Dirección destino
bc1q…7x4k
Copiar
Hash de transacción
3a7f…e91c
Ver
Descargar comprobante (PDF)

Reglas del detalle

  1. Snap pointsEl sheet abre a media altura y expande al arrastrar (cf. foundations-motion · sheet drag + snap). El drag sigue el dedo 1:1; el snap usa ease-drawer.
  2. Hero según operaciónVenta → COP recibido. Compra → cripto. Swap → par. Retiro cripto → cantidad on-chain. El mismo principio del ConfirmationSheet.
  3. Referencia copiableREF siempre presente, copiar dispara HapticFeedback.lightImpact() (feedback de acción completada).
  4. Hash solo en criptoRetiros on-chain añaden dirección + hash truncado central (mono), con "Ver" al explorador. No aplica a operaciones COP.
  5. Comprobante PDFBotón secundario "Descargar comprobante" en toda transacción — soporte para declaración y contabilidad del usuario.
Detalle de depósito cripto · acreditado y confirmando

Referencia canónica del depósito on-chain (TxKind = deposit). Hero con la cantidad cripto acreditada + banner de estado verbatim + filas Red y Hash de transacción (copy-row con morph inline "Copiado ✓"). En pending, si tx_hash aún es null la fila de hash no aparece.

Detalle · acreditado (done)
9:41
Historial
Hoy
Depósito de BTC
+0,00250 BTC
Depósito de BTC
Completada
+0,00250 BTC
≈ $1.145.800 COP · valor estimado
Depósito acreditado
Ya está disponible en tu portafolio.
Fecha y hora8 jun 2026 · 9:30
RedBitcoin mainnet
Hash de transacción
7a3f9c…e2b14d
Copiar
lightImpact
Descargar comprobante (PDF)
Detalle · confirmando (pending · sin hash)
9:41
Historial
Hoy
Depósito de ETH
+0,15 ETH
Depósito de ETH
Confirmando 8/12
+0,15 ETH
≈ $2.025.000 COP · valor estimado
Recibimos tu depósito
Confirmando en la red 8/12…
Fecha y hora8 jun 2026 · 9:41
RedEthereum mainnet
El hash de transacción aparecerá cuando el depósito sea visible en la red.
Detalle · dark (USDT)
9:41
Historial
Hoy
Depósito de USDT
+25,00 USDT
Depósito de USDT
Completada
+25,00 USDT
≈ $102.500 COP · valor estimado
Depósito acreditado
Ya está disponible en tu portafolio.
Fecha y hora8 jun 2026 · 9:12
RedEthereum mainnet (ERC-20)
Hash de transacción
0x9f2a…c41e
Copiar
Descargar comprobante (PDF)

Reglas del depósito

  1. Fila en la listaÍcono arrow-down-to-line (entrada on-chain, verde), título "Depósito de [activo]", cantidad cripto positiva con la escala del activo (BTC 8 · ETH 6 · USDT 2) y badge de estado.
  2. Hero = cantidadLa cantidad cripto acreditada es el dato principal; bajo ella, el valor estimado en COP (referencial, no promesa).
  3. Estado verbatimAcreditado → "Depósito acreditado" / "Ya está disponible en tu portafolio." Confirmando → "Recibimos tu depósito" + "X/N". Strings de patterns-deposit-crypto.
  4. RedFila "Red" con las mismas labels del depósito (Bitcoin mainnet · Ethereum mainnet · Ethereum mainnet (ERC-20)).
  5. Hash · morph"Hash de transacción" truncado (mono); copiar morfea a "Copiado ✓" (lightImpact, sin SnackBar). Si tx_hash es null la fila no se muestra — solo la nota de que aparecerá al verse en la red.
Estados de la screen

Cargando · con datos · vacío · sin resultados de filtro. El chrome (app bar + bottom nav) se mantiene; cambia la zona de lista. Los chips activos solo aparecen cuando hay filtros aplicados (estado D).

A · CARGANDO
9:41
Historial
C · SIN TRANSACCIONES
9:41
Historial
Aún no tienes transacciones
Cuando compres, vendas o intercambies cripto, todo tu historial aparecerá aquí.
Hacer mi primera compra
D · SIN RESULTADOS
9:41
Historial
Ventas Últimos 30 días Limpiar filtros
Sin resultados
No hay ventas en los últimos 30 días. Quita un chip o limpia los filtros.
Limpiar filtros
Pull-to-refresh

Historial es la pantalla donde el usuario refresca para ver si su operación pasó de pendiente a completada. Al tirar hacia abajo aparece el RefreshIndicator estándar de Material bajo el app bar y las zonas de data vuelven a skeleton mientras revalida — misma regla que dashboard y mercado. El top bar y los chips de filtro no se skeletonizan jamás.

Refrescando
9:41
Historial
Ventas Últimos 30 días Limpiar filtros

Anatomía del refresh

  1. RefreshIndicator MaterialEl indicador estándar de Material, idéntico al que ya especifican dashboard y mercado. Gesto pull-down desde el tope de la lista.
  2. Data → skeletonAl refrescar, las zonas de data vuelven a skeleton mientras el provider revalida (misma regla que dashboard). Crossfade 200ms al llegar la data.
  3. Chrome intactoTop bar y chips de filtro nunca se skeletonizan: quedan sólidos y operables durante el refresh.
  4. Uso típicoConfirmar si una operación pasó de "Procesando" a "Completada". Sin copy nuevo.
Estados de transacción

Cada operación del vault tiene un estado con tratamiento visual propio. El último — "En revisión" — es un requisito de cumplimiento, no un estado de UX normal.

Compra de BTC
9:42Completada
+0,00109 BTC

Completada

Estado normal. Monto con color de signo (verde entra, rojo sale), badge success. Es la mayoría de las filas.

Venta a Bancolombia
9:12Procesando
−0,00350 BTC

Pendiente / En liquidación

Operación en curso: "Procesando" o "Confirmando X/N" para on-chain. Badge warning. Filtrable por estado «Procesando» desde el sheet de filtros (A11).

Compra de USDT
11:02Devuelta
$100.300

Devuelta

El precio no se ejecutó en 24h y el COP volvió a la cuenta de origen. Monto en muted (sin signo), badge neutro. El detalle dice "Devuelto a tu cuenta".

Venta de ETH
15:20En revisión
$820.000

En revisión (SAGRILAFT)

Operación suspendida por control de cumplimiento. Se muestra únicamente "En revisión" — el monto en muted, sin más detalle accionable.

Requisito de cumplimiento: nunca revelar el motivo de la revisión ni indicar sospecha al usuario. Ni en la lista, ni en el detalle, ni en notificaciones.

Light y dark · con datos + detalle
Light · lista
9:41
Historial
Hoy
Compra de BTC
9:42Completada
+0,00109 BTC
Venta a Bancolombia
9:12Procesando
−0,0035 BTC
26 may 2026
Venta de ETH
15:20En revisión
$820.000
Dark · lista
9:41
Historial
Hoy
Compra de BTC
9:42Completada
+0,00109 BTC
Venta a Bancolombia
9:12Procesando
−0,0035 BTC
26 may 2026
Venta de ETH
15:20En revisión
$820.000
Dark · detalle
9:41
Historial
Hoy
Compra de BTC
+0,00109 BTC
Venta a Bancolombia
Procesando
$1.508.562 COP
Vendiste 0,00350 BTC
Fecha y hora8 jun 2026 · 9:12
Tasa aplicada$458.320.000/BTC
Comisión + IVA$95.438
Cuenta destinoBancolombia ****4521
Referencia
MCP-2026-06-021
Copiar
Descargar comprobante (PDF)