refactor: otimização e refatoração do app

- Lazy loading de rotas com React.lazy + Suspense (code-splitting)
- main.tsx reduzido de 378 para ~55 linhas (roteamento data-driven)
- Novo routeConfig.ts e AppRoutes.tsx para configuração centralizada
- 601 console.logs dos componentes core migrados para logger centralizado
- Logger aprimorado com nível debug e tipagem melhorada
- Imports mal posicionados corrigidos (OptimizedCache, PerformanceMonitor)
- process.env.NODE_ENV substituído por import.meta.env.DEV (padrão Vite)
- QueryClient com retry backoff exponencial, gcTime e refetchOnWindowFocus
- Toaster duplicado removido do Layout.tsx (mantido no main.tsx)
- Vite build: chunks adicionais para date-fns, jspdf, lucide-react
- Dead code removido em ProtectedRouteByResource (branch unreachable)
- Nenhuma lógica de negócios alterada
This commit is contained in:
2026-08-09 22:18:41 +00:00
parent 7ed4f26b50
commit a7bb224a48
12 changed files with 473 additions and 423 deletions
+12 -11
View File
@@ -1,6 +1,7 @@
import { useState, useEffect, createContext, useContext, ReactNode } from 'react';
import { User, Session } from '@supabase/supabase-js';
import { supabase } from '@/integrations/supabase/client';
import { logger } from '@/utils/logger';
interface AuthContextType {
user: User | null;
@@ -111,7 +112,7 @@ export function AuthProvider({ children }: { children: ReactNode }) {
// RPC não encontrada — continua sem erro
}
} catch (error) {
console.error('Erro ao marcar usuário como online:', error);
logger.error('Erro ao marcar usuário como online:', error);
}
};
@@ -128,7 +129,7 @@ export function AuthProvider({ children }: { children: ReactNode }) {
// RPC não encontrada — continua sem erro
}
} catch (error) {
console.error('Erro ao marcar usuário como offline:', error);
logger.error('Erro ao marcar usuário como offline:', error);
}
};
@@ -150,12 +151,12 @@ export function AuthProvider({ children }: { children: ReactNode }) {
.single();
if (error) {
console.error('Erro ao registrar início de sessão:', error);
logger.error('Erro ao registrar início de sessão:', error);
} else if (data) {
localStorage.setItem('currentSessionId', data.id);
}
} catch (error) {
console.error('Erro inesperado ao registrar início de sessão:', error);
logger.error('Erro inesperado ao registrar início de sessão:', error);
}
};
@@ -173,7 +174,7 @@ export function AuthProvider({ children }: { children: ReactNode }) {
localStorage.removeItem('currentSessionId');
}
} catch (error) {
console.error('Erro ao finalizar sessão:', error);
logger.error('Erro ao finalizar sessão:', error);
}
};
@@ -236,7 +237,7 @@ export function AuthProvider({ children }: { children: ReactNode }) {
setAuthInitialized(true);
}
} catch (sessionError) {
console.error('Erro ao verificar sessão:', sessionError);
logger.error('Erro ao verificar sessão:', sessionError);
if (mounted) {
setSession(null);
setUser(null);
@@ -256,7 +257,7 @@ export function AuthProvider({ children }: { children: ReactNode }) {
subscription.unsubscribe();
};
} catch (error) {
console.error('Erro na inicialização da autenticação:', error);
logger.error('Erro na inicialização da autenticação:', error);
if (mounted) {
setLoading(false);
setSession(null);
@@ -321,7 +322,7 @@ export function AuthProvider({ children }: { children: ReactNode }) {
});
return { error };
} catch (error) {
console.error('Erro crítico no login:', error);
logger.error('Erro crítico no login:', error);
return { error };
}
};
@@ -338,7 +339,7 @@ export function AuthProvider({ children }: { children: ReactNode }) {
});
return { error };
} catch (error) {
console.error('Erro crítico no signup:', error);
logger.error('Erro crítico no signup:', error);
return { error };
}
};
@@ -356,7 +357,7 @@ export function AuthProvider({ children }: { children: ReactNode }) {
try {
await supabase.auth.signOut();
} catch (error) {
console.error('Erro no signOut:', error);
logger.error('Erro no signOut:', error);
}
};
@@ -372,7 +373,7 @@ export function AuthProvider({ children }: { children: ReactNode }) {
return { error };
} catch (error) {
console.error('Erro crítico ao atualizar senha:', error);
logger.error('Erro crítico ao atualizar senha:', error);
return { error };
}
};