fix: support Discord's settings refactor
I assume this happened on 330201, but I'm unsure. This also drops support for any older versions that may not have this change.
This commit is contained in:
parent
5043b026ad
commit
3ca2f8742d
23 changed files with 23 additions and 23 deletions
|
|
@ -640,7 +640,7 @@ export namespace DiscordModules {
|
||||||
}
|
}
|
||||||
|
|
||||||
interface BaseSettingsItem {
|
interface BaseSettingsItem {
|
||||||
title: () => string
|
useTitle: () => string
|
||||||
parent: string | null
|
parent: string | null
|
||||||
unsearchable?: boolean
|
unsearchable?: boolean
|
||||||
variant?: Components.TableRowProps['variant']
|
variant?: Components.TableRowProps['variant']
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@ const AssetBrowserSetting: SettingsItem = {
|
||||||
parent: Setting.RevengeDeveloper,
|
parent: Setting.RevengeDeveloper,
|
||||||
type: 'route',
|
type: 'route',
|
||||||
IconComponent: () => <TableRowAssetIcon name="ImageIcon" />,
|
IconComponent: () => <TableRowAssetIcon name="ImageIcon" />,
|
||||||
title: () => 'Asset Browser',
|
useTitle: () => 'Asset Browser',
|
||||||
screen: {
|
screen: {
|
||||||
route: RouteNames[Setting.AssetBrowser],
|
route: RouteNames[Setting.AssetBrowser],
|
||||||
getComponent: () => AssetBrowserSettingScreen.default,
|
getComponent: () => AssetBrowserSettingScreen.default,
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@ import type { SettingsItem } from '@revenge-mod/discord/modules/settings'
|
||||||
const DTAutoConnectSetting: SettingsItem = {
|
const DTAutoConnectSetting: SettingsItem = {
|
||||||
parent: Setting.RevengeDeveloper,
|
parent: Setting.RevengeDeveloper,
|
||||||
IconComponent: () => <TableRowAssetIcon name="LinkIcon" />,
|
IconComponent: () => <TableRowAssetIcon name="LinkIcon" />,
|
||||||
title: () => 'Auto-connect to DevTools',
|
useTitle: () => 'Auto-connect to DevTools',
|
||||||
useDescription: () => 'Automatically connect to DevTools during startup.',
|
useDescription: () => 'Automatically connect to DevTools during startup.',
|
||||||
useValue: () =>
|
useValue: () =>
|
||||||
api.storage.use(s => s.devTools?.autoConnect !== undefined)!.devTools
|
api.storage.use(s => s.devTools?.autoConnect !== undefined)!.devTools
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@ import type { SettingsItem } from '@revenge-mod/discord/modules/settings'
|
||||||
const DTConnectSetting: SettingsItem = {
|
const DTConnectSetting: SettingsItem = {
|
||||||
parent: Setting.RevengeDeveloper,
|
parent: Setting.RevengeDeveloper,
|
||||||
IconComponent: () => <TableRowAssetIcon name="LinkIcon" />,
|
IconComponent: () => <TableRowAssetIcon name="LinkIcon" />,
|
||||||
title: () => 'Connect to DevTools',
|
useTitle: () => 'Connect to DevTools',
|
||||||
useDescription: () => `Version: ${DevToolsClient.version}`,
|
useDescription: () => `Version: ${DevToolsClient.version}`,
|
||||||
usePredicate: () => !useIsConnected(),
|
usePredicate: () => !useIsConnected(),
|
||||||
onPress: connect,
|
onPress: connect,
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@ const DTDisconnectSetting: SettingsItem = {
|
||||||
parent: Setting.RevengeDeveloper,
|
parent: Setting.RevengeDeveloper,
|
||||||
IconComponent: () => <TableRowAssetIcon name="DenyIcon" variant="danger" />,
|
IconComponent: () => <TableRowAssetIcon name="DenyIcon" variant="danger" />,
|
||||||
variant: 'danger',
|
variant: 'danger',
|
||||||
title: () => 'Disconnect from DevTools',
|
useTitle: () => 'Disconnect from DevTools',
|
||||||
usePredicate: useIsConnected,
|
usePredicate: useIsConnected,
|
||||||
onPress: disconnect,
|
onPress: disconnect,
|
||||||
type: 'pressable',
|
type: 'pressable',
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@ const EvalJSSetting: SettingsItem = {
|
||||||
parent: Setting.RevengeDeveloper,
|
parent: Setting.RevengeDeveloper,
|
||||||
type: 'route',
|
type: 'route',
|
||||||
IconComponent: () => <TableRowAssetIcon name="FileIcon" />,
|
IconComponent: () => <TableRowAssetIcon name="FileIcon" />,
|
||||||
title: () => 'Evaluate JavaScript',
|
useTitle: () => 'Evaluate JavaScript',
|
||||||
useDescription: () => 'Runs a JavaScript code snippet.',
|
useDescription: () => 'Runs a JavaScript code snippet.',
|
||||||
screen: {
|
screen: {
|
||||||
route: RouteNames[Setting.EvalJS],
|
route: RouteNames[Setting.EvalJS],
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@ import type { SettingsItem } from '@revenge-mod/discord/modules/settings'
|
||||||
const RDTAutoConnectSetting: SettingsItem = {
|
const RDTAutoConnectSetting: SettingsItem = {
|
||||||
parent: Setting.RevengeDeveloper,
|
parent: Setting.RevengeDeveloper,
|
||||||
IconComponent: () => <TableRowAssetIcon name="LinkIcon" />,
|
IconComponent: () => <TableRowAssetIcon name="LinkIcon" />,
|
||||||
title: () => 'Auto-connect to React DevTools',
|
useTitle: () => 'Auto-connect to React DevTools',
|
||||||
useDescription: () =>
|
useDescription: () =>
|
||||||
'Automatically connect to React DevTools during startup.',
|
'Automatically connect to React DevTools during startup.',
|
||||||
usePredicate: () => RDTContext.active,
|
usePredicate: () => RDTContext.active,
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@ import type { SettingsItem } from '@revenge-mod/discord/modules/settings'
|
||||||
const RDTConnectSetting: SettingsItem = {
|
const RDTConnectSetting: SettingsItem = {
|
||||||
parent: Setting.RevengeDeveloper,
|
parent: Setting.RevengeDeveloper,
|
||||||
IconComponent: () => <TableRowAssetIcon name="LinkIcon" />,
|
IconComponent: () => <TableRowAssetIcon name="LinkIcon" />,
|
||||||
title: () => 'Connect to React DevTools',
|
useTitle: () => 'Connect to React DevTools',
|
||||||
useDescription: () => `Version: ${globalThis.__REACT_DEVTOOLS__?.version}`,
|
useDescription: () => `Version: ${globalThis.__REACT_DEVTOOLS__?.version}`,
|
||||||
usePredicate: () => !useIsConnected() && RDTContext.active,
|
usePredicate: () => !useIsConnected() && RDTContext.active,
|
||||||
onPress: connect,
|
onPress: connect,
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@ const RDTDisconnectSetting: SettingsItem = {
|
||||||
parent: Setting.RevengeDeveloper,
|
parent: Setting.RevengeDeveloper,
|
||||||
IconComponent: () => <TableRowAssetIcon name="DenyIcon" variant="danger" />,
|
IconComponent: () => <TableRowAssetIcon name="DenyIcon" variant="danger" />,
|
||||||
variant: 'danger',
|
variant: 'danger',
|
||||||
title: () => 'Disconnect from React DevTools',
|
useTitle: () => 'Disconnect from React DevTools',
|
||||||
usePredicate: useIsConnected,
|
usePredicate: useIsConnected,
|
||||||
onPress: disconnect,
|
onPress: disconnect,
|
||||||
type: 'pressable',
|
type: 'pressable',
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@ const RevengeDeveloperSetting: SettingsItem = {
|
||||||
parent: null,
|
parent: null,
|
||||||
type: 'route',
|
type: 'route',
|
||||||
IconComponent: () => <TableRowAssetIcon name="WrenchIcon" />,
|
IconComponent: () => <TableRowAssetIcon name="WrenchIcon" />,
|
||||||
title: () => 'Developer',
|
useTitle: () => 'Developer',
|
||||||
screen: {
|
screen: {
|
||||||
route: RouteNames[Setting.RevengeDeveloper],
|
route: RouteNames[Setting.RevengeDeveloper],
|
||||||
getComponent: () => RevengeDeveloperSettingScreen.default,
|
getComponent: () => RevengeDeveloperSettingScreen.default,
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@ const TestErrorBoundarySetting: SettingsItem = {
|
||||||
IconComponent: () => (
|
IconComponent: () => (
|
||||||
<TableRowAssetIcon name="ScreenXIcon" variant="danger" />
|
<TableRowAssetIcon name="ScreenXIcon" variant="danger" />
|
||||||
),
|
),
|
||||||
title: () => 'Test ErrorBoundary',
|
useTitle: () => 'Test ErrorBoundary',
|
||||||
screen: {
|
screen: {
|
||||||
route: RouteNames[Setting.TestErrorBoundary],
|
route: RouteNames[Setting.TestErrorBoundary],
|
||||||
getComponent: () => TestErrorBoundarySettingScreen.default,
|
getComponent: () => TestErrorBoundarySettingScreen.default,
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@ const HermesVersionSetting: SettingsItem = CopyableSetting(
|
||||||
{
|
{
|
||||||
parent: Setting.Revenge,
|
parent: Setting.Revenge,
|
||||||
IconComponent: () => <TableRowAssetIcon name="TranscriptOutlineIcon" />,
|
IconComponent: () => <TableRowAssetIcon name="TranscriptOutlineIcon" />,
|
||||||
title: () => 'Hermes',
|
useTitle: () => 'Hermes',
|
||||||
},
|
},
|
||||||
() => `${props['Bytecode Version']} (${props.Build})`,
|
() => `${props['Bytecode Version']} (${props.Build})`,
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@ const LoaderVersionSetting: SettingsItem = CopyableSetting(
|
||||||
{
|
{
|
||||||
parent: Setting.Revenge,
|
parent: Setting.Revenge,
|
||||||
IconComponent: () => <TableRowAssetIcon name="SendMessageIcon" />,
|
IconComponent: () => <TableRowAssetIcon name="SendMessageIcon" />,
|
||||||
title: () => 'Loader',
|
useTitle: () => 'Loader',
|
||||||
usePredicate: () => Boolean(bridgeInfo),
|
usePredicate: () => Boolean(bridgeInfo),
|
||||||
},
|
},
|
||||||
() => `${bridgeInfo!.name} (${bridgeInfo!.version})`,
|
() => `${bridgeInfo!.name} (${bridgeInfo!.version})`,
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@ const ReactNativeVersionSetting: SettingsItem = CopyableSetting(
|
||||||
{
|
{
|
||||||
parent: Setting.Revenge,
|
parent: Setting.Revenge,
|
||||||
IconComponent: () => <TableRowAssetIcon name="ScienceIcon" />,
|
IconComponent: () => <TableRowAssetIcon name="ScienceIcon" />,
|
||||||
title: () => 'React Native',
|
useTitle: () => 'React Native',
|
||||||
},
|
},
|
||||||
// slice "for RN " off the version string
|
// slice "for RN " off the version string
|
||||||
() => ossReleaseVersion.slice(7),
|
() => ossReleaseVersion.slice(7),
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ const ReactVersionSetting: SettingsItem = CopyableSetting(
|
||||||
{
|
{
|
||||||
parent: Setting.Revenge,
|
parent: Setting.Revenge,
|
||||||
IconComponent: () => <TableRowAssetIcon name="ScienceIcon" />,
|
IconComponent: () => <TableRowAssetIcon name="ScienceIcon" />,
|
||||||
title: () => 'React',
|
useTitle: () => 'React',
|
||||||
},
|
},
|
||||||
() => version,
|
() => version,
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@ import type { SettingsItem } from '@revenge-mod/discord/modules/settings'
|
||||||
const ReloadSetting: SettingsItem = {
|
const ReloadSetting: SettingsItem = {
|
||||||
parent: Setting.Revenge,
|
parent: Setting.Revenge,
|
||||||
IconComponent: () => <TableRowAssetIcon name="RetryIcon" />,
|
IconComponent: () => <TableRowAssetIcon name="RetryIcon" />,
|
||||||
title: () => 'Reload App',
|
useTitle: () => 'Reload App',
|
||||||
onPress: () => {
|
onPress: () => {
|
||||||
BundleUpdaterManager.reload()
|
BundleUpdaterManager.reload()
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@ import type { SettingsItem } from '@revenge-mod/discord/modules/settings'
|
||||||
const RevengeDiscordSetting: SettingsItem = {
|
const RevengeDiscordSetting: SettingsItem = {
|
||||||
parent: Setting.Revenge,
|
parent: Setting.Revenge,
|
||||||
IconComponent: () => <TableRowAssetIcon name="Discord" />,
|
IconComponent: () => <TableRowAssetIcon name="Discord" />,
|
||||||
title: () => 'Discord Server',
|
useTitle: () => 'Discord Server',
|
||||||
useDescription: () => __BUILD_DISCORD_SERVER_URL__,
|
useDescription: () => __BUILD_DISCORD_SERVER_URL__,
|
||||||
onPress: () => {
|
onPress: () => {
|
||||||
Linking.openURL(__BUILD_DISCORD_SERVER_URL__)
|
Linking.openURL(__BUILD_DISCORD_SERVER_URL__)
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@ import type { SettingsItem } from '@revenge-mod/discord/modules/settings'
|
||||||
const RevengeLicenseSetting: SettingsItem = {
|
const RevengeLicenseSetting: SettingsItem = {
|
||||||
parent: Setting.Revenge,
|
parent: Setting.Revenge,
|
||||||
IconComponent: () => <TableRowAssetIcon name="FileIcon" />,
|
IconComponent: () => <TableRowAssetIcon name="FileIcon" />,
|
||||||
title: () => 'License',
|
useTitle: () => 'License',
|
||||||
onPress: () => {
|
onPress: () => {
|
||||||
AlertActionCreators.openAlert('revenge-license', <LicenseAlert />)
|
AlertActionCreators.openAlert('revenge-license', <LicenseAlert />)
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@ const RevengePluginsSetting: SettingsItem = {
|
||||||
parent: null,
|
parent: null,
|
||||||
type: 'route',
|
type: 'route',
|
||||||
IconComponent: () => <TableRowAssetIcon name="PuzzlePieceIcon" />,
|
IconComponent: () => <TableRowAssetIcon name="PuzzlePieceIcon" />,
|
||||||
title: () => 'Plugins',
|
useTitle: () => 'Plugins',
|
||||||
useTrailing: () => `${useEnabledPluginCount()} enabled`,
|
useTrailing: () => `${useEnabledPluginCount()} enabled`,
|
||||||
screen: {
|
screen: {
|
||||||
route: RouteNames[Setting.RevengePlugins],
|
route: RouteNames[Setting.RevengePlugins],
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@ const RevengeSetting: SettingsItem = {
|
||||||
parent: null,
|
parent: null,
|
||||||
type: 'route',
|
type: 'route',
|
||||||
IconComponent: () => <TableRowAssetIcon id={RevengeIcon} />,
|
IconComponent: () => <TableRowAssetIcon id={RevengeIcon} />,
|
||||||
title: () => 'Revenge',
|
useTitle: () => 'Revenge',
|
||||||
useTrailing: () => FullVersion,
|
useTrailing: () => FullVersion,
|
||||||
screen: {
|
screen: {
|
||||||
route: RouteNames[Setting.Revenge],
|
route: RouteNames[Setting.Revenge],
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@ import type { SettingsItem } from '@revenge-mod/discord/modules/settings'
|
||||||
const RevengeSourceRepositorySetting: SettingsItem = {
|
const RevengeSourceRepositorySetting: SettingsItem = {
|
||||||
parent: Setting.Revenge,
|
parent: Setting.Revenge,
|
||||||
IconComponent: () => <TableRowAssetIcon name="PaperIcon" />,
|
IconComponent: () => <TableRowAssetIcon name="PaperIcon" />,
|
||||||
title: () => 'Source Code',
|
useTitle: () => 'Source Code',
|
||||||
useDescription: () => __BUILD_SOURCE_REPOSITORY_URL__,
|
useDescription: () => __BUILD_SOURCE_REPOSITORY_URL__,
|
||||||
onPress: () => {
|
onPress: () => {
|
||||||
Linking.openURL(__BUILD_SOURCE_REPOSITORY_URL__)
|
Linking.openURL(__BUILD_SOURCE_REPOSITORY_URL__)
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@ const RevengeVersionSetting: SettingsItem = CopyableSetting(
|
||||||
{
|
{
|
||||||
parent: Setting.Revenge,
|
parent: Setting.Revenge,
|
||||||
IconComponent: () => <TableRowAssetIcon id={RevengeIcon} />,
|
IconComponent: () => <TableRowAssetIcon id={RevengeIcon} />,
|
||||||
title: () => 'Revenge',
|
useTitle: () => 'Revenge',
|
||||||
},
|
},
|
||||||
() => `${FullVersion} (${BuildEnvironment})`,
|
() => `${FullVersion} (${BuildEnvironment})`,
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -52,7 +52,7 @@ pEmitter.on('started', plugin => {
|
||||||
IconComponent: plugin.manifest.icon
|
IconComponent: plugin.manifest.icon
|
||||||
? () => <TableRowAssetIcon name={plugin.manifest.icon!} />
|
? () => <TableRowAssetIcon name={plugin.manifest.icon!} />
|
||||||
: undefined,
|
: undefined,
|
||||||
title: () => plugin.manifest.name,
|
useTitle: () => plugin.manifest.name,
|
||||||
screen: {
|
screen: {
|
||||||
route: plugin.manifest.id,
|
route: plugin.manifest.id,
|
||||||
getComponent: () => PluginSettings,
|
getComponent: () => PluginSettings,
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue