File tree 2 files changed +13
-4
lines changed
frontend/src/components/App/PluginSettings
2 files changed +13
-4
lines changed Original file line number Diff line number Diff line change @@ -26,6 +26,7 @@ import { useEffect, useState } from 'react';
26
26
import { useTranslation } from 'react-i18next' ;
27
27
import { useDispatch } from 'react-redux' ;
28
28
import { isElectron } from '../../../helpers/isElectron' ;
29
+ import { usePlugins } from '../../../lib/k8s/api/v2/plugins' ;
29
30
import { useFilterFunc } from '../../../lib/util' ;
30
31
import { PluginInfo , reloadPage , setPluginSettings } from '../../../plugin/pluginsSlice' ;
31
32
import { useTypedSelector } from '../../../redux/reducers/reducers' ;
@@ -306,9 +307,15 @@ export default function PluginSettings() {
306
307
307
308
const pluginSettings = useTypedSelector ( state => state . plugins . pluginSettings ) ;
308
309
310
+ const { data : plugins } = usePlugins ( pluginSettings ) ;
311
+
312
+ if ( ! plugins ?. length ) {
313
+ return null ;
314
+ }
315
+
309
316
return (
310
317
< PluginSettingsPure
311
- plugins = { pluginSettings }
318
+ plugins = { plugins }
312
319
onSave = { plugins => {
313
320
dispatch ( setPluginSettings ( plugins ) ) ;
314
321
dispatch ( reloadPage ( ) ) ;
Original file line number Diff line number Diff line change @@ -25,6 +25,7 @@ import { useParams } from 'react-router-dom';
25
25
import { useHistory } from 'react-router-dom' ;
26
26
import { isElectron } from '../../../helpers/isElectron' ;
27
27
import { getCluster } from '../../../lib/cluster' ;
28
+ import { usePlugins } from '../../../lib/k8s/api/v2/plugins' ;
28
29
import { deletePlugin } from '../../../lib/k8s/apiProxy' ;
29
30
import { ConfigStore } from '../../../plugin/configStore' ;
30
31
import { PluginInfo , reloadPage } from '../../../plugin/pluginsSlice' ;
@@ -82,13 +83,14 @@ const PluginSettingsDetailsInitializer = (props: { plugin: PluginInfo }) => {
82
83
} ;
83
84
84
85
export default function PluginSettingsDetails ( ) {
85
- const pluginSettings = useTypedSelector ( state => state . plugins . pluginSettings ) ;
86
86
const { name } = useParams < { name : string } > ( ) ;
87
+ const pluginSettings = useTypedSelector ( state => state . plugins . pluginSettings ) ;
88
+ const { data : plugins } = usePlugins ( pluginSettings ) ;
87
89
88
90
const plugin = useMemo ( ( ) => {
89
91
const decodedName = decodeURIComponent ( name ) ;
90
- return pluginSettings . find ( plugin => plugin . name === decodedName ) ;
91
- } , [ pluginSettings , name ] ) ;
92
+ return plugins ? .find ( ( plugin : PluginInfo ) => plugin . name === decodedName ) ;
93
+ } , [ plugins , name ] ) ;
92
94
93
95
if ( ! plugin ) {
94
96
return < NotFoundComponent /> ;
You can’t perform that action at this time.
0 commit comments