Skip to content

Add comprehensive UI/UX review of the Keystone app#12

Open
dortort wants to merge 2 commits intomainfrom
claude/review-app-ui-ux-YxD9l
Open

Add comprehensive UI/UX review of the Keystone app#12
dortort wants to merge 2 commits intomainfrom
claude/review-app-ui-ux-YxD9l

Conversation

@dortort
Copy link
Owner

@dortort dortort commented Feb 6, 2026

Covers all renderer components, stores, design tokens, and shared primitives.
Identifies 3 critical usability issues (no markdown in chat, no loading states,
silent error swallowing), accessibility gaps, layout problems, and design system
inconsistencies. Includes prioritized fix recommendations.

https://claude.ai/code/session_01JwumdxZkaPEigcLfFzJ9Eb

Covers all renderer components, stores, design tokens, and shared primitives.
Identifies 3 critical usability issues (no markdown in chat, no loading states,
silent error swallowing), accessibility gaps, layout problems, and design system
inconsistencies. Includes prioritized fix recommendations.

https://claude.ai/code/session_01JwumdxZkaPEigcLfFzJ9Eb
P0 Critical fixes:
- Render markdown in chat messages using existing renderMarkdown pipeline
- Add loading spinner during project open (5+ sequential API calls)
- Surface all errors as toast notifications instead of silent console.error
- Create Toast notification system with auto-dismiss and slide-in animation

P1 Significant fixes:
- Wire up dark mode toggle in Settings with Light/Dark/System options
- Apply dark class to document element via uiStore, listen for system changes
- Show document title alongside type in DocumentTabs (distinguishes multiple ADRs)
- Add relative timestamps to ThreadListItem (e.g., "5m ago", "2d ago")
- Add focus trap, role="dialog", aria-modal to Dialog component
- Restore focus to trigger element on dialog close

P2 Improvements:
- Add keyboard shortcuts: Cmd+B (sidebar), Cmd+N (new thread),
  Cmd+Shift+N (new project), Cmd+, (settings)
- Persist panel ratio in uiStore so resize survives navigation
- Widen resizable panel drag handle (w-1 -> w-1.5) with invisible hit zone
- Add Shift+Enter hint below message input with kbd styling
- Expand Tailwind design tokens (accent-light, accent-muted, muted colors)
- Add slide-in-from-right and fade-in animation keyframes

P3 & Layout fixes:
- Add thread search/filter (auto-shows when >3 threads)
- Clamp SelectionToolbar position to prevent viewport overflow
- Standardize ADRPromptDialog to use Button component
- Make thread list collapsible to reduce double-sidebar space usage
- Reduce sidebar width (w-56 -> w-52) and thread list (w-56 -> w-48)
- Fix DocumentOutline with fixed w-48 width to prevent layout shifts

Accessibility:
- Add aria-label to all icon buttons (sidebar toggle, settings, send, etc.)
- Add aria-hidden="true" to all decorative SVG icons
- Add role="tablist"/role="tab"/aria-selected to DocumentTabs
- Add role="separator" and aria-orientation to ResizablePanel divider
- Add role="status" to StreamingIndicator
- Add role="toolbar" to SelectionToolbar
- Add aria-current to active sidebar/thread items
- Add aria-expanded to collapsible controls
- Add aria-label to ProviderCard radio inputs with htmlFor/id association
- Improve color contrast (text-gray-400 -> text-gray-500/600 in key places)
- Add role="contentinfo" to StatusBar, active provider status indicator

https://claude.ai/code/session_01JwumdxZkaPEigcLfFzJ9Eb
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.

2 participants