feat(plugins/settings): add Loader info in Revenge page

This commit is contained in:
PalmDevs 2025-08-19 22:14:01 +07:00
parent 97534c9d04
commit d33f68ebad
No known key found for this signature in database
GPG key ID: 6FAE8F8677ACA8BA
4 changed files with 23 additions and 15 deletions

View file

@ -15,6 +15,7 @@ export const Setting = {
ReactVersion: 'ReactVersion', ReactVersion: 'ReactVersion',
ReactNativeVersion: 'ReactNativeVersion', ReactNativeVersion: 'ReactNativeVersion',
HermesVersion: 'HermesVersion', HermesVersion: 'HermesVersion',
LoaderVersion: 'LoaderVersion',
} as const } as const
export const RouteNames = { export const RouteNames = {

View file

@ -0,0 +1,19 @@
import TableRowAssetIcon from '@revenge-mod/components/TableRowAssetIcon'
import { getBridgeInfo } from '@revenge-mod/modules/native'
import { Setting } from '../constants'
import { CopyableSetting } from './shared'
import type { SettingsItem } from '@revenge-mod/discord/modules/settings'
const bridgeInfo = getBridgeInfo()
const LoaderVersionSetting: SettingsItem = CopyableSetting(
{
parent: Setting.Revenge,
IconComponent: () => <TableRowAssetIcon name="SendMessageIcon" />,
title: () => 'Loader',
usePredicate: () => Boolean(bridgeInfo),
},
() => `${bridgeInfo!.name} (${bridgeInfo!.version})`,
)
export default LoaderVersionSetting

View file

@ -4,6 +4,7 @@ import {
} from '@revenge-mod/discord/modules/settings' } from '@revenge-mod/discord/modules/settings'
import { Setting } from './constants' import { Setting } from './constants'
import HermesVersionSetting from './definitions/HermesVersionSetting' import HermesVersionSetting from './definitions/HermesVersionSetting'
import LoaderVersionSetting from './definitions/LoaderVersionSetting'
import ReactNativeVersionSetting from './definitions/ReactNativeVersionSetting' import ReactNativeVersionSetting from './definitions/ReactNativeVersionSetting'
import ReactVersionSetting from './definitions/ReactVersionSetting' import ReactVersionSetting from './definitions/ReactVersionSetting'
import ReloadSetting from './definitions/ReloadSetting' import ReloadSetting from './definitions/ReloadSetting'
@ -25,6 +26,7 @@ registerSettingsItems({
[Setting.ReactVersion]: ReactVersionSetting, [Setting.ReactVersion]: ReactVersionSetting,
[Setting.ReactNativeVersion]: ReactNativeVersionSetting, [Setting.ReactNativeVersion]: ReactNativeVersionSetting,
[Setting.HermesVersion]: HermesVersionSetting, [Setting.HermesVersion]: HermesVersionSetting,
[Setting.LoaderVersion]: LoaderVersionSetting,
}) })
registerSettingsSection('REVENGE', { registerSettingsSection('REVENGE', {

View file

@ -1,4 +1,3 @@
import { Design } from '@revenge-mod/discord/design'
import { SettingListRenderer } from '@revenge-mod/discord/modules/settings/renderer' import { SettingListRenderer } from '@revenge-mod/discord/modules/settings/renderer'
import { Setting } from '../constants' import { Setting } from '../constants'
@ -10,24 +9,11 @@ export default function RevengeSettingScreen() {
label: 'Revenge', label: 'Revenge',
settings: [ settings: [
Setting.RevengeVersion, Setting.RevengeVersion,
Setting.LoaderVersion,
Setting.RevengeDiscord, Setting.RevengeDiscord,
Setting.RevengeSourceRepository, Setting.RevengeSourceRepository,
Setting.RevengeLicense, Setting.RevengeLicense,
], ],
subLabel: (
<>
<Design.Text variant="text-xs/medium">
You are using the next version of Revenge!
</Design.Text>
<Design.Text
color="text-danger"
variant="text-xs/semibold"
>
This version is experimental and may be
unstable.
</Design.Text>
</>
),
}, },
{ {
label: 'Versions', label: 'Versions',