About
Information cards can serve as callout cards, banners, toast notifications, or announcement boxes to deliver news, updates, and alerts to your users.
Built with React and Tailwind. Copy the prompt and paste it into Claude Code, Cursor or Lovable: your agent adds Information Card to your project and fits it to your theme.
Code
How Information Card is used: the demo's code. The component's own source comes with a free account.
Usage.tsx
import {
InfoCard,
InfoCardContent,
InfoCardTitle,
InfoCardMedia,
InfoCardDescription,
InfoCardFooter,
InfoCardDismiss,
InfoCardAction,
} from "@/components/ui/info-card"
import {
Sidebar,
SidebarProvider,
SidebarContent,
SidebarGroup,
SidebarGroupLabel,
SidebarGroupContent,
SidebarMenu,
SidebarMenuItem,
SidebarMenuButton,
SidebarFooter,
SidebarTrigger,
SidebarHeader,
} from "@/components/blocks/sidebar"
import {
ExternalLink,
User,
ChevronsUpDown,
Calendar,
Home,
Inbox,
Search,
Settings,
} from "lucide-react"
import Link from "next/link"
const items = [
{
title: "Home",
url: "#",
icon: Home,
},
{
title: "Inbox",
url: "#",
icon: Inbox,
},
{
title: "Calendar",
url: "#",
icon: Calendar,
},
{
title: "Search",
url: "#",
icon: Search,
},
{
title: "Settings",
url: "#",
icon: Settings,
},
]
export function InfoCardDemo() {
return (
<SidebarProvider>
<Sidebar>
<SidebarContent>
<SidebarGroup>
<SidebarGroupLabel>Application</SidebarGroupLabel>
<SidebarGroupContent>
<SidebarMenu>
{items.map((item) => (
<SidebarMenuItem key={item.title}>
<SidebarMenuButton asChild>
<a href={item.url}>
<item.icon />
<span>{item.title}</span>
</a>
</SidebarMenuButton>
</SidebarMenuItem>
))}
</SidebarMenu>
</SidebarGroupContent>
</SidebarGroup>
</SidebarContent>
<SidebarFooter>
<InfoCard>
<InfoCardContent>
<InfoCardTitle>Video Walkthrough</InfoCardTitle>
<InfoCardDescription>
Watch how the new dashboard works.
</InfoCardDescription>
<InfoCardMedia
media={[
{
type: "video",
src: "https://cdn.21st.dev/assets/mirror/04/0446057c7ceef91321156d5705183d30d1d76031652910d51ec449b33149a049.mp4",
autoPlay: true,
loop: true,
}
]}
/>
<InfoCardFooter>
<InfoCardDismiss>Dismiss</InfoCardDismiss>
<InfoCardAction>
<Link href="#" className="flex flex-row items-center gap-1 underline">
Learn more <ExternalLink size={12} />
</Link>
</InfoCardAction>
</InfoCardFooter>
</InfoCardContent>
</InfoCard>
<SidebarGroup>
<SidebarMenuButton className="w-full justify-between gap-3 h-12">
<div className="flex items-center gap-2">
<User className="h-5 w-5 rounded-md" />
<div className="flex flex-col items-start">
<span className="text-sm font-medium">KL</span>
<span className="text-xs text-muted-foreground">
kl@example.com
</span>
</div>
</div>
<ChevronsUpDown className="h-5 w-5 rounded-md" />
</SidebarMenuButton>
</SidebarGroup>
</SidebarFooter>
</Sidebar>
<div className="px-4 py-2">
<SidebarTrigger />
</div>
</SidebarProvider>
);
}








