import { useState } from "react"; import { RqbitWebUI } from "rqbit-webui/src/rqbit-web"; import { CurrentDesktopState, RqbitDesktopConfig } from "./configuration"; import { ConfigModal } from "./configure"; import { IconButton } from "rqbit-webui/src/components/buttons/IconButton"; import { BsSliders2 } from "react-icons/bs"; import { APIContext } from "rqbit-webui/src/context"; import { makeAPI } from "./api"; export const RqbitDesktop: React.FC<{ version: string; defaultConfig: RqbitDesktopConfig; currentState: CurrentDesktopState; }> = ({ version, defaultConfig, currentState }) => { let [configured, setConfigured] = useState(currentState.configured); let [config, setConfig] = useState( currentState.config ?? defaultConfig, ); let [configurationOpened, setConfigurationOpened] = useState(false); const configButton = ( { setConfigurationOpened(true); }} > ); return ( {configured && ( )} { setConfigured(false); }} handleCancel={() => { setConfigurationOpened(false); }} handleConfigured={(config) => { setConfig(config); setConfigurationOpened(false); setConfigured(true); }} initialConfig={config} defaultConfig={defaultConfig} /> ); };