import { DialogBody, DialogButton, DialogControlsSection, DialogControlsSectionHeader, Field, TextField, Toggle, } from 'decky-frontend-lib'; import { useRef, useState } from 'react'; import { FaFileArchive, FaLink, FaReact, FaSteamSymbol } from 'react-icons/fa'; import { setShouldConnectToReactDevTools, setShowValveInternal } from '../../../../developer'; import { installFromURL } from '../../../../store'; import { useSetting } from '../../../../utils/hooks/useSetting'; import RemoteDebuggingSettings from '../general/RemoteDebugging'; const installFromZip = () => { window.DeckyPluginLoader.openFilePicker('/home/deck', true).then((val) => { const url = `file://${val.path}`; console.log(`Installing plugin locally from ${url}`); if (url.endsWith('.zip')) { installFromURL(url); } else { window.DeckyPluginLoader.toaster.toast({ title: 'Decky', body: `Installation failed! Only ZIP files are supported.`, onClick: installFromZip, }); } }); }; export default function DeveloperSettings() { const [enableValveInternal, setEnableValveInternal] = useSetting('developer.valve_internal', false); const [reactDevtoolsEnabled, setReactDevtoolsEnabled] = useSetting('developer.rdt.enabled', false); const [reactDevtoolsIP, setReactDevtoolsIP] = useSetting('developer.rdt.ip', ''); const [pluginURL, setPluginURL] = useState(''); const textRef = useRef(null); return ( Third-Party Plugins }> Browse setPluginURL(e?.target.value)} />} icon={} > installFromURL(pluginURL)}> Install Other Enables the Valve internal developer menu.{' '} Do not touch anything in this menu unless you know what it does. } icon={} > { setEnableValveInternal(toggleValue); setShowValveInternal(toggleValue); }} /> Enables connection to a computer running React DevTools. Changing this setting will reload Steam. Set the IP address before enabling.

setReactDevtoolsIP(e?.target.value)} />
} icon={} > { setReactDevtoolsEnabled(toggleValue); setShouldConnectToReactDevTools(toggleValue); }} />
); }