import Link from "next/link"; import type { ReactNode } from "react"; import { deleteReleaseAction } from "@/app/actions/releases"; import { CopyButton } from "@/components/clone-button"; import { ConfirmButton } from "@/components/confirm-button"; import { ShaChip } from "@/components/file-table"; import { CodeIcon, DownloadIcon, PackageIcon, PencilIcon, TagIcon } from "@/components/icons"; import { Markdown } from "@/components/markdown"; import { liftRowClass, plateHeadingClass } from "@/components/repo-rows"; import { Avatar, Box, ButtonLink, Label, RefChip } from "@/components/ui"; import { encodePath, formatBytes, formatDate, timeAgo } from "@/lib/format"; import { releaseTitle, type Release } from "@/lib/releases"; import type { Repo } from "@/lib/repo"; export const releaseHref = (repo: Repo, tag: string) => `${repo.base}/releases/tag/${encodePath(tag)}`; export const assetHref = (repo: Repo, tag: string, name: string) => `${repo.base}/releases/download/${encodePath(tag)}/${encodeURIComponent(name)}`; function Time({ ms, prefix }: { ms: number; prefix?: string }) { return ( {prefix && `${prefix} `} ); } function AssetRow({ href, name, icon, children }: { href: string; name: string; icon: ReactNode; children?: ReactNode }) { return (
sha256:{a.sha256.slice(0, 12)}
No files yet.
}