Commit Graph

74 Commits

Author SHA1 Message Date
Matt 24dcee57d9 fix: Enhanced EOI section reactivity for immediate UI updates after deletion
EOI State Management Improvements:
- Added local reactive state (documentValidated, documentExists) to handle immediate UI updates
- Enhanced hasGeneratedEOI computed property to use local state when validation completes
- Fixed issue where EOI signatory status would persist after document deletion

 Real-time UI Responsiveness:
- Component now immediately switches to Generate EOI UI when validation detects cleanup
- No longer requires manual page refresh to see correct state
- Proper state synchronization between validation results and UI display

 Validation Logic Enhancement:
- validateDocument function now sets local reactive state immediately upon cleanup detection
- Added comprehensive logging for debugging EOI state transitions
- Handles edge cases where documensoID exists but document was deleted externally

 User Experience Improvements:
- Automatic UI state transitions without user intervention
- Clear visual feedback when orphaned data is cleaned up
- Prevents phantom EOI states from confusing users

The EOI section now correctly and immediately shows the generate UI when no valid document exists, eliminating the confusion from phantom signatory status displays.
2025-06-12 17:18:53 +02:00
Matt 8ec6c883ab fix: Comprehensive mobile UI improvements and fixes
Interest Table Mobile Layout:
- Fixed broken table layout on mobile screens
- Optimized column widths to fit mobile viewports better
- Improved horizontal scrolling with visual indicators
- Enhanced responsive design for contact information display
- Better badge sizing and text truncation on mobile

 Mobile Actions Enhancement:
- Added delete interest button to mobile actions section
- Improved button layout in 2x2 grid for better accessibility
- Added proper loading states and disabled states
- Enhanced visual hierarchy with icons and labels

 Email Communication Fixes:
- Fixed refresh email button icon display on mobile
- Added proper mobile styling and tooltips
- Made button more accessible with larger touch targets

 Email Thread Width Issues:
- Fixed email threads exceeding screen width on mobile
- Implemented proper text wrapping and overflow handling
- Optimized timeline layout for mobile viewports
- Enhanced email card responsiveness
- Better handling of long email addresses and content
- Improved expansion panel sizing and spacing

 Mobile UX Improvements:
- Better touch targets and button sizing
- Improved visual feedback and loading states
- Enhanced text readability with optimized font sizes
- Consistent mobile spacing and padding throughout
- Fixed container overflow issues across components

All mobile components now properly respect viewport constraints and provide optimal user experience on mobile devices.
2025-06-12 17:14:14 +02:00
Matt 41a6f7f1c8 feat: Implement EOI document validation and orphaned data cleanup
- Add new /api/eoi/validate-document endpoint to check document existence
- Automatically clean up orphaned database records when documents don't exist in Documenso
- Update EOISection component to validate documents on mount
- Enhanced delete-generated-document endpoint to handle already-deleted documents
- Updated check-signature-status endpoint with validation logic
- Prevents EOI section from showing when document no longer exists
- Self-healing system that fixes data inconsistencies automatically

Key improvements:
- Validates document existence before showing EOI management UI
- Cleans up documensoID, signature links, and status fields when document is missing
- Graceful handling of 404 errors from Documenso API
- Background validation with user-friendly notifications
- Prevents phantom EOI states that appear generated but don't exist
2025-06-12 17:04:45 +02:00
Matt b25e93d2a0 feat: Implement comprehensive PWA functionality
- Add full PWA configuration with manifest and service worker
- Create PWAInstallBanner component with mobile detection
- Implement install banner on login page (shows below login form)
- Add usePWA composable for reusable PWA functionality
- Configure offline support with Workbox caching strategies
- Add PWA initialization plugin
- Update app name to 'Port Nimara Portal' throughout
- Use circular logo in install banner and instructions
- Banner shows only once and hides if already installed
- Support both Android (direct install) and iOS (manual instructions)
- Add comprehensive documentation for PWA implementation

Features:
- Mobile-only install banner with dismissal tracking
- Standalone mode detection to hide banner when installed
- Platform-specific installation instructions
- Offline functionality with API caching
- Auto-updating service worker
- Native app-like experience when installed
2025-06-12 16:36:32 +02:00
Matt 4916c20f64 fixes 2025-06-12 16:26:10 +02:00
Matt af3a68e51b Feat: Complete EOI improvements and PWA implementation
EOI ENHANCEMENTS:
-  Fix EOI deletion to clear ALL signature fields (embedded links, timestamps, etc.)
-  Add EOI creation time tags automatically displayed on interest cards
-  Add signature status tags showing who has signed ( Client,  CC,  Developer)
-  Add pending signature tags for unsigned parties
-  Fix TypeScript errors with new Interest type fields

 UI IMPROVEMENTS:
