import { ButtonIcon, Button, Sheets, } from "@codex-storage/marketplace-ui-components"; import { CodexDataContent } from "@codex-storage/sdk-js"; import { PrettyBytes } from "../../utils/bytes"; import { ICON_SIZE } from "../../utils/constants"; import { Dates } from "../../utils/dates"; import { CidCopyButton } from "./CidCopyButton"; import "./FileDetails.css"; import { DownloadIcon, X } from "lucide-react"; import { CodexSdk } from "../../sdk/codex"; type Props = { details: CodexDataContent | undefined; onClose: () => void; expanded: boolean; }; export function FileDetails({ onClose, details, expanded }: Props) { const url = CodexSdk.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.manifest.filename}

Date:

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

Mimetype:

{details.manifest.mimetype}

Size:

{PrettyBytes(details.manifest.datasetSize)}

Protected:

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

)}
); }