diff --git a/lib/utils/src/callbacks.ts b/lib/utils/src/callbacks.ts index 0533900..ab1bce6 100644 --- a/lib/utils/src/callbacks.ts +++ b/lib/utils/src/callbacks.ts @@ -6,9 +6,7 @@ export function debounce any>( return (...args: Parameters) => new Promise(rs => { clearTimeout(timer) - timer = setTimeout(() => { - rs(func(...args)) - }, timeout) + timer = setTimeout(() => rs(func(...args)), timeout) }) } diff --git a/src/patches/log-promise-rejections.ts b/src/patches/log-promise-rejections.ts index dd80e14..9bda10d 100644 --- a/src/patches/log-promise-rejections.ts +++ b/src/patches/log-promise-rejections.ts @@ -15,12 +15,11 @@ const ErrorTypeWhitelist = [ReferenceError, TypeError, RangeError] Promise._m = (promise, err) => { if (err) setTimeout( - () => { - if (promise._h === 0) - logger.error( - `Unhandled promise rejection: ${getErrorStack(err)}`, - ) - }, + () => + promise._h === 0 && + logger.error( + `Unhandled promise rejection: ${getErrorStack(err)}`, + ), ErrorTypeWhitelist.some(it => err instanceof it) ? 0 : 2000, // The time is completely arbitary. I've picked what Hermes chose. ) diff --git a/src/plugins/init/developer-settings/definitions/RDTConnectSetting.tsx b/src/plugins/init/developer-settings/definitions/RDTConnectSetting.tsx index 028f661..6e9a32e 100644 --- a/src/plugins/init/developer-settings/definitions/RDTConnectSetting.tsx +++ b/src/plugins/init/developer-settings/definitions/RDTConnectSetting.tsx @@ -7,10 +7,7 @@ const RDTConnectSetting: SettingsItem = { parent: Setting.RevengeDeveloper, IconComponent: () => , title: () => 'Connect to React DevTools', - usePredicate: () => { - const dtOpen = useIsConnected() - return RDTContext.active && !dtOpen - }, + usePredicate: () => useIsConnected() && RDTContext.active, onPress: connect, type: 'pressable', } diff --git a/src/plugins/init/developer-settings/screens/RevengeDeveloperSettingScreen.tsx b/src/plugins/init/developer-settings/screens/RevengeDeveloperSettingScreen.tsx index 6c51cf4..ce5c635 100644 --- a/src/plugins/init/developer-settings/screens/RevengeDeveloperSettingScreen.tsx +++ b/src/plugins/init/developer-settings/screens/RevengeDeveloperSettingScreen.tsx @@ -54,21 +54,21 @@ export function RDTAddrSetting() { isDisabled={open} label="React DevTools" leadingText="ws://" - onBlur={() => { + onBlur={() => api.storage .set({ devtools: { address: RDTContext.addr, }, }) - .then(() => { + .then(() => ToastActionCreators.open({ IconComponent: CircleCheckIcon, key: 'REACT_DEVTOOLS_ADDRESS_SAVED', content: 'Address saved', - }) - }) - }} + }), + ) + } onChange={text => (RDTContext.addr = text)} returnKeyType="done" /> diff --git a/src/plugins/init/settings/components/PluginCard.tsx b/src/plugins/init/settings/components/PluginCard.tsx index 700a70f..fa42686 100644 --- a/src/plugins/init/settings/components/PluginCard.tsx +++ b/src/plugins/init/settings/components/PluginCard.tsx @@ -49,15 +49,17 @@ export function InstalledPluginCard({ const enabled = Boolean(flags & PluginFlags.Enabled) const styles_ = usePluginCardStyles() - const settingsRef = useClickOutside(() => { - if (enableTooltipTarget.current === settingsRef.current) - setEnablePluginTooltipVisible?.(false) - }) + const settingsRef = useClickOutside( + () => + enableTooltipTarget.current === settingsRef.current && + setEnablePluginTooltipVisible?.(false), + ) - const switchRef = useClickOutside(() => { - if (essentialTooltipTarget.current === switchRef.current) - setEssentialPluginTooltipVisible?.(false) - }) + const switchRef = useClickOutside( + () => + essentialTooltipTarget.current === switchRef.current && + setEssentialPluginTooltipVisible?.(false), + ) return ( diff --git a/src/plugins/init/settings/screens/RevengeCustomPageScreen.tsx b/src/plugins/init/settings/screens/RevengeCustomPageScreen.tsx index 6170fa9..ea3b19c 100644 --- a/src/plugins/init/settings/screens/RevengeCustomPageScreen.tsx +++ b/src/plugins/init/settings/screens/RevengeCustomPageScreen.tsx @@ -13,9 +13,7 @@ export default function RevengeCustomPageScreen({ const { render: PageComponent, options } = route.params // biome-ignore lint/correctness/useExhaustiveDependencies: We only want to set options once - useLayoutEffect(() => { - if (options) navigation.setOptions(options) - }, []) + useLayoutEffect(() => options && navigation.setOptions(options), []) return }