- 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>
6.1 KiB
ANÁLISIS DE DEPENDENCIAS - UX MOBILE
id: DEP-UX-MOBILE-001 type: DependencyAnalysis status: Approved created_date: 2026-01-12 updated_date: 2026-01-12 phase: 5-dependencias simco_version: "4.0.0"
FASE 5: ANÁLISIS DE DEPENDENCIAS
5.1 Archivos Modificados y sus Dependientes
5.1.1 stores/stores.store.ts
Tipo de Cambio: Adición de persistencia (backward compatible)
Archivos Dependientes (6):
| Archivo | Tipo de Uso | ¿Requiere Cambio? |
|---|---|---|
app/(tabs)/index.tsx |
useStoresStore | No - API sin cambios |
app/(tabs)/inventory.tsx |
useStoresStore | No - API sin cambios |
app/(tabs)/scan.tsx |
useStoresStore | No - API sin cambios |
app/stores/index.tsx |
useStoresStore | No - API sin cambios |
app/stores/new.tsx |
useStoresStore | No - API sin cambios |
app/stores/[id].tsx |
useStoresStore | No - API sin cambios |
Análisis: Los cambios solo agregan persist middleware que es transparente para los consumidores.
5.1.2 stores/inventory.store.ts
Tipo de Cambio: Adición de persistencia (backward compatible)
Archivos Dependientes (3):
| Archivo | Tipo de Uso | ¿Requiere Cambio? |
|---|---|---|
app/(tabs)/index.tsx |
useInventoryStore | No - API sin cambios |
app/(tabs)/inventory.tsx |
useInventoryStore | No - API sin cambios |
app/inventory/[id].tsx |
useInventoryStore | No - API sin cambios |
Análisis: El límite de 100 items en cache no afecta la API pública.
5.1.3 stores/credits.store.ts
Tipo de Cambio: Adición de persistencia (backward compatible)
Archivos Dependientes (5):
| Archivo | Tipo de Uso | ¿Requiere Cambio? |
|---|---|---|
app/(tabs)/index.tsx |
useCreditsStore | No - API sin cambios |
app/(tabs)/scan.tsx |
useCreditsStore | No - API sin cambios |
app/(tabs)/profile.tsx |
useCreditsStore | No - API sin cambios |
app/credits/buy.tsx |
useCreditsStore | No - API sin cambios |
app/credits/history.tsx |
useCreditsStore | No - API sin cambios |
Análisis: El límite de 50 transacciones en cache no afecta la API pública.
5.1.4 stores/notifications.store.ts
Tipo de Cambio: Adición de persistencia (backward compatible)
Archivos Dependientes (2):
| Archivo | Tipo de Uso | ¿Requiere Cambio? |
|---|---|---|
app/(tabs)/index.tsx |
useNotificationsStore | No - API sin cambios |
app/notifications/index.tsx |
useNotificationsStore | No - API sin cambios |
Análisis: El límite de 50 notificaciones en cache no afecta la API pública.
5.2 Archivos Nuevos y sus Consumidores
5.2.1 theme/ThemeContext.tsx
Consumidores Actuales:
| Archivo | Estado |
|---|---|
app/_layout.tsx |
Provider ✅ |
components/ui/Skeleton.tsx |
useTheme ✅ |
components/ui/AnimatedList.tsx |
useTheme ✅ |
components/skeletons/*.tsx (4) |
useTheme ✅ |
Consumidores Potenciales Futuros: Cualquier componente que necesite colores del tema.
5.2.2 hooks/useNetworkStatus.ts
Consumidores Actuales:
| Archivo | Estado |
|---|---|
components/ui/OfflineBanner.tsx |
useIsOffline ✅ |
Consumidores Potenciales Futuros: Cualquier componente que necesite detectar estado de red.
5.2.3 hooks/useAnimations.ts
Consumidores Actuales:
| Archivo | Estado |
|---|---|
app/(tabs)/index.tsx |
usePressScale ✅ |
app/(tabs)/inventory.tsx |
usePressScale ✅ |
Consumidores Potenciales Futuros: Todas las pantallas que quieran animaciones consistentes.
5.3 Grafo de Dependencias Actualizado
AsyncStorage (npm)
│
└── zustand/middleware/persist
│
├── stores/stores.store.ts ──────┬─→ 6 screens
├── stores/inventory.store.ts ───┼─→ 3 screens
├── stores/credits.store.ts ─────┼─→ 5 screens
└── stores/notifications.store.ts┴─→ 2 screens
NetInfo (npm)
│
└── hooks/useNetworkStatus.ts
│
└── components/ui/OfflineBanner.tsx
│
└── app/_layout.tsx (global)
react-native-reanimated (npm)
│
├── hooks/useAnimations.ts ──────────┬─→ index.tsx, inventory.tsx
├── components/ui/Skeleton.tsx ──────┤
├── components/ui/OfflineBanner.tsx ─┤
└── components/ui/AnimatedList.tsx ──┘
ThemeContext.tsx
│
├── (provider) app/_layout.tsx
│
└── (consumers)
├── components/ui/Skeleton.tsx
├── components/ui/AnimatedList.tsx
└── components/skeletons/*.tsx (4)
5.4 Verificación de Compatibilidad
| Categoría | Verificación | Resultado |
|---|---|---|
| API de stores | Sin cambios breaking | ✅ Compatible |
| Interfaces TypeScript | Sin cambios en tipos públicos | ✅ Compatible |
| Props de componentes | Opcionales agregados, no removidos | ✅ Compatible |
| Imports existentes | Ninguno roto | ✅ Compatible |
5.5 Resumen de Impacto
| Área | Archivos Afectados | Cambios Requeridos |
|---|---|---|
| Stores (persistencia) | 4 stores, 16 consumers | 0 cambios necesarios |
| Theme | 1 provider, 7 consumers | Ya implementados |
| Network | 1 hook, 1 banner, 1 layout | Ya implementados |
| Animations | 1 hook, 2 screens | Ya implementados |
✅ ANÁLISIS COMPLETADO
Conclusión: Los cambios son backward compatible. No se requieren modificaciones adicionales en archivos dependientes.
5.6 Documentos Adicionales Requeridos
| Documento | Necesario | Razón |
|---|---|---|
| Database schemas | No | Sin cambios en DB |
| Backend APIs | No | Sin cambios en API |
| Nuevas épicas | No | Mejora incremental |
| ADR | No | No hay decisión arquitectónica nueva |
Última Actualización: 2026-01-12 Analizado por: Claude Opus 4.5