From 8092d083055bed67c598d9813296303b936d91ee Mon Sep 17 00:00:00 2001 From: Zerthox <zerthox@gmail.com> Date: Sat, 4 May 2024 15:52:35 +0200 Subject: [PATCH] Release CollapseEmbeds v1.1.0 - Update to work with new attachments (#180) --- dist/bd/CollapseEmbeds.plugin.js | 22 ++++++++++++++++------ dist/bd/README.md | 2 +- 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/dist/bd/CollapseEmbeds.plugin.js b/dist/bd/CollapseEmbeds.plugin.js index 34097fd0..dfa36990 100644 --- a/dist/bd/CollapseEmbeds.plugin.js +++ b/dist/bd/CollapseEmbeds.plugin.js @@ -1,6 +1,6 @@ /** * @name CollapseEmbeds - * @version 1.0.6 + * @version 1.1.0 * @author Zerthox * @authorLink https://github.com/Zerthox * @description Adds a button to collapse embeds & attachments. @@ -357,13 +357,14 @@ const Settings = createSettings({ hideByDefault: false }); -const css = ".container-CollapseEmbeds.embed-CollapseEmbeds {\n justify-self: stretch;\n}\n.container-CollapseEmbeds.embed-CollapseEmbeds > article {\n flex-grow: 1;\n flex-shrink: 0;\n}\n\n.placeholder-CollapseEmbeds + .placeholder-CollapseEmbeds {\n margin-left: 4px;\n}\n\n.hideButton-CollapseEmbeds {\n margin-bottom: -4px;\n align-self: flex-end;\n color: var(--interactive-normal);\n cursor: pointer;\n visibility: hidden;\n}\n.hideButton-CollapseEmbeds:hover {\n color: var(--interactive-hover);\n}\n.expanded-CollapseEmbeds > .hideButton-CollapseEmbeds {\n margin-bottom: -6px;\n}\n.hideButton-CollapseEmbeds:hover, :hover + .hideButton-CollapseEmbeds, .collapsed-CollapseEmbeds > .hideButton-CollapseEmbeds {\n visibility: visible;\n}\n\n.icon-CollapseEmbeds {\n margin: -2px;\n transition: transform 0.2s ease-out;\n}\n.icon-CollapseEmbeds.open-CollapseEmbeds {\n transform: rotate(180deg);\n}"; +const css = ".container-CollapseEmbeds.embed-CollapseEmbeds {\n justify-self: stretch;\n}\n.container-CollapseEmbeds.embed-CollapseEmbeds > article {\n flex-grow: 1;\n flex-shrink: 0;\n}\n.container-CollapseEmbeds.mediaItem-CollapseEmbeds.expanded-CollapseEmbeds {\n position: relative;\n}\n.container-CollapseEmbeds.mediaItem-CollapseEmbeds.expanded-CollapseEmbeds > .hideButton-CollapseEmbeds {\n position: absolute;\n right: 2px;\n bottom: 2px;\n z-index: 1;\n}\n\n.placeholder-CollapseEmbeds + .placeholder-CollapseEmbeds {\n margin-left: 4px;\n}\n\n.hideButton-CollapseEmbeds {\n margin-bottom: -4px;\n align-self: flex-end;\n color: var(--interactive-normal);\n cursor: pointer;\n visibility: hidden;\n}\n.hideButton-CollapseEmbeds:hover {\n color: var(--interactive-hover);\n}\n.expanded-CollapseEmbeds > .hideButton-CollapseEmbeds {\n margin-bottom: -6px;\n}\n.hideButton-CollapseEmbeds:hover, :hover + .hideButton-CollapseEmbeds, .collapsed-CollapseEmbeds > .hideButton-CollapseEmbeds {\n visibility: visible;\n}\n\n.icon-CollapseEmbeds {\n margin: -2px;\n transition: transform 0.2s ease-out;\n}\n.icon-CollapseEmbeds.open-CollapseEmbeds {\n transform: rotate(180deg);\n}"; const styles = { container: "container-CollapseEmbeds", embed: "embed-CollapseEmbeds", - placeholder: "placeholder-CollapseEmbeds", - hideButton: "hideButton-CollapseEmbeds", + mediaItem: "mediaItem-CollapseEmbeds", expanded: "expanded-CollapseEmbeds", + hideButton: "hideButton-CollapseEmbeds", + placeholder: "placeholder-CollapseEmbeds", collapsed: "collapsed-CollapseEmbeds", icon: "icon-CollapseEmbeds", open: "open-CollapseEmbeds", @@ -376,9 +377,12 @@ const Hider = ({ placeholders, type, children }) => { return (React.createElement(Flex, { align: Flex.Align.CENTER, className: classNames(styles.container, styles[type], shown ? styles.expanded : styles.collapsed) }, shown ? children : placeholders.filter(Boolean).map((placeholder, i) => (React.createElement(Text, { key: i, variant: "text-xs/normal", className: styles.placeholder }, placeholder))), React.createElement(Clickable, { className: styles.hideButton, onClick: () => setShown(!shown) }, - React.createElement(IconArrow, { className: classNames(styles.icon, shown ? styles.open : null) })))); + React.createElement(IconArrow, { color: "currentColor", className: classNames(styles.icon, shown ? styles.open : null) })))); }; +const MediaModule = demangle({ + MediaItem: bySource$1("getObscureReason", "useFullWidth") +}, null, true); const index = createPlugin({ start() { after(Embed.prototype, "render", ({ result, context }) => { @@ -386,10 +390,16 @@ const index = createPlugin({ const placeholder = embed.provider?.name ?? embed.author?.name ?? embed.rawTitle ?? new URL(embed.url).hostname; return (React.createElement(Hider, { type: "embed" , placeholders: [placeholder] }, result)); }, { name: "Embed render" }); + after(MediaModule, "MediaItem", ({ args: [props], result }) => { + const attachment = props.item.originalItem; + const placeholder = attachment.filename ?? new URL(attachment.url).hostname; + return (React.createElement(Hider, { type: "mediaItem" , placeholders: [placeholder] }, result)); + }, { name: "MediaItem render" }); after(MessageFooter.prototype, "renderAttachments", ({ result }) => { for (const element of queryTreeAll(result, (node) => node?.props?.attachments)) { hookFunctionComponent(element, (result, { attachments }) => { - return (React.createElement(Hider, { type: "attachment" , placeholders: attachments.map(({ attachment }) => attachment.filename ?? new URL(attachment.url).hostname) }, result)); + const placeholders = attachments.map(({ attachment }) => attachment.filename ?? new URL(attachment.url).hostname); + return (React.createElement(Hider, { type: "attachment" , placeholders: placeholders }, result)); }); } }, { name: "MessageFooter renderAttachments" }); diff --git a/dist/bd/README.md b/dist/bd/README.md index 0a741b09..ac329faf 100644 --- a/dist/bd/README.md +++ b/dist/bd/README.md @@ -4,7 +4,7 @@ Adds new functionality to server folders. Custom Folder Icons. Close other folde ## [BetterVolume](https://betterdiscord.app/plugin/BetterVolume) <sub><sup>`v2.5.0` *(Updated: 25/09/2023)*</sup></sub> Set user volume values manually instead of using a slider. Allows setting volumes higher than 200%. -## [CollapseEmbeds](https://betterdiscord.app/plugin/CollapseEmbeds) <sub><sup>`v1.0.6` *(Updated: 06/12/2023)*</sup></sub> +## [CollapseEmbeds](https://betterdiscord.app/plugin/CollapseEmbeds) <sub><sup>`v1.1.0` *(Updated: 04/05/2024)*</sup></sub> Adds a button to collapse embeds & attachments. ## [OnlineFriendCount](https://betterdiscord.app/plugin/OnlineFriendCount) <sub><sup>`v3.1.4` *(Updated: 02/11/2023)*</sup></sub>