{
if (isEditing) return;
onOpenVersion?.(v.id, displayLabel);
}}
className={`group flex h-10 cursor-pointer items-center pr-8 text-sm text-gray-500 transition-colors hover:bg-gray-200 ${rowBg}`}
>
{fileType ?? —}
—
{numberLabel}
{dateLabel ? formatDate(v.created_at) : —}
—
e.stopPropagation()}
>
{
setEditingVersionId(v.id);
setEditingValue(v.filename ?? "");
}
: undefined
}
renameLabel="Rename version"
onDownload={() =>
onDownloadVersion(docId, v.id, filename)
}
/>
);
})}
>
);
}
export function ProjectPageSkeleton() {
return (
,
},
{
disabled: true,
iconOnly: true,
title: "People with access",
icon:
,
},
],
[
{
disabled: true,
icon:
,
label:
New Chat,
},
{
disabled: true,
icon:
,
label:
New Review,
},
],
]}
/>
{[1, 2, 3, 4, 5].map((i) => (
))}
);
}
export function ProjectPageHeader({
project,
tab,
search,
creatingChat,
creatingReview,
docsCount,
onBackToProjects,
onTitleCommit,
onSearchChange,
onOpenPeople,
onNewChat,
onNewReview,
}: {
project: Project;
tab: ProjectTab;
search: string;
creatingChat: boolean;
creatingReview: boolean;
docsCount: number;
onBackToProjects: () => void;
onTitleCommit: (newName: string) => void | Promise