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
- 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.
- Update feature workspace imports across PostgreSQL, MySQL, SQLite, and Extensions.
- Ensure zero regressions across widget and integration tests.
Acceptance Criteria
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.dartresults_tab.dartsql_editor_chrome.dartdestructive_query_dialog.dartdml_preview_dialog.dartdata_grid_staging_buffer.dartsql_query_history_dialog.dartProposed Scope
lib/features/workspace/orlib/shared/workbench/).main_screen.dartfocused strictly on window frame layout and top-level panel coordination.Acceptance Criteria
main_screenis decoupled from engine-specific workspace assembly.