fix: settings patches and definitions for 306203+
This commit is contained in:
parent
d9968c6e22
commit
6c63ba5a31
4 changed files with 78 additions and 64 deletions
|
|
@ -620,13 +620,16 @@ export namespace DiscordModules {
|
||||||
export interface SettingsListProps {
|
export interface SettingsListProps {
|
||||||
containerStyle?: StyleProp<ViewStyle>
|
containerStyle?: StyleProp<ViewStyle>
|
||||||
initialSetting?: string
|
initialSetting?: string
|
||||||
ListHeaderComponent?: ComponentType
|
node: {
|
||||||
ListFooterComponent?: ComponentType
|
type: 'list'
|
||||||
sections: Array<{
|
ListHeaderComponent?: ComponentType
|
||||||
label?: string | ReactNode
|
ListFooterComponent?: ComponentType
|
||||||
settings: string[]
|
sections: Array<{
|
||||||
subLabel?: string | ReactNode
|
label?: string | ReactNode
|
||||||
}>
|
settings: string[]
|
||||||
|
subLabel?: string | ReactNode
|
||||||
|
}>
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export type SettingsList = FC<SettingsListProps>
|
export type SettingsList = FC<SettingsListProps>
|
||||||
|
|
@ -651,6 +654,7 @@ export namespace DiscordModules {
|
||||||
|
|
||||||
export interface PressableSettingsItem extends BaseSettingsItem {
|
export interface PressableSettingsItem extends BaseSettingsItem {
|
||||||
type: 'pressable'
|
type: 'pressable'
|
||||||
|
withArrow?: boolean
|
||||||
onPress?: () => void
|
onPress?: () => void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -35,41 +35,47 @@ export default function RevengeDeveloperSettingScreen() {
|
||||||
<View>
|
<View>
|
||||||
<SettingListRenderer.SettingsList
|
<SettingListRenderer.SettingsList
|
||||||
containerStyle={listStyles.container}
|
containerStyle={listStyles.container}
|
||||||
ListHeaderComponent={DTAddrSetting}
|
node={{
|
||||||
sections={[
|
type: 'list',
|
||||||
{
|
ListHeaderComponent: DTAddrSetting,
|
||||||
settings: [
|
sections: [
|
||||||
Setting.DTAutoConnect,
|
{
|
||||||
Setting.DTConnect,
|
settings: [
|
||||||
Setting.DTDisconnect,
|
Setting.DTAutoConnect,
|
||||||
],
|
Setting.DTConnect,
|
||||||
},
|
Setting.DTDisconnect,
|
||||||
]}
|
],
|
||||||
|
},
|
||||||
|
],
|
||||||
|
}}
|
||||||
/>
|
/>
|
||||||
</View>
|
</View>
|
||||||
<View>
|
<View>
|
||||||
<SettingListRenderer.SettingsList
|
<SettingListRenderer.SettingsList
|
||||||
containerStyle={listStyles.container}
|
containerStyle={listStyles.container}
|
||||||
ListHeaderComponent={
|
node={{
|
||||||
RDTContext.active ? RDTAddrSetting : undefined
|
type: 'list',
|
||||||
}
|
ListHeaderComponent: RDTContext.active
|
||||||
sections={[
|
? RDTAddrSetting
|
||||||
{
|
: undefined,
|
||||||
settings: [
|
sections: [
|
||||||
Setting.RDTAutoConnect,
|
{
|
||||||
Setting.RDTConnect,
|
settings: [
|
||||||
Setting.RDTDisconnect,
|
Setting.RDTAutoConnect,
|
||||||
],
|
Setting.RDTConnect,
|
||||||
},
|
Setting.RDTDisconnect,
|
||||||
{
|
],
|
||||||
label: 'Tools',
|
},
|
||||||
settings: [
|
{
|
||||||
Setting.EvalJS,
|
label: 'Tools',
|
||||||
Setting.AssetBrowser,
|
settings: [
|
||||||
Setting.TestErrorBoundary,
|
Setting.EvalJS,
|
||||||
],
|
Setting.AssetBrowser,
|
||||||
},
|
Setting.TestErrorBoundary,
|
||||||
]}
|
],
|
||||||
|
},
|
||||||
|
],
|
||||||
|
}}
|
||||||
/>
|
/>
|
||||||
</View>
|
</View>
|
||||||
</Design.Stack>
|
</Design.Stack>
|
||||||
|
|
|
||||||
|
|
@ -125,7 +125,8 @@ function patchSettingsOverviewScreen(exports: any) {
|
||||||
const unpatchMemo = instead(React, 'useMemo', (args, orig) => {
|
const unpatchMemo = instead(React, 'useMemo', (args, orig) => {
|
||||||
if (sRefresher.overviewScreen) args[1] = undefined
|
if (sRefresher.overviewScreen) args[1] = undefined
|
||||||
|
|
||||||
let sections = Reflect.apply(orig, React, args)
|
const node = Reflect.apply(orig, React, args)
|
||||||
|
const sections = node.sections
|
||||||
|
|
||||||
// Add our custom sections here, and only do this per instance!
|
// Add our custom sections here, and only do this per instance!
|
||||||
if (sectionsInst !== sections) {
|
if (sectionsInst !== sections) {
|
||||||
|
|
@ -138,11 +139,11 @@ function patchSettingsOverviewScreen(exports: any) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (sRefresher.overviewScreen) {
|
if (sRefresher.overviewScreen) {
|
||||||
sections = sectionsInst = [...sections]
|
node.sections = sectionsInst = [...sections]
|
||||||
sRefresher.overviewScreen = false
|
sRefresher.overviewScreen = false
|
||||||
}
|
}
|
||||||
|
|
||||||
return sections
|
return node
|
||||||
})
|
})
|
||||||
|
|
||||||
const el = Reflect.apply(orig, undefined, args)
|
const el = Reflect.apply(orig, undefined, args)
|
||||||
|
|
|
||||||
|
|
@ -4,30 +4,33 @@ import { Setting } from '../constants'
|
||||||
export default function RevengeSettingScreen() {
|
export default function RevengeSettingScreen() {
|
||||||
return (
|
return (
|
||||||
<SettingListRenderer.SettingsList
|
<SettingListRenderer.SettingsList
|
||||||
sections={[
|
node={{
|
||||||
{
|
type: 'list',
|
||||||
label: 'Revenge',
|
sections: [
|
||||||
settings: [
|
{
|
||||||
Setting.RevengeVersion,
|
label: 'Revenge',
|
||||||
Setting.LoaderVersion,
|
settings: [
|
||||||
Setting.RevengeDiscord,
|
Setting.RevengeVersion,
|
||||||
Setting.RevengeSourceRepository,
|
Setting.LoaderVersion,
|
||||||
Setting.RevengeLicense,
|
Setting.RevengeDiscord,
|
||||||
],
|
Setting.RevengeSourceRepository,
|
||||||
},
|
Setting.RevengeLicense,
|
||||||
{
|
],
|
||||||
label: 'Versions',
|
},
|
||||||
settings: [
|
{
|
||||||
Setting.ReactVersion,
|
label: 'Versions',
|
||||||
Setting.ReactNativeVersion,
|
settings: [
|
||||||
Setting.HermesVersion,
|
Setting.ReactVersion,
|
||||||
],
|
Setting.ReactNativeVersion,
|
||||||
},
|
Setting.HermesVersion,
|
||||||
{
|
],
|
||||||
label: 'Actions',
|
},
|
||||||
settings: [Setting.Reload],
|
{
|
||||||
},
|
label: 'Actions',
|
||||||
]}
|
settings: [Setting.Reload],
|
||||||
|
},
|
||||||
|
],
|
||||||
|
}}
|
||||||
/>
|
/>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue