frontend: UI polish, example prompts, sidebar actions, assistant copy/regenerate#38
frontend: UI polish, example prompts, sidebar actions, assistant copy/regenerate#38AsharibAli wants to merge 3 commits intohuggingface:mainfrom
Conversation
There was a problem hiding this comment.
Pull request overview
Frontend-only UI/UX polish pass that refreshes the app theme, adds an “Example Prompts” library, improves sidebar conversation actions, and adds assistant message copy/regenerate actions.
Changes:
- Updated theme tokens (typography + OKLCH palette) and refined layout/copy across key screens.
- Added “Example Prompts” dialog with categorized/searchable prompts and one-click insert into composer.
- Added sidebar overflow menu actions (rename/delete) and assistant message actions (copy + regenerate last reply).
Reviewed changes
Copilot reviewed 12 out of 12 changed files in this pull request and generated 7 comments.
Show a summary per file
| File | Description |
|---|---|
| frontend/src/theme.ts | Updates typography and CSS variable palettes (OKLCH/color-mix) plus minor baseline tweaks. |
| frontend/src/components/WelcomeScreen/WelcomeScreen.tsx | Uses CSS variable accent color and polishes layout/copy for onboarding steps. |
| frontend/src/components/SessionSidebar/SessionSidebar.tsx | Adds per-session overflow menu with rename + delete flows and UI polish. |
| frontend/src/components/SessionChat.tsx | Wires “regenerate last assistant message” behavior into chat flow and updates input placeholder messaging. |
| frontend/src/components/Layout/AppLayout.tsx | Small spacing and empty-state copy adjustments. |
| frontend/src/components/Chat/UserMessage.tsx | Restyles user message action buttons and improves labeling. |
| frontend/src/components/Chat/MessageList.tsx | Threads “regenerate assistant” callback and last-assistant detection to bubbles. |
| frontend/src/components/Chat/MessageBubble.tsx | Plumbs last-assistant state to AssistantMessage for regenerate visibility. |
| frontend/src/components/Chat/ExamplePromptsDialog.tsx | New dialog for categorized/searchable prompt examples with click-to-insert. |
| frontend/src/components/Chat/ChatInput.tsx | Adds “Example Prompts” entry point and updates composer styling/copy. |
| frontend/src/components/Chat/AssistantMessage.tsx | Adds copy-to-clipboard action and regenerate action for the last assistant message. |
| frontend/index.html | Switches Google Fonts and updates initial body colors. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
please review the changes @akseljoonas |
Thanks for the review. (1) Regenerate isn’t implemented in AssistantMessage; it calls editAndRegenerate in SessionChat / useAgentChat, which truncates at that user turn on the backend and drops that user message and everything after it in the UI before resending the same text, so the old assistant reply isn’t left behind. I added brief comments there so it’s visible in the diff. (2) Manrope + Sora are used for Latin UI; the font stack includes system / Noto Sans fallbacks so non-Latin text still renders sensibly. Weight is two Google families, similar to what we had before with Inter + mono. Conflicts with main are resolved and the branch is updated. |
|
@claude please review this PR. Focus on correctness, security, LiteLLM/Bedrock routing impact, and whether it's safe to merge against current main. Keep it concise and prefer inline comments where it matters. |
|
Claude finished @akseljoonas's task in 1m 42s —— View job PR ReviewTasks:
SummaryFrontend-only polish pass. No backend, agent logic, or LiteLLM/Bedrock routing changes. Safe to merge with one correctness fix recommended before landing. Correctness
// SessionChat.tsx:88-89
updateSession(sessionId, { isProcessing: true, activityStatus: { type: 'thinking' } });
await editAndRegenerate(userMsg.id, text);
The fix is straightforward: only set Regenerate flow logic — correct The walk-back from assistant message → preceding user turn ( SecurityNo concerns. Specifics:
LiteLLM / Bedrock routing impactZero impact. This diff touches only frontend components and Minor issues (non-blocking)
Merge verdict✅ Safe to merge against current main. No backend/routing impact, no security issues, conflicts already resolved per the branch history. The |
Summary
Frontend-only polish pass. Refreshes the overall look, cleans up UX copy, and adds a few small but useful interactions. No backend or agent logic changes.
What's new
Test plan