import { Alert, CircularProgress, Typography } from "@mui/material"; import { AsyncWidget } from "../AsyncWidget"; import React from "react"; import { CheckboxInput } from "./CheckboxInput"; import { useAlert } from "../../hooks/providers/AlertDialogProvider"; import { useSnackbar } from "../../hooks/providers/SnackbarProvider"; export function ResAutostartInput(p: { editable: boolean; checkAutotostart: () => Promise; setAutotostart: (enable: boolean) => Promise; ressourceName: string; }): React.ReactElement { const alert = useAlert(); const snackbar = useSnackbar(); const [enabled, setEnabled] = React.useState(); const load = async () => { setEnabled(await p.checkAutotostart()); }; const update = async (enabled: boolean) => { try { await p.setAutotostart(enabled); snackbar(`Autostart status of ${p.ressourceName} successfully updated!`); setEnabled(enabled); } catch (e) { console.error(e); alert(`Failed to update autostart status of ${p.ressourceName}!`); } }; return ( ( Checking for autostart )} buildError={(e: string) => {e}} build={() => ( )} /> ); } function ResAutostartInputInner(p: { editable: boolean; enabled: boolean; setEnabled: (b: boolean) => void; resName: string; }): React.ReactElement { return (
); }