import { ButtonIcon, Button } from "@codex/marketplace-ui-components"; import { CodexDataContent } from "@codex/sdk-js"; import { X, DownloadIcon } from "lucide-react"; import { attributes } from "../../utils/attributes"; import { PrettyBytes } from "../../utils/bytes"; import { ICON_SIZE } from "../../utils/constants"; import { Dates } from "../../utils/dates"; import { CidCopyButton } from "./CidCopyButton"; import "./FileDetails.css"; import { FileMetadata } from "../../utils/file-storage"; type Props = { details: (CodexDataContent & FileMetadata) | undefined; onClose: () => void; expanded: boolean; }; export function FileDetails({ onClose, details, expanded }: Props) { const attr = attributes({ "aria-expanded": expanded }); const url = import.meta.env.VITE_CODEX_API_URL + "/api/codex/v1/data/"; const Icon = () => ; const onDownload = () => window.open(url + details?.cid, "_target"); return ( <>
{details && ( <>
File details

CID:

{details.cid}

File name:

{details.name}

Date:

{Dates.format(details.uploadedAt).toString()}

Mimetype:

{details.mimetype}

Size:

{PrettyBytes(details.manifest.datasetSize)}

Protected:

{details.manifest.protected ? "Yes" : "No"}

)}
); }