import { Panel, Spinner } from "@/shared"; import { useProjectPlugins } from "./useProjectPlugins"; export interface ProjectPluginsPanelProps { projectId: string; } function countLabel(count: number, singular: string, plural: string): string { return `${count} ${count === 1 ? singular : plural}`; } export function ProjectPluginsPanel({ projectId }: ProjectPluginsPanelProps) { const vm = useProjectPlugins(projectId); if (vm.loading && !vm.settings) { return ( Chargement des plugins du projet… ); } const installedIds = new Set(vm.installed.map((plugin) => plugin.id)); const missing = (vm.settings?.plugins ?? []).filter( (activation) => !installedIds.has(activation.pluginId), ); return (

Plugins du projet

Un plugin reste installé globalement. Activez-le ici avant d’attribuer ses capabilities aux agents de ce projet.

{vm.error &&

{vm.error}

} {vm.installed.length === 0 && missing.length === 0 ? (

Aucun plugin installé globalement.

) : ( )}
); }