etsy-finance-tracker/client/src/App.tsx
dlawler489 9e1a098a70 Initial commit: Complete Etsy Business Tracker with Profit Analysis Dashboard
Features:
- React + TypeScript frontend with Tailwind CSS
- Node.js + Express backend with TypeScript
- Comprehensive order tracking and management
- Product catalog with inventory tracking
- Customer data management
- Expense tracking and categorization
- Advanced Profit Analysis Dashboard with:
  - Real-time profit metrics and KPI visualization
  - Detailed order-level profit breakdown
  - Product performance analysis
  - Enhanced time range filtering (monthly, quarterly, yearly)
  - Interactive expandable order analysis
  - Performance categorization and color coding
- CSV import functionality for Etsy statements
- PDF parsing capabilities
- Redux state management with persistence
- Responsive design with mobile support
- Australian date formatting and currency display
2026-04-20 09:44:54 +10:00

41 lines
No EOL
1.5 KiB
TypeScript

import { BrowserRouter as Router, Routes, Route, Navigate } from 'react-router-dom';
import { Provider } from 'react-redux';
import { Toaster } from 'react-hot-toast';
import { store } from './store';
import Layout from './components/Layout';
import Products from './pages/Products';
import Orders from './pages/Orders';
import Analytics from './pages/Analytics';
import ProfitAnalysis from './pages/ProfitAnalysis';
import Expenses from './pages/Expenses';
import Settings from './pages/Settings';
import DataImport from './pages/DataImport';
import Login from './pages/Login';
import './App.css';
function App() {
return (
<Provider store={store}>
<Router>
<div className="App">
<Toaster position="top-right" />
<Routes>
<Route path="/login" element={<Login />} />
<Route path="/" element={<Layout />}>
<Route index element={<Navigate to="/analytics" replace />} />
<Route path="analytics" element={<Analytics />} />
<Route path="profit-analysis" element={<ProfitAnalysis />} />
<Route path="products" element={<Products />} />
<Route path="orders" element={<Orders />} />
<Route path="data-import" element={<DataImport />} />
<Route path="expenses" element={<Expenses />} />
<Route path="settings" element={<Settings />} />
</Route>
</Routes>
</div>
</Router>
</Provider>
);
}
export default App;