Commit Graph

15 Commits

Author SHA1 Message Date
Matt 6ebe96bbf4 feat: Improve UI styling in ExpenseDetailsModal and ExpenseList, enhance authentication middleware caching, and optimize PDF generation for receipt fetching 2025-07-10 17:05:08 -04:00
Matt 3ba8542e4f feat: Add currency selection and conversion support in PDF generation, enhance expense processing with target currency handling 2025-07-10 14:02:14 -04:00
Matt 2928d9a7ed feat: Enhance authentication middleware and token refresh logic with improved caching, retry mechanisms, and error handling 2025-07-10 13:31:58 -04:00
Matt 6e99f4f783 feat: Enhance receipt processing in PDF generation with overall receipt numbering and improved path extraction for MinIO 2025-07-10 12:57:43 -04:00
Matt a00b3918be feat: Enhance error handling and logging in expense and interest duplicate detection, add retry logic for document deletion, and improve PDF generation with detailed receipt processing 2025-07-10 09:59:17 -04:00
Matt 06500a614d updates 2025-07-09 22:47:52 -04:00
Matt 9d49245efa refactor: replace Puppeteer with PDFKit for PDF generation
- Updated package.json to remove Puppeteer and add PDFKit and its types.
- Refactored generate-pdf.ts to utilize PDFKit for generating PDFs instead of Puppeteer.
- Implemented functions to add headers, summaries, expense tables, and receipt images using PDFKit.
- Removed HTML content generation and related functions, streamlining the PDF generation process.
- Added error handling for receipt image fetching and improved logging.
2025-07-09 22:38:46 -04:00
Matt 893927d4b1 Refactor expense form and add PDF generation functionality
- Update expense form fields (merchant->establishmentName, amount->price)
- Add PDF generation with Puppeteer integration
- Create PDFOptionsModal component for export options
- Update expense form validation and UI layout
- Add server API endpoint for PDF generation
2025-07-09 22:23:50 -04:00
Matt 8f625c0df4 feat: Enhance InterestDuplicateNotificationBanner to always check for duplicates on mount and improve PDF generation to return base64 content 2025-07-09 16:28:04 -04:00
Matt a337d3c838 Enhance duplicate detection with sales/admin access and field updates
- Extend duplicate detection access from admin-only to sales/admin users
- Update field names for better clarity (Email → Email Address, etc.)
- Add duplicate notification banner to expenses page
- Improve authorization checks with role-based access control
2025-07-09 15:31:55 -04:00
Matt 438312c469 fix: Resolve PDF generation error and improve button spacing
 **Fixed PDF Generation Error:**
- Changed createError to use 'message' instead of 'statusMessage' for long error messages
- Resolves h3 warning about preferring 'message' for longer error messages
- PDF generation now properly calculates totals and provides helpful user feedback

 **Improved Export Button Spacing:**
- Added proper spacing between 'Export Options:' label and buttons (mr-6)
- Increased gap between CSV and PDF buttons (gap-4)
- Changed button size from 'small' to 'default' for better appearance
- Added horizontal padding to buttons (px-6) for consistent sizing
- Wrapped buttons in separate div for better layout control

� **User Experience Improvements:**
- More professional button layout with consistent spacing
- Better visual separation between label and action buttons
- Improved readability and click targets for export actions
- PDF generation provides detailed feedback with calculated totals
2025-07-09 14:55:21 -04:00
Matt b86fd58bcf fix: Resolve remaining expense page issues and PDF generation
 **Fixed PDF Preview Total Calculation:**
- Updated PDFOptionsModal to receive actual expense data instead of just IDs
- Now shows correct total (€308.80) instead of placeholder (€100.00)
- Calculates real amounts from selected expense PriceNumber values

 **Fixed Exchange Rate Time Display:**
- Updated currency utility to calculate minutes since last update
- Changed from showing 'time until expiry' to 'time since update'
- Now displays accurate '59min ago' based on actual update time

 **Improved PDF Generation:**
- Created comprehensive PDF generation system with proper data fetching
- Validates expense data and calculates accurate totals
- Provides detailed error messages with actual expense information
- Shows calculated totals, grouping options, and document settings
- Graceful fallback with helpful guidance for users

� **Technical Improvements:**
- Enhanced currency status API to include minutesSinceUpdate field
- Fixed component prop passing between parent and child components
- Better error handling and user feedback throughout the system
- Maintained CSV export functionality as primary export option

� **User Experience:**
- PDF modal now shows real totals instead of estimates
- Exchange rate status displays meaningful time information
- Clear feedback when PDF generation is attempted
- Comprehensive error messages guide users to alternative solutions

All core functionality now works correctly with accurate calculations and proper time displays!
2025-07-09 14:46:10 -04:00
Matt ef23cc911e fix: Address remaining expense page UI issues and functionality
� Enhanced Visual Design:
- Improved form spacing in date range filters with proper responsive grid layout
- Added 'Converted' chip tags to show currency conversion status clearly
- Better field spacing and padding throughout the expense page
- Enhanced button sizes and spacing for better visual hierarchy

 Improved User Experience:
- Added conversion indicators with blue 'Converted' chips for foreign currencies
- Better visual feedback for converted prices with USD amounts
- Improved spacing and layout consistency across all components
- Enhanced responsive design for mobile and desktop

� Technical Improvements:
- Fixed PDF generation to show helpful error message instead of crashing
- Added edit button to ExpenseDetailsModal (with placeholder functionality)
- Improved component structure and prop handling
- Better error handling and user feedback for PDF generation

� UI/UX Enhancements:
- Replaced compact density with comfortable for better touch targets
- Added proper v-row/v-col structure for consistent spacing
- Improved button sizing and visual weight
- Better color contrast and accessibility

� Functionality Updates:
- PDF generation now shows informative error message instead of technical failure
- Edit button added to expense details (ready for future implementation)
- Better currency display with conversion status indicators
- Improved form layouts and field spacing

The expense page now has professional spacing, clear currency indicators, and handles edge cases gracefully.
2025-07-09 14:27:28 -04:00
Matt f8d5e4d7e2 Add role-based authorization system with admin functionality
- Implement authorization middleware and composables for role checking
- Add groups/roles support to authentication and session management
- Create admin dashboard pages and API endpoints
- Add audit logging utility for tracking user actions
- Enhance expense page with role-based access control
- Improve session caching with authorization state management
2025-07-09 10:40:27 -04:00
Matt e66d6ad1f2 Add processing fee option to PDF export modal
- Add checkbox to include 5% processing fee in PDF exports
- Install PDF generation dependencies (@pdfme/common, @pdfme/generator, sharp)
- Add server-side expenses API endpoints
- Update PDF options interface to support processing fee toggle
2025-07-04 09:27:43 -04:00