Skip to content

feat(tree): sync active table and collection selection in sidebar connections tree #633

Description

@ZhuchkaTriplesix

Motivation & Problem

Currently, ConnectionsPanel only tracks selectedConnectionId.

  • When a user selects a table (e.g. PostgreSQL public.users, MySQL orders, SQLite table), routine, or MongoDB collection, the tree node in the sidebar has no selected visual indicator (isSelected: false).
  • Only the top-level connection header has active border and tint styling.
  • As a result, the sidebar fails to communicate current location within the schema, leaving users disoriented when switching between multiple tables or databases.

Proposed Scope & Fluid Motion

  1. Pass Selected Object to Tree Nodes:
    • Forward selectedPostgresObject, selectedMysqlObject, selectedSqliteObject, selectedMongoDb, and selectedRedisDb to tree tiles.
  2. Visual Selection Feedback:
    • Apply active row background tint (primary.withValues(alpha: 0.12)) and subtle left indicator / accent color to the currently active tree row.
    • Smoothly animate selection highlight movement using AnimatedContainer with QueryaMotion.fast (120ms) duration.
  3. Auto-reveal / Focus Sync:
    • When a table is opened via external triggers (like quick switcher or breadcrumb navigation), ensure parent schema and database folders in the tree remain expanded.

Acceptance Criteria

  • Currently active table, view, or collection is clearly highlighted in the sidebar tree.
  • Switching between tree nodes animates selection background smoothly with QueryaMotion.fast.
  • Active highlight clears cleanly when switching to root Server Stats or when connection is deselected.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestfrontendTheme parser epic label: frontenduiUser interface components and widgetsuxUser experience, keyboard shortcuts and interactions

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions