From 429fd704971f31f1e5d35440b58ff16266a54028 Mon Sep 17 00:00:00 2001 From: sebseb7 Date: Sun, 20 Jul 2025 07:47:18 +0200 Subject: [PATCH] Implement DATEV export functionality in DataViewer and enhance TransactionsTable with selection features and improved row styling. Update environment variables and add devServer configuration in webpack for better development experience. --- client/public/index.html | 28 ++ client/src/App.js | 30 +- client/src/components/DataViewer.js | 19 +- client/src/components/SummaryHeader.js | 27 +- client/src/components/TransactionsTable.js | 333 +++++++++++++- .../cellRenderers/DocumentRenderer.js | 411 ++++++++++++++++++ .../components/cellRenderers/JtlRenderer.js | 24 + .../cellRenderers/RecipientRenderer.js | 34 +- .../cellRenderers/SelectionRenderer.js | 50 +++ client/src/components/config/gridConfig.js | 62 ++- .../components/filters/IbanSelectionFilter.js | 209 +++++++++ .../src/components/headers/SelectionHeader.js | 64 +++ .../headers/TextHeaderWithFilter.js | 72 +-- client/src/components/utils/dataUtils.js | 30 +- src/middleware/emailAuth.js | 89 ++-- src/routes/auth.js | 55 +-- src/routes/data.js | 136 +++++- webpack.prod.config.js | 18 + 18 files changed, 1542 insertions(+), 149 deletions(-) create mode 100644 client/src/components/cellRenderers/DocumentRenderer.js create mode 100644 client/src/components/cellRenderers/SelectionRenderer.js create mode 100644 client/src/components/filters/IbanSelectionFilter.js create mode 100644 client/src/components/headers/SelectionHeader.js diff --git a/client/public/index.html b/client/public/index.html index 2b89f64..075fc78 100644 --- a/client/public/index.html +++ b/client/public/index.html @@ -34,6 +34,34 @@ min-width: 200px; } + /* Alternating row colors for better readability */ + .ag-row-odd { + background-color: #f8f9fa !important; + } + + .ag-row-even { + background-color: #ffffff !important; + } + + /* Maintain alternating colors on hover */ + .ag-row-odd:hover { + background-color: #e9ecef !important; + } + + .ag-row-even:hover { + background-color: #f1f3f4 !important; + } + + /* Ensure JTL-only rows (red rows) override alternating colors */ + .ag-row[style*="background-color: rgb(255, 235, 238)"] { + background-color: #ffebee !important; + } + + /* Selected rows */ + .ag-row.selected-row { + background-color: #e3f2fd !important; + color: #1976d2 !important; + }