testes/src_2/features/financeiro-cnab/routes.jsx

31 lines
1.1 KiB
JavaScript

import React, { lazy, Suspense } from 'react';
import { Routes, Route, Navigate } from 'react-router-dom';
import { LoadingOverlay } from '@/components/shared/LoadingOverlay';
import { CnabLayout } from './layout/CnabLayout';
// Lazy load views
const DashboardView = lazy(() => import('./views/DashboardView'));
const FavorecidosView = lazy(() => import('./views/FavorecidosView'));
const GerarRemessaView = lazy(() => import('./views/GerarRemessaView'));
const PageLoader = () => (
<LoadingOverlay isLoading={true} message="Carregando módulo..." fullScreen variant="premium" />
);
export const CnabRoutes = () => {
return (
<Suspense fallback={<PageLoader />}>
<Routes>
<Route element={<CnabLayout />}>
<Route path="dashboard" element={<DashboardView />} />
<Route path="favorecidos" element={<FavorecidosView />} />
<Route path="remessas" element={<GerarRemessaView />} />
<Route index element={<Navigate to="dashboard" replace />} />
</Route>
</Routes>
</Suspense>
);
};
export default CnabRoutes;