# DataExportSection.vue Migration Audit ## Component Overview - **File**: `src/components/DataExportSection.vue` - **Size**: 163 lines (Medium Complexity) - **Purpose**: Data export and seed backup functionality with platform-specific behavior - **Migration Target**: Enhanced Triple Migration Pattern ## Migration Status: ⏳ READY FOR MIGRATION ### Pre-Migration Analysis - **Database Operations**: ✅ Already using PlatformServiceMixin - **SQL Queries**: ✅ No raw SQL queries found - **Notification Usage**: ✅ Already using modern notification helpers - **Template Complexity**: ⏳ Needs Phase 4 (Template Streamlining) ### Migration Requirements - ✅ **Phase 1**: Database Migration - NOT NEEDED (already migrated) - ✅ **Phase 2**: SQL Abstraction - NOT NEEDED (no raw SQL) - ✅ **Phase 3**: Notification Migration - NOT NEEDED (already modern) - ⏳ **Phase 4**: Template Streamlining - NEEDED (long CSS classes) ### Component Features to Migrate - **Data Export**: Database export to JSON file functionality - **Seed Backup**: Router link to seed backup page - **Platform Detection**: Platform-specific UI and behavior - **Error Handling**: Comprehensive error handling with notifications - **Loading States**: Export progress indication - **File Management**: Platform-specific file handling ### Technical Analysis - **Database Operations**: Uses `this.$contacts()` from PlatformServiceMixin - **Notification System**: Uses `createNotifyHelpers` with proper patterns - **Platform Service**: Uses `this.platformService.writeAndShareFile()` - **Template Classes**: 8+ long CSS classes that can be extracted - **Methods**: 2 methods with good documentation - **Computed Properties**: 1 computed property (`fileName`) ### Migration Complexity Assessment - **Database Migration**: Low (already migrated) - **SQL Abstraction**: Low (no raw SQL) - **Notification Migration**: Low (already modern) - **Template Streamlining**: Medium (8+ long classes to extract) - **Overall Complexity**: Low-Medium ### Estimated Migration Time - **Conservative Estimate**: 8-12 minutes - **Optimistic Estimate**: 4-6 minutes - **Based on**: Template streamlining complexity, good existing structure ### Risk Assessment - **Risk Level**: Low - **Potential Issues**: None identified - **Dependencies**: PlatformServiceMixin, notification helpers - **Testing Requirements**: Export functionality, platform detection ### Migration Strategy 1. **Phase 4 Focus**: Extract long CSS classes to computed properties 2. **Documentation**: Enhance existing documentation 3. **Template Cleanup**: Improve template readability 4. **Validation**: Ensure export functionality remains intact ### Success Criteria - ✅ All long CSS classes extracted to computed properties - ✅ Template complexity reduced - ✅ Export functionality preserved - ✅ Platform-specific behavior maintained - ✅ Error handling preserved - ✅ Lint validation passes ### Next Steps - ⏳ Begin Phase 4 (Template Streamlining) - ⏳ Extract CSS classes to computed properties - ⏳ Update documentation - ⏳ Validate functionality - ⏳ Create migration completion document