diff --git a/Plugins/CustomStatusPresets/CustomStatusPresets.plugin.js b/Plugins/CustomStatusPresets/CustomStatusPresets.plugin.js index dbaee4fb07..2d7cfb6826 100644 --- a/Plugins/CustomStatusPresets/CustomStatusPresets.plugin.js +++ b/Plugins/CustomStatusPresets/CustomStatusPresets.plugin.js @@ -2,7 +2,7 @@ * @name CustomStatusPresets * @author DevilBro * @authorId 278543574059057154 - * @version 1.1.0 + * @version 1.1.1 * @description Allows you to save Custom Statuses as Quick Select * @invite Jx3TjNS * @donate https://www.paypal.me/MircoWittrien @@ -17,7 +17,7 @@ module.exports = (_ => { "info": { "name": "CustomStatusPresets", "author": "DevilBro", - "version": "1.1.0", + "version": "1.1.1", "description": "Allows you to save Custom Statuses as Quick Select" } }; @@ -249,7 +249,7 @@ module.exports = (_ => { transform: unset !important; } #status-picker${BDFDB.dotCN.menu} #status-picker-custom-status${BDFDB.dotCN.menulabelcontainer} { - padding: 0; + padding-left: 0; } #status-picker${BDFDB.dotCN.menu} #status-picker-custom-status ${BDFDB.dotCN.menulabel} { overflow: visible; @@ -335,71 +335,72 @@ module.exports = (_ => { } processMenu (e) { + if (e.instance.props.navId != "status-picker") return; let enabledPresets = BDFDB.ObjectUtils.filter(presets, id => !presets[id].disabled, true); - if (e.instance.props.navId == "status-picker" && Object.keys(enabledPresets).length) { - let [children, index] = BDFDB.ContextMenuUtils.findItem(e.instance, {id: "custom-status"}); - if (index > -1 && children[index].props && !children[index].props.children) { - let render = children[index].props.render; - delete children[index].props.render; - children[index] = BDFDB.ContextMenuUtils.createItem(BDFDB.LibraryComponents.MenuItems.MenuItem, Object.assign({}, children[index].props, { - label: render(), - children: Object.keys(BDFDB.ObjectUtils.sort(enabledPresets, "pos")).map(id => BDFDB.ContextMenuUtils.createItem(BDFDB.LibraryComponents.MenuItems.MenuItem, { - id: BDFDB.ContextMenuUtils.createItemId(this.name, "custom-status-preset", id), - label: BDFDB.ReactUtils.createElement("div", { - className: BDFDB.disCN._customstatuspresetscustomstatusitem, - children: [ - BDFDB.ReactUtils.createElement(BDFDB.LibraryComponents.TooltipContainer, { - text: BDFDB.LanguageUtils.LanguageStrings.CUSTOM_STATUS_CLEAR_CUSTOM_STATUS, - tooltipConfig: { - zIndex: 2001 + if (!Object.keys(enabledPresets).length) return; + let [children, index] = BDFDB.ContextMenuUtils.findItem(e.instance, {id: "custom-status"}); + if (index > -1 && children[index].props && !children[index].props.children) { + let render = children[index].props.render || children[index].props.label; + delete children[index].props.render; + delete children[index].props.label; + children[index] = BDFDB.ContextMenuUtils.createItem(BDFDB.LibraryComponents.MenuItems.MenuItem, Object.assign({}, children[index].props, { + label: render(), + children: Object.keys(BDFDB.ObjectUtils.sort(enabledPresets, "pos")).map(id => BDFDB.ContextMenuUtils.createItem(BDFDB.LibraryComponents.MenuItems.MenuItem, { + id: BDFDB.ContextMenuUtils.createItemId(this.name, "custom-status-preset", id), + label: BDFDB.ReactUtils.createElement("div", { + className: BDFDB.disCN._customstatuspresetscustomstatusitem, + children: [ + BDFDB.ReactUtils.createElement(BDFDB.LibraryComponents.TooltipContainer, { + text: BDFDB.LanguageUtils.LanguageStrings.CUSTOM_STATUS_CLEAR_CUSTOM_STATUS, + tooltipConfig: { + zIndex: 2001 + }, + children: BDFDB.ReactUtils.createElement(BDFDB.LibraryComponents.Clickable, { + className: BDFDB.disCN._customstatuspresetsdeletebutton, + onClick: _ => { + delete presets[id]; + let pos = 0, sortedPresets = BDFDB.ObjectUtils.sort(presets, "pos"); + for (let id in sortedPresets) presets[id].pos = pos++; + BDFDB.DataUtils.save(presets, this, "presets"); }, - children: BDFDB.ReactUtils.createElement(BDFDB.LibraryComponents.Clickable, { - className: BDFDB.disCN._customstatuspresetsdeletebutton, - onClick: _ => { - delete presets[id]; - let pos = 0, sortedPresets = BDFDB.ObjectUtils.sort(presets, "pos"); - for (let id in sortedPresets) presets[id].pos = pos++; - BDFDB.DataUtils.save(presets, this, "presets"); - }, - children: BDFDB.ReactUtils.createElement(BDFDB.LibraryComponents.SvgIcon, { - className: BDFDB.disCN._customstatuspresetsdeleteicon, - name: BDFDB.LibraryComponents.SvgIcon.Names.CLOSE_CIRCLE, - width: 14, - height: 14 - }) + children: BDFDB.ReactUtils.createElement(BDFDB.LibraryComponents.SvgIcon, { + className: BDFDB.disCN._customstatuspresetsdeleteicon, + name: BDFDB.LibraryComponents.SvgIcon.Names.CLOSE_CIRCLE, + width: 14, + height: 14 }) - }), - BDFDB.ReactUtils.createElement(BDFDB.LibraryComponents.Status, { - className: BDFDB.disCN._customstatuspresetsstatus, - status: presets[id].status || BDFDB.DiscordConstants.StatusTypes.ONLINE - }), - BDFDB.ReactUtils.createElement(BDFDB.LibraryComponents.TextScroller, { - children: presets[id].text }) - ] - }), - imageUrl: presets[id].emojiInfo && (presets[id].emojiInfo.id ? BDFDB.LibraryModules.IconUtils.getEmojiURL(presets[id].emojiInfo) : BDFDB.LibraryModules.EmojiStateUtils.getURL(presets[id].emojiInfo.name)), - hint: !presets[id].clearAfter ? BDFDB.LanguageUtils.LanguageStrings.DISPLAY_OPTION_NEVER : presets[id].clearAfter == ClearAfterValues.TODAY ? BDFDB.LanguageUtils.LanguageStrings.CUSTOM_STATUS_TODAY : BDFDB.LanguageUtils.LanguageStringsFormat("CUSTOM_STATUS_HOURS", presets[id].clearAfter/3600000), - action: _ => { - if (!presets[id]) return; - let expiresAt = presets[id].clearAfter ? presets[id].clearAfter : null; - if (presets[id].clearAfter === ClearAfterValues.TODAY) { - let date = new Date; - expiresAt = new Date(date.getFullYear(), date.getMonth(), date.getDate() + 1).getTime() - date.getTime(); - } - BDFDB.LibraryModules.SettingsUtilsOld.updateRemoteSettings({ - status: presets[id].status, - customStatus: { - text: presets[id].text && presets[id].text.length > 0 ? presets[id].text : null, - expiresAt: expiresAt ? BDFDB.DiscordObjects.Timestamp().add(expiresAt, "ms").toISOString() : null, - emojiId: presets[id].emojiInfo ? presets[id].emojiInfo.id : null, - emojiName: presets[id].emojiInfo ? presets[id].emojiInfo.name : null - } - }); + }), + BDFDB.ReactUtils.createElement(BDFDB.LibraryComponents.Status, { + className: BDFDB.disCN._customstatuspresetsstatus, + status: presets[id].status || BDFDB.DiscordConstants.StatusTypes.ONLINE + }), + BDFDB.ReactUtils.createElement(BDFDB.LibraryComponents.TextScroller, { + children: presets[id].text + }) + ] + }), + imageUrl: presets[id].emojiInfo && (presets[id].emojiInfo.id ? BDFDB.LibraryModules.IconUtils.getEmojiURL(presets[id].emojiInfo) : BDFDB.LibraryModules.EmojiStateUtils.getURL(presets[id].emojiInfo.name)), + hint: !presets[id].clearAfter ? BDFDB.LanguageUtils.LanguageStrings.DISPLAY_OPTION_NEVER : presets[id].clearAfter == ClearAfterValues.TODAY ? BDFDB.LanguageUtils.LanguageStrings.CUSTOM_STATUS_TODAY : BDFDB.LanguageUtils.LanguageStringsFormat("CUSTOM_STATUS_HOURS", presets[id].clearAfter/3600000), + action: _ => { + if (!presets[id]) return; + let expiresAt = presets[id].clearAfter ? presets[id].clearAfter : null; + if (presets[id].clearAfter === ClearAfterValues.TODAY) { + let date = new Date; + expiresAt = new Date(date.getFullYear(), date.getMonth(), date.getDate() + 1).getTime() - date.getTime(); } - })) - })); - } + BDFDB.LibraryModules.SettingsUtilsOld.updateRemoteSettings({ + status: presets[id].status, + customStatus: { + text: presets[id].text && presets[id].text.length > 0 ? presets[id].text : null, + expiresAt: expiresAt ? BDFDB.DiscordObjects.Timestamp().add(expiresAt, "ms").toISOString() : null, + emojiId: presets[id].emojiInfo ? presets[id].emojiInfo.id : null, + emojiName: presets[id].emojiInfo ? presets[id].emojiInfo.name : null + } + }); + } + })) + })); } } diff --git a/Plugins/EditUsers/EditUsers.plugin.js b/Plugins/EditUsers/EditUsers.plugin.js index 3c9065d937..322ef2453c 100644 --- a/Plugins/EditUsers/EditUsers.plugin.js +++ b/Plugins/EditUsers/EditUsers.plugin.js @@ -152,8 +152,8 @@ module.exports = (_ => { MutualFriends: "default", VoiceUser: "render", ParticipantsForSelectedParticipant: "default", - Account: "render", PrivateChannelEmptyMessage: "default", + PanelTitle: "default", MessageUsername: "default", MessageContent: "type", Reaction: "render", @@ -675,7 +675,7 @@ module.exports = (_ => { } } } - + processAccount (e) { if (e.instance.props.currentUser && this.settings.places.userAccount) { let data = changedUsers[e.instance.props.currentUser.id]; @@ -684,18 +684,16 @@ module.exports = (_ => { if (data && (data.removeStatus || data.status || data.statusEmoji)) e.instance.props.customStatusActivity = this.createCustomStatus(data); } else { - if (data && (data.color1 || data.color2)) { - let tooltip = BDFDB.ReactUtils.findChild(e.returnvalue, {name: "Tooltip"}); - if (tooltip && typeof tooltip.props.children == "function") { - let renderChildren = tooltip.props.children; - tooltip.props.children = BDFDB.TimeUtils.suppress((...args) => { - let renderedChildren = renderChildren(...args); - let userName = BDFDB.ReactUtils.findChild(renderedChildren, {name: "PanelTitle"}); - if (userName) this.changeUserColor(userName, e.instance.props.currentUser.id); - return renderedChildren; - }, "Error in Tooltip Children Render of Account!", this); - } - } + } + } + } + + processPanelTitle (e) { + if (this.settings.places.userAccount) { + let data = changedUsers[BDFDB.UserUtils.me.id]; + let user = data && this.getUserData(BDFDB.UserUtils.me.id); + if (user && e.instance.props.children == user.username) { + if (data.color1 || data.color2) this.changeUserColor(e.returnvalue, BDFDB.UserUtils.me.id); } } }