- Complete Dashboard page with statistics, recent activity, compliance status - Complete Transactions page with form, validation, E&O uplift display - Complete Treasury page with account management - Complete Reports page with BCB report generation and export - Add LoadingSpinner component - Add ErrorBoundary component - Add Toast notification system - Add comprehensive input validation - Add error handling utilities - Add basic unit tests structure - Fix XML exporter TypeScript errors - All quick wins completed
68 lines
2.7 KiB
TypeScript
68 lines
2.7 KiB
TypeScript
import { BrowserRouter, Routes, Route, Link } from 'react-router-dom';
|
|
import { ErrorBoundary } from './components/ErrorBoundary';
|
|
import DashboardPage from './pages/DashboardPage';
|
|
import TransactionsPage from './pages/TransactionsPage';
|
|
import TreasuryPage from './pages/TreasuryPage';
|
|
import ReportsPage from './pages/ReportsPage';
|
|
|
|
function App() {
|
|
return (
|
|
<ErrorBoundary>
|
|
<BrowserRouter>
|
|
<div className="min-h-screen bg-gray-50">
|
|
<nav className="bg-white shadow-sm border-b">
|
|
<div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
|
|
<div className="flex justify-between h-16">
|
|
<div className="flex">
|
|
<div className="flex-shrink-0 flex items-center">
|
|
<h1 className="text-xl font-bold text-gray-900">
|
|
Brazil SWIFT Operations
|
|
</h1>
|
|
</div>
|
|
<div className="hidden sm:ml-6 sm:flex sm:space-x-8">
|
|
<Link
|
|
to="/"
|
|
className="border-transparent text-gray-500 hover:border-gray-300 hover:text-gray-700 inline-flex items-center px-1 pt-1 border-b-2 text-sm font-medium"
|
|
>
|
|
Dashboard
|
|
</Link>
|
|
<Link
|
|
to="/transactions"
|
|
className="border-transparent text-gray-500 hover:border-gray-300 hover:text-gray-700 inline-flex items-center px-1 pt-1 border-b-2 text-sm font-medium"
|
|
>
|
|
Transactions
|
|
</Link>
|
|
<Link
|
|
to="/treasury"
|
|
className="border-transparent text-gray-500 hover:border-gray-300 hover:text-gray-700 inline-flex items-center px-1 pt-1 border-b-2 text-sm font-medium"
|
|
>
|
|
Treasury
|
|
</Link>
|
|
<Link
|
|
to="/reports"
|
|
className="border-transparent text-gray-500 hover:border-gray-300 hover:text-gray-700 inline-flex items-center px-1 pt-1 border-b-2 text-sm font-medium"
|
|
>
|
|
Reports
|
|
</Link>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</nav>
|
|
|
|
<main className="max-w-7xl mx-auto py-6 sm:px-6 lg:px-8">
|
|
<Routes>
|
|
<Route path="/" element={<DashboardPage />} />
|
|
<Route path="/transactions" element={<TransactionsPage />} />
|
|
<Route path="/treasury" element={<TreasuryPage />} />
|
|
<Route path="/reports" element={<ReportsPage />} />
|
|
</Routes>
|
|
</main>
|
|
</div>
|
|
</BrowserRouter>
|
|
</ErrorBoundary>
|
|
);
|
|
}
|
|
|
|
export default App;
|