import { Dialog, DialogBody, DialogContent, DialogFooter, DialogHeader, DialogTitle, } from "@/components/ui/dialog"; import type { TProjectMetadata } from "@/lib/project/types"; import { formatDate } from "@/utils/date"; import { formatTimecode, mediaTimeToSeconds } from "opencut-wasm"; import { Button } from "@/components/ui/button"; function InfoRow({ label, value, }: { label: string; value: string | React.ReactNode; }) { return (
{label} {value}
); } export function ProjectInfoDialog({ isOpen, onOpenChange, project, }: { isOpen: boolean; onOpenChange: (open: boolean) => void; project: TProjectMetadata; }) { const durationSeconds = mediaTimeToSeconds({ time: project.duration }); const durationFormatted = project.duration > 0 ? (formatTimecode({ time: project.duration, format: durationSeconds >= 3600 ? "HH:MM:SS" : "MM:SS" }) ?? "") : "0:00"; return ( event.preventDefault()}> {project.name} {project.id.slice(0, 8)} } /> ); }