From 356a2c290dfcd9a9d757a3d59989ee28ae8b1b49 Mon Sep 17 00:00:00 2001 From: AutumnVN Date: Wed, 17 Apr 2024 03:10:15 +0700 Subject: [PATCH] fix: RoleColorEverywhere, PictureInPicture, NoMosaic (#2356) --- src/plugins/noMosaic/index.ts | 69 ++--------------------- src/plugins/noMosaic/styles.css | 8 --- src/plugins/pictureInPicture/index.tsx | 6 +- src/plugins/roleColorEverywhere/index.tsx | 2 +- 4 files changed, 10 insertions(+), 75 deletions(-) delete mode 100644 src/plugins/noMosaic/styles.css diff --git a/src/plugins/noMosaic/index.ts b/src/plugins/noMosaic/index.ts index 802f65e5..4715bde5 100644 --- a/src/plugins/noMosaic/index.ts +++ b/src/plugins/noMosaic/index.ts @@ -5,15 +5,9 @@ */ import { definePluginSettings } from "@api/Settings"; -import { disableStyle, enableStyle } from "@api/Styles"; import { Devs } from "@utils/constants"; import definePlugin, { OptionType } from "@utils/types"; -import style from "./styles.css?managed"; - -const MAX_WIDTH = 550; -const MAX_HEIGHT = 350; - const settings = definePluginSettings({ inlineVideo: { description: "Play videos without carousel modal", @@ -33,15 +27,11 @@ export default definePlugin({ patches: [ { - find: ".oneByTwoLayoutThreeGrid", - replacement: [{ - match: /mediaLayoutType:\i\.\i\.MOSAIC/, - replace: "mediaLayoutType:'RESPONSIVE'", - }, - { - match: /null!==\(\i=\i\.get\(\i\)\)&&void 0!==\i\?\i:"INVALID"/, - replace: '"INVALID"', - }] + find: "isGroupableMedia:function()", + replacement: { + match: /=>"IMAGE"===\i\|\|"VIDEO"===\i;/, + replace: "=>false;" + } }, { find: "renderAttachments(", @@ -51,52 +41,5 @@ export default definePlugin({ replace: "$&$1.content_type?.startsWith('image/')&&" } }, - { - find: "Messages.REMOVE_ATTACHMENT_TOOLTIP_TEXT", - replacement: [{ - match: /\i===\i\.\i\.MOSAIC/, - replace: "true" - }, - { - match: /\i!==\i\.\i\.MOSAIC/, - replace: "false" - }] - }, - { - find: ".messageAttachment,", - replacement: { - match: /\{width:\i,height:\i\}=(\i).*?(?=className:\i\(\)\(\i\.messageAttachment,)/, - replace: "$&style:$self.style($1)," - } - } - ], - - style({ width, height }) { - if (!width || !height) return {}; - - if (width > MAX_WIDTH || height > MAX_HEIGHT) { - if (width / height > MAX_WIDTH / MAX_HEIGHT) { - height = Math.ceil(MAX_WIDTH / (width / height)); - width = MAX_WIDTH; - } else { - width = Math.ceil(MAX_HEIGHT * (width / height)); - height = MAX_HEIGHT; - } - } - - return { - maxWidth: width, - width: "100%", - aspectRatio: `${width} / ${height}` - }; - - }, - - start() { - enableStyle(style); - }, - - stop() { - disableStyle(style); - } + ] }); diff --git a/src/plugins/noMosaic/styles.css b/src/plugins/noMosaic/styles.css deleted file mode 100644 index 3a8a8e46..00000000 --- a/src/plugins/noMosaic/styles.css +++ /dev/null @@ -1,8 +0,0 @@ -[class^="nonMediaAttachmentsContainer_"] [class*="messageAttachment_"] { - position: relative; -} - -[class^="nonMediaAttachmentsContainer_"], -[class^="nonMediaAttachmentItem_"]:has([class^="messageAttachment_"][style^="max-width"]) { - width: 100%; -} diff --git a/src/plugins/pictureInPicture/index.tsx b/src/plugins/pictureInPicture/index.tsx index ca766aff..0a22f06d 100644 --- a/src/plugins/pictureInPicture/index.tsx +++ b/src/plugins/pictureInPicture/index.tsx @@ -10,7 +10,7 @@ import { definePluginSettings } from "@api/Settings"; import ErrorBoundary from "@components/ErrorBoundary"; import { Devs } from "@utils/constants"; import definePlugin, { OptionType } from "@utils/types"; -import { React, Tooltip } from "@webpack/common"; +import { Tooltip } from "@webpack/common"; const settings = definePluginSettings({ loop: { @@ -28,9 +28,9 @@ export default definePlugin({ settings, patches: [ { - find: ".nonMediaAttachment]", + find: ".nonMediaMosaicItem]", replacement: { - match: /\.nonMediaAttachment\]:!(\i).{0,10}children:\[(\S)/, + match: /\.nonMediaMosaicItem\]:!(\i).{0,10}children:\[(\S)/, replace: "$&,$1&&$2&&$self.renderPiPButton()," }, }, diff --git a/src/plugins/roleColorEverywhere/index.tsx b/src/plugins/roleColorEverywhere/index.tsx index b421eb7f..6d53906f 100644 --- a/src/plugins/roleColorEverywhere/index.tsx +++ b/src/plugins/roleColorEverywhere/index.tsx @@ -94,7 +94,7 @@ export default definePlugin({ find: "renderPrioritySpeaker", replacement: [ { - match: /renderName\(\).{0,100}speaking:.{50,100}jsx.{5,10}{/, + match: /renderName\(\).{0,100}speaking:.{50,150}"div",{/, replace: "$&...$self.getVoiceProps(this.props)," } ],