Files
SIG-CM/frontend/counter-panel/src/App.tsx

40 lines
1.5 KiB
TypeScript
Raw Normal View History

2025-12-23 15:12:57 -03:00
import { BrowserRouter, Routes, Route, Navigate } from 'react-router-dom';
2025-12-18 13:32:50 -03:00
import CounterLayout from './layouts/CounterLayout';
import FastEntryPage from './pages/FastEntryPage';
import CashRegisterPage from './pages/CashRegisterPage';
2026-01-05 10:30:04 -03:00
import AdminDashboard from './pages/AdminDashboard';
import AdvancedAnalytics from './pages/AdvancedAnalytics';
2025-12-23 15:12:57 -03:00
import LoginPage from './pages/LoginPage';
2026-01-05 10:30:04 -03:00
import { ToastProvider } from './context/ToastContext';
import HistoryPage from './pages/HistoryPage';
import TreasuryPage from './pages/TreasuryPage';
2025-12-23 15:12:57 -03:00
// Componente simple de protección
const PrivateRoute = ({ children }: { children: React.ReactNode }) => {
const token = localStorage.getItem('token');
return token ? <>{children}</> : <Navigate to="/login" />;
};
2025-12-18 13:32:50 -03:00
function App() {
return (
2026-01-05 10:30:04 -03:00
<ToastProvider>
<BrowserRouter>
<Routes>
<Route path="/login" element={<LoginPage />} />
2025-12-23 15:12:57 -03:00
2026-01-05 10:30:04 -03:00
<Route element={<PrivateRoute><CounterLayout /></PrivateRoute>}>
<Route path="/" element={<Navigate to="/dashboard" replace />} />
<Route path="/dashboard" element={<AdminDashboard />} />
<Route path="/nuevo-aviso" element={<FastEntryPage />} />
<Route path="/caja" element={<CashRegisterPage />} />
<Route path="/analitica" element={<AdvancedAnalytics />} />
<Route path="/historial" element={<HistoryPage />} />
<Route path="/tesoreria" element={<TreasuryPage />} />
</Route>
</Routes>
</BrowserRouter>
</ToastProvider>
2025-12-18 13:32:50 -03:00
);
}
export default App;