Files
finance-website/frontend/src/App.jsx
T

30 lines
1.1 KiB
React

import React from 'react';
import { BrowserRouter as Router, Routes, Route, Navigate } from 'react-router-dom';
import Layout from './components/Layout';
import Auth from './pages/Auth';
import Dashboard from './pages/Dashboard';
import Transactions from './pages/Transactions';
import Debts from './pages/Debts';
import Incomes from './pages/Incomes';
import Settings from './pages/Settings';
function PrivateRoute({ children }) {
const token = localStorage.getItem('token');
return token ? <Layout>{children}</Layout> : <Navigate to="/auth" />;
}
export default function App() {
return (
<Router>
<Routes>
<Route path="/auth" element={<Auth />} />
<Route path="/" element={<PrivateRoute><Dashboard /></PrivateRoute>} />
<Route path="/transactions" element={<PrivateRoute><Transactions /></PrivateRoute>} />
<Route path="/debts" element={<PrivateRoute><Debts /></PrivateRoute>} />
<Route path="/incomes" element={<PrivateRoute><Incomes /></PrivateRoute>} />
<Route path="/settings" element={<PrivateRoute><Settings /></PrivateRoute>} />
</Routes>
</Router>
);
}