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>
205 lines
6.1 KiB
Markdown
205 lines
6.1 KiB
Markdown
# 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
|