From a6c5c27d27717c346409c889bfef19ae61f71df1 Mon Sep 17 00:00:00 2001 From: Cory Smith <cory.m.smith@gmail.com> Date: Thu, 29 Feb 2024 14:29:58 -0700 Subject: [PATCH] Starting to add logic to show a badge when plugins are outdated. --- src/renderer/components/Nav/Sidebar.tsx | 5 +++-- src/renderer/lib/transformerlab-api-sdk.ts | 14 ++++++++++++++ 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/src/renderer/components/Nav/Sidebar.tsx b/src/renderer/components/Nav/Sidebar.tsx index 87dd988f..31a67c8c 100644 --- a/src/renderer/components/Nav/Sidebar.tsx +++ b/src/renderer/components/Nav/Sidebar.tsx @@ -24,7 +24,7 @@ import { import { ButtonGroup, IconButton, Sheet, Tooltip } from '@mui/joy'; -import { useModelStatus } from 'renderer/lib/transformerlab-api-sdk'; +import { useModelStatus, usePluginStatus } from 'renderer/lib/transformerlab-api-sdk'; import SelectExperimentMenu from '../Experiment/SelectExperimentMenu'; @@ -37,6 +37,7 @@ export default function Sidebar({ setDrawerOpen, }) { const { models, isError, isLoading } = useModelStatus(); + const { outdatedPluginsCount } = usePluginStatus(experimentInfo); const navigate = useNavigate(); @@ -159,7 +160,7 @@ export default function Sidebar({ path="/projects/plugins" icon={<PlugIcon />} disabled={!experimentInfo?.name} - counter={null} + counter={outdatedPluginsCount} /> <SubNavItem title="Settings" diff --git a/src/renderer/lib/transformerlab-api-sdk.ts b/src/renderer/lib/transformerlab-api-sdk.ts index e750e6f1..ceadfe66 100644 --- a/src/renderer/lib/transformerlab-api-sdk.ts +++ b/src/renderer/lib/transformerlab-api-sdk.ts @@ -1015,6 +1015,20 @@ export function useModelStatus() { }; } +export function usePluginStatus(experimentInfo: any) { + let { data } = useSWR( + experimentInfo ? Endpoints.Experiment.ListScripts(experimentInfo?.id) : null, + fetcher + ); + + let outdatedPluginsCount = null; + if (data) { + outdatedPluginsCount = data.filter((plugin: any) => plugin?.gallery_version && plugin?.version != plugin?.gallery_version).length; + } + + return { outdatedPluginsCount }; +} + export function useServerStats() { const url = API_URL() + 'server/info'; -- GitLab