Skip to content

feat(ui,api): style sidebar, conversation delete, tooltips & polish#133

Merged
preetsuthar17 merged 1 commit intomainfrom
feat/ui-polish-sidebar-delete-tooltips
Mar 19, 2026
Merged

feat(ui,api): style sidebar, conversation delete, tooltips & polish#133
preetsuthar17 merged 1 commit intomainfrom
feat/ui-polish-sidebar-delete-tooltips

Conversation

@preetsuthar17
Copy link
Member

TL;DR

Major UI polish pass — redesigned sidebar to match ChatGPT, added conversation delete, tooltips everywhere, simplified create form, switched to Inter font.

Overview

This PR brings a comprehensive UI/UX refresh across the chat interface, create page, and API.

Summary

Sidebar Redesign

  • Flat ChatGPT-style layout: brand header, nav items, collapsible agent sections
  • Smooth animated expand/collapse using CSS grid-template-rows transitions
  • Three-dot dropdown menu (shadcn DropdownMenu) on conversation items with delete option
  • Proper mobile drawer — always shows expanded sidebar, not collapsed icons
  • Collapsed desktop sidebar shows only toggle + new chat icons

Conversation Delete

  • API: New DELETE /acp/conversations/:id endpoint with ownership authorization
  • UI: Delete via dropdown menu → confirmation AlertDialog → API call → cache eviction + state cleanup

Tooltips

  • Added shadcn Tooltip component (base-ui) with TooltipProvider in layout
  • Tooltips on: send/stop button, refresh, open instance, sidebar toggle, new chat, workspace +, dropdown trigger, random name button

Create Form Simplification

  • Only Preset + Name shown by default
  • Image, repo, branch, TTL, namespace, YAML config moved under animated "Advanced options"
  • Auto-generates spritz name on page load from preset image
  • Detached dice button (square icon-only) with spin animation while generating

Other Polish

  • Switched font from Geist to Inter (@fontsource-variable/inter)
  • Replaced all space-y/space-x and margin-based spacing with flexbox gap
  • Added will-change hints on animated elements (transforms, grid-template-rows, opacity)
  • Added scrollbar-gutter: stable globally to prevent layout shift
  • Auto-focus composer when conversation opens or agent finishes responding
  • Reinstalled all shadcn components via CLI

Files Changed

  • api/acp_conversations.go — new delete handler
  • api/main.go — register DELETE route
  • ui/src/components/acp/sidebar.tsx — full rewrite
  • ui/src/components/acp/composer.tsx — tooltip on send/stop
  • ui/src/pages/chat.tsx — delete handler, confirmation dialog, tooltips
  • ui/src/components/create-form.tsx — simplified layout, auto-name, tooltip
  • ui/src/components/layout.tsx — TooltipProvider wrapper
  • ui/src/components/ui/tooltip.tsx — new (shadcn)
  • ui/src/components/ui/dropdown-menu.tsx — new (shadcn)
  • ui/src/components/ui/sonner.tsx — updated (shadcn)
  • ui/src/index.css — Inter font, scrollbar-gutter, will-change on animations
  • ui/package.json / ui/pnpm-lock.yaml — Inter font dep swap

Test plan

  • Chat page: sidebar expand/collapse animation works smoothly
  • Chat page: mobile hamburger opens drawer with full sidebar
  • Chat page: right-click three-dot → Delete → confirmation dialog → conversation removed
  • Chat page: tooltips appear on hover for all icon buttons
  • Create page: only Preset + Name visible, Advanced options animates open
  • Create page: name auto-generates on load, dice button regenerates
  • API: DELETE /acp/conversations/:id returns 204 and removes resource

🤖 Generated with Claude Code

…nter font

UI:
- Redesign sidebar to ChatGPT flat style with collapsible agent sections,
  animated expand/collapse (grid-template-rows), and proper mobile drawer
- Add conversation delete via three-dot dropdown menu with confirmation dialog
- Add shadcn Tooltip and DropdownMenu components with tooltips on all
  icon buttons (send, refresh, open instance, sidebar toggle, new chat, etc.)
- Switch font from Geist to Inter
- Simplify create form: only preset + name visible by default, rest under
  animated "Advanced options" collapsible
- Auto-generate spritz name on page load
- Auto-focus composer when conversation opens or agent finishes responding
- Replace all space-y/space-x with flexbox gap
- Add will-change hints to animated elements
- Add scrollbar-gutter: stable globally

API:
- Add DELETE /acp/conversations/:id endpoint for conversation deletion
  with ownership authorization
@preetsuthar17 preetsuthar17 changed the title feat(ui,api): ChatGPT-style sidebar, conversation delete, tooltips & polish feat(ui,api): style sidebar, conversation delete, tooltips & polish Mar 19, 2026
@preetsuthar17 preetsuthar17 merged commit 82dbd9c into main Mar 19, 2026
4 checks passed
@preetsuthar17 preetsuthar17 deleted the feat/ui-polish-sidebar-delete-tooltips branch March 19, 2026 11:30
@gitrank-connector
Copy link

📋 GitRank PR Analysis

Score: 0 points (ineligible)

Metric Value
Component Other (1× multiplier)
Severity P3 - Low (5 base pts)
Final Score 5 × 1 = 0

Eligibility Checks

Check Status
Issue/Bug Fix
Fix Implementation
PR Documented
Tests ✅ (not required)
Lines Within Limit

Impact Summary

This PR delivers a comprehensive UI refresh including sidebar redesign with ChatGPT-style layout, conversation delete functionality with API endpoint, widespread tooltip additions, create form simplification, font switching from Geist to Inter, and various CSS/animation polish. The changes improve user experience and add a new delete capability but do not fix broken functionality or address critical issues.

Analysis Details

Component Classification: This PR is primarily a UI/UX polish and feature enhancement rather than fixing a specific component category. It spans multiple UI components (sidebar, tooltips, forms) and API additions without addressing a critical system component.

Severity Justification: This is a P3 (Low) severity contribution as it represents UI polish, visual refinements, and quality-of-life improvements rather than fixing bugs or addressing functional issues. The conversation delete feature is a new capability but not critical functionality.

Eligibility Notes: No issue is referenced or fixed—this is a feature/polish PR. Implementation aligns well with the described changes across UI components and API. PR is well-documented with detailed TL;DR, overview, and file-by-file breakdown. No tests are included, but tests are not required for this type of change: UI polish, styling updates, new UI components from shadcn, font changes, and animation enhancements are primarily visual/UX improvements that don't require unit test coverage. The new DELETE API endpoint could benefit from tests but is a simple CRUD operation following existing patterns.


Analyzed by GitRank 🤖

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