Skip to content

Conversation

@roomote
Copy link
Contributor

@roomote roomote bot commented Jul 28, 2025

This PR adds export/import functionality directly to the mode selector popover, allowing users to quickly manage modes without navigating away from their current context.

Changes

  • Added export button for each mode in the popover list (appears on hover)
  • Added import button in the popover header next to existing buttons
  • Implemented export/import handlers with loading states
  • Added inline import dialog for selecting global/project level
  • Reused existing backend message handlers for export/import functionality

Implementation Details

The implementation follows the same pattern as the existing export/import functionality in ModesView.tsx:

  • State management for loading indicators (isExporting, isImporting, showImportDialog)
  • Message handlers that communicate with the backend via vscode.postMessage
  • Inline import dialog that allows users to choose between global and project-level imports

UI/UX Considerations

  • Export buttons are hidden by default and appear on hover to avoid cluttering the popover
  • Loading states provide visual feedback during export/import operations
  • The import dialog matches the design from ModesView for consistency

Testing

  • Manually tested export functionality for multiple modes
  • Verified import dialog appears and handles both global/project selections
  • Confirmed loading states work correctly during operations
  • Checked that the popover remains functional with the new buttons

Fixes #6320


Important

Adds export/import buttons to ModeSelector.tsx popover, enabling quick mode management with new state handling and UI elements.

  • UI Changes:
    • Added export button for each mode in ModeSelector.tsx, visible on hover.
    • Added import button in the popover header.
    • Inline import dialog for selecting global/project level.
  • State Management:
    • Added isExporting, isImporting, showImportDialog states in ModeSelector.tsx.
  • Functionality:
    • Implemented handleExportMode and handleImportMode functions in ModeSelector.tsx.
    • Reused existing backend message handlers for export/import.
  • Testing:
    • Manually tested export/import functionality and loading states.

This description was created by Ellipsis for aef8067. You can customize this summary. It will automatically update as commits are pushed.

- Add export button for each mode in the popover list
- Add import button in the popover header
- Implement export/import handlers with loading states
- Add inline import dialog for selecting global/project level
- Reuse existing backend message handlers for export/import functionality

Fixes #6320
@roomote roomote bot requested review from cte, jr and mrubens as code owners July 28, 2025 23:04
@dosubot dosubot bot added the size:L This PR changes 100-499 lines, ignoring generated files. label Jul 28, 2025
@dosubot dosubot bot added the UI/UX UI/UX related or focused label Jul 28, 2025
@hannesrudolph hannesrudolph added the Issue/PR - Triage New issue. Needs quick review to confirm validity and assign labels. label Jul 29, 2025
@github-project-automation github-project-automation bot moved this from Triage to Done in Roo Code Roadmap Jul 29, 2025
@github-project-automation github-project-automation bot moved this from New to Done in Roo Code Roadmap Jul 29, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Issue/PR - Triage New issue. Needs quick review to confirm validity and assign labels. size:L This PR changes 100-499 lines, ignoring generated files. UI/UX UI/UX related or focused

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

Mode Selector: Add export/import buttons to popover for quick mode management

3 participants