import { Button } from "@/src/components/ui/button"; import { useHasProjectAccess } from "@/src/features/rbac/utils/checkProjectAccess"; import { api } from "@/src/utils/api"; import { cn } from "@/src/utils/tailwind"; import { Check, Pencil, TriangleAlert } from "lucide-react"; import Link from "next/link"; export function ManageDefaultEvalModel({ projectId, setUpMessage, variant = "default", showEditButton = true, className, }: { projectId: string; setUpMessage?: string; variant?: "default" | "color-coded"; showEditButton?: boolean; className?: string; }) { const hasDefaultModelReadAccess = useHasProjectAccess({ projectId, scope: "evalDefaultModel:read", }); const hasDefaultModelWriteAccess = useHasProjectAccess({ projectId, scope: "evalDefaultModel:CUD", }); const { data: defaultModel } = api.defaultLlmModel.fetchDefaultModel.useQuery( { projectId }, { enabled: hasDefaultModelReadAccess }, ); return (
{!showEditButton && (defaultModel ? ( ) : ( ))} {defaultModel ? ( {"Current default model: "} {defaultModel.provider} / {defaultModel.model} ) : ( {setUpMessage ?? "No default model set"} )} {showEditButton && ( )}
); }