forked from redhat-developer/rhdh
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathApp.tsx
65 lines (60 loc) · 1.9 KB
/
App.tsx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
import { apis } from './apis';
import { StaticPlugins } from './components/DynamicRoot/DynamicRoot';
import ScalprumRoot from './components/DynamicRoot/ScalprumRoot';
import { DefaultMainMenuItems } from './consts';
// Statically integrated frontend plugins
const { dynamicPluginsInfoPlugin, ...dynamicPluginsInfoPluginModule } =
await import('@internal/plugin-dynamic-plugins-info');
// The base UI configuration, these values can be overridden by values
// specified in external configuration files
const baseFrontendConfig = {
context: 'frontend',
data: {
dynamicPlugins: {
frontend: {
'default.main-menu-items': DefaultMainMenuItems,
// please keep this in sync with plugins/dynamic-plugins-info/app-config.janus-idp.yaml
'internal.plugin-dynamic-plugins-info': {
appIcons: [
{ name: 'pluginsInfoIcon', importName: 'PluginsInfoIcon' },
{ name: 'adminIcon', importName: 'AdminIcon' },
],
dynamicRoutes: [
{
path: '/plugins',
importName: 'DynamicPluginsInfo',
menuItem: { text: 'Plugins', icon: 'pluginsInfoIcon' },
},
],
menuItems: {
admin: {
title: 'Administration',
icon: 'adminIcon',
},
plugins: {
parent: 'admin',
title: 'Plugins',
icon: 'pluginsInfoIcon',
},
},
},
},
},
},
};
// The map of static plugins by package name
const staticPlugins: StaticPlugins = {
'internal.plugin-dynamic-plugins-info': {
plugin: dynamicPluginsInfoPlugin,
module: dynamicPluginsInfoPluginModule,
},
};
const AppRoot = () => (
<ScalprumRoot
apis={apis}
afterInit={() => import('./components/AppBase')}
baseFrontendConfig={baseFrontendConfig}
plugins={staticPlugins}
/>
);
export default AppRoot;