Skip to content

refactor(workspace): modularize shared SQL editor and result workbench components #646

Description

@ZhuchkaTriplesix

Motivation & Problem

Currently, lib/features/main_screen/ acts both as the main window container (MainScreen, ShellChrome, ConnectionsPanel) and as a shared library of workbench components used by all database workspaces (mysql/, postgresql/, sqlite/, extensions/).

Specifically:

  • query_editor_tab.dart
  • results_tab.dart
  • sql_editor_chrome.dart
  • destructive_query_dialog.dart
  • dml_preview_dialog.dart
  • data_grid_staging_buffer.dart
  • sql_query_history_dialog.dart

Proposed Scope

  1. Reorganize and modularize workbench components:
    • Group shared SQL editor, result grid, and DML staging components into a dedicated module (lib/features/workspace/ or lib/shared/workbench/).
    • Keep main_screen.dart focused strictly on window frame layout and top-level panel coordination.
  2. Update feature workspace imports across PostgreSQL, MySQL, SQLite, and Extensions.
  3. Ensure zero regressions across widget and integration tests.

Acceptance Criteria

  • Reusable workspace components have a dedicated, cohesive home.
  • main_screen is decoupled from engine-specific workspace assembly.
  • All unit and widget tests pass.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestfrontendTheme parser epic label: frontend

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions