holy shit plugin manager v2!!!

master
Drake 2 years ago
parent e3770a9ed5
commit 03cba0dd53

2
dist/build.js vendored

File diff suppressed because one or more lines are too long

@ -12,7 +12,7 @@ const common: {React: Object, ReactDOM: Object} = {
"__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED",
"hydrate"
),
"idb-keyval": idb
"idb_keyval": idb
}
export default common;

@ -2,7 +2,19 @@
import { get, set } from 'idb-keyval';
async function init(obj: Object): Promise<boolean> {
//TODO: check for enabled plugins in the idb, start them
let globalSettings = await get("demoncord")
if (globalSettings === undefined) {
await set("demoncord", {plugin: {}})
globalSettings = await get("demoncord")
}
obj.demon.__plugins = {}
for (let plug: Object in globalSettings.plugin) {
plug = globalSettings.plugin[plug]
if (plug.enabled) {
startPlugin(plug.metadata.name)
}
}
return true
}
@ -73,10 +85,23 @@ async function stopPlugin(name: string): Promise<boolean> {
}
}
async function togglePlugin(name: string): Promise<boolean> {
const globalSettings = await get("demoncord")
if (globalSettings["plugin"][name] === undefined) {
console.error("[Demoncord] Cannot enable non-existant plugin!")
return false
} else {
globalSettings["plugin"][name].enabled = !globalSettings["plugin"][name].enabled
await set("demoncord", globalSettings)
return true
}
}
export default {
init,
addPlugin,
delPlugin,
startPlugin,
stopPlugin
stopPlugin,
togglePlugin
}

Loading…
Cancel
Save