Skip to content

Conversation

@pappensex
Copy link
Owner

Summary

  • add clipboard helper and clear action for the chat feed
  • show per-message copy control with short copied feedback
  • style new feed controls including ghost buttons

Testing

  • npm run lint

Codex Task

Copilot AI review requested due to automatic review settings November 20, 2025 03:33
@vercel
Copy link

vercel bot commented Nov 20, 2025

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Preview Comments Updated (UTC)
transzendenz Error Error Nov 20, 2025 3:33am
yoni-app Error Error Nov 20, 2025 3:33am

@vercel
Copy link

vercel bot commented Nov 20, 2025

Deployment failed with the following error:

The `vercel.json` schema validation failed with the following message: should NOT have additional property `output`

Learn More: https://vercel.com/docs/concepts/projects/project-configuration

Copy link

Copilot AI left a 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.

Comment on lines +111 to +113
setTimeout(() => {
setCopiedId((current) => (current === id ? null : current))
}, 2000)
Copy link

Copilot AI Nov 20, 2025

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.

Copilot uses AI. Check for mistakes.
}

button.ghost:hover {
border-color: rgba(255, 255, 255, 0.35);
Copy link

Copilot AI Nov 20, 2025

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.

Suggested change
border-color: rgba(255, 255, 255, 0.35);
border-color: rgba(255, 255, 255, 0.35);
background: rgba(255, 255, 255, 0.08);

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant