Commit Graph

93 Commits

Author SHA1 Message Date
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
Matt f7cc2973e1 Add Documenso integration for EOI document generation
- Add Documenso API configuration to environment variables
- Create endpoint to generate EOI documents with e-signature capability
- Update email composer to insert generated EOI document links
- Add UI indicators for EOI generation status in interest details
- Emit events to refresh interest data after EOI generation
2025-06-09 22:40:37 +02:00
Matt 618c888b85 Add email communication system with encrypted credentials
- Add email components for composing, viewing threads, and credential setup
- Implement server API endpoints for sending emails and fetching threads
- Add encryption utilities for secure credential storage
- Configure email settings in environment variables
- Integrate email functionality into interest details modal
2025-06-09 21:45:06 +02:00
Matt 94c5e3f140 Add authentication and validation to delete-interest API, refactor modal list item
- Add x-tag header authentication check to delete-interest endpoint
- Add ID validation and improved error handling with proper typing
- Refactor InterestDetailsModal v-select item template structure
2025-06-05 14:56:05 +02:00
Matt ef091d7b29 Update sales level styling and improve UI performance
- Standardize sales level color mapping across components
- Enhance delete button styling with flat variant and white text
- Improve stepper visualization with consistent color logic
- Optimize Safari scrolling performance with CSS transforms
- Add TypeScript casting for data operations
2025-06-05 14:49:29 +02:00
Matt afc709282f Enhance sales process level selector with colored chips
- Add colored chip display to dropdown items for better visual clarity
- Apply consistent base color to list items based on sales level
- Change progress bar to use static blue color instead of dynamic coloring
- Improve visual hierarchy and readability of sales process levels
2025-06-04 20:05:49 +02:00
Matt 2ea72ef24e Add interest deletion and sales pipeline status tracking
- Add delete button with confirmation dialog to InterestDetailsModal
- Implement delete-interest API endpoint
- Add sales pipeline status section with visual indicators
- Update UI states to handle deletion loading states
- Add color-coded sales process level selection
2025-06-04 19:51:51 +02:00
Matt 4d3935e863 Fix file downloads for Safari with proper filename handling
Implement browser-specific download methods to ensure files download with correct filenames across all browsers. Safari now uses window.location.href while other browsers use blob URLs. Add Content-Disposition header to proxy endpoint for proper filename preservation.
2025-06-04 19:13:09 +02:00
Matt b7544d82f3 Add proxy downloads and bulk file operations
- Implement proxy download endpoint for better mobile Safari compatibility
- Add bulk selection with checkboxes in file browser
- Add bulk actions bar for downloading/deleting selected files
- Replace direct S3 downloads with server-proxied downloads
- Fix download issues on mobile devices by using proper link handling
2025-06-04 18:37:41 +02:00
Matt 1463fdb3d7 Fix file download for mobile Safari compatibility
Replace window.open() with programmatic link creation and click to ensure
file downloads work properly on mobile Safari. Also adds proper filename
handling to preserve extensions during download.
2025-06-04 18:29:52 +02:00
Matt 482af0c862 Replace embed with iframe for better PDF preview support
Switch from embed to iframe element for displaying PDFs to improve
cross-browser compatibility and mobile experience. Add responsive
styling with proper positioning and iOS smooth scrolling support.
Adjust preview container heights for mobile devices.
2025-06-04 18:19:42 +02:00
Matt bac1bb2b5e Add file rename functionality and improve preview handling
- Implement file/folder rename feature with dialog and API endpoint
- Add rename button to file browser with keyboard shortcuts
- Switch PDF preview from object to embed tag for better compatibility
- Fix CORS issues by fetching preview files as blobs with object URLs
- Add proper cleanup for object URLs to prevent memory leaks
- Add renameObject utility function for MinIO operations
2025-06-04 18:14:00 +02:00
Matt 673b6c6748 updates 2025-06-04 17:35:49 +02:00
Matt e377662935 Add debug logging for file preview errors
- Add console logging when setting preview proxy URL
- Enhance error handler to capture and log error event details
- Log current preview URL on load failure for debugging
2025-06-04 17:27:04 +02:00
Matt 9e9c667d1f Add proxy endpoint to fix CORS issues for file previews
- Create new `/api/files/proxy-preview` endpoint that fetches and serves files directly
- Update FilePreviewModal to use proxy endpoint for images and PDFs
- Set appropriate headers for inline display and caching
- Remove trailing slash from folder display names in file list
2025-06-04 17:19:52 +02:00
Matt 61cefa530e Add MinIO file browser with upload, preview, and management features
- Implement file browser UI with upload/download capabilities
- Add API endpoints for file operations (list, upload, delete, preview)
- Create FileUploader and FilePreviewModal components
- Configure MinIO integration with environment variables
- Add documentation for MinIO file browser setup
2025-06-04 16:32:50 +02:00
Matt 185674ecbe Refactor InterestDetailsModal to separate mobile and desktop layouts
Remove conditional mobile styling from toolbar buttons and add dedicated
mobile action buttons section with improved card-based layout for better
mobile user experience.
2025-06-04 03:10:10 +02:00
Matt 3e754bb906 Replace emoji flags with real images and add country search
- Use flagcdn.com for country flag images instead of emoji flags
- Add search functionality to filter countries in dropdown
- Expand country list to include all countries worldwide
- Improve country list UI with better layout and styling
- Add error handling for flag image loading failures
- Remove flag property from Country interface
2025-06-04 03:02:25 +02:00
Matt c592e38569 Replace v-phone-input with custom PhoneInput component
Implement a custom PhoneInput component to replace the third-party v-phone-input library. The new component provides country selection, phone number formatting, and integrates seamlessly with Vuetify's form controls. Updated CreateInterestModal and InterestDetailsModal to use the new component.
2025-06-04 02:55:02 +02:00
Matt 6b922580c5 Add v-phone-input component for enhanced phone number fields
Replace basic text fields with v-phone-input in CreateInterestModal and
InterestDetailsModal to provide country selection, validation, and better
UX for phone number entry. Includes US as default with preferred countries
list and search functionality.
2025-06-04 02:43:21 +02:00
Ron 762fddea70 feat: add new status columns 2025-06-04 00:48:44 +03:00
Ron bc0fa6fbe0 feat: add interest button 2025-06-03 22:04:22 +03:00
Ron 0437ba6462 fix: mode 2025-06-03 20:32:34 +03:00
Ron b3651e7f43 feat: update 2025-06-03 18:57:08 +03:00
Ron b4313dd815 feat: changes 2025-05-29 08:32:13 +03:00