From c15e030b85efd3bd2a63d05032ab0dae68ddbb35 Mon Sep 17 00:00:00 2001 From: Ruthenic Date: Sun, 10 Jul 2022 14:40:21 -0400 Subject: [PATCH] random shit to the UI --- dist/build.js | 2 +- rollup.config.js | 43 +++++++++++++++++------------- src/api/ui/settings/plugincard.jsx | 21 +++++++++++++++ src/api/ui/settings/plugins.jsx | 21 +++++++++++++++ src/api/ui/settings/settings.js | 4 +-- src/api/ui/settings/test.jsx | 9 ------- 6 files changed, 69 insertions(+), 31 deletions(-) create mode 100644 src/api/ui/settings/plugincard.jsx create mode 100644 src/api/ui/settings/plugins.jsx delete mode 100644 src/api/ui/settings/test.jsx diff --git a/dist/build.js b/dist/build.js index 533a40f..b894e4f 100644 --- a/dist/build.js +++ b/dist/build.js @@ -1 +1 @@ -!function(){"use strict";function e(){let t={};return window.webpackChunkdiscord_app.push([[Math.random().toString(36)],{},e=>{t=e}]),t.c}let n={modules:e(),filter:function(e,t){let n=[];for(const r in t){var o=t[r].exports;o&&(o.default&&o.__esModule&&e(o.default)?n.push(o.default):e(o)&&n.push(o))}return n},find:e=>n.filter(e,n.modules)[0],findAll:e=>n.filter(e,n.modules),findByProps:(...e)=>n.find(t=>e.every(e=>void 0!==t[e])),findByPropsAll:(...e)=>n.findAll(t=>e.every(e=>void 0!==t[e])),findByDisplayName:t=>n.find(e=>function(e){let t=void 0,n=e[0],o=1;for(;on.call(t,...e)),t=void 0)}return n}([e,"optionalAccess",e=>e.default,"optionalAccess",e=>e.displayName])===t),findByStrings:(...e)=>n.find(t=>e.every(e=>t.toString().contains(e))),reloadModules:()=>{n.modules=e()}};function s(n){return new Promise((e,t)=>{n.oncomplete=n.onsuccess=()=>e(n.result),n.onabort=n.onerror=()=>t(n.error)})}function t(t,o){const e=(!navigator.userAgentData&&/Safari\//.test(navigator.userAgent)&&!/Chrom(e|ium)\//.test(navigator.userAgent)&&indexedDB.databases?new Promise(function(e){function t(){return indexedDB.databases().finally(e)}n=setInterval(t,100),t()}).finally(function(){return clearInterval(n)}):Promise.resolve()).then(()=>{const e=indexedDB.open(t);return e.onupgradeneeded=()=>e.result.createObjectStore(o),s(e)});var n;return(t,n)=>e.then(e=>n(e.transaction(o,t).objectStore(o)))}let o;function i(){return o=o||t("keyval-store","keyval")}function r(t,e=i()){return e("readonly",e=>s(e.get(t)))}function a(t,n,e=i()){return e("readwrite",e=>(e.put(n,t),s(e.transaction)))}function l(e,t){return e.openCursor().onsuccess=function(){this.result&&(t(this.result),this.result.continue())},s(e.transaction)}var c=Object.freeze({__proto__:null,clear:function(e=i()){return e("readwrite",e=>(e.clear(),s(e.transaction)))},createStore:t,del:function(t,e=i()){return e("readwrite",e=>(e.delete(t),s(e.transaction)))},delMany:function(e,t=i()){return t("readwrite",t=>(e.forEach(e=>t.delete(e)),s(t.transaction)))},entries:function(n=i()){return n("readonly",e=>{if(e.getAll&&e.getAllKeys)return Promise.all([s(e.getAllKeys()),s(e.getAll())]).then(([e,n])=>e.map((e,t)=>[e,n[t]]));const t=[];return n("readonly",e=>l(e,e=>t.push([e.key,e.value])).then(()=>t))})},get:r,getMany:function(e,t=i()){return t("readonly",t=>Promise.all(e.map(e=>s(t.get(e)))))},keys:function(e=i()){return e("readonly",e=>{if(e.getAllKeys)return s(e.getAllKeys());const t=[];return l(e,e=>t.push(e.key)).then(()=>t)})},promisifyRequest:s,set:a,setMany:function(e,t=i()){return t("readwrite",t=>(e.forEach(e=>t.put(e[1],e[0])),s(t.transaction)))},update:function(o,r,e=i()){return e("readwrite",n=>new Promise((e,t)=>{n.get(o).onsuccess=function(){try{n.put(r(this.result),o),e(s(n.transaction))}catch(e){t(e)}}}))},values:function(e=i()){return e("readonly",e=>{if(e.getAll)return s(e.getAll());const t=[];return l(e,e=>t.push(e.value)).then(()=>t)})}}),u=Object.freeze({GET:"GET",SET:"SET",DELETE:"DELETE",UPDATE:"UPDATE"});class d{constructor(){this.listeners=Object.values(u).reduce((e,t)=>(e[t]=new Set,e),{}),this.on=function(e,t){if(this.listeners[e].has(t))throw Error(`This listener on ${e} already exists.`);this.listeners[e].add(t)},this.once=function(e,n){const o=(e,t)=>{this.off(e,o),n(e,t)};this.on(e,o)},this.off=function(e,t){this.listeners[e].delete(t)},this.emit=function(e,t){for(const n of this.listeners[e])n(e,t)};for(const t of Object.values(u))this[t.toLowerCase()]=e=>{this.emit(t,e)}}}function f(e={},{nestArrays:a=!0}={}){const l=new d;return Object.assign({store:function r(e,s,i){return new Proxy(e,{get(e,t){var n=[...i,t],o=e[t];return null!=o?(l.get({path:n,value:o}),!a&&Array.isArray(o)||"object"!=typeof o?o:r(o,s,n)):r(e[t]={},s,n)},set(e,t,n){return e[t]=n,l.set({path:[...i,t],value:n}),!0},deleteProperty(e,t){return delete e[t]&&(l.delete({path:[...i,t]}),!0)},has(e,t){return("object"!=typeof e[t]||0!==Object.keys(e[t]).length)&&t in e}})}(e,e,[]),ghost:e},l)}var p=Object.freeze({__proto__:null,Events:u,make:f});const g=n["findByProps"],h=g("__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","createElement");c={React:h,ReactDOM:g("__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","hydrate"),dispatch:g("dirtyDispatch").__proto__,idb:c,nests:p};function m(s,i=!1){return function(e,...t){t=t.join(""),void 0===e&&(e=["Default"],m("warn")("Requested hierarchy has not been passed to logger function, defaulting to default string",["Logger"])),"string"==typeof e&&(t=e,e=["Default"]);let n=["Demoncord",...e,t],o=[],r="";i&&n.splice(0,1);for(let e=0;e{e=o.plugins[e];const t=(0,eval)(e.initialize);var n=t.onStart();y.store[e.meta.name].ctx=n,o.status[e.meta.name]={running:!0}}),e.store.pluginsList=o.plugins,await a("demon",o)},add:async function(e,t){const n=await r("demon");n.plugins[t.name]={initialize:e,meta:t},extNest.store.pluginsList=n.plugins,await a("demon",n)},del:async function(e){const t=await r("demon");var n;t.plugins[e]&&t.status[e].running&&(n=y.store[e].ctx,(0,eval)(t.plugins[e].initialize).onStop(n)),delete t.status[e],delete t.plugins[e],extNest.store.pluginsList=t.plugins,await a("demon",t)},toggle:async function(t){const e=await r("demon");var n;e.plugins[t]&&(!function(e){let t=void 0,n=e[0],o=1;for(;on.call(t,...e)),t=void 0)}return n}([e,"access",e=>e.status,"access",e=>e[t],"optionalAccess",e=>e.running])?(n=(0,eval)(e.plugins[t].initialize).onStart(),y.store[t].ctx=n,e.status[t]={running:!0}):(console.log(e.status[t].ctx),n=y.store[t].ctx,(0,eval)(e.plugins[t].initialize).onStop(n),e.status[t].running=!1)),await a("demon",e)}};const v=["a","b","i"],_=new Map;var E;E="a";const b=(i,a,e,o=!1)=>{if("function"!=typeof a[i])throw new Error(i+" is not a function in "+a.constructor.name);_.has(a)||_.set(a,{});const t=_.get(a);if(!t[i]){const s=a[i],c=(t[i]={o:s,b:new Map,i:new Map,a:new Map},(e,t,n)=>{t=function(e,t,n,o,r){const s=_.get(t)?.[e];if(!s)return r?Reflect.construct(t[e],n,o):t[e].apply(o,n);for(const c of s.b.values()){var i=c.call(o,n);Array.isArray(i)&&(n=i)}let a=(...e)=>r?Reflect.construct(s.o,e,o):s.o.apply(o,e);for(const u of s.i.values()){const d=a;a=(...e)=>u.call(o,e,d)}let l=a(...n);for(const f of s.a.values())l=f.call(o,n,l)??l;return l}(i,a,t,e,n);return o&&r(),t});var n=new Proxy(s,{apply:(e,t,n)=>c(t,n,!1),construct:(e,t)=>c(s,t,!0),get:(e,t,n)=>"toString"==t?s.toString.bind(s):Reflect.get(e,t,n)});Reflect.defineProperty(a,i,{value:n,configurable:!0,writable:!0})||(a[i]=n)}const l=Symbol(),r=()=>{{var e=a,t=i,n=l,o=E;const r=_.get(e),s=r?.[t];return!!s?.[o].has(n)&&(s[o].delete(n),v.every(e=>0===s[e].size)&&(Reflect.defineProperty(e,t,{value:s.o,writable:!0,configurable:!0})||(e[t]=s.o),delete r[t]),0==Object.keys(r).length&&_.delete(e),!0)}};return t[i][E].set(l,e),r},A="/home/ruthenic/Coding/Javascript/demoncord/demoncord-rewrite/src/api/ui/settings/test.jsx";var S=()=>{var e=demon.require("internal/nest"),e=Object.keys(e.ghost.pluginsList);return h.createElement("h1",{__self:void 0,__source:{fileName:A,lineNumber:7}},e)};const x=n.findByDisplayName("SettingsView");var D={init:function(){b("getPredicateSections",x.default.prototype,(e,t)=>(t.unshift({section:"HEADER",label:"Demoncord"},{section:"demoncord",label:"Plugins",element:S},{section:"DIVIDER"}),t))}};if(!window.DiscordNative)throw new Error("Sorry, Demoncord cannot be used on web!");const P={modules:{webpack:n,common:c},utils:p,plugins:w,internal:{nest:c.nests.make()}};window.demon={require:function(e){const t=e.split("/");let n=P;return t.forEach(e=>{if(!(e in n))throw new Error("Module does not exist!");n=n[e]}),n}},w.init(),D.init()}(); +!function(){"use strict";function e(){let t={};return window.webpackChunkdiscord_app.push([[Math.random().toString(36)],{},e=>{t=e}]),t.c}let n={modules:e(),filter:function(e,t){let n=[];for(const r in t){var o=t[r].exports;o&&(o.default&&o.__esModule&&e(o.default)?n.push(o.default):e(o)&&n.push(o))}return n},find:e=>n.filter(e,n.modules)[0],findAll:e=>n.filter(e,n.modules),findByProps:(...e)=>n.find(t=>e.every(e=>void 0!==t[e])),findByPropsAll:(...e)=>n.findAll(t=>e.every(e=>void 0!==t[e])),findByDisplayName:t=>n.find(e=>function(e){let t=void 0,n=e[0],o=1;for(;on.call(t,...e)),t=void 0)}return n}([e,"optionalAccess",e=>e.default,"optionalAccess",e=>e.displayName])===t),findByStrings:(...e)=>n.find(t=>e.every(e=>t.toString().contains(e))),reloadModules:()=>{n.modules=e()}};function i(n){return new Promise((e,t)=>{n.oncomplete=n.onsuccess=()=>e(n.result),n.onabort=n.onerror=()=>t(n.error)})}function t(t,o){const e=(!navigator.userAgentData&&/Safari\//.test(navigator.userAgent)&&!/Chrom(e|ium)\//.test(navigator.userAgent)&&indexedDB.databases?new Promise(function(e){function t(){return indexedDB.databases().finally(e)}n=setInterval(t,100),t()}).finally(function(){return clearInterval(n)}):Promise.resolve()).then(()=>{const e=indexedDB.open(t);return e.onupgradeneeded=()=>e.result.createObjectStore(o),i(e)});var n;return(t,n)=>e.then(e=>n(e.transaction(o,t).objectStore(o)))}let o;function s(){return o=o||t("keyval-store","keyval")}function r(t,e=s()){return e("readonly",e=>i(e.get(t)))}function a(t,n,e=s()){return e("readwrite",e=>(e.put(n,t),i(e.transaction)))}function l(e,t){return e.openCursor().onsuccess=function(){this.result&&(t(this.result),this.result.continue())},i(e.transaction)}var c=Object.freeze({__proto__:null,clear:function(e=s()){return e("readwrite",e=>(e.clear(),i(e.transaction)))},createStore:t,del:function(t,e=s()){return e("readwrite",e=>(e.delete(t),i(e.transaction)))},delMany:function(e,t=s()){return t("readwrite",t=>(e.forEach(e=>t.delete(e)),i(t.transaction)))},entries:function(n=s()){return n("readonly",e=>{if(e.getAll&&e.getAllKeys)return Promise.all([i(e.getAllKeys()),i(e.getAll())]).then(([e,n])=>e.map((e,t)=>[e,n[t]]));const t=[];return n("readonly",e=>l(e,e=>t.push([e.key,e.value])).then(()=>t))})},get:r,getMany:function(e,t=s()){return t("readonly",t=>Promise.all(e.map(e=>i(t.get(e)))))},keys:function(e=s()){return e("readonly",e=>{if(e.getAllKeys)return i(e.getAllKeys());const t=[];return l(e,e=>t.push(e.key)).then(()=>t)})},promisifyRequest:i,set:a,setMany:function(e,t=s()){return t("readwrite",t=>(e.forEach(e=>t.put(e[1],e[0])),i(t.transaction)))},update:function(o,r,e=s()){return e("readwrite",n=>new Promise((e,t)=>{n.get(o).onsuccess=function(){try{n.put(r(this.result),o),e(i(n.transaction))}catch(e){t(e)}}}))},values:function(e=s()){return e("readonly",e=>{if(e.getAll)return i(e.getAll());const t=[];return l(e,e=>t.push(e.value)).then(()=>t)})}}),u=Object.freeze({GET:"GET",SET:"SET",DELETE:"DELETE",UPDATE:"UPDATE"});class d{constructor(){this.listeners=Object.values(u).reduce((e,t)=>(e[t]=new Set,e),{}),this.on=function(e,t){if(this.listeners[e].has(t))throw Error(`This listener on ${e} already exists.`);this.listeners[e].add(t)},this.once=function(e,n){const o=(e,t)=>{this.off(e,o),n(e,t)};this.on(e,o)},this.off=function(e,t){this.listeners[e].delete(t)},this.emit=function(e,t){for(const n of this.listeners[e])n(e,t)};for(const t of Object.values(u))this[t.toLowerCase()]=e=>{this.emit(t,e)}}}function f(e={},{nestArrays:a=!0}={}){const l=new d;return Object.assign({store:function r(e,i,s){return new Proxy(e,{get(e,t){var n=[...s,t],o=e[t];return null!=o?(l.get({path:n,value:o}),!a&&Array.isArray(o)||"object"!=typeof o?o:r(o,i,n)):r(e[t]={},i,n)},set(e,t,n){return e[t]=n,l.set({path:[...s,t],value:n}),!0},deleteProperty(e,t){return delete e[t]&&(l.delete({path:[...s,t]}),!0)},has(e,t){return("object"!=typeof e[t]||0!==Object.keys(e[t]).length)&&t in e}})}(e,e,[]),ghost:e},l)}var p=Object.freeze({__proto__:null,Events:u,make:f});const m=n["findByProps"],g=m("__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","createElement");c={React:g,ReactDOM:m("__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","hydrate"),dispatch:m("dirtyDispatch").__proto__,idb:c,nests:p};function y(i,s=!1){return function(e,...t){t=t.join(""),void 0===e&&(e=["Default"],y("warn")("Requested hierarchy has not been passed to logger function, defaulting to default string",["Logger"])),"string"==typeof e&&(t=e,e=["Default"]);let n=["Demoncord",...e,t],o=[],r="";s&&n.splice(0,1);for(let e=0;e{e=o.plugins[e];const t=(0,eval)(e.initialize);var n=t.onStart();h.store[e.meta.name].ctx=n,o.status[e.meta.name]={running:!0}}),e.store.pluginsList=o.plugins,await a("demon",o)},add:async function(e,t){const n=await r("demon");n.plugins[t.name]={initialize:e,meta:t},extNest.store.pluginsList=n.plugins,await a("demon",n)},del:async function(e){const t=await r("demon");var n;t.plugins[e]&&t.status[e].running&&(n=h.store[e].ctx,(0,eval)(t.plugins[e].initialize).onStop(n)),delete t.status[e],delete t.plugins[e],extNest.store.pluginsList=t.plugins,await a("demon",t)},toggle:async function(t){const e=await r("demon");var n;e.plugins[t]&&(!function(e){let t=void 0,n=e[0],o=1;for(;on.call(t,...e)),t=void 0)}return n}([e,"access",e=>e.status,"access",e=>e[t],"optionalAccess",e=>e.running])?(n=(0,eval)(e.plugins[t].initialize).onStart(),h.store[t].ctx=n,e.status[t]={running:!0}):(console.log(e.status[t].ctx),n=h.store[t].ctx,(0,eval)(e.plugins[t].initialize).onStop(n),e.status[t].running=!1)),await a("demon",e)}};const _=["a","b","i"],w=new Map;var E;E="a";const b=(s,a,e,o=!1)=>{if("function"!=typeof a[s])throw new Error(s+" is not a function in "+a.constructor.name);w.has(a)||w.set(a,{});const t=w.get(a);if(!t[s]){const i=a[s],c=(t[s]={o:i,b:new Map,i:new Map,a:new Map},(e,t,n)=>{t=function(e,t,n,o,r){const i=w.get(t)?.[e];if(!i)return r?Reflect.construct(t[e],n,o):t[e].apply(o,n);for(const c of i.b.values()){var s=c.call(o,n);Array.isArray(s)&&(n=s)}let a=(...e)=>r?Reflect.construct(i.o,e,o):i.o.apply(o,e);for(const u of i.i.values()){const d=a;a=(...e)=>u.call(o,e,d)}let l=a(...n);for(const f of i.a.values())l=f.call(o,n,l)??l;return l}(s,a,t,e,n);return o&&r(),t});var n=new Proxy(i,{apply:(e,t,n)=>c(t,n,!1),construct:(e,t)=>c(i,t,!0),get:(e,t,n)=>"toString"==t?i.toString.bind(i):Reflect.get(e,t,n)});Reflect.defineProperty(a,s,{value:n,configurable:!0,writable:!0})||(a[s]=n)}const l=Symbol(),r=()=>{{var e=a,t=s,n=l,o=E;const r=w.get(e),i=r?.[t];return!!i?.[o].has(n)&&(i[o].delete(n),_.every(e=>0===i[e].size)&&(Reflect.defineProperty(e,t,{value:i.o,writable:!0,configurable:!0})||(e[t]=i.o),delete r[t]),0==Object.keys(r).length&&w.delete(e),!0)}};return t[s][E].set(l,e),r},S="/home/ruthenic/Coding/Javascript/demoncord/demoncord-rewrite/src/api/ui/settings/plugincard.jsx",D=n.findByProps("Sizes","Tags"),A=n.findByDisplayName("Card"),x=(n.findByDisplayName("FormText"),n.findByProps("BorderColors","Colors"));var N=e=>g.createElement(g.Fragment,null,g.createElement(A,{type:"cardPrimary",outline:!1,editable:!1,__self:void 0,__source:{fileName:S,lineNumber:11}},g.createElement(D,{size:D.Sizes.SIZE_5,__self:void 0,__source:{fileName:S,lineNumber:12}},e.name),g.createElement(x,{color:x.Colors.RED,onClick:()=>{Start,Stop},__self:void 0,__source:{fileName:S,lineNumber:15}})));const P="/home/ruthenic/Coding/Javascript/demoncord/demoncord-rewrite/src/api/ui/settings/plugins.jsx",B=n.findByProps("Sizes","Tags");n.findByDisplayName("FormTitle"),n.findByDisplayName("FormSection"),n.findByDisplayName("FormDivider");var M=()=>{const t=demon.require("internal/nest").ghost.pluginsList;return g.createElement(g.Fragment,null,g.createElement(B,{size:B.Sizes.SIZE_20,__self:void 0,__source:{fileName:P,lineNumber:14}},"Plugins"),Object.keys(t).map(e=>g.createElement(N,{name:t[e].meta.name,__self:void 0,__source:{fileName:P,lineNumber:17}})))};const O=n.findByDisplayName("SettingsView");var R={init:function(){b("getPredicateSections",O.default.prototype,(e,t)=>(t.unshift({section:"HEADER",label:"Demoncord"},{section:"demoncord",label:"Plugins",element:M},{section:"DIVIDER"}),t))}};if(!window.DiscordNative)throw new Error("Sorry, Demoncord cannot be used on web!");const T={modules:{webpack:n,common:c},utils:p,plugins:v,internal:{nest:c.nests.make()}};window.demon={require:function(e){const t=e.split("/");let n=T;return t.forEach(e=>{if(!(e in n))throw new Error("Module does not exist!");n=n[e]}),n}},v.init(),R.init()}(); diff --git a/rollup.config.js b/rollup.config.js index 67caf0b..54d3d7e 100644 --- a/rollup.config.js +++ b/rollup.config.js @@ -1,22 +1,27 @@ -import pkjs from "./package.json" +import pkjs from "./package.json"; import { defineConfig } from "rollup"; -import { uglify } from "rollup-plugin-uglify" -import { nodeResolve } from '@rollup/plugin-node-resolve' -import sucrase from '@rollup/plugin-sucrase'; -import alias from '@rollup/plugin-alias' +import { uglify } from "rollup-plugin-uglify"; +import { nodeResolve } from "@rollup/plugin-node-resolve"; +import sucrase from "@rollup/plugin-sucrase"; +import alias from "@rollup/plugin-alias"; export default defineConfig({ - input: pkjs.main, - output: { - file: "dist/build.js", - format: "iife" - }, - plugins: [alias({ - entries: [ - { find: "nests", replacement: "../../node_modules/nests/esm/index.js" } - ] - }), nodeResolve(), sucrase({ - exclude: ["node_modules/**"], - transforms: ["jsx"] - }), uglify()] -}) + input: pkjs.main, + output: { + file: "dist/build.js", + format: "iife", + }, + plugins: [ + alias({ + entries: [ + { find: "nests", replacement: "../../node_modules/nests/esm/index.js" }, + ], + }), + nodeResolve(), + sucrase({ + exclude: ["node_modules/**"], + transforms: ["jsx"], + }), + uglify(), + ], +}); diff --git a/src/api/ui/settings/plugincard.jsx b/src/api/ui/settings/plugincard.jsx new file mode 100644 index 0000000..d32accf --- /dev/null +++ b/src/api/ui/settings/plugincard.jsx @@ -0,0 +1,21 @@ +import { React } from "../../common" +import webpack from "../../webpack" + +const Header = webpack.findByProps("Sizes", "Tags") +const Card = webpack.findByDisplayName("Card"); +const FormText = webpack.findByDisplayName("FormText"); +const Button = webpack.findByProps("BorderColors", "Colors"); + +export default (props) => { + return (<> + +
+ {props.name} +
+ +
+ ) +} \ No newline at end of file diff --git a/src/api/ui/settings/plugins.jsx b/src/api/ui/settings/plugins.jsx new file mode 100644 index 0000000..4be7c98 --- /dev/null +++ b/src/api/ui/settings/plugins.jsx @@ -0,0 +1,21 @@ +import { React, nests } from "../../common" +import webpack from "../../webpack" +import PlugCard from "./plugincard.jsx" + +const Header = webpack.findByProps("Sizes", "Tags") +const FormTitle = webpack.findByDisplayName("FormTitle") +const FormSection = webpack.findByDisplayName("FormSection"); +const FormDivider = webpack.findByDisplayName("FormDivider"); + +export default () => { + const extNest = demon.require("internal/nest") + const pluginList = extNest.ghost.pluginsList + return (<> +
Plugins
+ {Object.keys(pluginList).map((k) => { + return ( + + ) + })} + ) +} \ No newline at end of file diff --git a/src/api/ui/settings/settings.js b/src/api/ui/settings/settings.js index 54f148c..5299d00 100644 --- a/src/api/ui/settings/settings.js +++ b/src/api/ui/settings/settings.js @@ -1,6 +1,6 @@ import webpack from "../../webpack" import { after } from "../../patcher" -import test from "./test.jsx" +import plugins from "./plugins.jsx" const SettingsView = webpack.findByDisplayName("SettingsView") @@ -14,7 +14,7 @@ function init() { { section: "demoncord", label: "Plugins", - element: test + element: plugins }, { section: "DIVIDER" diff --git a/src/api/ui/settings/test.jsx b/src/api/ui/settings/test.jsx deleted file mode 100644 index 0d7dac9..0000000 --- a/src/api/ui/settings/test.jsx +++ /dev/null @@ -1,9 +0,0 @@ -import { React, nests } from "../../common" - -export default () => { - const extNest = demon.require("internal/nest") - const pluginList = Object.keys(extNest.ghost.pluginsList) - return ( -

{pluginList}

- ) -} \ No newline at end of file