Skip to content

fix(ux): add fluid transitions and preserve navigation context in Mongo/Redis explorer stats view #632

Description

@ZhuchkaTriplesix

Motivation & Problem

In MongoExplorerView and RedisExplorerView, opening Statistics from the breadcrumb bar:

  • Triggers a hard, abrupt cut without any animation (if (_showStats) return MongoStatsView(...)), completely breaking the fluid motion aesthetic of Querya Desktop.
  • The entire breadcrumb navigation bar ([Connection] › [Database] › [Collection]) is replaced by the standalone statistics view header, causing complete loss of navigation context.
  • The return button in the stats header is simply labeled Explorer, with no indication of which database or collection will be restored.
  • If the user clicks the connection root in the sidebar while looking at explorer stats, selectedMongoDb is cleared, stranding the user in global server stats with the Explorer return button gone.

Proposed Scope & Fluid Motion

  1. Fluid Transitions:
    • Wrap the Explorer ↔ Stats toggle inside QueryaCrossFadeStack or QueryaSwitchingBody with QueryaMotion.standard (200ms) enter/exit curves.
    • Off-screen explorer state and documents stay keep-alive, preventing re-queries or re-connections.
  2. Persistent Context & Breadcrumbs:
    • Retain the top breadcrumb bar when viewing statistics, displaying [Connection] › [Database] › Statistics.
    • Allow 1-click navigation back to databases or collections directly through the breadcrumbs.
  3. Optimized Polling Lifecycle:
    • Ensure statistics polling timers (_pollInterval) pause gracefully via TickerGatedPolling / TickerMode when returning to the Explorer view.

Acceptance Criteria

  • Switching between Explorer and Statistics in Mongo/Redis uses smooth fluid crossfade/morph instead of hard cut.
  • Navigation breadcrumbs remain visible and functional in both Explorer and Stats modes.
  • Returning to Explorer restores exact previous collection/key view and scroll position.
  • No leaked timers or lingering socket polling when inactive.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingmotionAnimation system, transitions, motion tokensuiUser 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