webmoney/frontend/src/App.jsx

256 lines
7.1 KiB
JavaScript

import React from 'react';
import { BrowserRouter as Router, Routes, Route, Navigate } from 'react-router-dom';
import { AuthProvider } from './context/AuthContext';
import { ToastProvider } from './components/Toast';
import ProtectedRoute from './components/ProtectedRoute';
import Layout from './components/Layout';
import CookieConsent from './components/CookieConsent';
import Login from './pages/Login';
import Dashboard from './pages/Dashboard';
import Accounts from './pages/Accounts';
import CostCenters from './pages/CostCenters';
import Categories from './pages/Categories';
import LiabilityAccounts from './pages/LiabilityAccounts';
import TransactionsByWeek from './pages/TransactionsByWeek';
import ImportTransactions from './pages/ImportTransactions';
import TransferDetection from './pages/TransferDetection';
import RefundDetection from './pages/RefundDetection';
import RecurringTransactions from './pages/RecurringTransactions';
import Business from './pages/Business';
import FinancialHealth from './pages/FinancialHealth';
import Goals from './pages/Goals';
import Budgets from './pages/Budgets';
import Reports from './pages/Reports';
import Preferences from './pages/Preferences';
import Profile from './pages/Profile';
import Pricing from './pages/Pricing';
import Billing from './pages/Billing';
import Users from './pages/Users';
import SiteSettings from './pages/SiteSettings';
function App() {
return (
<Router>
<AuthProvider>
<ToastProvider>
<Routes>
<Route path="/login" element={<Login />} />
<Route
path="/dashboard"
element={
<ProtectedRoute>
<Layout>
<Dashboard />
</Layout>
</ProtectedRoute>
}
/>
<Route
path="/accounts"
element={
<ProtectedRoute>
<Layout>
<Accounts />
</Layout>
</ProtectedRoute>
}
/>
<Route
path="/cost-centers"
element={
<ProtectedRoute>
<Layout>
<CostCenters />
</Layout>
</ProtectedRoute>
}
/>
<Route
path="/categories"
element={
<ProtectedRoute>
<Layout>
<Categories />
</Layout>
</ProtectedRoute>
}
/>
<Route
path="/liabilities"
element={
<ProtectedRoute>
<Layout>
<LiabilityAccounts />
</Layout>
</ProtectedRoute>
}
/>
<Route
path="/transactions"
element={
<ProtectedRoute>
<Layout>
<TransactionsByWeek />
</Layout>
</ProtectedRoute>
}
/>
<Route
path="/import"
element={
<ProtectedRoute>
<Layout>
<ImportTransactions />
</Layout>
</ProtectedRoute>
}
/>
<Route
path="/transfers"
element={
<ProtectedRoute>
<Layout>
<TransferDetection />
</Layout>
</ProtectedRoute>
}
/>
<Route
path="/refunds"
element={
<ProtectedRoute>
<Layout>
<RefundDetection />
</Layout>
</ProtectedRoute>
}
/>
<Route
path="/recurring"
element={
<ProtectedRoute>
<Layout>
<RecurringTransactions />
</Layout>
</ProtectedRoute>
}
/>
<Route
path="/business"
element={
<ProtectedRoute>
<Layout>
<Business />
</Layout>
</ProtectedRoute>
}
/>
<Route
path="/financial-health"
element={
<ProtectedRoute>
<Layout>
<FinancialHealth />
</Layout>
</ProtectedRoute>
}
/>
<Route
path="/goals"
element={
<ProtectedRoute>
<Layout>
<Goals />
</Layout>
</ProtectedRoute>
}
/>
<Route
path="/budgets"
element={
<ProtectedRoute>
<Layout>
<Budgets />
</Layout>
</ProtectedRoute>
}
/>
<Route
path="/reports"
element={
<ProtectedRoute>
<Layout>
<Reports />
</Layout>
</ProtectedRoute>
}
/>
<Route
path="/preferences"
element={
<ProtectedRoute>
<Layout>
<Preferences />
</Layout>
</ProtectedRoute>
}
/>
<Route
path="/profile"
element={
<ProtectedRoute>
<Layout>
<Profile />
</Layout>
</ProtectedRoute>
}
/>
<Route
path="/pricing"
element={
<Layout>
<Pricing />
</Layout>
}
/>
<Route
path="/billing"
element={
<ProtectedRoute>
<Layout>
<Billing />
</Layout>
</ProtectedRoute>
}
/>
<Route
path="/users"
element={
<ProtectedRoute>
<Layout>
<Users />
</Layout>
</ProtectedRoute>
}
/>
<Route
path="/site-settings"
element={
<ProtectedRoute>
<Layout>
<SiteSettings />
</Layout>
</ProtectedRoute>
}
/>
<Route path="/" element={<Navigate to="/dashboard" />} />
</Routes>
<CookieConsent />
</ToastProvider>
</AuthProvider>
</Router>
);
}
export default App;