/// import { TriangleAlert } from "lucide-react"; import { hydrateIsland } from "@/client/hydrate"; import { countRefsByKind } from "@/shared/git/ref-display"; export type { RepoAdminProps } from "./types"; import type { RepoAdminProps } from "./types"; import { useRepoAdminActions } from "./useRepoAdminActions"; import { RepoOverviewCard } from "./RepoOverviewCard"; import { CompactionCard } from "./CompactionCard"; import { PackFilesCard } from "./PackFilesCard"; import { RefsCard } from "./RefsCard"; import { DebugToolsCard } from "./DebugToolsCard"; import { DangerZoneCard } from "./DangerZoneCard"; export function RepoAdminIsland(props: RepoAdminProps) { const { owner, repo, head, refs, storageSize, packCount, packList, state, defaultBranch, compactionStatus, compactionStartedAt, compactionData, supersededPackCount, } = props; const { compactionResult, oidResult, stateDump, pending, startCompaction, clearCompaction, removePack, checkOid, dumpState, purgeRepo, } = useRepoAdminActions(owner, repo); const { branchCount, tagCount } = countRefsByKind(refs); const packStats = Array.isArray(state.packStats) ? state.packStats : []; return (
{" "} - Actions here can permanently modify repository data
); } export function initRepoAdmin() { hydrateIsland("repo-admin", RepoAdminIsland); }