-  Enhanced InterestDetailsModal with comprehensive status display
-  Fixed component prop naming issues
-  Better mobile and desktop responsiveness for tags

 PWA IMPLEMENTATION:
-  Complete PWA configuration with manifest
-  App installation capability
-  Offline support with service worker
-  Multiple icon sizes (72x72 to 512x512)
-  Branded theme colors and app metadata
-  Auto-update functionality

 USER EXPERIENCE:
- Users can now see EOI creation timestamps at a glance
- Clear visual indication of signature status for all parties
- App can be installed on mobile/desktop devices
- Proper reset of EOI state when deleted
- All embedded signature links properly cleared on deletion

The platform now provides complete EOI lifecycle management with PWA capabilities!
2025-06-12 16:16:30 +02:00
Matt e02d3ab70f Fix: Resolve EOISection.vue build error
- Fixed incomplete Vue component with missing end tag
- Added missing functions: handleUpload, closeUploadDialog, deleteUploadedEOI, deleteGeneratedEOI
- Resolved all TypeScript compilation errors
- Enables successful Docker build
2025-06-12 15:59:17 +02:00
Matt 66729dfad6 Merge branch 'main' of https://code.portnimara.com/ron/client-portal 2025-06-12 15:53:23 +02:00
Matt 64c35b70f8 Improve email session management and add IMAP connection pooling
- Switch from localStorage to sessionStorage for email sessions
- Add session validation on component mount
- Implement IMAP connection pool with folder search capabilities
- Add operation locking utility for concurrent request handling
- Refactor EOI section component structure
- Update API endpoints for better email thread management
2025-06-12 15:53:12 +02:00
Matt 219522e1b5 fixes for endpoints 2025-06-11 20:50:51 +02:00
Matt 85773fc09e updates 2025-06-11 16:50:31 +02:00
Matt bc591f687f fixes 2025-06-11 16:05:19 +02:00
Matt 084f27ec91 slider updates 2025-06-11 14:46:42 +02:00
Matt fa76fb1502 fixes 2025-06-11 14:36:33 +02:00
Matt ab85dc5d55 updates 2025-06-11 14:28:03 +02:00
Matt f992fbb5a6 updates 2025-06-11 14:08:28 +02:00
Matt 0b6601fabc updates 2025-06-11 13:54:04 +02:00
Matt fca6321dcf Merge branch 'main' of https://code.portnimara.com/ron/client-portal 2025-06-11 13:53:10 +02:00
Matt a49322f852 updates 2025-06-11 13:50:51 +02:00
Matt 09c32ae6cb updates 2025-06-10 20:56:56 +02:00
Matt cf4af2cbff updates 2025-06-10 20:45:47 +02:00
Matt e5b8affa84 updates 2025-06-10 18:18:44 +02:00
Matt 534bbebd0f updates 2025-06-10 18:18:35 +02:00
Matt 3d3a712ed2 Fix email loading issues and improve performance
- Removed limit on cached emails - now loads ALL cached emails from MinIO
- Kept IMAP limit at 50 for reasonable performance
- Added loading indicator showing when emails are being fetched
- Fixed ES module import issue in email-utils.ts
- Improved user experience with visual feedback during loading

This ensures all email threads load completely while maintaining reasonable performance
2025-06-10 18:09:53 +02:00
Matt 0a541f658d Improve email loading performance and fix UI issues
- Fixed refresh button icon not displaying (changed from icon prop to v-icon element)
- Reduced default email limit from 50 to 20 to improve loading speed
- Optimized cached email loading to only load most recent emails (up to limit)
- Fixed CommonJS require error in email-utils.ts (changed to ES module import)
- Added sorting to cached files to ensure newest emails are loaded first

This should significantly improve email loading performance from 578 cached files down to max 20
2025-06-10 18:04:31 +02:00
Matt 28d69cd000 updates 2025-06-10 17:56:26 +02:00
Matt a78f2ac362 Fix UI/UX issues across email and interest components
- Added email attachment viewing and downloading functionality
- Removed 'Insert EOI link' button when EOI is already signed
- Changed refresh button color to black for better visibility
- Fixed Generate EOI button spacing with consistent margins
- Changed 'Interest Details' title to display client's full name
- Fixed mobile table scrolling cutoff in interest list by removing negative margins
- Improved email section mobile layout:
  - Fixed button sizes and display for mobile screens
  - Fixed thread section width to prevent horizontal scrolling
  - Added proper padding and overflow handling for expansion panels
  - Improved timeline and card responsiveness
