From b065ae7fbc4d9d863084c37ec19ba6a03f33457f Mon Sep 17 00:00:00 2001 From: Cynthia Foxwell Date: Sat, 26 Oct 2024 15:10:12 -0600 Subject: [PATCH] mediaTweaks: fix enlarge video and inline playback --- src/mediaTweaks/index.ts | 6 ++-- src/mediaTweaks/manifest.json | 2 +- .../webpackModules/enlargeVideoButton.tsx | 35 ++++++++----------- 3 files changed, 19 insertions(+), 24 deletions(-) diff --git a/src/mediaTweaks/index.ts b/src/mediaTweaks/index.ts index ffe2d58..64ee21c 100644 --- a/src/mediaTweaks/index.ts +++ b/src/mediaTweaks/index.ts @@ -34,9 +34,9 @@ export const patches: Patch[] = [ { find: 'location:"MessageAccessories"', replace: { - match: /=.\.length>1\?(\(0,.\..{1,2}\))\((.),(.)\):{}/, - replacement: (_, createCarousel, attachments, analytics) => - `=${attachments}.length>1?${createCarousel}((moonlight.getConfigOption("mediaTweaks","inlineMosaicPlayback")??true)?${attachments}.filter(x=>!x.component.props.poster):${attachments},${analytics}):{}` + match: /=.\.length>1\?(\(0,.\..{1,2}\))\((.),({shouldRedactExplicitContent:.,shouldHideMediaOptions:.}),(.)\):{}/, + replacement: (_, createCarousel, attachments, props, analytics) => + `=${attachments}.length>1?${createCarousel}((moonlight.getConfigOption("mediaTweaks","inlineMosaicPlayback")??true)?${attachments}.filter(x=>x.type!="VIDEO"):${attachments},${props},${analytics}):{}` } }, diff --git a/src/mediaTweaks/manifest.json b/src/mediaTweaks/manifest.json index 796fb25..123a1df 100644 --- a/src/mediaTweaks/manifest.json +++ b/src/mediaTweaks/manifest.json @@ -1,7 +1,7 @@ { "$schema": "https://moonlight-mod.github.io/manifest.schema.json", "id": "mediaTweaks", - "version": "1.0.3", + "version": "1.0.4", "meta": { "name": "Media Tweaks", "tagline": "Various tweaks to images and videos. Every feature togglable.", diff --git a/src/mediaTweaks/webpackModules/enlargeVideoButton.tsx b/src/mediaTweaks/webpackModules/enlargeVideoButton.tsx index a6b8692..21d7362 100644 --- a/src/mediaTweaks/webpackModules/enlargeVideoButton.tsx +++ b/src/mediaTweaks/webpackModules/enlargeVideoButton.tsx @@ -2,7 +2,7 @@ import React from "@moonlight-mod/wp/react"; import spacepack from "@moonlight-mod/wp/spacepack_spacepack"; import * as Components from "@moonlight-mod/wp/discord/components/common/index"; -const { Clickable, Tooltip, MaximizeIcon, openModal, ModalRoot, ModalSize } = Components; +const { Clickable, Tooltip, MaximizeIcon, openModal } = Components; const HoverButtonClasses = spacepack.findByExports("hoverButton")[0].exports; @@ -26,7 +26,7 @@ type MimeType = { compressible?: boolean; }; -const MediaModal = spacepack.findByCode(".Messages.MEDIA_VIEWER_MODAL_ALT_TEXT,")[0]?.exports?.default; +const LazyMediaModal = spacepack.findFunctionByStrings(spacepack.findByCode(/let{location:.,contextKey:/, "openModalLazy")[0]?.exports ?? {}, "openModalLazy"); const MediaModalClasses = spacepack.findByCode(/\.exports={modal:"modal_[a-z0-9]+"}/)[0].exports; const MimeTypes = Object.entries( @@ -43,24 +43,19 @@ export default function EnlargeVideoButton({ mimeType, item }: HoverButtonsProps focusProps={{ offset: 2 }} aria-label="Enlarge Video" onClick={() => { - if (MediaModal != null) { - openModal((modalProps: any) => { - return ( - - ); + if (LazyMediaModal != null) { + LazyMediaModal({ + className: MediaModalClasses.modal, + items: [ + { + url: item.originalItem.proxy_url, + proxyUrl: item.originalItem.proxy_url, + width: item.originalItem.width, + height: item.originalItem.height, + type: "VIDEO", + origina: item.originalItem.proxy_url + } + ] }); } }}