203 lines
7.5 KiB
Markdown
203 lines
7.5 KiB
Markdown
# LOGS ESPECÍFICOS PARA DEBUG - InitialDataLoadScreen SEMPRE Após Login
|
|
|
|
## 🚨 **LOGS IMPLEMENTADOS**
|
|
|
|
Criei logs específicos com o prefixo `🚨` para identificar exatamente onde está o problema no fluxo de navegação após login. Todos os outros logs foram comentados para focar apenas no problema.
|
|
|
|
## 🔍 **LOGS ESPECÍFICOS IMPLEMENTADOS**
|
|
|
|
### **1. Navigation Context (`src/navigation/index.tsx`)**
|
|
|
|
```typescript
|
|
// Logs de estado da navegação
|
|
console.log('🚨 NAVIGATION DEBUG - ESTADO ATUAL:');
|
|
console.log('🚨 isLoading:', isLoading);
|
|
console.log('🚨 user:', user ? 'Logado' : 'Não logado');
|
|
console.log('🚨 isInitialDataLoaded:', isInitialDataLoaded);
|
|
console.log('🚨 forceInitialLoad:', forceInitialLoad);
|
|
console.log('🚨 DECISÃO DE NAVEGAÇÃO:');
|
|
|
|
// Logs de decisão
|
|
if (user) {
|
|
if (!isInitialDataLoaded || forceInitialLoad) {
|
|
console.log('🚨 ✅ DECISÃO: MOSTRANDO InitialDataLoadScreen');
|
|
console.log('🚨 📋 Motivo: !isInitialDataLoaded=' + !isInitialDataLoaded + ' || forceInitialLoad=' + forceInitialLoad);
|
|
} else {
|
|
console.log('🚨 ❌ DECISÃO: MOSTRANDO Main/TabNavigator');
|
|
console.log('🚨 📋 Motivo: isInitialDataLoaded=' + isInitialDataLoaded + ' && forceInitialLoad=' + forceInitialLoad);
|
|
}
|
|
}
|
|
|
|
// Logs de renderização
|
|
console.log('🚨 NAVIGATION RENDER - ESTADO FINAL:');
|
|
console.log('🚨 TELA QUE SERÁ RENDERIZADA:', user ? ((!isInitialDataLoaded || forceInitialLoad) ? 'InitialDataLoadScreen' : 'Main/TabNavigator') : 'AuthNavigator');
|
|
```
|
|
|
|
### **2. OfflineMode Context (`src/contexts/OfflineModeContext.tsx`)**
|
|
|
|
```typescript
|
|
// Logs de montagem do contexto
|
|
console.log('🚨 OFFLINE CONTEXT - MONTANDO CONTEXTO');
|
|
console.log('🚨 Estado inicial: isInitialDataLoaded=false, forceInitialLoad=true');
|
|
console.log('🚨 OFFLINE CONTEXT - ESTADOS DEFINIDOS');
|
|
console.log('🚨 isInitialDataLoaded: false');
|
|
console.log('🚨 forceInitialLoad: true');
|
|
|
|
// Logs de verificação de status
|
|
console.log('🚨 OFFLINE CONTEXT - VERIFICANDO STATUS INICIAL');
|
|
console.log('🚨 Forçando: isInitialDataLoaded=false, forceInitialLoad=true');
|
|
console.log('🚨 OFFLINE CONTEXT - STATUS CONFIRMADO');
|
|
|
|
// Logs de carga de dados
|
|
console.log('🚨 OFFLINE CONTEXT - INICIANDO CARGA DE DADOS');
|
|
console.log('🚨 OFFLINE CONTEXT - CARGA CONCLUÍDA COM SUCESSO');
|
|
console.log('🚨 isInitialDataLoaded: true');
|
|
console.log('🚨 forceInitialLoad: false');
|
|
```
|
|
|
|
### **3. Auth Context (`src/contexts/AuthContext.tsx`)**
|
|
|
|
```typescript
|
|
// Logs de login
|
|
console.log('🚨 AUTH CONTEXT - INICIANDO LOGIN');
|
|
console.log('🚨 Usuário:', username);
|
|
console.log('🚨 AUTH CONTEXT - LIMPANDO BASE SQLite');
|
|
console.log('🚨 AUTH CONTEXT - RESETANDO MODO OFFLINE');
|
|
console.log('🚨 AUTH CONTEXT - BASE SQLite LIMPA');
|
|
console.log('🚨 AUTH CONTEXT - FAZENDO LOGIN NA API');
|
|
console.log('🚨 AUTH CONTEXT - LOGIN BEM-SUCEDIDO');
|
|
console.log('🚨 AUTH CONTEXT - VERIFICANDO ROTEIRIZAÇÃO');
|
|
console.log('🚨 AUTH CONTEXT - Entregas carregadas:', deliveries.length);
|
|
console.log('🚨 AUTH CONTEXT - Precisa de roteirização?', needsRouting);
|
|
console.log('🚨 AUTH CONTEXT - LOGIN FINALIZADO');
|
|
```
|
|
|
|
### **4. Deliveries Context (`src/contexts/DeliveriesContext.tsx`)**
|
|
|
|
```typescript
|
|
// Logs de verificação de carregamento automático
|
|
console.log("🚨 DELIVERIES CONTEXT - VERIFICANDO CARREGAMENTO AUTOMÁTICO")
|
|
console.log("🚨 isInitialDataLoaded:", isInitialDataLoaded)
|
|
console.log("🚨 hasInitializedRef.current:", hasInitializedRef.current)
|
|
|
|
// Logs de carregamento de dados
|
|
console.log("🚨 DELIVERIES CONTEXT - INICIANDO CARREGAMENTO")
|
|
console.log("🚨 Force refresh:", forceRefresh)
|
|
console.log("🚨 isInitialDataLoaded:", isInitialDataLoaded)
|
|
console.log("🚨 isOfflineMode:", isOfflineMode)
|
|
console.log("🚨 DELIVERIES CONTEXT - USANDO DADOS LOCAIS")
|
|
console.log("🚨 DELIVERIES CONTEXT - Dados locais carregados:", data.length, "entregas")
|
|
console.log("🚨 DELIVERIES CONTEXT - CARREGANDO DA API")
|
|
console.log("🚨 DELIVERIES CONTEXT - Total de entregas:", data.length)
|
|
```
|
|
|
|
## 🎯 **FLUXO ESPERADO DOS LOGS**
|
|
|
|
### **✅ Primeiro Login (Funcionando):**
|
|
|
|
```
|
|
🚨 AUTH CONTEXT - INICIANDO LOGIN
|
|
🚨 AUTH CONTEXT - LIMPANDO BASE SQLite
|
|
🚨 AUTH CONTEXT - RESETANDO MODO OFFLINE
|
|
🚨 AUTH CONTEXT - BASE SQLite LIMPA
|
|
🚨 AUTH CONTEXT - FAZENDO LOGIN NA API
|
|
🚨 AUTH CONTEXT - LOGIN BEM-SUCEDIDO
|
|
🚨 AUTH CONTEXT - VERIFICANDO ROTEIRIZAÇÃO
|
|
🚨 AUTH CONTEXT - Entregas carregadas: X
|
|
🚨 AUTH CONTEXT - Precisa de roteirização? false
|
|
🚨 AUTH CONTEXT - LOGIN FINALIZADO
|
|
|
|
🚨 OFFLINE CONTEXT - MONTANDO CONTEXTO
|
|
🚨 Estado inicial: isInitialDataLoaded=false, forceInitialLoad=true
|
|
🚨 OFFLINE CONTEXT - ESTADOS DEFINIDOS
|
|
🚨 isInitialDataLoaded: false
|
|
🚨 forceInitialLoad: true
|
|
|
|
🚨 NAVIGATION DEBUG - ESTADO ATUAL:
|
|
🚨 user: Logado
|
|
🚨 isInitialDataLoaded: false
|
|
🚨 forceInitialLoad: true
|
|
🚨 ✅ DECISÃO: MOSTRANDO InitialDataLoadScreen
|
|
🚨 📋 Motivo: !isInitialDataLoaded=true || forceInitialLoad=true
|
|
```
|
|
|
|
### **❌ Segundo Login (Problemático):**
|
|
|
|
```
|
|
🚨 AUTH CONTEXT - INICIANDO LOGIN
|
|
🚨 AUTH CONTEXT - LIMPANDO BASE SQLite
|
|
🚨 AUTH CONTEXT - RESETANDO MODO OFFLINE
|
|
🚨 AUTH CONTEXT - BASE SQLite LIMPA
|
|
🚨 AUTH CONTEXT - FAZENDO LOGIN NA API
|
|
🚨 AUTH CONTEXT - LOGIN BEM-SUCEDIDO
|
|
🚨 AUTH CONTEXT - VERIFICANDO ROTEIRIZAÇÃO
|
|
🚨 AUTH CONTEXT - Entregas carregadas: X
|
|
🚨 AUTH CONTEXT - Precisa de roteirização? false
|
|
🚨 AUTH CONTEXT - LOGIN FINALIZADO
|
|
|
|
🚨 OFFLINE CONTEXT - MONTANDO CONTEXTO
|
|
🚨 Estado inicial: isInitialDataLoaded=false, forceInitialLoad=true
|
|
🚨 OFFLINE CONTEXT - ESTADOS DEFINIDOS
|
|
🚨 isInitialDataLoaded: false
|
|
🚨 forceInitialLoad: true
|
|
|
|
🚨 DELIVERIES CONTEXT - VERIFICANDO CARREGAMENTO AUTOMÁTICO
|
|
🚨 isInitialDataLoaded: false
|
|
🚨 hasInitializedRef.current: false
|
|
|
|
🚨 NAVIGATION DEBUG - ESTADO ATUAL:
|
|
🚨 user: Logado
|
|
🚨 isInitialDataLoaded: false
|
|
🚨 forceInitialLoad: true
|
|
🚨 ✅ DECISÃO: MOSTRANDO InitialDataLoadScreen
|
|
🚨 📋 Motivo: !isInitialDataLoaded=true || forceInitialLoad=true
|
|
|
|
// MAS DEPOIS ALGUM LUGAR MUDA PARA:
|
|
🚨 NAVIGATION DEBUG - ESTADO ATUAL:
|
|
🚨 user: Logado
|
|
🚨 isInitialDataLoaded: true ← PROBLEMA AQUI!
|
|
🚨 forceInitialLoad: false ← PROBLEMA AQUI!
|
|
🚨 ❌ DECISÃO: MOSTRANDO Main/TabNavigator
|
|
🚨 📋 Motivo: isInitialDataLoaded=true && forceInitialLoad=false
|
|
```
|
|
|
|
## 🔍 **ONDE PROCURAR O PROBLEMA**
|
|
|
|
### **1. Verificar se `DeliveriesContext` está mudando os estados:**
|
|
|
|
Procure por logs que mostrem:
|
|
```
|
|
🚨 DELIVERIES CONTEXT - CARREGANDO DADOS LOCAIS
|
|
```
|
|
|
|
### **2. Verificar se `OfflineModeContext` está sendo resetado:**
|
|
|
|
Procure por logs que mostrem:
|
|
```
|
|
🚨 OFFLINE CONTEXT - MONTANDO CONTEXTO
|
|
🚨 OFFLINE CONTEXT - ESTADOS DEFINIDOS
|
|
```
|
|
|
|
### **3. Verificar se a navegação está recebendo os estados corretos:**
|
|
|
|
Procure por logs que mostrem:
|
|
```
|
|
🚨 NAVIGATION DEBUG - ESTADO ATUAL:
|
|
🚨 isInitialDataLoaded: false
|
|
🚨 forceInitialLoad: true
|
|
```
|
|
|
|
## 🧪 **COMO TESTAR**
|
|
|
|
1. **Fazer Login** com qualquer usuário
|
|
2. **Verificar Logs** - deve mostrar `🚨 ✅ DECISÃO: MOSTRANDO InitialDataLoadScreen`
|
|
3. **Fazer Logout e Login Novamente** - processo deve repetir
|
|
4. **Verificar Logs** - deve mostrar `🚨 ✅ DECISÃO: MOSTRANDO InitialDataLoadScreen` novamente
|
|
5. **Se mostrar `🚨 ❌ DECISÃO: MOSTRANDO Main/TabNavigator`** - identificar onde os estados estão sendo alterados
|
|
|
|
## 🎯 **OBJETIVO**
|
|
|
|
Identificar exatamente **onde** e **quando** os estados `isInitialDataLoaded` e `forceInitialLoad` estão sendo alterados incorretamente no segundo login, causando o problema de navegação.
|
|
|
|
**Agora os logs estão focados apenas no problema específico!** 🚀
|