YouTube Post
manifest-ui/youtube-postFreeBlock
YouTube video card with playable embed.
Install it
npx shadcn@latest add https://ui.manifest.build/r/youtube-post.jsonSource
1"use client"23import { useState } from "react"4import { Bookmark, MoreHorizontal, Share, EyeOff, Flag } from "lucide-react"5import { demoYouTubePost } from './demo/social'6import {7 DropdownMenu,8 DropdownMenuContent,9 DropdownMenuItem,10 DropdownMenuSeparator,11 DropdownMenuTrigger,12} from "@/components/ui/dropdown-menu"1314/**15 * ═══════════════════════════════════════════════════════════════════════════16 * YouTubePostProps17 * ═══════════════════════════════════════════════════════════════════════════18 *19 * Props for the YouTubePost component, which displays a YouTube video embed20 * with thumbnail preview and click-to-play functionality.21 */22export interface YouTubePostProps {23 data?: {24 /** YouTube channel name. */25 channel?: string26 /** Channel avatar letter fallback or image URL. */27 avatar?: string28 /** Video title. */29 title?: string30 /** Formatted view count (e.g., "1M views"). */31 views?: string32 /** Time since video was published (e.g., "2 weeks ago"). */33 time?: string34 /** Video duration in MM:SS or HH:MM:SS format. */35 duration?: string36 /** URL of the video thumbnail image. */37 thumbnail?: string38 /** Formatted subscriber count for the channel. */39 subscribers?: string40 /** Whether the channel has a verified badge. */41 verified?: boolean42 /** YouTube video ID used for embedding the player. */43 videoId?: string44 }45}4647/**48 * A YouTube video embed component with thumbnail preview and playback.49 * Click the play button to load and play the embedded video.50 *51 * Features:52 * - Thumbnail preview with YouTube play button53 * - Duration badge overlay54 * - Channel avatar and info55 * - Verified channel badge56 * - View count and publish time57 * - Click-to-play video embedding58 * - Dropdown menu (save, share, not interested, report)59 *60 * @component61 * @example62 * ```tsx63 * <YouTubePost64 * data={{65 * channel: "Tech Channel",66 * avatar: "T",67 * title: "How to build amazing UIs",68 * views: "1M views",69 * time: "2 weeks ago",70 * duration: "18:42",71 * thumbnail: "https://img.youtube.com/vi/abc123/maxresdefault.jpg",72 * verified: true,73 * videoId: "abc123"74 * }}75// … truncated
What it pulls in
npm packages
Other registry items
Files it writes
More from Manifest UI
All 32 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| Amount Inputamount-input | Manifest UI | Blocks | Free | 1 dep · 2 files | |
| Chat Conversationchat-conversation | Manifest UI | Blocks | Free | 1 dep · 3 files | |
| Contact Formcontact-form | Manifest UI | Blocks | Free | 1 dep · 3 files | |
| Date & Time Pickerdate-time-picker | Manifest UI | Blocks | Free | 1 dep · 2 files | |
| Event Cardevent-card | Manifest UI | Blocks | Free | 1 dep · 2 files | |
| Event Confirmationevent-confirmation | Manifest UI | Blocks | Free | 1 dep · 2 files | |
| Event Detailevent-detail | Manifest UI | Blocks | Free | 3 deps · 2 files | |
| Event Listevent-list | Manifest UI | Blocks | Free | 3 deps · 2 files |
