Screen · Dashboard (Inicio)
Dashboard (Inicio)
Screen de validación, no de componente: prueba que las piezas ya construidas componen bien en la primera pantalla del usuario con cuenta activa (Home post-KYC). Cada zona referencia un componente existente del DS — aquí no se inventan estilos ni tokens.
Tab Inicio
top-app-bar · balance-card · buttons · tx-list · bottom-nav
360dp Android
Layout anotado · estado con datos
Cada etiqueta marca qué componente del DS provee esa zona. El chrome (app bar, bottom nav) es persistente; el cuerpo scrollea.
← top-app-bar · home
← balance-card
← buttons · quick
← tx-list
← bottom-nav
Composición
- top-app-bar · homeWordmark "MiCapi" a la izquierda, campana con dot badge (notificaciones sin leer) a la derecha. Sin back — es pantalla raíz.
- Saludo"Hola, William" (heading) + "Tu portafolio hoy" (muted). Da contexto humano antes del dato duro. No es un componente, es composición de tipografía.
- balance-card · con datosValorización COP como referencia + variación 24h en
success + 3 activos con saldo cripto y equivalente COP. Toggle de privacidad (ojo). Único card contenido — grupo heterogéneo (excepción canvas-first del DS §4.7b).
- buttons · quick actionsComprar (primario verde), Vender + Intercambiar (secundarios). Touch target ≥ 48dp. Cada uno entra a su pattern: buy-crypto, bank-withdrawal, swap. Recibir/Retirar NO van aquí (decisión canónica): son acciones por-activo y viven en el detalle de activo, sección "Cripto".
- tx-list · RecientesHeader con "Ver todo" → Historial. 3 rows mezclando compra, swap y venta. Ícono de tipo + descripción + fecha mono + monto con signo y color semántico.
- bottom-nav4 tabs, Inicio activo (ícono filled + pill
primary-100). Persistente — no scrollea con el cuerpo.
Tres estados
Cargando (skeletons) · con datos · usuario nuevo (vacío). El chrome y las quick actions se mantienen en los tres — solo cambian balance-card y Recientes.
Motion de entrada
Sutil y funcional. Todos los valores salen de foundations-motion — no se inventa nada. La regla más importante: los montos no se animan.
Chrome instantáneo
App bar y bottom nav aparecen sin animación. Son el marco estable; animarlos haría sentir la app lenta.
Fade-in + slide-up
Balance card y secciones entran con translateY 8dp → 0 + fade. duration-default (200ms) · ease-standard. Stagger ligero (~50ms) entre balance card y Recientes.
Skeleton → contenido
Crossfade de 200ms al llegar la data (cf. components-skeleton). Sin salto de layout — el skeleton tiene la misma forma que el contenido real.
Los montos NO se animan
Sin count-up, sin tickers. Los números financieros aparecen estáticos — el usuario los lee, no los ve "subir". Animar dinero implica imprecisión.
Pull-to-refresh
RefreshIndicator estándar de Material. Al refrescar, las zonas de data vuelven a skeleton mientras el provider revalida.
Sin haptic de entrada
El dashboard al cargar no vibra. El haptic se reserva para acciones confirmatorias (cf. foundations-motion §4), no para navegación pasiva.
Light y dark · con datos
Notas de modo
- Lienzo oscuroBody
#0F1A19; el balance-card se eleva a #16221F para diferenciarse sin bordes pesados.
- Marcas cripto intactasNaranja BTC, azul ETH, verde USDT — no se reinterpretan en oscuro.
- Pill activa del navPasa a
rgba(39,168,156,0.18) con ícono primary-300 para contraste AA.
- Variación en successEl chip +2,3% mantiene el verde semántico; legible en ambos fondos.