142 lines
3.9 KiB
JavaScript
Raw Normal View History

2021-12-25 14:39:47 +01:00
import { parentEpml } from './connect.js'
import './streams/streams.js'
let config = {}
let haveRegisteredNodeManagement = false
parentEpml.ready().then(() => {
// pluginUrlsConf
let pluginUrlsConf = [
{
url: 'minting',
domain: 'core',
page: 'minting/index.html',
title: 'Minting Details',
2022-03-10 21:26:14 +01:00
icon: 'vaadin:info-circle',
2021-12-25 14:39:47 +01:00
menus: [],
parent: false
},
{
url: 'wallet',
domain: 'core',
page: 'wallet/index.html',
title: 'Wallet',
2022-03-10 21:26:14 +01:00
icon: 'vaadin:wallet',
2021-12-25 14:39:47 +01:00
menus: [],
parent: false
},
{
url: 'send-coin',
domain: 'core',
page: 'send-coin/index.html',
title: 'Send Coin',
2022-03-10 21:26:14 +01:00
icon: 'vaadin:coin-piles',
2021-12-25 14:39:47 +01:00
menus: [],
parent: false
},
{
url: 'trade-portal',
domain: 'core',
page: 'trade-portal/index.html',
title: 'Trade Portal',
2022-03-10 21:26:14 +01:00
icon: 'vaadin:bullets',
2021-12-25 14:39:47 +01:00
menus: [],
parent: false
},
{
url: 'reward-share',
domain: 'core',
page: 'reward-share/index.html',
title: 'Reward Share',
2022-03-10 21:26:14 +01:00
icon: 'vaadin:share-square',
2021-12-25 14:39:47 +01:00
menus: [],
parent: false
},
{
url: 'name-registration',
domain: 'core',
page: 'name-registration/index.html',
title: 'Name Registration',
2022-03-10 21:26:14 +01:00
icon: 'vaadin:user-check',
2021-12-25 14:39:47 +01:00
menus: [],
parent: false
},
2022-01-10 20:54:37 -08:00
{
url: 'websites',
domain: 'core',
page: 'qdn/index.html',
title: 'Websites',
2022-03-10 21:26:14 +01:00
icon: 'vaadin:desktop',
2022-01-10 20:54:37 -08:00
menus: [],
parent: false
},
{
url: 'data-management',
domain: 'core',
page: 'qdn/data-management/index.html',
title: 'Data Management',
2022-03-10 21:26:14 +01:00
icon: 'vaadin:database',
2022-01-10 20:54:37 -08:00
menus: [],
parent: false
},
2021-12-25 14:39:47 +01:00
{
url: 'q-chat',
domain: 'core',
page: 'messaging/q-chat/index.html',
title: 'Q-Chat',
2022-03-10 21:26:14 +01:00
icon: 'vaadin:chat',
2021-12-25 14:39:47 +01:00
menus: [],
parent: false
},
{
url: 'group-management',
domain: 'core',
page: 'group-management/index.html',
title: 'Group Management',
2022-03-10 21:26:14 +01:00
icon: 'vaadin:group',
2021-12-25 14:39:47 +01:00
menus: [],
parent: false
2022-01-03 23:04:04 +01:00
},
{
2022-01-03 23:04:04 +01:00
url: 'puzzles',
domain: 'core',
page: 'puzzles/index.html',
title: 'Puzzles',
2022-03-10 21:26:14 +01:00
icon: 'vaadin:puzzle-piece',
2022-01-03 23:04:04 +01:00
menus: [],
parent: false
}
2021-12-25 14:39:47 +01:00
]
const registerPlugins = (pluginInfo) => {
parentEpml.request('registerUrl', pluginInfo)
}
2022-02-15 19:11:33 +01:00
const checkNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node]
2021-12-25 14:39:47 +01:00
parentEpml.subscribe('config', c => {
config = JSON.parse(c)
// Only register node management if node management is enabled and it hasn't already been registered
2022-02-15 19:11:33 +01:00
if (!haveRegisteredNodeManagement && checkNode.enableManagement) {
2021-12-25 14:39:47 +01:00
haveRegisteredNodeManagement = true
let nodeManagementConf = {
url: 'node-management',
domain: 'core',
page: 'node-management/index.html',
title: 'Node Management',
2022-03-10 21:26:14 +01:00
icon: 'vaadin:cloud',
2021-12-25 14:39:47 +01:00
menus: [],
parent: false
}
let _pluginUrlsConf = [...pluginUrlsConf, nodeManagementConf]
registerPlugins(_pluginUrlsConf)
} else {
registerPlugins(pluginUrlsConf)
}
})
})