diff --git a/scripts/build.mjs b/scripts/build.mjs index 82297a5..79745a2 100644 --- a/scripts/build.mjs +++ b/scripts/build.mjs @@ -75,7 +75,7 @@ const config = { constModules: { globals: { "bunny-build-info": { - version: `"Jolly 1.4"`, + version: `"1.4"`, }, }, }, diff --git a/src/lib/addons/themes/colors/patches/background.tsx b/src/lib/addons/themes/colors/patches/background.tsx index 4c337ca..bf68236 100644 --- a/src/lib/addons/themes/colors/patches/background.tsx +++ b/src/lib/addons/themes/colors/patches/background.tsx @@ -7,16 +7,16 @@ import { findByFilePathLazy } from "@metro"; import chroma from "chroma-js"; import { ImageBackground, StyleSheet } from "react-native"; -const Messages = findByFilePathLazy("components_native/chat/Messages.tsx", true); +const Messages = findByFilePathLazy("modules/messages/native/Messages.tsx", true); -function ThemeBackground({ children }: { children: React.ReactNode }) { +function ThemeBackground({ children }: { children: React.ReactNode; }) { useObservable([colorsPref]); if (!_colorRef.current || colorsPref.customBackground === "hidden" || !_colorRef.current.background?.url || _colorRef.current.background?.blur && (typeof _colorRef.current.background?.blur !== "number") - ){ + ) { return children; } @@ -30,30 +30,35 @@ function ThemeBackground({ children }: { children: React.ReactNode }) { } export default function patchChatBackground() { + try { const patches = [ - after("render", Messages, (_, ret) => { - if (!_colorRef.current || !_colorRef.current.background?.url) return; - const messagesComponent = findInReactTree( - ret, - x => x && "HACK_fixModalInteraction" in x.props && x?.props?.style - ); + after("render", Messages, (_, ret) => { + if (!_colorRef.current || !_colorRef.current.background?.url) return; - if (messagesComponent) { - const flattened = StyleSheet.flatten(messagesComponent.props.style); - const backgroundColor = chroma( - flattened.backgroundColor || "black" - ).alpha( - 1 - (_colorRef.current.background?.opacity ?? 1) - ).hex(); + const messagesComponent = findInReactTree( + ret, + x => x && "HACK_fixModalInteraction" in x.props && x?.props?.style + ); - messagesComponent.props.style = StyleSheet.flatten([ - messagesComponent.props.style, - { backgroundColor } - ]); - } + if (messagesComponent) { + const flattened = StyleSheet.flatten(messagesComponent.props.style); + const backgroundColor = chroma( + flattened.backgroundColor || "black" + ).alpha( + 1 - (_colorRef.current.background?.opacity ?? 1) + ).hex(); - return {ret}; - }) + messagesComponent.props.style = StyleSheet.flatten([ + messagesComponent.props.style, + { backgroundColor } + ]); + } + + return {ret}; + }) ]; + return () => patches.forEach(x => x()); + } catch (e) { + } }