About
A corner trigger button that expands into a floating feedback popup where a user types a message and submits it, with animated sending, success and retry states.
Built with React and Tailwind. Copy the prompt and paste it into Claude Code, Cursor or Lovable: your agent adds Feedback Widget to your project and fits it to your theme.
Code
How Feedback Widget is used: the demo's code. The component's own source comes with a free account.
Usage.tsx
"use client";
import { FeedbackWidget } from "@/components/ui/feedback-widget";
export default function FeedbackWidgetPreview() {
const submitFeedback = async () => {
await new Promise((resolve) => setTimeout(resolve, 900));
};
return (
<div className="relative h-80 w-full max-w-md overflow-hidden rounded-2xl border border-border bg-background">
{/* Faux app surface so the corner trigger has something to sit on. */}
<div className="border-b border-border px-5 py-3">
<div className="h-2.5 w-24 rounded-full bg-muted-foreground/20" />
</div>
<div className="flex flex-col gap-3 p-5">
<div className="h-2.5 w-3/4 rounded-full bg-muted-foreground/15" />
<div className="h-2.5 w-1/2 rounded-full bg-muted-foreground/15" />
<div className="h-24 w-full rounded-xl bg-muted-foreground/[0.06]" />
<div className="h-2.5 w-2/3 rounded-full bg-muted-foreground/15" />
</div>
<FeedbackWidget onSubmit={submitFeedback} />
</div>
);
}
















