Skip to content

feat(cli): Rich-styled UI with animations, responsive layout, and help system - #12

Merged
HimanM merged 5 commits into
mainfrom
feat/cli-ui-overhaul
Jun 18, 2026
Merged

feat(cli): Rich-styled UI with animations, responsive layout, and help system#12
HimanM merged 5 commits into
mainfrom
feat/cli-ui-overhaul

Conversation

@HimanM

@HimanM HimanM commented Jun 18, 2026

Copy link
Copy Markdown
Owner

Summary

  • Rich-styled CLI -- Rewrites PortableCLIManager with Rich rendering (panels, tables, colors, progress bars) bridged to prompt_toolkit via ANSI class
  • Splash screen -- Animated startup with ASCII art logo, spinner, and progress bar (compact mode for narrow terminals)
  • Responsive layout -- All views adapt to terminal width: dashboard stacks panels vertically on narrow screens, drops hides columns progressively, settings shows priority/exclude lists side-by-side when wide enough
  • Help system -- /help opens a full-page view with three categories (navigation, control, system), each showing commands with descriptions in a Rich table
  • /detach command -- Detaches from tmux sessions while keeping the miner running
  • WSL/Android fixes -- Removed color_system="truecolor" for auto-detection, replaced Unicode box-drawing logo with ASCII art, fixed Rich markup angle bracket issues
  • ANSI rendering fix -- Uses prompt_toolkit.formatted_text.ANSI to properly convert Rich output to prompt_toolkit formatted text
  • Documentation -- New DEPLOY.md with complete build/run instructions for every platform (Windows, Linux, macOS, Termux). Updated README.md with command tables and deploy link

Changes

File Change
tui/cli.py Major rewrite -- Rich rendering, animations, responsive views, help system, /detach
tui/state.py Added splash_shown and spinner_tick fields
DEPLOY.md New -- full deployment guide for all platforms
README.md Updated CLI commands section with tables, added deploy.md link

Test Plan

  • python -m pytest tests/test_tui_state.py -- all pass
  • Rich rendering smoke tests at multiple widths (40, 60, 80, 100 cols)
  • Splash renders compact on narrow, full on wide
  • /help, /help navigation, /help control, /help system all render
  • /detach command exists and is in COMMANDS tuple
  • Mini progress bars render as Text objects (not raw markup)

HimanM added 5 commits June 18, 2026 16:54
…p system

- Rewrite PortableCLIManager with Rich rendering (panels, tables, colors)
- Add splash screen with animated spinner and progress bar
- Add animated spinners for loading states and login screen
- Make all views responsive for narrow terminals (Termux, SSH)
- Dashboard: stacked panels on narrow width, side-by-side on wide
- Drops: hide columns progressively as width decreases
- Settings: priority/exclude lists side-by-side when width allows
- Add /help command with categorized help pages (navigation, control, system)
- Add /detach command to detach tmux sessions
- Fix ANSI escape rendering (use prompt_toolkit.formatted_text.ANSI)
- Fix Rich markup being eaten by angle brackets in settings help text
- Replace Unicode box-drawing splash logo with ASCII art for WSL compatibility
- Add DEPLOY.md with full build/run instructions for every platform
- Update README.md with command tables and deploy.md link
Add _screen_text, _channels_lines, _drops_lines wrappers that strip
ANSI codes and return the old list[str] format expected by tests.
- Use capitalized column names (Drop, Progress, Viewers, ACL) in assertions
- Bump narrow terminal threshold from 52 to 60 cols to hide Linked column
- Allowed column hidden on narrow terminals (< 92 cols) as designed
@HimanM HimanM self-assigned this Jun 18, 2026
@HimanM
HimanM merged commit a19b99b into main Jun 18, 2026
11 checks passed
@HimanM
HimanM deleted the feat/cli-ui-overhaul branch June 18, 2026 11:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant