diff --git a/renderer/src/builtins/customcss.js b/renderer/src/builtins/customcss.js index 33d51672..4f940c39 100644 --- a/renderer/src/builtins/customcss.js +++ b/renderer/src/builtins/customcss.js @@ -67,7 +67,7 @@ export default new class CustomCSS extends Builtin { if (this.isDetached) return; if (this.nativeOpen) return this.openNative(); else if (this.startDetached) return this.openDetached(this.savedCss); - const settingsView = Utilities.findInRenderTree(thisObject._reactInternalFiber, m => m && m.onSetSection, {walkable: ["child", "memoizedProps", "props", "children"]}); + const settingsView = Utilities.findInRenderTree(thisObject._reactInternals, m => m && m.onSetSection, {walkable: ["child", "memoizedProps", "props", "children"]}); if (settingsView && settingsView.onSetSection) settingsView.onSetSection(this.id); } }); diff --git a/renderer/src/modules/utilities.js b/renderer/src/modules/utilities.js index 9cb57785..313fef91 100644 --- a/renderer/src/modules/utilities.js +++ b/renderer/src/modules/utilities.js @@ -278,7 +278,7 @@ export default class Utilities { static getReactInstance(node) { if (node.__reactInternalInstance$) return node.__reactInternalInstance$; - return node[Object.keys(node).find(k => k.startsWith("__reactInternalInstance"))] || null; + return node[Object.keys(node).find(k => k.startsWith("__reactInternalInstance") || k.startsWith("__reactFiber"))] || null; } /** diff --git a/renderer/src/ui/settings/components/dropdown.jsx b/renderer/src/ui/settings/components/dropdown.jsx index 178a94e9..241aa003 100644 --- a/renderer/src/ui/settings/components/dropdown.jsx +++ b/renderer/src/ui/settings/components/dropdown.jsx @@ -13,7 +13,11 @@ export default class Select extends React.Component { showMenu(event) { event.preventDefault(); - this.setState({open: true}, () => { + event.stopPropagation(); + + this.setState((state) => ({open: !state.open}), () => { + if (!this.state.open) return; + document.addEventListener("click", this.hideMenu); }); }