a7bb224a48
- 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
36 lines
1.2 KiB
TypeScript
36 lines
1.2 KiB
TypeScript
|
|
import React from 'react';
|
|
import { SidebarProvider, SidebarTrigger } from '@/components/ui/sidebar';
|
|
import { AppSidebar } from '@/components/AppSidebar';
|
|
import { ApontamentoAutomaticoListener } from '@/components/expedicao/ApontamentoAutomaticoListener';
|
|
import { ThemeToggle } from '@/components/ThemeToggle';
|
|
|
|
interface LayoutProps {
|
|
children: React.ReactNode;
|
|
}
|
|
|
|
export const Layout = ({ children }: LayoutProps) => {
|
|
return (
|
|
<SidebarProvider>
|
|
<div className="min-h-screen flex w-full">
|
|
<AppSidebar />
|
|
<main className="flex-1 overflow-hidden flex flex-col">
|
|
{/* Header fixo com SidebarTrigger e ThemeToggle */}
|
|
<header className="h-14 border-b bg-background/95 backdrop-blur supports-[backdrop-filter]:bg-background/60 flex items-center justify-between px-4 shrink-0">
|
|
<div className="flex items-center">
|
|
<SidebarTrigger />
|
|
</div>
|
|
<ThemeToggle />
|
|
</header>
|
|
{/* Conteúdo principal */}
|
|
<div className="flex-1 overflow-auto">
|
|
{children}
|
|
</div>
|
|
</main>
|
|
{/* Listener global para apontamento automático */}
|
|
<ApontamentoAutomaticoListener />
|
|
</div>
|
|
</SidebarProvider>
|
|
);
|
|
};
|