Files
dbdash/TODO.md
T
2026-10-19 15:40:37 +02:00

2.8 KiB

  • adopt vamp-style top and bottom bars with a fixed layout, not vamp's configurable segment/tab system.
    • render full-width bars in the outer shell (src/connection.rs) before splitting explorer/content; remove the old content-only header (src/app.rs, see above).
    • top: dbdash badge with vamp-style ▓░ trailing edge; retain provider and READ ONLY information without tab numbering.
    • bottom-left: current mode badge with ▓░ trailing edge, followed by the connected database name; bottom-right: focused input's one-based line:column with ░▓ leading edge.
    • capture a safe database display name on successful saved-profile and CLI connections, including SQLite; use the connected database, not explorer selection or Database::name() (which returns the provider). Never expose raw connection strings/passwords; show a clear disconnected state and retain the previous identity after a failed switch.
    • add Normal/Insert query editing with mode-aware key routing; define entry/navigation keys and make Esc leave Insert before returning to the explorer. Preserve query execution, multiline editing, paste, and focus cycling.
    • keep connection/password forms direct-entry for now; make the mode indicator reflect the focused surface rather than a stale query mode.
    • expose position from the existing Input cursor instead of duplicating state; follow the focused query/form field, hide position outside inputs, and define Unicode column semantics consistently.
    • keep relation/page/column status in pane borders and accommodate the separate help pane; do not add tabs, title templates, custom segments, or editor-specific status.
    • handle narrow/short terminals without overlapping content: truncate the database label before mode/position, and let bars yield to content when height is insufficient.
    • verify mode transitions/key precedence, focused-input Unicode positions, connection identity on successful/failed switches, and constrained layouts; smoke-run the TUI and ask for a visual check.
  • pressing i on a configured database connection should bring up a floating window with details/info on that connection.
  • show a * to the right of the connected db in the sidebar.
  • use the proper ending character in the family of ├ instead of that character all the way down.
  • remove this top-most line above the panels on the right-hand side: dbdash │ SQLite │ READ ONLY.
  • highlight the current cell isntead of just the current row in the results pane.
  • put the help text inside it's own pane so it fits the design more cleanly.
  • move the table name in the results pane from the bottom-left border title to top-right border title instead
  • remove the bottom navigation help panel and have a keybinding overview appear in a floating window when pressing ? in normal mode