import { useEffect, useState } from "react"; import { LuTerminal } from "react-icons/lu"; import { m } from "@localizations/messages.js"; import { JsonRpcResponse, useJsonRpc } from "@hooks/useJsonRpc"; import { useUiStore } from "@hooks/stores"; import { Button } from "@components/Button"; import Card from "@components/Card"; import { SelectMenuBasic } from "@components/SelectMenuBasic"; import { SettingsPageHeader } from "@components/SettingsPageheader"; import notifications from "@/notifications"; interface SerialSettings { baudRate: string; dataBits: string; stopBits: string; parity: string; } export function SerialConsole() { const { send } = useJsonRpc(); const [settings, setSettings] = useState({ baudRate: "9600", dataBits: "8", stopBits: "1", parity: "none", }); useEffect(() => { send("getSerialSettings", {}, (resp: JsonRpcResponse) => { if ("error" in resp) { notifications.error(m.serial_console_get_settings_error({ error: resp.error.data || m.unknown_error() })); return; } setSettings(resp.result as SerialSettings); }); }, [send]); const handleSettingChange = (setting: keyof SerialSettings, value: string) => { const newSettings = { ...settings, [setting]: value }; send("setSerialSettings", { settings: newSettings }, (resp: JsonRpcResponse) => { if ("error" in resp) { notifications.error(m.serial_console_set_settings_error({ settings: setting, error: resp.error.data || m.unknown_error() })); return; } setSettings(newSettings); }); }; const { setTerminalType } = useUiStore(); return (
{/* Open Console Button */}

{/* Settings */}
handleSettingChange("baudRate", e.target.value)} /> handleSettingChange("dataBits", e.target.value)} /> handleSettingChange("stopBits", e.target.value)} /> handleSettingChange("parity", e.target.value)} />
); }