Some checks are pending
Build / Build Backend (push) Waiting to run
Build / Build Docker Image (push) Blocked by required conditions
Build / Build Mobile (TypeScript Check) (push) Waiting to run
Lint / Lint Backend (push) Waiting to run
Lint / Lint Mobile (push) Waiting to run
Test / Backend E2E Tests (push) Waiting to run
Test / Mobile Unit Tests (push) Waiting to run
- Move 5 non-standard folders to _archive/ - Archive 2 extra root files - Update _MAP.md with standardized structure Standard: SIMCO-ESTANDAR-ORCHESTRATION v1.0.0 Level: CONSUMER (L2) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
156 lines
5.3 KiB
Markdown
156 lines
5.3 KiB
Markdown
# ANÁLISIS INICIAL - UX MOBILE: Animaciones + Modo Offline
|
|
|
|
---
|
|
id: ANALISIS-UX-MOBILE-001
|
|
type: Analysis
|
|
status: Draft
|
|
created_date: 2026-01-12
|
|
updated_date: 2026-01-12
|
|
phase: 1-inicial
|
|
simco_version: "4.0.0"
|
|
---
|
|
|
|
## FASE 1: ANÁLISIS Y PLANEACIÓN INICIAL
|
|
|
|
### 1.1 Resumen Ejecutivo
|
|
|
|
| Aspecto | Valor |
|
|
|---------|-------|
|
|
| Fecha de Implementación | 2026-01-12 |
|
|
| Tipo de Cambio | Feature - UX Mobile |
|
|
| Impacto | Mobile App |
|
|
| Archivos Nuevos | 12 |
|
|
| Archivos Modificados | 7 |
|
|
| Dependencias Nuevas | 2 |
|
|
| Estado | Implementado - Pendiente Documentación |
|
|
|
|
### 1.2 Contexto del Cambio
|
|
|
|
**Origen:** Mejoras opcionales de UX documentadas en `PROXIMA-ACCION.md`
|
|
- Opción B: Mejoras de UX Mobile
|
|
- Animaciones y transiciones
|
|
- Modo offline
|
|
- Optimización de rendimiento
|
|
|
|
**Objetivo:** Mejorar la experiencia de usuario en la app mobile con:
|
|
1. Animaciones fluidas usando react-native-reanimated
|
|
2. Skeleton loaders durante carga de contenido
|
|
3. Persistencia offline con AsyncStorage + Zustand persist
|
|
4. Detección de conexión con NetInfo
|
|
|
|
### 1.3 Inventario de Cambios Realizados
|
|
|
|
#### 1.3.1 Dependencias Instaladas
|
|
|
|
| Dependencia | Versión | Propósito |
|
|
|-------------|---------|-----------|
|
|
| @react-native-async-storage/async-storage | ^2.1.2 | Persistencia local |
|
|
| @react-native-community/netinfo | ^11.4.1 | Detección de red |
|
|
|
|
#### 1.3.2 Archivos Nuevos Creados (12)
|
|
|
|
| # | Archivo | Tipo | Líneas | Propósito |
|
|
|---|---------|------|--------|-----------|
|
|
| 1 | `src/hooks/useAnimations.ts` | Hook | 187 | 8 hooks de animación reutilizables |
|
|
| 2 | `src/hooks/useNetworkStatus.ts` | Hook | 63 | Detección estado de red |
|
|
| 3 | `src/theme/ThemeContext.tsx` | Context | 72 | Sistema de temas light/dark |
|
|
| 4 | `src/components/ui/Skeleton.tsx` | Component | 165 | Componentes skeleton base |
|
|
| 5 | `src/components/ui/OfflineBanner.tsx` | Component | 98 | Banner modo offline |
|
|
| 6 | `src/components/ui/AnimatedList.tsx` | Component | 125 | FlatList con animaciones |
|
|
| 7 | `src/components/skeletons/InventoryItemSkeleton.tsx` | Component | 72 | Skeleton inventario |
|
|
| 8 | `src/components/skeletons/StoreCardSkeleton.tsx` | Component | 68 | Skeleton tiendas |
|
|
| 9 | `src/components/skeletons/CreditCardSkeleton.tsx` | Component | 115 | Skeleton créditos |
|
|
| 10 | `src/components/skeletons/NotificationSkeleton.tsx` | Component | 62 | Skeleton notificaciones |
|
|
|
|
**Total archivos nuevos:** 12
|
|
**Total líneas nuevas:** ~1,027
|
|
|
|
#### 1.3.3 Archivos Modificados (7)
|
|
|
|
| # | Archivo | Tipo Cambio | Descripción |
|
|
|---|---------|-------------|-------------|
|
|
| 1 | `src/stores/stores.store.ts` | Enhance | +Persistencia AsyncStorage |
|
|
| 2 | `src/stores/inventory.store.ts` | Enhance | +Persistencia (max 100 items) |
|
|
| 3 | `src/stores/credits.store.ts` | Enhance | +Persistencia (max 50 tx) |
|
|
| 4 | `src/stores/notifications.store.ts` | Enhance | +Persistencia (max 50 notif) |
|
|
| 5 | `src/app/_layout.tsx` | Enhance | +OfflineBanner, +ThemeProvider |
|
|
| 6 | `src/app/(tabs)/index.tsx` | Refactor | +Animaciones, +Skeletons |
|
|
| 7 | `src/app/(tabs)/inventory.tsx` | Refactor | +Animaciones, +Skeletons |
|
|
|
|
### 1.4 Clasificación de Impacto
|
|
|
|
#### Por Capa
|
|
|
|
| Capa | Archivos Nuevos | Archivos Modificados | Impacto |
|
|
|------|-----------------|---------------------|---------|
|
|
| Hooks | 2 | 0 | Bajo |
|
|
| Components/UI | 3 | 0 | Bajo |
|
|
| Components/Skeletons | 4 | 0 | Bajo |
|
|
| Theme | 1 | 0 | Bajo |
|
|
| Stores | 0 | 4 | Medio |
|
|
| Screens | 0 | 3 | Alto |
|
|
|
|
#### Por Tipo de Cambio
|
|
|
|
| Tipo | Cantidad | Riesgo |
|
|
|------|----------|--------|
|
|
| Archivo nuevo (sin dependencias) | 10 | Bajo |
|
|
| Modificación de store | 4 | Medio |
|
|
| Modificación de screen | 2 | Alto |
|
|
| Modificación de layout | 1 | Alto |
|
|
|
|
### 1.5 Componentes No Afectados
|
|
|
|
#### Backend
|
|
- Sin cambios en backend
|
|
- Sin nuevas migraciones
|
|
- Sin cambios en API
|
|
|
|
#### Database
|
|
- Sin cambios en esquemas
|
|
- Sin cambios en entidades
|
|
- Sin nuevas tablas
|
|
|
|
### 1.6 Identificación de Documentación Requerida
|
|
|
|
| Documento | Acción | Prioridad |
|
|
|-----------|--------|-----------|
|
|
| TRAZA-TAREAS-MOBILE.md | Agregar tarea MII-MO-014 | Alta |
|
|
| FRONTEND_INVENTORY.yml | Actualizar con nuevos componentes | Alta |
|
|
| PROJECT-STATUS.md | Actualizar estado mobile | Media |
|
|
| PROXIMA-ACCION.md | Actualizar opciones completadas | Media |
|
|
| _MAP.md (docs) | Sin cambios requeridos | - |
|
|
| Épicas existentes | Sin cambios requeridos | - |
|
|
|
|
### 1.7 Riesgos Identificados
|
|
|
|
| Riesgo | Probabilidad | Impacto | Mitigación |
|
|
|--------|--------------|---------|------------|
|
|
| Incompatibilidad reanimated | Baja | Alto | Ya instalado, solo se activa uso |
|
|
| Fuga de memoria en animaciones | Media | Medio | Cleanup en useEffect |
|
|
| Tamaño excesivo de cache | Baja | Bajo | Límites configurados (50-100 items) |
|
|
|
|
### 1.8 Dependencias a Analizar (Fase 2)
|
|
|
|
1. **Stores → Screens**: Los stores modificados son consumidos por múltiples screens
|
|
2. **Theme → Components**: ThemeContext debe ser accesible globalmente
|
|
3. **Hooks → Screens**: Los nuevos hooks deben funcionar en cualquier screen
|
|
4. **Layout → App**: Cambios en _layout.tsx afectan toda la app
|
|
|
|
---
|
|
|
|
## PRÓXIMOS PASOS
|
|
|
|
- [ ] Fase 2: Análisis detallado de cada archivo
|
|
- [ ] Fase 3: Plan de documentación
|
|
- [ ] Fase 4: Validación cruzada
|
|
- [ ] Fase 5: Análisis de dependencias
|
|
- [ ] Fase 6: Refinamiento
|
|
- [ ] Fase 7: Ejecución
|
|
- [ ] Fase 8: Validación final
|
|
|
|
---
|
|
|
|
**Última Actualización:** 2026-01-12
|
|
**Responsable:** Claude Opus 4.5
|