From 1459a1132099b32ec3e4080fc3da98c0bc602f86 Mon Sep 17 00:00:00 2001 From: Bill Thornton Date: Tue, 13 Jan 2026 10:26:25 -0500 Subject: [PATCH] Improve error handling on plugin page --- src/apps/dashboard/routes/plugins/index.tsx | 304 ++++++++++---------- 1 file changed, 153 insertions(+), 151 deletions(-) diff --git a/src/apps/dashboard/routes/plugins/index.tsx b/src/apps/dashboard/routes/plugins/index.tsx index b593f2c845..c6fea6a786 100644 --- a/src/apps/dashboard/routes/plugins/index.tsx +++ b/src/apps/dashboard/routes/plugins/index.tsx @@ -98,164 +98,166 @@ export const Component = () => { className='type-interior mainAnimatedPage' > - {isError ? ( - + - {globalize.translate('PluginsLoadError')} - - ) : ( - - + {globalize.translate('TabPlugins')} + + + + + - - {globalize.translate('TabPlugins')} - - - - - - - - - - - - setStatus(PluginStatusOption.All)} - label={globalize.translate('All')} - /> - - setStatus(PluginStatusOption.Available)} - label={globalize.translate('LabelAvailable')} - /> - - setStatus(PluginStatusOption.Installed)} - label={globalize.translate('LabelInstalled')} - /> - - - - setCategory('')} - label={globalize.translate('All')} - /> - - {Object.values(PluginCategory).map(c => ( - setCategory(c.toLowerCase())} - label={globalize.translate(CATEGORY_LABELS[c as PluginCategory])} - /> - ))} - - - - - - {filteredPlugins.length > 0 ? ( - // NOTE: Legacy Grid is required due to lack of gap support in JMP on some OSs - // eslint-disable-next-line @typescript-eslint/no-deprecated - - {filteredPlugins.map(plugin => ( - // NOTE: Legacy Grid is required due to lack of gap support in JMP on some OSs - // eslint-disable-next-line @typescript-eslint/no-deprecated - - - - ))} - - ) : ( - - )} + - )} + + {isError ? ( + + {globalize.translate('PluginsLoadError')} + + ) : ( + <> + + + setStatus(PluginStatusOption.All)} + label={globalize.translate('All')} + /> + + setStatus(PluginStatusOption.Available)} + label={globalize.translate('LabelAvailable')} + /> + + setStatus(PluginStatusOption.Installed)} + label={globalize.translate('LabelInstalled')} + /> + + + + setCategory('')} + label={globalize.translate('All')} + /> + + {Object.values(PluginCategory).map(c => ( + setCategory(c.toLowerCase())} + label={globalize.translate(CATEGORY_LABELS[c as PluginCategory])} + /> + ))} + + + + + + {filteredPlugins.length > 0 ? ( + // NOTE: Legacy Grid is required due to lack of gap support in JMP on some OSs + // eslint-disable-next-line @typescript-eslint/no-deprecated + + {filteredPlugins.map(plugin => ( + // NOTE: Legacy Grid is required due to lack of gap support in JMP on some OSs + // eslint-disable-next-line @typescript-eslint/no-deprecated + + + + ))} + + ) : ( + + )} + + + )} + );