"use client"; import { Card, CardContent } from "@/components/ui/card"; import { Button } from "@/components/ui/button"; import { Input } from "@/components/ui/input"; import { Badge } from "@/components/ui/badge"; import { Upload, Search, Filter, ImageIcon, Film, Music } from "lucide-react"; import { useState } from "react"; const stats = [ { title: "Total Files", value: 24 }, { title: "Images", value: 18 }, { title: "Videos", value: 4 }, { title: "Audio", value: 2 }, ]; const files = [ { name: "hero-banner.jpg", type: "image", size: "2.4 MB", date: "2024-01-20", }, { name: "product-showcase.jpg", type: "image", size: "2.4 MB", date: "2024-01-20", }, { name: "company-logo.svg", type: "image", size: "124 KB", date: "2024-01-20", }, { name: "promo-video.mp4", type: "video", size: "2.4 MB", date: "2024-01-20", }, ]; const getFileIcon = (type: string) => { switch (type) { case "video": return ; case "audio": return ; default: return ; } }; const getBadgeStyle = (type: string) => { switch (type) { case "video": return "bg-purple-100 text-purple-600"; case "audio": return "bg-green-100 text-green-600"; default: return "bg-blue-100 text-blue-600"; } }; export default function MediaLibrary() { const [search, setSearch] = useState(""); return (
{/* ================= HEADER ================= */}

Media Library

Upload and manage images, videos, and documents

{/* ================= UPLOAD AREA ================= */}

Upload Media Files

Drag and drop files here, or click to browse

Supports: JPG, PNG, SVG, PDF, MP4 (Max 50MB)

{/* ================= STATS ================= */}
{stats.map((item, i) => (

{item.value}

{item.title}

))}
{/* ================= SEARCH + FILTER ================= */}
setSearch(e.target.value)} />
{/* ================= FILE GRID ================= */}
{files.map((file, index) => (
{getFileIcon(file.type)}

{file.name}

{file.type} {file.size}

{file.date}

))}
); }