Skip to content

Conversation

@michelroegl-brunner
Copy link
Member

@michelroegl-brunner michelroegl-brunner commented Oct 13, 2025

πŸš€ Multi-Select Script Download Feature

This PR adds comprehensive multi-selection functionality for downloading scripts with real-time progress tracking and improved user experience.

✨ Features Added

🎯 Multi-Selection

  • Checkbox Selection: Added checkboxes to both card and list views
  • Select All Visible: Button to select all scripts in current filtered view
  • Clear Selection: Button to deselect all scripts
  • View Switching: Selection clears when switching between card/list views

πŸ“Š Progress Tracking

  • Real-time Progress: Individual script downloads with actual progress updates
  • Visual Indicators:
    • βœ“ Successfully downloaded (green)
    • βœ— Failed download (red)
    • ⟳ Currently downloading (blue with pulse)
    • β—‹ Pending (gray)
  • Current Script Display: Shows which script is currently being downloaded
  • Progress Bar: Animated bar showing completion percentage

πŸ”„ Download Actions

  • Download Selected: Downloads only selected scripts from visible set
  • Download All Filtered: Downloads all scripts in current filtered view
  • Individual Downloads: Each script downloads independently for better error handling

🎨 User Experience

  • Persistent Progress Bar: Stays visible until manually dismissed
  • Manual Dismiss: X button appears when download completes
  • Real-time Card Updates: Cards update download status immediately after completion
  • User-friendly Errors: Specific, actionable error messages instead of generic failures

πŸ› οΈ Technical Improvements

  • Error Handling: Comprehensive error message translation for better user guidance
  • State Management: Proper cleanup and state synchronization
  • API Integration: Uses existing loadScript API for individual downloads
  • TypeScript: Full type safety with proper interfaces

🎯 Key Benefits

  • Better UX: Users can select multiple scripts and download them efficiently
  • Real Progress: No more fake progress bars - shows actual download progress
  • Clear Feedback: Users know exactly what's happening and why something failed
  • Flexible Selection: Works with filtered views and category selections
  • Error Recovery: Detailed error messages help users understand and fix issues

πŸ§ͺ Testing

  • Multi-select functionality works in both card and list views
  • Progress bar shows real-time updates during downloads
  • Error messages are user-friendly and actionable
  • Card status updates immediately after download completion
  • Selection clears when switching between views
  • Progress bar persists until manually dismissed

- Add checkbox selection to script cards (both card and list views)
- Implement individual script downloads with real-time progress
- Add progress bar with visual indicators (βœ“ success, βœ— failed, ⟳ in-progress)
- Add batch download buttons (Download Selected, Download All Filtered)
- Add user-friendly error messages with specific guidance
- Add persistent progress bar with manual dismiss option
- Clear selection when switching between card/list views
- Update card download status immediately after completion

Features:
- Multi-select with checkboxes on script cards
- Real-time progress tracking during downloads
- Detailed error reporting with actionable messages
- Visual progress indicators for each script
- Batch download functionality for selected or filtered scripts
- Persistent progress bar until manually dismissed
- Automatic card status updates after download completion
@michelroegl-brunner michelroegl-brunner requested a review from a team as a code owner October 13, 2025 12:11
- Replace logical OR operators (||) with nullish coalescing (??) for safer null/undefined handling
- Replace for loop with for-of loop for better iteration
- Remove unused variable 'results'
- Fix all TypeScript ESLint warnings and errors
- Use type guard to check for 'error' property before accessing
- Fix 'Property error does not exist' TypeScript error
- Ensure safe access to error property in result object
@michelroegl-brunner michelroegl-brunner merged commit 24afce4 into main Oct 13, 2025
4 checks passed
@michelroegl-brunner michelroegl-brunner deleted the feat/multiple-downloads branch October 14, 2025 06:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants