Commit Graph

14 Commits

Author SHA1 Message Date
Johann 0eb4133345 fix(dashboard): render verificado en dispositivo EMUI
- Header reestructurado: en el Huawei de prueba el Row con Alignment.Bottom
  + SpaceBetween medía ~270dp fantasma, aplastando la lista de hábitos a
  altura 0 (las tarjetas ni se componían). Ahora es columna simple con
  chips en fila propia y maxLines acotados.
- LazyColumn con weight(1f) en vez de fillMaxSize dentro de Column sin peso.
- Singular '1 día de racha' / '1 día' (antes '1 días').
2026-07-03 23:22:56 -06:00
Johann 92285bbff2 docs(status): sesión 2 — módulo 2 implementado, verificación visual pendiente 2026-07-03 22:42:42 -06:00
Johann 1d34b78273 feat(dashboard): módulo 2 — tablero de hábitos y racha
- Layout 3 columnas (sidebar 232dp · centro flex · derecha 296dp)
- Tarjetas de hábito: franja de color, ícono 62dp, check 74dp con
  palomita animada (drawCheck 0.5s + pop) y badge ¡Hecho!, toggle reversible
- Tarjeta Tu racha: llama Canvas con flicker, semana L-D, banner
  '¡Racha asegurada hoy!' al completar todo
- Confeti de 26 piezas con paleta Rachita (una vez por celebración)
- Sidebar: perfil con mascota, barra XP derivada de logs (10 XP/hábito),
  menú de navegación (solo Inicio activo en sprint 1)
- Chip de batería real (gris normal / coral <20% / verde cargando)
- Gate de arranque: onboarding completado → directo al dashboard
- Copy exacto del prototipo; fix orejas recortadas de mascotas
2026-07-03 22:41:43 -06:00
Johann 33de656931 feat(battery): monitor de batería por ACTION_BATTERY_CHANGED
callbackFlow sobre el sticky broadcast (sin polling, CLAUDE.md §8).
Alimenta el chip DA-08 del dashboard y es la base del módulo 3.
2026-07-03 22:41:43 -06:00
Johann 28f2359dda feat(habits): capa de datos Room + regla de racha v1
- HabitEntity/HabitLogEntity (1 log por hábito por día, fecha ISO)
- Seed de los 3 hábitos del PRD DA-02 en primer arranque
- StreakCalculator puro: día asegurado = todos los hábitos hechos;
  racha = días consecutivos terminando hoy (o ayer si hoy va en progreso);
  fallar un día completo reinicia a 0 (DA-11 v1, sin congelador)
- 6 tests unitarios de racha (incluye reversibilidad del toggle)
2026-07-03 22:41:43 -06:00
Johann a947c174ee docs(status): estado sesión 1 — módulo 1 verificado en dispositivo, pendientes y próximos pasos 2026-07-03 22:16:24 -06:00
Johann 3f7602efb0 fix(nav): placeholder de Dashboard con contenido visible
Un Surface crema vacío tras completar onboarding se confundía con una
pantalla en blanco durante pruebas en dispositivo (Huawei HBP-LX9).
Ahora muestra mascota + mensaje hasta que llegue el módulo 2.
2026-07-03 22:13:39 -06:00
Johann ae8f6b7a65 feat(onboarding): selección de compañero con mascotas Canvas y DataStore
- OnboardingScreen (1280×800 landscape): grid de 4 tarjetas, CTA píldora Continuar
- Mascotas Zorro Rachi / Gata Menta / Conejo Sol dibujadas con Canvas
  (breathe 3.2s + blink 5s del PRD §6.4), marco punteado para 'Mi dibujo'
- 'Mi dibujo' abre Photo Picker (sin permisos de almacenamiento)
- MVVM: OnboardingViewModel con StateFlow<OnboardingUiState>
- Persistencia en DataStore Preferences vía ProfileRepository (Hilt)
- NavHost onboarding→dashboard (placeholder módulo 2) + STATUS.md
2026-07-03 21:26:24 -06:00
Johann 1b5a1f76e1 feat(theme): tema Compose con paleta Rachita y fuentes descargables
- Color.kt: paleta completa del PRD §6.1 (coral/menta/sol/lila/crema/tinta/noche)
- Type.kt: Baloo 2 + Nunito vía Google Fonts provider, escala del PRD §6.2
- Shape.kt: radios 14-24dp + píldora; Theme.kt: MaterialTheme light único
2026-07-03 21:26:13 -06:00
Johann 6f5bca6e35 chore(android): scaffold del proyecto Gradle KTS con version catalog
- Gradle 8.9 wrapper + AGP 8.7.3 + Kotlin 2.0.21 (KSP, Hilt, Compose, serialization)
- minSdk 26 / targetSdk 34 / compileSdk 35, package mx.paputec.rachita
- Manifest landscape-only con permisos reservados para módulo de batería
- Recursos base: strings ES-MX, certs de Downloadable Fonts, ícono adaptativo de llama
2026-07-03 21:26:05 -06:00
Johann 8d583f6e7e docs: alinear CLAUDE.md con estándares PapuTec + análisis Flutter vs Kotlin 2026-07-03 21:04:46 -06:00
JohannVelazquez 35ee014c3c add PRD, prototype HTML and CLAUDE.md 2026-07-03 17:36:19 -06:00
JohannVelazquez 0ec580ced9 add PRD and HTML prototype 2026-07-03 17:36:04 -06:00
JohannVelazquez fbee1e0b11 first commit 2026-07-03 16:54:58 -06:00