summaryrefslogtreecommitdiff
path: root/frontend/src/components/settings/pages/general/RemoteDebugging.tsx
blob: 1310263ffb047f771d1efcc9fc42019c1695bffd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
import { Field, ToggleField } from 'decky-frontend-lib';
import { useEffect, useState } from 'react';
import { FaBug } from 'react-icons/fa';

export default function RemoteDebuggingSettings() {
  const [allowRemoteDebugging, setAllowRemoteDebugging] = useState<boolean>(false);
  useEffect(() => {
    (async () => {
      const res = (await window.DeckyPluginLoader.callServerMethod('remote_debugging_allowed')) as { result: boolean };
      setAllowRemoteDebugging(res.result);
    })();
  }, []);

  return (
    <Field
      label="Allow Remote CEF Debugging"
      description={
        <span style={{ whiteSpace: 'pre-line' }}>
          Allow unauthenticated access to the CEF debugger to anyone in your network
        </span>
      }
      icon={<FaBug style={{ display: 'block' }} />}
    >
      <ToggleField
        checked={allowRemoteDebugging}
        onChange={(toggleValue) => {
          setAllowRemoteDebugging(toggleValue);
          if (toggleValue) window.DeckyPluginLoader.callServerMethod('allow_remote_debugging');
          else window.DeckyPluginLoader.callServerMethod('disallow_remote_debugging');
        }}
      />
    </Field>
  );
}