fix(plugins/settings): correct path for SettingsNavigator patch

This commit is contained in:
PalmDevs 2025-10-13 00:45:07 +07:00
parent d0ee081ac5
commit 17fd1ec0bd
No known key found for this signature in database
GPG key ID: 6FAE8F8677ACA8BA
2 changed files with 24 additions and 3 deletions

View file

@ -16,7 +16,7 @@ const { loose, relative } = withDependencies
export type SettingListRenderer =
DiscordModules.Modules.Settings.SettingListRenderer
// modules/main_tabs_v2/native/settings/renderer/SettingListRenderer.tsx
// modules/settings/native/renderer/SettingListRenderer.tsx
export let SettingListRenderer: SettingListRenderer = proxify(
() => {
const [module] = lookupModule(

View file

@ -9,11 +9,14 @@ import { instead } from '@revenge-mod/patcher'
import { InternalPluginFlags, registerPlugin } from '@revenge-mod/plugins/_'
import { PluginFlags } from '@revenge-mod/plugins/constants'
import { React } from '@revenge-mod/react'
import { noop } from '@revenge-mod/utils/callback'
import { asap, noop } from '@revenge-mod/utils/callback'
import { useReRender } from '@revenge-mod/utils/react'
import { useEffect } from 'react'
import { getCurrentStack } from '#utils/src/error'
import type { FC } from 'react'
let DEBUG_patchedNavigator = false
const pluginSettings = registerPlugin(
{
id: 'revenge.settings',
@ -30,10 +33,16 @@ const pluginSettings = registerPlugin(
onSettingsModulesLoaded(() => {
// @as-require
import('./register')
// Debug warnings
asap(() => {
if (__DEV__ && !DEBUG_patchedNavigator)
DEBUG_warnUnpatchedNavigator()
})
})
waitForModuleWithImportedPath(
'modules/main_tabs_v2/native/settings/SettingsNavigator.tsx',
'modules/user_settings/native/core/SettingsNavigator.tsx',
exports => {
patchSettingsNavigator(exports)
},
@ -82,6 +91,8 @@ function patchSettingsNavigator(exports: any) {
unpatchMemo()
return el
})
DEBUG_patchedNavigator = true
}
let sectionsInst: object | undefined
@ -142,3 +153,13 @@ function patchSettingsOverviewScreen(exports: any) {
}
export default pluginSettings
/**
* Warns the developer that SettingsNavigator was not patched.
*/
function DEBUG_warnUnpatchedNavigator() {
nativeLoggingHook(
`\u001b[31mSettingsNavigator was not patched\n${getCurrentStack()}\u001b[0m`,
2,
)
}