summaryrefslogtreecommitdiff
path: root/frontend/src/components/settings/pages/developer/index.tsx
diff options
context:
space:
mode:
authorEMERALD <hudson.samuels@gmail.com>2023-02-01 19:16:42 -0600
committerGitHub <noreply@github.com>2023-02-01 17:16:42 -0800
commit43b2269ea710c02278f784f28521a99dc9d3915b (patch)
tree34dde12638d07f63864c84fabc8654253532b6ae /frontend/src/components/settings/pages/developer/index.tsx
parent0c4e27cd343a81d386c11bc17f93296a2e598a5c (diff)
downloaddecky-loader-43b2269ea710c02278f784f28521a99dc9d3915b.tar.gz
decky-loader-43b2269ea710c02278f784f28521a99dc9d3915b.zip
Fix UI inconsistencies, various improvements (#357)
* Make version gray in plugin list * Settings/store icons together & plugin list fix * Navigation name/icon improvements * Decky settings overhaul and other fixes - Revert the tab icon to a plug - Rename DeckyFlat function to DeckyIcon - Add DialogBody to settings pages to improve scrolling - Add remote debugging settings to the developer settings - Fix React devtools interactions to work more easily - Add spacing to React devtools description - Specify Decky vs. plugin store - Compact version information by update button - Add current version to bottom of settings - Remove unnecessary settings icons - Change CEF debugger icon to Chrome (bug icon too generic, is Chromium) - Make buttons/dropdowns in settings have fixed width - Make download icon act/appear similar to Valve's for Deck * Final UI adjustments * Switch plugin settings icon to plug
Diffstat (limited to 'frontend/src/components/settings/pages/developer/index.tsx')
-rw-r--r--frontend/src/components/settings/pages/developer/index.tsx80
1 files changed, 30 insertions, 50 deletions
diff --git a/frontend/src/components/settings/pages/developer/index.tsx b/frontend/src/components/settings/pages/developer/index.tsx
index 447c9606..d9859c46 100644
--- a/frontend/src/components/settings/pages/developer/index.tsx
+++ b/frontend/src/components/settings/pages/developer/index.tsx
@@ -1,9 +1,10 @@
-import { Field, Focusable, TextField, Toggle } from 'decky-frontend-lib';
+import { DialogBody, Field, TextField, Toggle } from 'decky-frontend-lib';
import { useRef } from 'react';
import { FaReact, FaSteamSymbol } from 'react-icons/fa';
import { setShouldConnectToReactDevTools, setShowValveInternal } from '../../../../developer';
import { useSetting } from '../../../../utils/hooks/useSetting';
+import RemoteDebuggingSettings from '../general/RemoteDebugging';
export default function DeveloperSettings() {
const [enableValveInternal, setEnableValveInternal] = useSetting<boolean>('developer.valve_internal', false);
@@ -12,7 +13,8 @@ export default function DeveloperSettings() {
const textRef = useRef<HTMLDivElement>(null);
return (
- <>
+ <DialogBody>
+ <RemoteDebuggingSettings />
<Field
label="Enable Valve Internal"
description={
@@ -30,55 +32,33 @@ export default function DeveloperSettings() {
setShowValveInternal(toggleValue);
}}
/>
- </Field>{' '}
- <Focusable
- onTouchEnd={
- reactDevtoolsIP == ''
- ? () => {
- (textRef.current?.childNodes[0] as HTMLInputElement)?.focus();
- }
- : undefined
- }
- onClick={
- reactDevtoolsIP == ''
- ? () => {
- (textRef.current?.childNodes[0] as HTMLInputElement)?.focus();
- }
- : undefined
- }
- onOKButton={
- reactDevtoolsIP == ''
- ? () => {
- (textRef.current?.childNodes[0] as HTMLInputElement)?.focus();
- }
- : undefined
+ </Field>
+ <Field
+ label="Enable React DevTools"
+ description={
+ <>
+ <span style={{ whiteSpace: 'pre-line' }}>
+ Enables connection to a computer running React DevTools. Changing this setting will reload Steam. Set the
+ IP address before enabling.
+ </span>
+ <br />
+ <br />
+ <div ref={textRef}>
+ <TextField label={'IP'} value={reactDevtoolsIP} onChange={(e) => setReactDevtoolsIP(e?.target.value)} />
+ </div>
+ </>
}
+ icon={<FaReact style={{ display: 'block' }} />}
>
- <Field
- label="Enable React DevTools"
- description={
- <>
- <span style={{ whiteSpace: 'pre-line' }}>
- Enables connection to a computer running React DevTools. Changing this setting will reload Steam. Set
- the IP address before enabling.
- </span>
- <div ref={textRef}>
- <TextField label={'IP'} value={reactDevtoolsIP} onChange={(e) => setReactDevtoolsIP(e?.target.value)} />
- </div>
- </>
- }
- icon={<FaReact style={{ display: 'block' }} />}
- >
- <Toggle
- value={reactDevtoolsEnabled}
- disabled={reactDevtoolsIP == ''}
- onChange={(toggleValue) => {
- setReactDevtoolsEnabled(toggleValue);
- setShouldConnectToReactDevTools(toggleValue);
- }}
- />
- </Field>
- </Focusable>
- </>
+ <Toggle
+ value={reactDevtoolsEnabled}
+ disabled={reactDevtoolsIP == ''}
+ onChange={(toggleValue) => {
+ setReactDevtoolsEnabled(toggleValue);
+ setShouldConnectToReactDevTools(toggleValue);
+ }}
+ />
+ </Field>
+ </DialogBody>
);
}