Edu Calvo

AI Message

AI chats 77

About

Chat message row for user and assistant turns, with copy, retry and vote actions that reveal on hover instead of crowding the bubble. Respects prefers-reduced-motion.

Built with React and Tailwind. Copy the prompt and paste it into Claude Code, Cursor or Lovable: your agent adds AI Message to your project and fits it to your theme.

Code

How AI Message is used: the demo's code. The component's own source comes with a free account.

Usage.tsx

"use client";

import Component from "@/components/ui/ai-message";

export default function DemoOne() {
  return (
    <div className="flex min-h-[440px] w-full items-center justify-center bg-background p-10">
      <div className="w-full max-w-lg space-y-4">
        <Component from="user" timestamp="09:24">
          Why does my dialog feel sluggish when it opens?
        </Component>

        <Component
          copyText="Your transition is 600ms with an easeInOut curve."
          from="assistant"
          onRetry={() => undefined}
          onVote={() => undefined}
          timestamp="09:24"
        >
          Your transition is 600ms with an ease-in-out curve, so the first third
          of the motion is almost stationary. Drop it to 0.25s with an ease-out
          curve and it will read as instant without losing the animation.
        </Component>
      </div>
    </div>
  );
}

Dependencies

More by Edu Calvo

View all
  • Scrollable Card Stack

    Scrollable Card Stack

    234
  • Siri Orb

    Siri Orb

    160
  • AI Task List

    AI Task List

    159
  • Cursor Follow

    Cursor Follow

    153
  • Pixel Flow Field

    Pixel Flow Field

    141
  • Agent Avatar

    Agent Avatar

    129
  • Gravity Stars

    Gravity Stars

    111
  • Coverflow Carousel

    Coverflow Carousel

    94

More in AI chats

View all
  • AI Actions

    AI Actions

    319
  • Agent Chat

    Agent Chat

    17
  • System Message

    System Message

    53
  • Message Thread

    Message Thread

    35
  • Color Picker

    Color Picker

    81
  • Quota Banner

    Quota Banner

    21
  • Code Block

    Code Block

    8
  • Thinking Orbs

    Thinking Orbs

    244