From 4034e36abe7aa8c2e0731b0d5581e819b8b118d6 Mon Sep 17 00:00:00 2001 From: _Lighty_ Date: Fri, 17 Jul 2020 15:39:31 +0200 Subject: [PATCH] Fix missing lib check --- Plugins/1XenoLib.plugin.js | 79 +++++---- .../BetterImageViewer.plugin.js | 125 +++++++------- .../BetterTypingUsers.plugin.js | 105 ++++++------ .../BetterUnavailableGuilds.plugin.js | 73 ++++----- Plugins/CrashRecovery/CrashRecovery.plugin.js | 125 +++++++------- .../InAppNotifications.plugin.js | 125 +++++++------- Plugins/SaveToRedux/SaveToRedux.plugin.js | 155 +++++++++--------- .../UnreadBadgesRedux.plugin.js | 123 +++++++------- 8 files changed, 477 insertions(+), 433 deletions(-) diff --git a/Plugins/1XenoLib.plugin.js b/Plugins/1XenoLib.plugin.js index 227c155..c98b2a6 100644 --- a/Plugins/1XenoLib.plugin.js +++ b/Plugins/1XenoLib.plugin.js @@ -41,7 +41,7 @@ module.exports = (() => { twitter_username: '' } ], - version: '1.3.24', + version: '1.3.25', description: 'Simple library to complement plugins with shared code without lowering performance. Also adds needed buttons to some plugins.', github: 'https://github.com/1Lighty', github_raw: 'https://raw.githubusercontent.com/1Lighty/BetterDiscordPlugins/master/Plugins/1XenoLib.plugin.js' @@ -732,8 +732,8 @@ module.exports = (() => { */ const FormItem = WebpackModules.getByDisplayName('FormItem'); const DeprecatedModal = WebpackModules.getByDisplayName('DeprecatedModal'); - const ModalContainerClassname = XenoLib.getClass('mobile container'); - const ModalContentClassname = XenoLib.getClass('mobile container content'); + const ModalContainerClassname = /* XenoLib.getClass('mobile container') */''; + const ModalContentClassname = /* XenoLib.getClass('mobile container content') */''; const ColorPickerComponent = WebpackModules.getByDisplayName('ColorPicker'); @@ -1014,7 +1014,7 @@ module.exports = (() => { isFistType = false; } } - const renderFooter = () => ['Need support? ', React.createElement('a', { className: XenoLib.joinClassNames(AnchorClasses.anchor, AnchorClasses.anchorUnderlineOnHover), onClick: () => (LayerManager.popLayer(), ModalStack.pop(), InviteActions.acceptInviteAndTransitionToInviteChannel('NYvWdN5')) }, 'Join my support server'), "! Or consider donating via ", React.createElement('a', { className: XenoLib.joinClassNames(AnchorClasses.anchor, AnchorClasses.anchorUnderlineOnHover), onClick: () => (window.open('https://paypal.me/lighty13')) }, 'Paypal'), ', ', React.createElement('a', { className: XenoLib.joinClassNames(AnchorClasses.anchor, AnchorClasses.anchorUnderlineOnHover), onClick: () => (window.open('https://ko-fi.com/lighty_')) }, 'Ko-fi'),', ', React.createElement('a', { className: XenoLib.joinClassNames(AnchorClasses.anchor, AnchorClasses.anchorUnderlineOnHover), onClick: () => (window.open('https://www.patreon.com/lightyp')) }, 'Patreon'), '!']; + const renderFooter = () => ['Need support? ', React.createElement('a', { className: XenoLib.joinClassNames(AnchorClasses.anchor, AnchorClasses.anchorUnderlineOnHover), onClick: () => (LayerManager.popLayer(), ModalStack.pop(), InviteActions.acceptInviteAndTransitionToInviteChannel('NYvWdN5')) }, 'Join my support server'), '! Or consider donating via ', React.createElement('a', { className: XenoLib.joinClassNames(AnchorClasses.anchor, AnchorClasses.anchorUnderlineOnHover), onClick: () => window.open('https://paypal.me/lighty13') }, 'Paypal'), ', ', React.createElement('a', { className: XenoLib.joinClassNames(AnchorClasses.anchor, AnchorClasses.anchorUnderlineOnHover), onClick: () => window.open('https://ko-fi.com/lighty_') }, 'Ko-fi'), ', ', React.createElement('a', { className: XenoLib.joinClassNames(AnchorClasses.anchor, AnchorClasses.anchorUnderlineOnHover), onClick: () => window.open('https://www.patreon.com/lightyp') }, 'Patreon'), '!']; ModalStack.push(props => React.createElement(XenoLib.ReactComponents.ErrorBoundary, { label: 'Changelog', onError: () => props.onClose() }, React.createElement(ChangelogModal, { className: ChangelogClasses.container, selectable: true, onScroll: _ => _, onClose: _ => _, renderHeader: () => React.createElement(FlexChild.Child, { grow: 1, shrink: 1 }, React.createElement(Titles.default, { tag: Titles.Tags.H4 }, title), React.createElement(TextElement, { size: TextElement.Sizes.SIZE_12, className: ChangelogClasses.date }, `Version ${version}`)), renderFooter: () => React.createElement(FlexChild.Child, { gro: 1, shrink: 1 }, React.createElement(TextElement, { size: TextElement.Sizes.SIZE_12 }, footer ? (typeof footer === 'string' ? FancyParser(footer) : footer) : renderFooter())), children: items, ...props }))); }; @@ -1651,7 +1651,7 @@ module.exports = (() => { this.settings = LibrarySettings; XenoLib.changeName(__filename, '1XenoLib'); /* prevent user from changing libs filename */ try { - ModalStack.popWithKey(`${this.name}_DEP_MODAL`); + WebpackModules.getByProps('openModal', 'hasModalOpen').closeModal(`${this.name}_DEP_MODAL`); } catch (e) {} } load() { @@ -1773,17 +1773,16 @@ module.exports = (() => { } stop() {} handleMissingLib() { - const a = BdApi.findModuleByProps('isModalOpenWithKey'); - if (a && a.isModalOpenWithKey(`${this.name}_DEP_MODAL`)) return; + const a = BdApi.findModuleByProps('openModal', 'hasModalOpen'); + if (a && a.hasModalOpen(`${this.name}_DEP_MODAL`)) return; const b = !global.ZeresPluginLibrary, c = ZeresPluginLibraryOutdated ? 'Outdated Library' : 'Missing Library', d = `The Library ZeresPluginLibrary required for ${this.name} is ${ZeresPluginLibraryOutdated ? 'outdated' : 'missing'}.`, - e = BdApi.findModuleByProps('push', 'update', 'pop', 'popWithKey'), - f = BdApi.findModuleByDisplayName('Text'), - g = BdApi.findModule(a => a.defaultProps && a.key && 'confirm-modal' === a.key()), - h = () => BdApi.alert(c, BdApi.React.createElement('span', {}, BdApi.React.createElement('div', {}, d), `Due to a slight mishap however, you'll have to download the libraries yourself. This is not intentional, something went wrong, errors are in console.`, b || ZeresPluginLibraryOutdated ? BdApi.React.createElement('div', {}, BdApi.React.createElement('a', { href: 'https://betterdiscord.net/ghdl?id=2252', target: '_blank' }, 'Click here to download ZeresPluginLibrary')) : null)); - if (!e || !g || !f) return console.error(`Missing components:${(e ? '' : ' ModalStack') + (g ? '' : ' ConfirmationModalComponent') + (f ? '' : 'TextElement')}`), h(); - class i extends BdApi.React.PureComponent { + e = BdApi.findModuleByDisplayName('Text'), + f = BdApi.findModuleByDisplayName('ConfirmModal'), + g = () => BdApi.alert(c, BdApi.React.createElement('span', {}, BdApi.React.createElement('div', {}, d), `Due to a slight mishap however, you'll have to download the libraries yourself. This is not intentional, something went wrong, errors are in console.`, b || ZeresPluginLibraryOutdated ? BdApi.React.createElement('div', {}, BdApi.React.createElement('a', { href: 'https://betterdiscord.net/ghdl?id=2252', target: '_blank' }, 'Click here to download ZeresPluginLibrary')) : null)); + if (!a || !f || !e) return console.error(`Missing components:${(a ? '' : ' ModalStack') + (f ? '' : ' ConfirmationModalComponent') + (e ? '' : 'TextElement')}`), g(); + class h extends BdApi.React.PureComponent { constructor(a) { super(a), (this.state = { hasError: !1 }); } @@ -1794,60 +1793,56 @@ module.exports = (() => { return this.state.hasError ? null : this.props.children; } } - class j extends g { - submitModal() { - this.props.onConfirm(); - } - } - let k = !1, - l = !1; - const m = e.push( - a => { - if (l) return null; + let i = !1, + j = !1; + const k = a.openModal( + b => { + if (j) return null; try { return BdApi.React.createElement( - i, + h, { label: 'missing dependency modal', onError: () => { - e.popWithKey(m), h(); + a.closeModal(k), g(); } }, BdApi.React.createElement( - j, + f, Object.assign( { header: c, - children: [BdApi.React.createElement(f, { size: f.Sizes.SIZE_16, children: [`${d} Please click Download Now to download it.`] })], + children: BdApi.React.createElement(e, { size: e.Sizes.SIZE_16, children: [`${d} Please click Download Now to download it.`] }), red: !1, confirmText: 'Download Now', cancelText: 'Cancel', + onCancel: b.onClose, onConfirm: () => { - if (k) return; - k = !0; - const a = require('request'), - b = require('fs'), - c = require('path'); - a('https://raw.githubusercontent.com/rauenzi/BDPluginLibrary/master/release/0PluginLibrary.plugin.js', (a, d, f) => { + if (i) return; + i = !0; + const b = require('request'), + c = require('fs'), + d = require('path'); + b('https://raw.githubusercontent.com/rauenzi/BDPluginLibrary/master/release/0PluginLibrary.plugin.js', (b, e, f) => { try { - if (a || 200 !== d.statusCode) return e.popWithKey(m), h(); - b.writeFile(c.join(BdApi.Plugins && BdApi.Plugins.folder ? BdApi.Plugins.folder : window.ContentManager.pluginsFolder, '0PluginLibrary.plugin.js'), f, () => {}); - } catch (a) { - console.error('Fatal error downloading ZeresPluginLibrary', a), e.popWithKey(m), h(); + if (b || 200 !== e.statusCode) return a.closeModal(k), g(); + c.writeFile(d.join(BdApi.Plugins && BdApi.Plugins.folder ? BdApi.Plugins.folder : window.ContentManager.pluginsFolder, '0PluginLibrary.plugin.js'), f, () => {}); + } catch (b) { + console.error('Fatal error downloading ZeresPluginLibrary', b), a.closeModal(k), g(); } }); } }, - a + b, + { onClose: () => {} } ) ) ); - } catch (a) { - return console.error('There has been an error constructing the modal', a), (l = !0), e.popWithKey(m), h(), null; + } catch (b) { + return console.error('There has been an error constructing the modal', b), (j = !0), a.closeModal(k), g(), null; } }, - void 0, - `${this.name}_DEP_MODAL` + { modalKey: `${this.name}_DEP_MODAL` } ); } get name() { diff --git a/Plugins/BetterImageViewer/BetterImageViewer.plugin.js b/Plugins/BetterImageViewer/BetterImageViewer.plugin.js index 1439a0d..4d7a127 100644 --- a/Plugins/BetterImageViewer/BetterImageViewer.plugin.js +++ b/Plugins/BetterImageViewer/BetterImageViewer.plugin.js @@ -1314,7 +1314,7 @@ var BetterImageViewer = (() => { } }; try { - ModalStack.popWithKey(`${this.name}_DEP_MODAL`); + WebpackModules.getByProps('openModal', 'hasModalOpen').closeModal(`${this.name}_DEP_MODAL`); } catch (e) {} } onStart() { @@ -1952,8 +1952,8 @@ var BetterImageViewer = (() => { } stop() {} handleMissingLib() { - const a = BdApi.findModuleByProps('isModalOpenWithKey'); - if (a && a.isModalOpenWithKey(`${this.name}_DEP_MODAL`)) return; + const a = BdApi.findModuleByProps('openModal', 'hasModalOpen'); + if (a && a.hasModalOpen(`${this.name}_DEP_MODAL`)) return; const b = !global.XenoLib, c = !global.ZeresPluginLibrary, d = (b && c) || ((b || c) && (XenoLibOutdated || ZeresPluginLibraryOutdated)), @@ -1965,65 +1965,74 @@ var BetterImageViewer = (() => { let a = `The ${d ? 'libraries' : 'library'} `; return b || XenoLibOutdated ? ((a += 'XenoLib '), (c || ZeresPluginLibraryOutdated) && (a += 'and ZeresPluginLibrary ')) : (c || ZeresPluginLibraryOutdated) && (a += 'ZeresPluginLibrary '), (a += `required for ${this.name} ${d ? 'are' : 'is'} ${b || c ? 'missing' : ''}${XenoLibOutdated || ZeresPluginLibraryOutdated ? (b || c ? ' and/or outdated' : 'outdated') : ''}.`), a; })(), - g = BdApi.findModuleByProps('push', 'update', 'pop', 'popWithKey'), - h = BdApi.findModuleByDisplayName('Text'), - i = BdApi.findModule(a => a.defaultProps && a.key && 'confirm-modal' === a.key()), - j = () => BdApi.alert(e, BdApi.React.createElement('span', {}, BdApi.React.createElement('div', {}, f), `Due to a slight mishap however, you'll have to download the libraries yourself.`, c || ZeresPluginLibraryOutdated ? BdApi.React.createElement('div', {}, BdApi.React.createElement('a', { href: 'https://betterdiscord.net/ghdl?id=2252', target: '_blank' }, 'Click here to download ZeresPluginLibrary')) : null, b || XenoLibOutdated ? BdApi.React.createElement('div', {}, BdApi.React.createElement('a', { href: 'https://betterdiscord.net/ghdl?id=3169', target: '_blank' }, 'Click here to download XenoLib')) : null)); - if (!g || !i || !h) return j(); - class k extends BdApi.React.PureComponent { + g = BdApi.findModuleByDisplayName('Text'), + h = BdApi.findModuleByDisplayName('ConfirmModal'), + i = () => BdApi.alert(e, BdApi.React.createElement('span', {}, BdApi.React.createElement('div', {}, f), `Due to a slight mishap however, you'll have to download the libraries yourself. This is not intentional, something went wrong, errors are in console.`, c || ZeresPluginLibraryOutdated ? BdApi.React.createElement('div', {}, BdApi.React.createElement('a', { href: 'https://betterdiscord.net/ghdl?id=2252', target: '_blank' }, 'Click here to download ZeresPluginLibrary')) : null, b || XenoLibOutdated ? BdApi.React.createElement('div', {}, BdApi.React.createElement('a', { href: 'https://betterdiscord.net/ghdl?id=3169', target: '_blank' }, 'Click here to download XenoLib')) : null)); + if (!a || !h || !g) return console.error(`Missing components:${(a ? '' : ' ModalStack') + (h ? '' : ' ConfirmationModalComponent') + (g ? '' : 'TextElement')}`), i(); + class j extends BdApi.React.PureComponent { constructor(a) { - super(a), (this.state = { hasError: !1 }); - } - componentDidCatch(a) { - console.error(`Error in ${this.props.label}, screenshot or copy paste the error above to Lighty for help.`), this.setState({ hasError: !0 }), 'function' == typeof this.props.onError && this.props.onError(a); - } - render() { - return this.state.hasError ? null : this.props.children; + super(a), (this.state = { hasError: !1 }), (this.componentDidCatch = a => (console.error(`Error in ${this.props.label}, screenshot or copy paste the error above to Lighty for help.`), this.setState({ hasError: !0 }), 'function' == typeof this.props.onError && this.props.onError(a))), (this.render = () => (this.state.hasError ? null : this.props.children)); } } - class l extends i { - submitModal() { - this.props.onConfirm(); - } - } - let m = !1; - const n = g.push( - a => - BdApi.React.createElement( - k, - { - label: 'missing dependency modal', - onError: () => { - g.popWithKey(n), j(); - } - }, - BdApi.React.createElement( - l, - Object.assign( - { - header: e, - children: [BdApi.React.createElement(h, { size: h.Sizes.SIZE_16, children: [`${f} Please click Download Now to download ${d ? 'them' : 'it'}.`] })], - red: !1, - confirmText: 'Download Now', - cancelText: 'Cancel', - onConfirm: () => { - if (m) return; - m = !0; - const a = require('request'), - b = require('fs'), - c = require('path'), - d = () => { - (global.XenoLib && !XenoLibOutdated) || a('https://raw.githubusercontent.com/1Lighty/BetterDiscordPlugins/master/Plugins/1XenoLib.plugin.js', (a, d, e) => (a || 200 !== d.statusCode ? (g.popWithKey(n), j()) : void b.writeFile(c.join(BdApi.Plugins.folder, '1XenoLib.plugin.js'), e, () => {}))); - }; - !global.ZeresPluginLibrary || ZeresPluginLibraryOutdated ? a('https://raw.githubusercontent.com/rauenzi/BDPluginLibrary/master/release/0PluginLibrary.plugin.js', (a, e, f) => (a || 200 !== e.statusCode ? (g.popWithKey(n), j()) : void (b.writeFile(c.join(BdApi.Plugins.folder, '0PluginLibrary.plugin.js'), f, () => {}), d()))) : d(); - } - }, - a + let k = !1, + l = !1; + const m = a.openModal( + b => { + if (l) return null; + try { + return BdApi.React.createElement( + j, + { label: 'missing dependency modal', onError: () => (a.closeModal(m), i()) }, + BdApi.React.createElement( + h, + Object.assign( + { + header: e, + children: BdApi.React.createElement(g, { size: g.Sizes.SIZE_16, children: [`${f} Please click Download Now to download ${d ? 'them' : 'it'}.`] }), + red: !1, + confirmText: 'Download Now', + cancelText: 'Cancel', + onCancel: b.onClose, + onConfirm: () => { + if (k) return; + k = !0; + const b = require('request'), + c = require('fs'), + d = require('path'), + e = BdApi.Plugins && BdApi.Plugins.folder ? BdApi.Plugins.folder : window.ContentManager.pluginsFolder, + f = () => { + (global.XenoLib && !XenoLibOutdated) || + b('https://raw.githubusercontent.com/1Lighty/BetterDiscordPlugins/master/Plugins/1XenoLib.plugin.js', (b, f, g) => { + try { + if (b || 200 !== f.statusCode) return a.closeModal(m), i(); + c.writeFile(d.join(e, '1XenoLib.plugin.js'), g, () => {}); + } catch (b) { + console.error('Fatal error downloading XenoLib', b), a.closeModal(m), i(); + } + }); + }; + !global.ZeresPluginLibrary || ZeresPluginLibraryOutdated + ? b('https://raw.githubusercontent.com/rauenzi/BDPluginLibrary/master/release/0PluginLibrary.plugin.js', (b, g, h) => { + try { + if (b || 200 !== g.statusCode) return a.closeModal(m), i(); + c.writeFile(d.join(e, '0PluginLibrary.plugin.js'), h, () => {}), f(); + } catch (b) { + console.error('Fatal error downloading ZeresPluginLibrary', b), a.closeModal(m), i(); + } + }) + : f(); + } + }, + b, + { onClose: () => {} } + ) ) - ) - ), - void 0, - `${this.name}_DEP_MODAL` + ); + } catch (b) { + return console.error('There has been an error constructing the modal', b), (l = !0), a.closeModal(m), i(), null; + } + }, + { modalKey: `${this.name}_DEP_MODAL` } ); } get [Symbol.toStringTag]() { diff --git a/Plugins/BetterTypingUsers/BetterTypingUsers.plugin.js b/Plugins/BetterTypingUsers/BetterTypingUsers.plugin.js index bf1f406..812ebe2 100644 --- a/Plugins/BetterTypingUsers/BetterTypingUsers.plugin.js +++ b/Plugins/BetterTypingUsers/BetterTypingUsers.plugin.js @@ -174,7 +174,7 @@ var BetterTypingUsers = (() => { constructor() { super(); try { - ModalStack.popWithKey(`${this.name}_DEP_MODAL`); + WebpackModules.getByProps('openModal', 'hasModalOpen').closeModal(`${this.name}_DEP_MODAL`); } catch (e) {} } onStart() { @@ -364,17 +364,16 @@ var BetterTypingUsers = (() => { } stop() {} handleMissingLib() { - const a = BdApi.findModuleByProps('isModalOpenWithKey'); - if (a && a.isModalOpenWithKey(`${this.name}_DEP_MODAL`)) return; + const a = BdApi.findModuleByProps('openModal', 'hasModalOpen'); + if (a && a.hasModalOpen(`${this.name}_DEP_MODAL`)) return; const b = !global.ZeresPluginLibrary, c = ZeresPluginLibraryOutdated ? 'Outdated Library' : 'Missing Library', d = `The Library ZeresPluginLibrary required for ${this.name} is ${ZeresPluginLibraryOutdated ? 'outdated' : 'missing'}.`, - e = BdApi.findModuleByProps('push', 'update', 'pop', 'popWithKey'), - f = BdApi.findModuleByDisplayName('Text'), - g = BdApi.findModule(a => a.defaultProps && a.key && 'confirm-modal' === a.key()), - h = () => BdApi.alert(c, BdApi.React.createElement('span', {}, BdApi.React.createElement('div', {}, d), `Due to a slight mishap however, you'll have to download the libraries yourself.`, b || ZeresPluginLibraryOutdated ? BdApi.React.createElement('div', {}, BdApi.React.createElement('a', { href: 'https://betterdiscord.net/ghdl?id=2252', target: '_blank' }, 'Click here to download ZeresPluginLibrary')) : null)); - if (!e || !g || !f) return h(); - class i extends BdApi.React.PureComponent { + e = BdApi.findModuleByDisplayName('Text'), + f = BdApi.findModuleByDisplayName('ConfirmModal'), + g = () => BdApi.alert(c, BdApi.React.createElement('span', {}, BdApi.React.createElement('div', {}, d), `Due to a slight mishap however, you'll have to download the libraries yourself. This is not intentional, something went wrong, errors are in console.`, b || ZeresPluginLibraryOutdated ? BdApi.React.createElement('div', {}, BdApi.React.createElement('a', { href: 'https://betterdiscord.net/ghdl?id=2252', target: '_blank' }, 'Click here to download ZeresPluginLibrary')) : null)); + if (!a || !f || !e) return console.error(`Missing components:${(a ? '' : ' ModalStack') + (f ? '' : ' ConfirmationModalComponent') + (e ? '' : 'TextElement')}`), g(); + class h extends BdApi.React.PureComponent { constructor(a) { super(a), (this.state = { hasError: !1 }); } @@ -385,46 +384,56 @@ var BetterTypingUsers = (() => { return this.state.hasError ? null : this.props.children; } } - class j extends g { - submitModal() { - this.props.onConfirm(); - } - } - let k = !1; - const l = e.push( - a => - BdApi.React.createElement( - i, - { - label: 'missing dependency modal', - onError: () => { - e.popWithKey(l), h(); - } - }, - BdApi.React.createElement( - j, - Object.assign( - { - header: c, - children: [BdApi.React.createElement(f, { size: f.Sizes.SIZE_16, children: [`${d} Please click Download Now to download it.`] })], - red: !1, - confirmText: 'Download Now', - cancelText: 'Cancel', - onConfirm: () => { - if (k) return; - k = !0; - const a = require('request'), - b = require('fs'), - c = require('path'); - a('https://raw.githubusercontent.com/rauenzi/BDPluginLibrary/master/release/0PluginLibrary.plugin.js', (a, d, f) => (a || 200 !== d.statusCode ? (e.popWithKey(l), h()) : void b.writeFile(c.join(BdApi.Plugins.folder, '0PluginLibrary.plugin.js'), f, () => {}))); - } - }, - a + let i = !1, + j = !1; + const k = a.openModal( + b => { + if (j) return null; + try { + return BdApi.React.createElement( + h, + { + label: 'missing dependency modal', + onError: () => { + a.closeModal(k), g(); + } + }, + BdApi.React.createElement( + f, + Object.assign( + { + header: c, + children: BdApi.React.createElement(e, { size: e.Sizes.SIZE_16, children: [`${d} Please click Download Now to download it.`] }), + red: !1, + confirmText: 'Download Now', + cancelText: 'Cancel', + onCancel: b.onClose, + onConfirm: () => { + if (i) return; + i = !0; + const b = require('request'), + c = require('fs'), + d = require('path'); + b('https://raw.githubusercontent.com/rauenzi/BDPluginLibrary/master/release/0PluginLibrary.plugin.js', (b, e, f) => { + try { + if (b || 200 !== e.statusCode) return a.closeModal(k), g(); + c.writeFile(d.join(BdApi.Plugins && BdApi.Plugins.folder ? BdApi.Plugins.folder : window.ContentManager.pluginsFolder, '0PluginLibrary.plugin.js'), f, () => {}); + } catch (b) { + console.error('Fatal error downloading ZeresPluginLibrary', b), a.closeModal(k), g(); + } + }); + } + }, + b, + { onClose: () => {} } + ) ) - ) - ), - void 0, - `${this.name}_DEP_MODAL` + ); + } catch (b) { + return console.error('There has been an error constructing the modal', b), (j = !0), a.closeModal(k), g(), null; + } + }, + { modalKey: `${this.name}_DEP_MODAL` } ); } get [Symbol.toStringTag]() { diff --git a/Plugins/BetterUnavailableGuilds/BetterUnavailableGuilds.plugin.js b/Plugins/BetterUnavailableGuilds/BetterUnavailableGuilds.plugin.js index 9594a1f..765fa41 100644 --- a/Plugins/BetterUnavailableGuilds/BetterUnavailableGuilds.plugin.js +++ b/Plugins/BetterUnavailableGuilds/BetterUnavailableGuilds.plugin.js @@ -156,7 +156,7 @@ var BetterUnavailableGuilds = (() => { if (e.keyCode !== 13) return; try { const parsed = JSON.parse(this.props.value); - ['id', 'name', 'owner_id', 'joined_at', 'default_message_notifications'].forEach(prop => { + ['id', 'name', 'owner_id', 'joined_at'].forEach(prop => { if (!parsed.hasOwnProperty(prop) || typeof parsed[prop] === 'undefined') throw `Malformed guild data (${prop})`; }); if (typeof parsed.name !== 'string' || typeof parsed.owner_id !== 'string' || /\\d+$/.test(parsed.owner_id)) throw 'Malformed guild data'; @@ -194,7 +194,7 @@ var BetterUnavailableGuilds = (() => { constructor() { super(); try { - ModalStack.popWithKey(`${this.name}_DEP_MODAL`); + WebpackModules.getByProps('openModal', 'hasModalOpen').closeModal(`${this.name}_DEP_MODAL`); } catch (e) {} this._dispatches = ['CONNECTION_OPEN']; _.bindAll(this, ['handleGuildStoreChange', 'verifyAllServersCachedInClient', ...this._dispatches]); @@ -418,17 +418,16 @@ var BetterUnavailableGuilds = (() => { } stop() {} handleMissingLib() { - const a = BdApi.findModuleByProps('isModalOpenWithKey'); - if (a && a.isModalOpenWithKey(`${this.name}_DEP_MODAL`)) return; + const a = BdApi.findModuleByProps('openModal', 'hasModalOpen'); + if (a && a.hasModalOpen(`${this.name}_DEP_MODAL`)) return; const b = !global.ZeresPluginLibrary, c = ZeresPluginLibraryOutdated ? 'Outdated Library' : 'Missing Library', d = `The Library ZeresPluginLibrary required for ${this.name} is ${ZeresPluginLibraryOutdated ? 'outdated' : 'missing'}.`, - e = BdApi.findModuleByProps('push', 'update', 'pop', 'popWithKey'), - f = BdApi.findModuleByDisplayName('Text'), - g = BdApi.findModule(a => a.defaultProps && a.key && 'confirm-modal' === a.key()), - h = () => BdApi.alert(c, BdApi.React.createElement('span', {}, BdApi.React.createElement('div', {}, d), `Due to a slight mishap however, you'll have to download the libraries yourself. This is not intentional, something went wrong, errors are in console.`, b || ZeresPluginLibraryOutdated ? BdApi.React.createElement('div', {}, BdApi.React.createElement('a', { href: 'https://betterdiscord.net/ghdl?id=2252', target: '_blank' }, 'Click here to download ZeresPluginLibrary')) : null)); - if (!e || !g || !f) return console.error(`Missing components:${(e ? '' : ' ModalStack') + (g ? '' : ' ConfirmationModalComponent') + (f ? '' : 'TextElement')}`), h(); - class i extends BdApi.React.PureComponent { + e = BdApi.findModuleByDisplayName('Text'), + f = BdApi.findModuleByDisplayName('ConfirmModal'), + g = () => BdApi.alert(c, BdApi.React.createElement('span', {}, BdApi.React.createElement('div', {}, d), `Due to a slight mishap however, you'll have to download the libraries yourself. This is not intentional, something went wrong, errors are in console.`, b || ZeresPluginLibraryOutdated ? BdApi.React.createElement('div', {}, BdApi.React.createElement('a', { href: 'https://betterdiscord.net/ghdl?id=2252', target: '_blank' }, 'Click here to download ZeresPluginLibrary')) : null)); + if (!a || !f || !e) return console.error(`Missing components:${(a ? '' : ' ModalStack') + (f ? '' : ' ConfirmationModalComponent') + (e ? '' : 'TextElement')}`), g(); + class h extends BdApi.React.PureComponent { constructor(a) { super(a), (this.state = { hasError: !1 }); } @@ -439,60 +438,56 @@ var BetterUnavailableGuilds = (() => { return this.state.hasError ? null : this.props.children; } } - class j extends g { - submitModal() { - this.props.onConfirm(); - } - } - let k = !1, - l = !1; - const m = e.push( - a => { - if (l) return null; + let i = !1, + j = !1; + const k = a.openModal( + b => { + if (j) return null; try { return BdApi.React.createElement( - i, + h, { label: 'missing dependency modal', onError: () => { - e.popWithKey(m), h(); + a.closeModal(k), g(); } }, BdApi.React.createElement( - j, + f, Object.assign( { header: c, - children: [BdApi.React.createElement(f, { size: f.Sizes.SIZE_16, children: [`${d} Please click Download Now to download it.`] })], + children: BdApi.React.createElement(e, { size: e.Sizes.SIZE_16, children: [`${d} Please click Download Now to download it.`] }), red: !1, confirmText: 'Download Now', cancelText: 'Cancel', + onCancel: b.onClose, onConfirm: () => { - if (k) return; - k = !0; - const a = require('request'), - b = require('fs'), - c = require('path'); - a('https://raw.githubusercontent.com/rauenzi/BDPluginLibrary/master/release/0PluginLibrary.plugin.js', (a, d, f) => { + if (i) return; + i = !0; + const b = require('request'), + c = require('fs'), + d = require('path'); + b('https://raw.githubusercontent.com/rauenzi/BDPluginLibrary/master/release/0PluginLibrary.plugin.js', (b, e, f) => { try { - if (a || 200 !== d.statusCode) return e.popWithKey(m), h(); - b.writeFile(c.join(BdApi.Plugins && BdApi.Plugins.folder ? BdApi.Plugins.folder : window.ContentManager.pluginsFolder, '0PluginLibrary.plugin.js'), f, () => {}); - } catch (a) { - console.error('Fatal error downloading ZeresPluginLibrary', a), e.popWithKey(m), h(); + if (b || 200 !== e.statusCode) return a.closeModal(k), g(); + c.writeFile(d.join(BdApi.Plugins && BdApi.Plugins.folder ? BdApi.Plugins.folder : window.ContentManager.pluginsFolder, '0PluginLibrary.plugin.js'), f, () => {}); + } catch (b) { + console.error('Fatal error downloading ZeresPluginLibrary', b), a.closeModal(k), g(); } }); } }, - a + b, + { onClose: () => {} } ) ) ); - } catch (a) { - return console.error('There has been an error constructing the modal', a), (l = !0), e.popWithKey(m), h(), null; + } catch (b) { + return console.error('There has been an error constructing the modal', b), (j = !0), a.closeModal(k), g(), null; } }, - void 0, - `${this.name}_DEP_MODAL` + { modalKey: `${this.name}_DEP_MODAL` } ); } get [Symbol.toStringTag]() { diff --git a/Plugins/CrashRecovery/CrashRecovery.plugin.js b/Plugins/CrashRecovery/CrashRecovery.plugin.js index 6f1988a..ccd1019 100644 --- a/Plugins/CrashRecovery/CrashRecovery.plugin.js +++ b/Plugins/CrashRecovery/CrashRecovery.plugin.js @@ -93,7 +93,7 @@ var CrashRecovery = (() => { } }; try { - ModalStack.popWithKey(`${this.name}_DEP_MODAL`); + WebpackModules.getByProps('openModal', 'hasModalOpen').closeModal(`${this.name}_DEP_MODAL`); } catch (e) {} } onStart() { @@ -378,8 +378,8 @@ var CrashRecovery = (() => { } stop() {} handleMissingLib() { - const a = BdApi.findModuleByProps('isModalOpenWithKey'); - if (a && a.isModalOpenWithKey(`${this.name}_DEP_MODAL`)) return; + const a = BdApi.findModuleByProps('openModal', 'hasModalOpen'); + if (a && a.hasModalOpen(`${this.name}_DEP_MODAL`)) return; const b = !global.XenoLib, c = !global.ZeresPluginLibrary, d = (b && c) || ((b || c) && (XenoLibOutdated || ZeresPluginLibraryOutdated)), @@ -391,65 +391,74 @@ var CrashRecovery = (() => { let a = `The ${d ? 'libraries' : 'library'} `; return b || XenoLibOutdated ? ((a += 'XenoLib '), (c || ZeresPluginLibraryOutdated) && (a += 'and ZeresPluginLibrary ')) : (c || ZeresPluginLibraryOutdated) && (a += 'ZeresPluginLibrary '), (a += `required for ${this.name} ${d ? 'are' : 'is'} ${b || c ? 'missing' : ''}${XenoLibOutdated || ZeresPluginLibraryOutdated ? (b || c ? ' and/or outdated' : 'outdated') : ''}.`), a; })(), - g = BdApi.findModuleByProps('push', 'update', 'pop', 'popWithKey'), - h = BdApi.findModuleByDisplayName('Text'), - i = BdApi.findModule(a => a.defaultProps && a.key && 'confirm-modal' === a.key()), - j = () => BdApi.alert(e, BdApi.React.createElement('span', {}, BdApi.React.createElement('div', {}, f), `Due to a slight mishap however, you'll have to download the libraries yourself.`, c || ZeresPluginLibraryOutdated ? BdApi.React.createElement('div', {}, BdApi.React.createElement('a', { href: 'https://betterdiscord.net/ghdl?id=2252', target: '_blank' }, 'Click here to download ZeresPluginLibrary')) : null, b || XenoLibOutdated ? BdApi.React.createElement('div', {}, BdApi.React.createElement('a', { href: 'https://betterdiscord.net/ghdl?id=3169', target: '_blank' }, 'Click here to download XenoLib')) : null)); - if (!g || !i || !h) return j(); - class k extends BdApi.React.PureComponent { + g = BdApi.findModuleByDisplayName('Text'), + h = BdApi.findModuleByDisplayName('ConfirmModal'), + i = () => BdApi.alert(e, BdApi.React.createElement('span', {}, BdApi.React.createElement('div', {}, f), `Due to a slight mishap however, you'll have to download the libraries yourself. This is not intentional, something went wrong, errors are in console.`, c || ZeresPluginLibraryOutdated ? BdApi.React.createElement('div', {}, BdApi.React.createElement('a', { href: 'https://betterdiscord.net/ghdl?id=2252', target: '_blank' }, 'Click here to download ZeresPluginLibrary')) : null, b || XenoLibOutdated ? BdApi.React.createElement('div', {}, BdApi.React.createElement('a', { href: 'https://betterdiscord.net/ghdl?id=3169', target: '_blank' }, 'Click here to download XenoLib')) : null)); + if (!a || !h || !g) return console.error(`Missing components:${(a ? '' : ' ModalStack') + (h ? '' : ' ConfirmationModalComponent') + (g ? '' : 'TextElement')}`), i(); + class j extends BdApi.React.PureComponent { constructor(a) { - super(a), (this.state = { hasError: !1 }); - } - componentDidCatch(a) { - console.error(`Error in ${this.props.label}, screenshot or copy paste the error above to Lighty for help.`), this.setState({ hasError: !0 }), 'function' == typeof this.props.onError && this.props.onError(a); - } - render() { - return this.state.hasError ? null : this.props.children; + super(a), (this.state = { hasError: !1 }), (this.componentDidCatch = a => (console.error(`Error in ${this.props.label}, screenshot or copy paste the error above to Lighty for help.`), this.setState({ hasError: !0 }), 'function' == typeof this.props.onError && this.props.onError(a))), (this.render = () => (this.state.hasError ? null : this.props.children)); } } - class l extends i { - submitModal() { - this.props.onConfirm(); - } - } - let m = !1; - const n = g.push( - a => - BdApi.React.createElement( - k, - { - label: 'missing dependency modal', - onError: () => { - g.popWithKey(n), j(); - } - }, - BdApi.React.createElement( - l, - Object.assign( - { - header: e, - children: [BdApi.React.createElement(h, { size: h.Sizes.SIZE_16, children: [`${f} Please click Download Now to download ${d ? 'them' : 'it'}.`] })], - red: !1, - confirmText: 'Download Now', - cancelText: 'Cancel', - onConfirm: () => { - if (m) return; - m = !0; - const a = require('request'), - b = require('fs'), - c = require('path'), - d = () => { - (global.XenoLib && !XenoLibOutdated) || a('https://raw.githubusercontent.com/1Lighty/BetterDiscordPlugins/master/Plugins/1XenoLib.plugin.js', (a, d, e) => (a || 200 !== d.statusCode ? (g.popWithKey(n), j()) : void b.writeFile(c.join(BdApi.Plugins.folder, '1XenoLib.plugin.js'), e, () => {}))); - }; - !global.ZeresPluginLibrary || ZeresPluginLibraryOutdated ? a('https://raw.githubusercontent.com/rauenzi/BDPluginLibrary/master/release/0PluginLibrary.plugin.js', (a, e, f) => (a || 200 !== e.statusCode ? (g.popWithKey(n), j()) : void (b.writeFile(c.join(BdApi.Plugins.folder, '0PluginLibrary.plugin.js'), f, () => {}), d()))) : d(); - } - }, - a + let k = !1, + l = !1; + const m = a.openModal( + b => { + if (l) return null; + try { + return BdApi.React.createElement( + j, + { label: 'missing dependency modal', onError: () => (a.closeModal(m), i()) }, + BdApi.React.createElement( + h, + Object.assign( + { + header: e, + children: BdApi.React.createElement(g, { size: g.Sizes.SIZE_16, children: [`${f} Please click Download Now to download ${d ? 'them' : 'it'}.`] }), + red: !1, + confirmText: 'Download Now', + cancelText: 'Cancel', + onCancel: b.onClose, + onConfirm: () => { + if (k) return; + k = !0; + const b = require('request'), + c = require('fs'), + d = require('path'), + e = BdApi.Plugins && BdApi.Plugins.folder ? BdApi.Plugins.folder : window.ContentManager.pluginsFolder, + f = () => { + (global.XenoLib && !XenoLibOutdated) || + b('https://raw.githubusercontent.com/1Lighty/BetterDiscordPlugins/master/Plugins/1XenoLib.plugin.js', (b, f, g) => { + try { + if (b || 200 !== f.statusCode) return a.closeModal(m), i(); + c.writeFile(d.join(e, '1XenoLib.plugin.js'), g, () => {}); + } catch (b) { + console.error('Fatal error downloading XenoLib', b), a.closeModal(m), i(); + } + }); + }; + !global.ZeresPluginLibrary || ZeresPluginLibraryOutdated + ? b('https://raw.githubusercontent.com/rauenzi/BDPluginLibrary/master/release/0PluginLibrary.plugin.js', (b, g, h) => { + try { + if (b || 200 !== g.statusCode) return a.closeModal(m), i(); + c.writeFile(d.join(e, '0PluginLibrary.plugin.js'), h, () => {}), f(); + } catch (b) { + console.error('Fatal error downloading ZeresPluginLibrary', b), a.closeModal(m), i(); + } + }) + : f(); + } + }, + b, + { onClose: () => {} } + ) ) - ) - ), - void 0, - `${this.name}_DEP_MODAL` + ); + } catch (b) { + return console.error('There has been an error constructing the modal', b), (l = !0), a.closeModal(m), i(), null; + } + }, + { modalKey: `${this.name}_DEP_MODAL` } ); } get [Symbol.toStringTag]() { diff --git a/Plugins/InAppNotifications/InAppNotifications.plugin.js b/Plugins/InAppNotifications/InAppNotifications.plugin.js index 6ac4887..a87a054 100644 --- a/Plugins/InAppNotifications/InAppNotifications.plugin.js +++ b/Plugins/InAppNotifications/InAppNotifications.plugin.js @@ -167,7 +167,7 @@ var InAppNotifications = (() => { } }; try { - ModalStack.popWithKey(`${this.name}_DEP_MODAL`); + WebpackModules.getByProps('openModal', 'hasModalOpen').closeModal(`${this.name}_DEP_MODAL`); } catch (e) {} } onStart() { @@ -492,8 +492,8 @@ var InAppNotifications = (() => { } stop() {} handleMissingLib() { - const a = BdApi.findModuleByProps('isModalOpenWithKey'); - if (a && a.isModalOpenWithKey(`${this.name}_DEP_MODAL`)) return; + const a = BdApi.findModuleByProps('openModal', 'hasModalOpen'); + if (a && a.hasModalOpen(`${this.name}_DEP_MODAL`)) return; const b = !global.XenoLib, c = !global.ZeresPluginLibrary, d = (b && c) || ((b || c) && (XenoLibOutdated || ZeresPluginLibraryOutdated)), @@ -505,65 +505,74 @@ var InAppNotifications = (() => { let a = `The ${d ? 'libraries' : 'library'} `; return b || XenoLibOutdated ? ((a += 'XenoLib '), (c || ZeresPluginLibraryOutdated) && (a += 'and ZeresPluginLibrary ')) : (c || ZeresPluginLibraryOutdated) && (a += 'ZeresPluginLibrary '), (a += `required for ${this.name} ${d ? 'are' : 'is'} ${b || c ? 'missing' : ''}${XenoLibOutdated || ZeresPluginLibraryOutdated ? (b || c ? ' and/or outdated' : 'outdated') : ''}.`), a; })(), - g = BdApi.findModuleByProps('push', 'update', 'pop', 'popWithKey'), - h = BdApi.findModuleByDisplayName('Text'), - i = BdApi.findModule(a => a.defaultProps && a.key && 'confirm-modal' === a.key()), - j = () => BdApi.alert(e, BdApi.React.createElement('span', {}, BdApi.React.createElement('div', {}, f), `Due to a slight mishap however, you'll have to download the libraries yourself.`, c || ZeresPluginLibraryOutdated ? BdApi.React.createElement('div', {}, BdApi.React.createElement('a', { href: 'https://betterdiscord.net/ghdl?id=2252', target: '_blank' }, 'Click here to download ZeresPluginLibrary')) : null, b || XenoLibOutdated ? BdApi.React.createElement('div', {}, BdApi.React.createElement('a', { href: 'https://betterdiscord.net/ghdl?id=3169', target: '_blank' }, 'Click here to download XenoLib')) : null)); - if (!g || !i || !h) return j(); - class k extends BdApi.React.PureComponent { + g = BdApi.findModuleByDisplayName('Text'), + h = BdApi.findModuleByDisplayName('ConfirmModal'), + i = () => BdApi.alert(e, BdApi.React.createElement('span', {}, BdApi.React.createElement('div', {}, f), `Due to a slight mishap however, you'll have to download the libraries yourself. This is not intentional, something went wrong, errors are in console.`, c || ZeresPluginLibraryOutdated ? BdApi.React.createElement('div', {}, BdApi.React.createElement('a', { href: 'https://betterdiscord.net/ghdl?id=2252', target: '_blank' }, 'Click here to download ZeresPluginLibrary')) : null, b || XenoLibOutdated ? BdApi.React.createElement('div', {}, BdApi.React.createElement('a', { href: 'https://betterdiscord.net/ghdl?id=3169', target: '_blank' }, 'Click here to download XenoLib')) : null)); + if (!a || !h || !g) return console.error(`Missing components:${(a ? '' : ' ModalStack') + (h ? '' : ' ConfirmationModalComponent') + (g ? '' : 'TextElement')}`), i(); + class j extends BdApi.React.PureComponent { constructor(a) { - super(a), (this.state = { hasError: !1 }); - } - componentDidCatch(a) { - console.error(`Error in ${this.props.label}, screenshot or copy paste the error above to Lighty for help.`), this.setState({ hasError: !0 }), 'function' == typeof this.props.onError && this.props.onError(a); - } - render() { - return this.state.hasError ? null : this.props.children; + super(a), (this.state = { hasError: !1 }), (this.componentDidCatch = a => (console.error(`Error in ${this.props.label}, screenshot or copy paste the error above to Lighty for help.`), this.setState({ hasError: !0 }), 'function' == typeof this.props.onError && this.props.onError(a))), (this.render = () => (this.state.hasError ? null : this.props.children)); } } - class l extends i { - submitModal() { - this.props.onConfirm(); - } - } - let m = !1; - const n = g.push( - a => - BdApi.React.createElement( - k, - { - label: 'missing dependency modal', - onError: () => { - g.popWithKey(n), j(); - } - }, - BdApi.React.createElement( - l, - Object.assign( - { - header: e, - children: [BdApi.React.createElement(h, { size: h.Sizes.SIZE_16, children: [`${f} Please click Download Now to download ${d ? 'them' : 'it'}.`] })], - red: !1, - confirmText: 'Download Now', - cancelText: 'Cancel', - onConfirm: () => { - if (m) return; - m = !0; - const a = require('request'), - b = require('fs'), - c = require('path'), - d = () => { - (global.XenoLib && !XenoLibOutdated) || a('https://raw.githubusercontent.com/1Lighty/BetterDiscordPlugins/master/Plugins/1XenoLib.plugin.js', (a, d, e) => (a || 200 !== d.statusCode ? (g.popWithKey(n), j()) : void b.writeFile(c.join(BdApi.Plugins.folder, '1XenoLib.plugin.js'), e, () => {}))); - }; - !global.ZeresPluginLibrary || ZeresPluginLibraryOutdated ? a('https://raw.githubusercontent.com/rauenzi/BDPluginLibrary/master/release/0PluginLibrary.plugin.js', (a, e, f) => (a || 200 !== e.statusCode ? (g.popWithKey(n), j()) : void (b.writeFile(c.join(BdApi.Plugins.folder, '0PluginLibrary.plugin.js'), f, () => {}), d()))) : d(); - } - }, - a + let k = !1, + l = !1; + const m = a.openModal( + b => { + if (l) return null; + try { + return BdApi.React.createElement( + j, + { label: 'missing dependency modal', onError: () => (a.closeModal(m), i()) }, + BdApi.React.createElement( + h, + Object.assign( + { + header: e, + children: BdApi.React.createElement(g, { size: g.Sizes.SIZE_16, children: [`${f} Please click Download Now to download ${d ? 'them' : 'it'}.`] }), + red: !1, + confirmText: 'Download Now', + cancelText: 'Cancel', + onCancel: b.onClose, + onConfirm: () => { + if (k) return; + k = !0; + const b = require('request'), + c = require('fs'), + d = require('path'), + e = BdApi.Plugins && BdApi.Plugins.folder ? BdApi.Plugins.folder : window.ContentManager.pluginsFolder, + f = () => { + (global.XenoLib && !XenoLibOutdated) || + b('https://raw.githubusercontent.com/1Lighty/BetterDiscordPlugins/master/Plugins/1XenoLib.plugin.js', (b, f, g) => { + try { + if (b || 200 !== f.statusCode) return a.closeModal(m), i(); + c.writeFile(d.join(e, '1XenoLib.plugin.js'), g, () => {}); + } catch (b) { + console.error('Fatal error downloading XenoLib', b), a.closeModal(m), i(); + } + }); + }; + !global.ZeresPluginLibrary || ZeresPluginLibraryOutdated + ? b('https://raw.githubusercontent.com/rauenzi/BDPluginLibrary/master/release/0PluginLibrary.plugin.js', (b, g, h) => { + try { + if (b || 200 !== g.statusCode) return a.closeModal(m), i(); + c.writeFile(d.join(e, '0PluginLibrary.plugin.js'), h, () => {}), f(); + } catch (b) { + console.error('Fatal error downloading ZeresPluginLibrary', b), a.closeModal(m), i(); + } + }) + : f(); + } + }, + b, + { onClose: () => {} } + ) ) - ) - ), - void 0, - `${this.name}_DEP_MODAL` + ); + } catch (b) { + return console.error('There has been an error constructing the modal', b), (l = !0), a.closeModal(m), i(), null; + } + }, + { modalKey: `${this.name}_DEP_MODAL` } ); } get [Symbol.toStringTag]() { diff --git a/Plugins/SaveToRedux/SaveToRedux.plugin.js b/Plugins/SaveToRedux/SaveToRedux.plugin.js index 7aa3e30..d3d66b7 100644 --- a/Plugins/SaveToRedux/SaveToRedux.plugin.js +++ b/Plugins/SaveToRedux/SaveToRedux.plugin.js @@ -331,7 +331,7 @@ var SaveToRedux = (() => { } }; try { - ModalStack.popWithKey(`${this.name}_DEP_MODAL`); + ModalStack.closeModal(`${this.name}_DEP_MODAL`); } catch (e) { } } onStart() { @@ -1298,79 +1298,88 @@ var SaveToRedux = (() => { } stop() { } handleMissingLib() { - const a = BdApi.findModuleByProps('isModalOpenWithKey'); - if (a && a.isModalOpenWithKey(`${this.name}_DEP_MODAL`)) return; - const b = !global.XenoLib, - c = !global.ZeresPluginLibrary, - d = (b && c) || ((b || c) && (XenoLibOutdated || ZeresPluginLibraryOutdated)), - e = (() => { - let a = ''; - return b || c ? (a += `Missing${XenoLibOutdated || ZeresPluginLibraryOutdated ? ' and outdated' : ''} `) : (XenoLibOutdated || ZeresPluginLibraryOutdated) && (a += `Outdated `), (a += `${d ? 'Libraries' : 'Library'} `), a; - })(), - f = (() => { - let a = `The ${d ? 'libraries' : 'library'} `; - return b || XenoLibOutdated ? ((a += 'XenoLib '), (c || ZeresPluginLibraryOutdated) && (a += 'and ZeresPluginLibrary ')) : (c || ZeresPluginLibraryOutdated) && (a += 'ZeresPluginLibrary '), (a += `required for ${this.name} ${d ? 'are' : 'is'} ${b || c ? 'missing' : ''}${XenoLibOutdated || ZeresPluginLibraryOutdated ? (b || c ? ' and/or outdated' : 'outdated') : ''}.`), a; - })(), - g = BdApi.findModuleByProps('push', 'update', 'pop', 'popWithKey'), - h = BdApi.findModuleByProps('Sizes', 'Weights'), - i = BdApi.findModule(a => a.defaultProps && a.key && 'confirm-modal' === a.key()), - j = () => BdApi.alert(e, BdApi.React.createElement('span', {}, BdApi.React.createElement('div', {}, f), `Due to a slight mishap however, you'll have to download the libraries yourself.`, c || ZeresPluginLibraryOutdated ? BdApi.React.createElement('div', {}, BdApi.React.createElement('a', { href: 'https://betterdiscord.net/ghdl?id=2252', target: '_blank' }, 'Click here to download ZeresPluginLibrary')) : null, b || XenoLibOutdated ? BdApi.React.createElement('div', {}, BdApi.React.createElement('a', { href: 'https://betterdiscord.net/ghdl?id=3169', target: '_blank' }, 'Click here to download XenoLib')) : null)); - if (!g || !i || !h) return j(); - class k extends BdApi.React.PureComponent { - constructor(a) { - super(a), (this.state = { hasError: !1 }); + const a = BdApi.findModuleByProps('openModal', 'hasModalOpen'); + if (a && a.hasModalOpen(`${this.name}_DEP_MODAL`)) return; + const b = !global.XenoLib, + c = !global.ZeresPluginLibrary, + d = (b && c) || ((b || c) && (XenoLibOutdated || ZeresPluginLibraryOutdated)), + e = (() => { + let a = ''; + return b || c ? (a += `Missing${XenoLibOutdated || ZeresPluginLibraryOutdated ? ' and outdated' : ''} `) : (XenoLibOutdated || ZeresPluginLibraryOutdated) && (a += `Outdated `), (a += `${d ? 'Libraries' : 'Library'} `), a; + })(), + f = (() => { + let a = `The ${d ? 'libraries' : 'library'} `; + return b || XenoLibOutdated ? ((a += 'XenoLib '), (c || ZeresPluginLibraryOutdated) && (a += 'and ZeresPluginLibrary ')) : (c || ZeresPluginLibraryOutdated) && (a += 'ZeresPluginLibrary '), (a += `required for ${this.name} ${d ? 'are' : 'is'} ${b || c ? 'missing' : ''}${XenoLibOutdated || ZeresPluginLibraryOutdated ? (b || c ? ' and/or outdated' : 'outdated') : ''}.`), a; + })(), + g = BdApi.findModuleByDisplayName('Text'), + h = BdApi.findModuleByDisplayName('ConfirmModal'), + i = () => BdApi.alert(e, BdApi.React.createElement('span', {}, BdApi.React.createElement('div', {}, f), `Due to a slight mishap however, you'll have to download the libraries yourself. This is not intentional, something went wrong, errors are in console.`, c || ZeresPluginLibraryOutdated ? BdApi.React.createElement('div', {}, BdApi.React.createElement('a', { href: 'https://betterdiscord.net/ghdl?id=2252', target: '_blank' }, 'Click here to download ZeresPluginLibrary')) : null, b || XenoLibOutdated ? BdApi.React.createElement('div', {}, BdApi.React.createElement('a', { href: 'https://betterdiscord.net/ghdl?id=3169', target: '_blank' }, 'Click here to download XenoLib')) : null)); + if (!a || !h || !g) return console.error(`Missing components:${(a ? '' : ' ModalStack') + (h ? '' : ' ConfirmationModalComponent') + (g ? '' : 'TextElement')}`), i(); + class j extends BdApi.React.PureComponent { + constructor(a) { + super(a), (this.state = { hasError: !1 }), (this.componentDidCatch = a => (console.error(`Error in ${this.props.label}, screenshot or copy paste the error above to Lighty for help.`), this.setState({ hasError: !0 }), 'function' == typeof this.props.onError && this.props.onError(a))), (this.render = () => (this.state.hasError ? null : this.props.children)); + } } - componentDidCatch(a) { - console.error(`Error in ${this.props.label}, screenshot or copy paste the error above to Lighty for help.`), this.setState({ hasError: !0 }), 'function' == typeof this.props.onError && this.props.onError(a); - } - render() { - return this.state.hasError ? null : this.props.children; - } - } - class l extends i { - submitModal() { - this.props.onConfirm(); - } - } - let m = !1; - const n = g.push( - a => - BdApi.React.createElement( - k, - { - label: 'missing dependency modal', - onError: () => { - g.popWithKey(n), j(); - } - }, - BdApi.React.createElement( - l, - Object.assign( - { - header: e, - children: [BdApi.React.createElement(h, { color: h.Colors.PRIMARY, children: [`${f} Please click Download Now to download ${d ? 'them' : 'it'}.`] })], - red: !1, - confirmText: 'Download Now', - cancelText: 'Cancel', - onConfirm: () => { - if (m) return; - m = !0; - const a = require('request'), - b = require('fs'), - c = require('path'), - d = () => { - (global.XenoLib && !XenoLibOutdated) || a('https://raw.githubusercontent.com/1Lighty/BetterDiscordPlugins/master/Plugins/1XenoLib.plugin.js', (a, d, e) => (a || 200 !== d.statusCode ? (g.popWithKey(n), j()) : void b.writeFile(c.join(BdApi.Plugins.folder, '1XenoLib.plugin.js'), e, () => { }))); - }; - !global.ZeresPluginLibrary || ZeresPluginLibraryOutdated ? a('https://raw.githubusercontent.com/rauenzi/BDPluginLibrary/master/release/0PluginLibrary.plugin.js', (a, e, f) => (a || 200 !== e.statusCode ? (g.popWithKey(n), j()) : void (b.writeFile(c.join(BdApi.Plugins.folder, '0PluginLibrary.plugin.js'), f, () => { }), d()))) : d(); - } - }, - a - ) - ) - ), - void 0, - `${this.name}_DEP_MODAL` - ); + let k = !1, + l = !1; + const m = a.openModal( + b => { + if (l) return null; + try { + return BdApi.React.createElement( + j, + { label: 'missing dependency modal', onError: () => (a.closeModal(m), i()) }, + BdApi.React.createElement( + h, + Object.assign( + { + header: e, + children: BdApi.React.createElement(g, { size: g.Sizes.SIZE_16, children: [`${f} Please click Download Now to download ${d ? 'them' : 'it'}.`] }), + red: !1, + confirmText: 'Download Now', + cancelText: 'Cancel', + onCancel: b.onClose, + onConfirm: () => { + if (k) return; + k = !0; + const b = require('request'), + c = require('fs'), + d = require('path'), + e = BdApi.Plugins && BdApi.Plugins.folder ? BdApi.Plugins.folder : window.ContentManager.pluginsFolder, + f = () => { + (global.XenoLib && !XenoLibOutdated) || + b('https://raw.githubusercontent.com/1Lighty/BetterDiscordPlugins/master/Plugins/1XenoLib.plugin.js', (b, f, g) => { + try { + if (b || 200 !== f.statusCode) return a.closeModal(m), i(); + c.writeFile(d.join(e, '1XenoLib.plugin.js'), g, () => {}); + } catch (b) { + console.error('Fatal error downloading XenoLib', b), a.closeModal(m), i(); + } + }); + }; + !global.ZeresPluginLibrary || ZeresPluginLibraryOutdated + ? b('https://raw.githubusercontent.com/rauenzi/BDPluginLibrary/master/release/0PluginLibrary.plugin.js', (b, g, h) => { + try { + if (b || 200 !== g.statusCode) return a.closeModal(m), i(); + c.writeFile(d.join(e, '0PluginLibrary.plugin.js'), h, () => {}), f(); + } catch (b) { + console.error('Fatal error downloading ZeresPluginLibrary', b), a.closeModal(m), i(); + } + }) + : f(); + } + }, + b, + { onClose: () => {} } + ) + ) + ); + } catch (b) { + return console.error('There has been an error constructing the modal', b), (l = !0), a.closeModal(m), i(), null; + } + }, + { modalKey: `${this.name}_DEP_MODAL` } + ); } get [Symbol.toStringTag]() { return 'Plugin'; diff --git a/Plugins/UnreadBadgesRedux/UnreadBadgesRedux.plugin.js b/Plugins/UnreadBadgesRedux/UnreadBadgesRedux.plugin.js index aba4a3b..82928cf 100644 --- a/Plugins/UnreadBadgesRedux/UnreadBadgesRedux.plugin.js +++ b/Plugins/UnreadBadgesRedux/UnreadBadgesRedux.plugin.js @@ -617,8 +617,8 @@ var UnreadBadgesRedux = (() => { } stop() {} handleMissingLib() { - const a = BdApi.findModuleByProps('isModalOpenWithKey'); - if (a && a.isModalOpenWithKey(`${this.name}_DEP_MODAL`)) return; + const a = BdApi.findModuleByProps('openModal', 'hasModalOpen'); + if (a && a.hasModalOpen(`${this.name}_DEP_MODAL`)) return; const b = !global.XenoLib, c = !global.ZeresPluginLibrary, d = (b && c) || ((b || c) && (XenoLibOutdated || ZeresPluginLibraryOutdated)), @@ -630,65 +630,74 @@ var UnreadBadgesRedux = (() => { let a = `The ${d ? 'libraries' : 'library'} `; return b || XenoLibOutdated ? ((a += 'XenoLib '), (c || ZeresPluginLibraryOutdated) && (a += 'and ZeresPluginLibrary ')) : (c || ZeresPluginLibraryOutdated) && (a += 'ZeresPluginLibrary '), (a += `required for ${this.name} ${d ? 'are' : 'is'} ${b || c ? 'missing' : ''}${XenoLibOutdated || ZeresPluginLibraryOutdated ? (b || c ? ' and/or outdated' : 'outdated') : ''}.`), a; })(), - g = BdApi.findModuleByProps('push', 'update', 'pop', 'popWithKey'), - h = BdApi.findModuleByDisplayName('Text'), - i = BdApi.findModule(a => a.defaultProps && a.key && 'confirm-modal' === a.key()), - j = () => BdApi.alert(e, BdApi.React.createElement('span', {}, BdApi.React.createElement('div', {}, f), `Due to a slight mishap however, you'll have to download the libraries yourself.`, c || ZeresPluginLibraryOutdated ? BdApi.React.createElement('div', {}, BdApi.React.createElement('a', { href: 'https://betterdiscord.net/ghdl?id=2252', target: '_blank' }, 'Click here to download ZeresPluginLibrary')) : null, b || XenoLibOutdated ? BdApi.React.createElement('div', {}, BdApi.React.createElement('a', { href: 'https://betterdiscord.net/ghdl?id=3169', target: '_blank' }, 'Click here to download XenoLib')) : null)); - if (!g || !i || !h) return j(); - class k extends BdApi.React.PureComponent { + g = BdApi.findModuleByDisplayName('Text'), + h = BdApi.findModuleByDisplayName('ConfirmModal'), + i = () => BdApi.alert(e, BdApi.React.createElement('span', {}, BdApi.React.createElement('div', {}, f), `Due to a slight mishap however, you'll have to download the libraries yourself. This is not intentional, something went wrong, errors are in console.`, c || ZeresPluginLibraryOutdated ? BdApi.React.createElement('div', {}, BdApi.React.createElement('a', { href: 'https://betterdiscord.net/ghdl?id=2252', target: '_blank' }, 'Click here to download ZeresPluginLibrary')) : null, b || XenoLibOutdated ? BdApi.React.createElement('div', {}, BdApi.React.createElement('a', { href: 'https://betterdiscord.net/ghdl?id=3169', target: '_blank' }, 'Click here to download XenoLib')) : null)); + if (!a || !h || !g) return console.error(`Missing components:${(a ? '' : ' ModalStack') + (h ? '' : ' ConfirmationModalComponent') + (g ? '' : 'TextElement')}`), i(); + class j extends BdApi.React.PureComponent { constructor(a) { - super(a), (this.state = { hasError: !1 }); - } - componentDidCatch(a) { - console.error(`Error in ${this.props.label}, screenshot or copy paste the error above to Lighty for help.`), this.setState({ hasError: !0 }), 'function' == typeof this.props.onError && this.props.onError(a); - } - render() { - return this.state.hasError ? null : this.props.children; + super(a), (this.state = { hasError: !1 }), (this.componentDidCatch = a => (console.error(`Error in ${this.props.label}, screenshot or copy paste the error above to Lighty for help.`), this.setState({ hasError: !0 }), 'function' == typeof this.props.onError && this.props.onError(a))), (this.render = () => (this.state.hasError ? null : this.props.children)); } } - class l extends i { - submitModal() { - this.props.onConfirm(); - } - } - let m = !1; - const n = g.push( - a => - BdApi.React.createElement( - k, - { - label: 'missing dependency modal', - onError: () => { - g.popWithKey(n), j(); - } - }, - BdApi.React.createElement( - l, - Object.assign( - { - header: e, - children: [BdApi.React.createElement(h, { size: h.Sizes.SIZE_16, children: [`${f} Please click Download Now to download ${d ? 'them' : 'it'}.`] })], - red: !1, - confirmText: 'Download Now', - cancelText: 'Cancel', - onConfirm: () => { - if (m) return; - m = !0; - const a = require('request'), - b = require('fs'), - c = require('path'), - d = () => { - (global.XenoLib && !XenoLibOutdated) || a('https://raw.githubusercontent.com/1Lighty/BetterDiscordPlugins/master/Plugins/1XenoLib.plugin.js', (a, d, e) => (a || 200 !== d.statusCode ? (g.popWithKey(n), j()) : void b.writeFile(c.join(BdApi.Plugins.folder, '1XenoLib.plugin.js'), e, () => {}))); - }; - !global.ZeresPluginLibrary || ZeresPluginLibraryOutdated ? a('https://raw.githubusercontent.com/rauenzi/BDPluginLibrary/master/release/0PluginLibrary.plugin.js', (a, e, f) => (a || 200 !== e.statusCode ? (g.popWithKey(n), j()) : void (b.writeFile(c.join(BdApi.Plugins.folder, '0PluginLibrary.plugin.js'), f, () => {}), d()))) : d(); - } - }, - a + let k = !1, + l = !1; + const m = a.openModal( + b => { + if (l) return null; + try { + return BdApi.React.createElement( + j, + { label: 'missing dependency modal', onError: () => (a.closeModal(m), i()) }, + BdApi.React.createElement( + h, + Object.assign( + { + header: e, + children: BdApi.React.createElement(g, { size: g.Sizes.SIZE_16, children: [`${f} Please click Download Now to download ${d ? 'them' : 'it'}.`] }), + red: !1, + confirmText: 'Download Now', + cancelText: 'Cancel', + onCancel: b.onClose, + onConfirm: () => { + if (k) return; + k = !0; + const b = require('request'), + c = require('fs'), + d = require('path'), + e = BdApi.Plugins && BdApi.Plugins.folder ? BdApi.Plugins.folder : window.ContentManager.pluginsFolder, + f = () => { + (global.XenoLib && !XenoLibOutdated) || + b('https://raw.githubusercontent.com/1Lighty/BetterDiscordPlugins/master/Plugins/1XenoLib.plugin.js', (b, f, g) => { + try { + if (b || 200 !== f.statusCode) return a.closeModal(m), i(); + c.writeFile(d.join(e, '1XenoLib.plugin.js'), g, () => {}); + } catch (b) { + console.error('Fatal error downloading XenoLib', b), a.closeModal(m), i(); + } + }); + }; + !global.ZeresPluginLibrary || ZeresPluginLibraryOutdated + ? b('https://raw.githubusercontent.com/rauenzi/BDPluginLibrary/master/release/0PluginLibrary.plugin.js', (b, g, h) => { + try { + if (b || 200 !== g.statusCode) return a.closeModal(m), i(); + c.writeFile(d.join(e, '0PluginLibrary.plugin.js'), h, () => {}), f(); + } catch (b) { + console.error('Fatal error downloading ZeresPluginLibrary', b), a.closeModal(m), i(); + } + }) + : f(); + } + }, + b, + { onClose: () => {} } + ) ) - ) - ), - void 0, - `${this.name}_DEP_MODAL` + ); + } catch (b) { + return console.error('There has been an error constructing the modal', b), (l = !0), a.closeModal(m), i(), null; + } + }, + { modalKey: `${this.name}_DEP_MODAL` } ); } get [Symbol.toStringTag]() {