Syed Hasnain

Approval Card

AI chats 14

About

A human-in-the-loop decision surface for questions, review steps, and consequential actions.

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

Code

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

Usage.tsx

import { useState } from 'react'
import ApprovalCard from '@/components/ui/approval-card'

export default function Demo() {
  const [status, setStatus] = useState<'approved' | 'denied' | 'pending'>('pending')

  return (
    <ApprovalCard
      className="w-full max-w-lg"
      description="The agent will publish 14 locally authored components to the public registry."
      onDecision={(decision) => setStatus(decision === 'approve' ? 'approved' : 'denied')}
      status={status}
      title="Publish this release?"
    />
  )
}

Dependencies

More by Syed Hasnain

View all
  • Color Picker

    Color Picker

    91
  • Cost Meter

    Cost Meter

    31
  • Message Scroller

    Message Scroller

    26
  • Quota Banner

    Quota Banner

    21
  • Background Inbox

    Background Inbox

    20
  • Commit

    Commit

    18
  • Image Generation Loader

    Image Generation Loader

    17
  • Attachments

    Attachments

    17

More in AI chats

View all
  • AI Actions

    AI Actions

    321
  • AI Task List

    AI Task List

    161
  • Message Thread

    Message Thread

    40
  • System Message

    System Message

    56
  • Code Block

    Code Block

    11
  • Message With Header And Delivery Status

    Message With Header And Delivery Status

    39
  • Chat Bubble

    Chat Bubble

    185
  • Suggestions

    Suggestions

    28

Explore more

Part of Pasta UI — browse the full library on 21st.dev.