-
Notifications
You must be signed in to change notification settings - Fork 0
Add copy and clear controls for chat feed entries #127
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Deployment failed with the following error: Learn More: https://vercel.com/docs/concepts/projects/project-configuration |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR adds user-friendly copy and clear functionality to the chat feed interface. Users can now copy individual messages to the clipboard with visual feedback and clear the entire conversation history.
Key changes:
- Implements per-message clipboard functionality with "Kopiert!" confirmation feedback
- Adds a "Verlauf leeren" button to clear the entire chat feed
- Introduces ghost button styling for subtle secondary actions
Reviewed Changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| app/page.tsx | Adds copiedId state, handleCopy and handleClearFeed functions, and updates feed UI with copy controls and clear button |
| app/globals.css | Adds styling for ghost buttons, item header layout, and feed text formatting |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| setTimeout(() => { | ||
| setCopiedId((current) => (current === id ? null : current)) | ||
| }, 2000) |
Copilot
AI
Nov 20, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The setTimeout callback is not cleaned up if the component unmounts or if another copy action occurs before the timeout completes. Store the timeout ID and clear it in a cleanup function or when a new copy is initiated to prevent potential memory leaks and stale state updates.
| } | ||
|
|
||
| button.ghost:hover { | ||
| border-color: rgba(255, 255, 255, 0.35); |
Copilot
AI
Nov 20, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The ghost button hover state only changes border color, which may not provide sufficient visual feedback for users with low vision or color blindness. Consider also adding a background color change or other visual indicator on hover.
| border-color: rgba(255, 255, 255, 0.35); | |
| border-color: rgba(255, 255, 255, 0.35); | |
| background: rgba(255, 255, 255, 0.08); |
Summary
Testing
Codex Task