HEFESTO v1.0 - Sistema de Controle Orçamentário para Facilities
- Backend NestJS com 12 módulos - Frontend React com dashboard e gestão - Manuais técnico e de negócios (MD + PDF) - Workflow de aprovação com alçadas - RBAC com 6 perfis de acesso
This commit is contained in:
39
frontend/src/App.tsx
Normal file
39
frontend/src/App.tsx
Normal file
@@ -0,0 +1,39 @@
|
||||
import { Routes, Route, Navigate } from 'react-router-dom'
|
||||
import Landing from './pages/Landing'
|
||||
import Login from './pages/Login'
|
||||
import Layout from './components/Layout'
|
||||
import Dashboard from './pages/Dashboard'
|
||||
import Demandas from './pages/Demandas'
|
||||
import Orcamentos from './pages/Orcamentos'
|
||||
import OrdensServico from './pages/OrdensServico'
|
||||
import Fornecedores from './pages/Fornecedores'
|
||||
import Relatorios from './pages/Relatorios'
|
||||
import Usuarios from './pages/Usuarios'
|
||||
|
||||
interface PrivateRouteProps {
|
||||
children: React.ReactNode;
|
||||
}
|
||||
|
||||
function PrivateRoute({ children }: PrivateRouteProps) {
|
||||
const token = localStorage.getItem('token')
|
||||
return token ? <>{children}</> : <Navigate to="/login" />
|
||||
}
|
||||
|
||||
export default function App() {
|
||||
return (
|
||||
<Routes>
|
||||
<Route path="/" element={<Landing />} />
|
||||
<Route path="/login" element={<Login />} />
|
||||
<Route path="/app" element={<PrivateRoute><Layout /></PrivateRoute>}>
|
||||
<Route index element={<Dashboard />} />
|
||||
<Route path="demandas" element={<Demandas />} />
|
||||
<Route path="orcamentos" element={<Orcamentos />} />
|
||||
<Route path="ordens-servico" element={<OrdensServico />} />
|
||||
<Route path="fornecedores" element={<Fornecedores />} />
|
||||
<Route path="relatorios" element={<Relatorios />} />
|
||||
<Route path="usuarios" element={<Usuarios />} />
|
||||
</Route>
|
||||
<Route path="*" element={<Navigate to="/" />} />
|
||||
</Routes>
|
||||
)
|
||||
}
|
||||
Reference in New Issue
Block a user