Skip to content

Latest commit

 

History

History
90 lines (76 loc) · 4.01 KB

File metadata and controls

90 lines (76 loc) · 4.01 KB

[2025-12-30] Dev Log: UI Polish & Rebrand Session

Context

Extended UI polish session addressing 7+ visual/interaction bugs, followed by strategic rebrand from “Claude Code Explorer” to just “ccx”.

Why

User feedback identified multiple UX inconsistencies and visual issues that degraded the perceived quality. Rebrand needed to reduce confusion for new users.

What

UI/UX Fixes (12 items)

FixDescription
Live button animationAnimate existing icon, not add another dot
Theme flashInline script in <head> before CSS loads
Search badgesUnified P/S/M colored badges across all search UIs
Global search formatSame result format in TopNav and Search page
Fold/tools conflictFixed broken click handler (checks always true)
Tail mode scrollAuto-scroll to bottom when enabling
Tail mode togglesAuto-enable Think/Tools when tailing starts
Tail spinner positionLeft-aligned, below last block
Fold separatorClickable +N pill between user and final response
Icon systemSVG brand icon, geometric icons, removed emojis
Markdown tailingFull feature parity (tables, headers, lists)
RebrandRemoved “Explorer”, now “ccx for Claude Code”

Fold Architecture

  • Thread fold: click user header toggles .thread.folded class
  • Fold separator: clickable pill showing “+N > … o” between user and response
  • Tool details: independent <details> elements
  • Think/Tools toggles: control block visibility globally

Icon System (Unified)

LocationIcons Used
BrandSVG: c(coral) c(green) x(orange)
HeaderTheme toggle, Settings: geometric
ToolbarThink, Tools, Live, Export: geometric
Settings pageSections: filled/outline diamonds/circles
TurnsUser, Assistant, Command, Meta: geometric

Rebrand

  • Before: “Claude Code Explorer”, “ccx is a CLI tool for exploring…”
  • After: “ccx”, “Session viewer for Claude Code”
  • Header: ccx [icon] + “for Claude Code”

Decisions

DecisionRationale
Keep “ccx” not “ccex”Shorter, X = flexible meaning
Remove “Explorer” entirelyReduces confusion, cleaner identity
Geometric icons over emojisConsistent, professional, no font dependencies
Fold separator clickableTwo ways to unfold = better discovery
Auto-enable toggles when tailingToolbar should reflect actual content state

Files Changed

  • internal/web/templates.go (major - UI/CSS/JS)
  • internal/cmd/root.go (CLI description)
  • README.md (tagline)
  • DEVLOG.org (about section, entry links)
  • docs/devlog/* (restructured)

WIP

  • [X] UI/UX fixes (12 items)
  • [X] Rebrand
  • [X] Devlog restructure to docs/devlog/
  • [ ] Shell completions
  • [ ] ccx search CLI command

Notes

Fold Handler Bug (Root Cause)

The checks e.target.closest('details') and e.target.closest('summary') were ALWAYS true because userHeader IS a <summary> inside a <details>. Handler never ran, only browser’s default details toggle happened.

Markdown Parity

renderMarkdownJS() now matches Go renderMarkdown():

  • Code blocks with language class
  • Tables with thead/tbody
  • Headers h1-h4
  • Lists ul/li
  • Inline: code, bold, italic, links

Devlog Restructure

Moved from fragmented locations to unified docs/devlog/:

  • /worktree/ccx/devlog/* -> /worktree/ccx/docs/devlog/*
  • /dev-logs/* -> /worktree/ccx/docs/devlog/*