"use client" import * as React from "react" import { FileTextIcon, ImageIcon, MoreVerticalIcon, SearchIcon, VideoIcon, } from "lucide-react" import { Badge } from "@/styles/base-sera/ui/badge" import { Button } from "@/styles/base-sera/ui/button" import { Card, CardContent, CardFooter, CardHeader, } from "@/styles/base-sera/ui/card" import { Checkbox } from "@/styles/base-sera/ui/checkbox" import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger, } from "@/styles/base-sera/ui/dropdown-menu" import { InputGroup, InputGroupAddon, InputGroupInput, } from "@/styles/base-sera/ui/input-group" import { Pagination, PaginationContent, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, } from "@/styles/base-sera/ui/pagination" import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow, } from "@/styles/base-sera/ui/table" import { ASSETS, type AssetType } from "../../media-library/data" function AssetTypeIcon({ type, className, }: { type: AssetType className?: string }) { if (type === "MP4") { return } if (type === "PDF") { return } return } export function AssetTable() { const [selectedIds, setSelectedIds] = React.useState>( new Set(["1"]) ) const toggleSelection = React.useCallback((id: string) => { setSelectedIds((previous) => { const next = new Set(previous) if (next.has(id)) { next.delete(id) } else { next.add(id) } return next }) }, []) return ( Filename Type Dimensions Size Uploaded By Date {ASSETS.map((asset) => { const isSelected = selectedIds.has(asset.id) return ( toggleSelection(asset.id)} > event.stopPropagation()} onCheckedChange={() => toggleSelection(asset.id)} />
{asset.duration ? ( {asset.duration} ) : null}
{asset.name} {asset.type} {asset.dimensions} {asset.size} {asset.uploadedBy} {asset.date} } aria-label={`Open actions for ${asset.name}`} onClick={(event) => event.stopPropagation()} > Preview Download Delete
) })}
1 2 3
) }