|
|
|
@ -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);
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
});
|
|
|
|
|