diff --git a/src/plugins/start/developer-kit/constants.ts b/src/plugins/start/developer-kit/constants.ts
index a59027c..3c9cac9 100644
--- a/src/plugins/start/developer-kit/constants.ts
+++ b/src/plugins/start/developer-kit/constants.ts
@@ -21,5 +21,6 @@ export const Setting = {
export const RouteNames = {
[Setting.RevengeDeveloper]: 'Revenge Developer',
[Setting.AssetBrowser]: 'Asset Browser',
+ [Setting.EvalJS]: 'Evaluate JavaScript',
[Setting.TestErrorBoundary]: 'Test ErrorBoundary',
} as const
diff --git a/src/plugins/start/developer-kit/definitions/EvalJSSetting.tsx b/src/plugins/start/developer-kit/definitions/EvalJSSetting.tsx
index 19e2613..fa46a0f 100644
--- a/src/plugins/start/developer-kit/definitions/EvalJSSetting.tsx
+++ b/src/plugins/start/developer-kit/definitions/EvalJSSetting.tsx
@@ -1,144 +1,18 @@
-import TableRowAssetIcon from '@revenge-mod/components/TableRowAssetIcon'
-import { AlertActionCreators } from '@revenge-mod/discord/actions'
-import { Design } from '@revenge-mod/discord/design'
-import { nodeUtil } from '@revenge-mod/externals/browserify'
-import { getErrorStack } from '@revenge-mod/utils/error'
-import { sleep } from '@revenge-mod/utils/promise'
-import { useRef, useState } from 'react'
-import { api } from '..'
-import { Setting } from '../constants'
+import { TableRowAssetIcon } from '@revenge-mod/components'
+import { RouteNames, Setting } from '../constants'
+import EvalJSSettingScreen from '../screens/EvalJSSettingScreen'
import type { SettingsItem } from '@revenge-mod/discord/modules/settings'
-const AlertKey = 'evaluate-javascript'
-
const EvalJSSetting: SettingsItem = {
parent: Setting.RevengeDeveloper,
+ type: 'route',
IconComponent: () => ,
title: () => 'Evaluate JavaScript',
useDescription: () => 'Runs a JavaScript code snippet.',
- onPress: () => {
- AlertActionCreators.openAlert(AlertKey, )
+ screen: {
+ route: RouteNames[Setting.EvalJS],
+ getComponent: () => EvalJSSettingScreen,
},
- type: 'pressable',
-}
-
-const {
- AlertActionButton,
- AlertModal,
- Button,
- Slider,
- Stack,
- TableRow,
- TableRowGroup,
- TableSwitchRow,
- Text,
- TextArea,
-} = Design
-
-function EvalJSAlert() {
- const code = useRef('')
- const [awaitResult, setAwaitResult] = useState(true)
- const [inspectDepth, setInspectDepth] = useState(3)
- const [showHidden, setShowHidden] = useState(true)
-
- return (
-
-
-
- >
- }
- extraContent={
-
-
- }
- title="Evaluate JavaScript"
- />
- )
}
export default EvalJSSetting
diff --git a/src/plugins/start/developer-kit/screens/EvalJSSettingScreen.tsx b/src/plugins/start/developer-kit/screens/EvalJSSettingScreen.tsx
new file mode 100644
index 0000000..25fbe93
--- /dev/null
+++ b/src/plugins/start/developer-kit/screens/EvalJSSettingScreen.tsx
@@ -0,0 +1,148 @@
+import { Page } from '@revenge-mod/components'
+import { Design } from '@revenge-mod/discord/design'
+import { nodeUtil } from '@revenge-mod/externals/browserify'
+import { getErrorStack } from '@revenge-mod/utils/error'
+import { sleep } from '@revenge-mod/utils/promise'
+import { useRef, useState } from 'react'
+import { ScrollView } from 'react-native'
+import { api } from '..'
+
+const {
+ Button,
+ Card,
+ Slider,
+ Stack,
+ TableRow,
+ TableRowGroup,
+ TableSwitchRow,
+ Text,
+ TextArea,
+} = Design
+
+export default function EvalJSSettingScreen() {
+ const code = useRef('')
+ const [result, setResult] = useState('')
+ const [awaitResult, setAwaitResult] = useState(true)
+ const [showHidden, setShowHidden] = useState(true)
+ const [inspectDepth, setInspectDepth] = useState(3)
+ const [wordWrap, setWordWrap] = useState(true)
+
+ return (
+
+
+
+
+ )
+}