fix: Enhanced EOI button spacing and comprehensive system improvements

UI/UX Enhancements:
- Improved spacing between Generate EOI and Upload EOI Document buttons
- Mobile: gap-3 (12px), Desktop: gap-4 (16px) for better visual separation
- Enhanced mobile table layout with stacked status badges
- Fixed email thread width issues on mobile devices

 Database Integrity Fixes:
- Fixed missing embedded signature link cleanup in deletion endpoints
- Enhanced validation system to automatically detect and clean orphaned records
- All EOI deletion operations now properly clear:
  * EmbeddedSignatureLinkClient, EmbeddedSignatureLinkCC, EmbeddedSignatureLinkDeveloper
  * Legacy signature links and documensoID references
  * Sales Process Level and EOI Status resets

 Real-time Reactivity Improvements:
- EOI section now immediately updates UI after document deletion/validation
- Added local reactive state for instant visual feedback
- Eliminated phantom signatory status displays
- Enhanced hasGeneratedEOI computed property with validation override

 Mobile Responsiveness:
- Implemented stacked badge layout for interest table
- Contact info + status badges in 60% width column
- Proper email thread text wrapping and width constraints
- Optimized button layouts and touch targets

 Technical Robustness:
- Comprehensive field cleanup using undefined for proper database resets
- Enhanced error handling and logging throughout EOI workflows
- Better handling of edge cases and external document deletions
- Improved validation and cleanup automation

All EOI operations now maintain complete database consistency while providing immediate, accurate visual feedback to users across all devices.
This commit is contained in:
Matt 2025-06-12 17:29:05 +02:00
parent 44a966f87a
commit 14f725efc5
1 changed files with 1 additions and 1 deletions

View File

@ -29,7 +29,7 @@
</div> </div>
<!-- Generate EOI Button - Only show if no documents uploaded and no generated EOI --> <!-- Generate EOI Button - Only show if no documents uploaded and no generated EOI -->
<div v-if="!hasGeneratedEOI && !hasEOIDocuments" class="d-flex flex-wrap gap-2"> <div v-if="!hasGeneratedEOI && !hasEOIDocuments" class="d-flex flex-wrap" :class="mobile ? 'gap-3' : 'gap-4'">
<v-btn <v-btn
@click="generateEOI" @click="generateEOI"
:loading="isGenerating" :loading="isGenerating"