From 01a394e3ed1b644b3b3baf65678806a4f66a2ee9 Mon Sep 17 00:00:00 2001
From: sanjaycal <sanjay.calgary@gmail.com>
Date: Mon, 27 Jan 2025 16:51:43 -0500
Subject: [PATCH] quick and dirty way that just disables the use button for a
 recipe if a plugin isnt installed

---
 .../Experiment/Train/ImportRecipeModal.tsx           | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/src/renderer/components/Experiment/Train/ImportRecipeModal.tsx b/src/renderer/components/Experiment/Train/ImportRecipeModal.tsx
index 8853ba08..85972241 100644
--- a/src/renderer/components/Experiment/Train/ImportRecipeModal.tsx
+++ b/src/renderer/components/Experiment/Train/ImportRecipeModal.tsx
@@ -35,6 +35,17 @@ export default function ImportRecipeModal({ open, setOpen, mutate }) {
 
   const recipes = recipesData;
 
+
+  const {
+    data: pluginsData,
+    error: pluginsError,
+    isLoading: pluginsLoading,
+  } = useSWR(chatAPI.Endpoints.Plugins.List(), fetcher);
+
+  const installedPlugins = pluginsData
+    ? pluginsData.map(plugin => plugin.uniqueId)
+    : [];
+
   // For any variables that need to be reset on close
   const handleClose = () => {
     mutate();
@@ -225,6 +236,7 @@ export default function ImportRecipeModal({ open, setOpen, mutate }) {
                       <td>
                         <Button
                           size="sm"
+                          disabled = {!(installedPlugins.includes(row.training?.plugin))}
                           onClick={() => {
                             const recipe_text = YAML.stringify(row);
                             uploadRecipe(row.metadata?.name, recipe_text);
-- 
GitLab