import type { ProjectRepoFile } from "@/features/projects/hooks";
import type { ProjectRepoUnavailableReason } from "@/features/projects/lib/projectRepoAvailability";
import type * as React from "react";
import { cn } from "@/shared/lib/cn";
import { ReadmePanel } from "./ProjectReadmePanel";
import type { RepoSourceHeaderControls } from "./ProjectRepositorySource";
type ProjectOverviewPanelProps = {
/** `buzz-channel` binding of the repository, for access-restricted copy. */
accessChannelId?: string | null;
externalHost?: string;
externalUrl?: string | null;
gitDataState: GitDataState;
/** Hide the readme header rows when the workspace renders them itself. */
hideReadmeHeader?: boolean;
ownerAvatarUrl?: string | null;
ownerIsAgent?: boolean;
ownerName?: string;
readmeFile: ProjectRepoFile | null;
/** Branch picker + remote/local toggle for the readme header. */
sourceControls?: RepoSourceHeaderControls;
unavailableReason?: ProjectRepoUnavailableReason;
};
export type GitDataState = "checking" | "available" | "empty" | "unavailable";
export function OverviewRailSection({
children,
title,
titleClassName,
}: {
children: React.ReactNode;
title: string;
titleClassName?: string;
}) {
return (
{title}
{children}