import { SettingsPageHeader } from "../components/SettingsPageheader"; import { SettingsItem } from "./devices.$id.settings"; import { useState } from "react"; import { useEffect } from "react"; import { useJsonRpc } from "@/hooks/useJsonRpc"; import { Button } from "../components/Button"; import notifications from "../notifications"; import Checkbox from "../components/Checkbox"; import { useDeviceUiNavigation } from "../hooks/useAppNavigation"; import { useDeviceStore } from "../hooks/stores"; export default function SettingsGeneralRoute() { const [send] = useJsonRpc(); const { navigateTo } = useDeviceUiNavigation(); const [autoUpdate, setAutoUpdate] = useState(true); const currentVersions = useDeviceStore(state => { const { appVersion, systemVersion } = state; if (!appVersion || !systemVersion) return null; return { appVersion, systemVersion }; }); useEffect(() => { send("getAutoUpdateState", {}, resp => { if ("error" in resp) return; setAutoUpdate(resp.result as boolean); }); }, [send]); const handleAutoUpdateChange = (enabled: boolean) => { send("setAutoUpdateState", { enabled }, resp => { if ("error" in resp) { notifications.error( `Failed to set auto-update: ${resp.error.data || "Unknown error"}`, ); return; } setAutoUpdate(enabled); }); }; return (
App: {currentVersions.appVersion}
System: {currentVersions.systemVersion} ) : ( <> App: Loading...
System: Loading... ) } />
{ handleAutoUpdateChange(e.target.checked); }} />
); }