Changed from fixed w-[200px] to w-auto max-w-[280px] so the trigger
sizes to its content without clipping the environment badge.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
SelectValue already renders the color dot from the selected item,
so the explicit one in the trigger was redundant.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
SelectValue already renders the badge from the selected item content,
so the explicit badge in the trigger and the standalone toolbar badge
were redundant.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Visual badges help distinguish environments across the UI to prevent
running dangerous queries on production. Environment color takes
priority over custom connection color for the toolbar border.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Export dropdown (CSV/JSON) appears in the WorkspacePanel toolbar when
query results are available, and in the TableDataView toolbar for table
data. Uses the Tauri save dialog for file path selection.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add four developer/QA features:
- Connection color coding: color picker in dialog, colored indicators across toolbar, tabs, status bar, and connection selectors
- Query history: Rust backend with JSON file storage (500 entry cap), sidebar panel with search/clear, auto-recording from workspace
- Schema-aware SQL autocomplete: backend fetches column metadata, CodeMirror receives schema namespace with public tables unprefixed
- EXPLAIN ANALYZE visualizer: recursive tree view with cost-colored bars, expand/collapse nodes, buffers info, Results/Explain tab toggle
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Connections default to read-only. SQL editor wraps queries in a
read-only transaction so PostgreSQL rejects mutations. Data mutation
commands (update_row, insert_row, delete_rows) are blocked at the
Rust layer. Toolbar toggle with confirmation dialog lets users
switch to read-write. Badges shown in workspace, table viewer, and
status bar.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add TableDataView with pagination, filtering, and inline editing,
TableStructure with columns/constraints/indexes tabs,
PaginationControls, and ExportDialog for CSV/JSON export.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add CodeMirror 6 SQL editor with Ctrl+Enter execution, ResultsTable
with virtual scrolling and resizable columns, ResultsPanel, EditableCell,
WorkspacePanel (editor + results split), and TabContent router.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add SchemaTree with database/schema/category hierarchy, Sidebar with
search, Toolbar, TabBar, StatusBar, and full app layout with
resizable panels.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add Rust backend: AppState with connection pool management,
TuskError handling, ConnectionConfig model, and all commands
for connections, schema browsing, query execution, data CRUD,
and CSV/JSON export via sqlx.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Set up Vite + React 19 + TypeScript, Tauri v2, Tailwind v4,
shadcn/ui (dark theme), and all core frontend dependencies
(Zustand, TanStack Query/Table/Virtual, CodeMirror, lucide-react).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>