2025-06-10 17:37:53 +02:00
Matt 5f299f389a Fix email system issues and remove unsupported reminder feature
- Removed EOI reminder settings as the field is not supported in database schema
- Fixed reply to thread button visibility with better styling (flat variant, larger size)
- Optimized email loading by reducing fetch limit from 200 to 50
- Fixed thread view visual issues with accordion variant and zero elevation
- Added explicit save button for email signatures
- Fixed reminder-related TypeScript errors by removing unused code
- Improved thread reply button positioning with proper margins
2025-06-10 17:17:32 +02:00
Matt f0e03c278a Fix multiple UI/UX issues and enhance email functionality
- Fixed delete interest button requiring multiple clicks by removing debounce
- Fixed Generate EOI button display on mobile devices
- Added horizontal scrolling with touch support for mobile interest list
- Removed Place of Residence field from interest creation form
- Enhanced EOI upload with better error handling and logging
- Fixed email attachment upload authentication issues
- Created EmailDetailsDialog component for viewing full email details
- Re-integrated email thread viewing with toggle between threads/all views
- Added reply functionality for individual emails and threads
- Optimized email loading performance by reducing fetch limit to 50
- Fixed visual bugs with thread expansion panels
- Added explicit save button for email signatures
- Improved file upload authentication and bucket creation for attachments
2025-06-10 17:07:11 +02:00
Matt 839b307edd updates 2025-06-10 16:48:40 +02:00
Matt 49aa47ab10 mobile optimization 2025-06-10 16:01:21 +02:00
Matt 1030103b7a updates 2025-06-10 15:52:30 +02:00
Matt be443ae71b updates 2025-06-10 15:42:00 +02:00
Matt c6b4c716a8 updates 2025-06-10 15:21:42 +02:00
Matt 4b6d3fd991 updates 2025-06-10 15:01:04 +02:00
Matt 8c0d8cae69 updates 2025-06-10 14:52:39 +02:00
Matt bb1a237961 updates 2025-06-10 14:32:20 +02:00
Matt 218705da52 Add EOI automation system with email processing and document management
- Implement automated EOI processing from sales emails
- Add EOI document upload and management capabilities
- Enhance email thread handling with better parsing and grouping
- Add retry logic and error handling for file operations
- Introduce Documeso integration for document processing
- Create server tasks and plugins infrastructure
- Update email composer with improved attachment handling
2025-06-10 13:59:09 +02:00
Matt 5c30411c2b updates 2025-06-10 12:54:22 +02:00
Matt 4d55bb63b2 fixes 2025-06-10 12:26:50 +02:00
Matt b332f913a6 Add file attachment support to email composer
- Add file browser integration for selecting attachments
- Display attached files with remove functionality in composer
- Include attachments in email sending process
- Show attachment info in email thread display
- Update server endpoints to handle file attachments
- Minor UI improvements to EOI status badge layout
2025-06-10 02:39:00 +02:00
Matt bb2f5d37c8 Add email reply functionality to thread view
- Add reply button to each email in thread timeline
- Pre-fill composer with recipient, subject, and quoted content when replying
- Remove readonly constraint from recipient field in composer
- Handle reply-to-email event to populate composer with proper reply data
2025-06-10 02:20:17 +02:00
Matt 662f22a58f fixes 2025-06-10 01:57:19 +02:00
Matt b4fe29413b updates 2025-06-10 01:19:14 +02:00
Matt 58b2504e14 updates 2025-06-10 00:53:49 +02:00
Matt 5b6f6d7071 updates 2025-06-10 00:42:14 +02:00
Matt d9fb94a76c Refactor EOI management into dedicated component
Extract EOI links and generation functionality from InterestDetailsModal
into a new reusable EOISection component. This improves code organization
and maintainability while adding debounce support for form submissions.

- Create new EOISection.vue component for EOI management
- Remove inline EOI links section from InterestDetailsModal
- Add debounce utility for form submission handling
- Update email generation and thread fetching logic
- Update related types and utilities
2025-06-10 00:37:43 +02:00
Matt 48cee6f849 Fix 502 errors on container restart and expand API authentication
- Handle 502 Gateway Timeout errors by clearing invalid sessions
- Add graceful session validation failure handling in fetch-thread API
- Expand x-tag authentication to accept additional valid token
- Add debug logging to berth-related API endpoints
- Document the 502 error fix in email system documentation
2025-06-09 23:29:24 +02:00
Matt f593036d0f Fix email signature layout and enhance email thread fetching
- Move logo to top of email signature for better formatting
- Enhance IMAP search to include CC/BCC fields and multiple folders
- Fix EOI document generation to properly send and extract signing URLs
- Update documentation with all email system fixes
2025-06-09 23:09:32 +02:00
Matt 5f10e9fb54 Fix email system error handling and remove hardcoded credentials
- Handle missing email sessions gracefully without throwing errors
- Clear partial session data when no valid session exists
- Return empty results instead of 401 errors for missing credentials
- Remove hardcoded Documenso API key and require env variables
- Reduce email fetch limit from 50 to 20 for performance
- Add documentation for email system fixes
2025-06-09 22:50:06 +02:00