Farmbot-Web-App/frontend/devices/components/fbos_settings/power_and_reset.tsx

64 lines
2.4 KiB
TypeScript
Raw Normal View History

import * as React from "react";
import { Header } from "../hardware_settings/header";
2018-03-07 22:08:00 -07:00
import { Collapse, Popover, Position } from "@blueprintjs/core";
2020-02-28 09:34:28 -07:00
import { FactoryResetRows } from "./factory_reset_row";
2018-01-27 02:29:13 -07:00
import { PowerAndResetProps } from "./interfaces";
2018-03-07 22:08:00 -07:00
import { ChangeOwnershipForm } from "./change_ownership_form";
2018-09-24 13:34:38 -06:00
import { FbosButtonRow } from "./fbos_button_row";
2020-02-18 12:21:09 -07:00
import { Content, DeviceSetting } from "../../../constants";
2018-09-24 13:34:38 -06:00
import { reboot, powerOff, restartFirmware } from "../../actions";
2019-04-02 13:59:37 -06:00
import { t } from "../../../i18next_wrapper";
2020-02-18 12:21:09 -07:00
import { Highlight } from "../maybe_highlight";
2020-02-28 09:50:14 -07:00
import { DevSettings } from "../../../account/dev/dev_support";
export function PowerAndReset(props: PowerAndResetProps) {
2020-02-15 11:29:09 -07:00
const { dispatch, sourceFbosConfig, botOnline } = props;
2018-01-27 02:29:13 -07:00
const { power_and_reset } = props.controlPanelState;
2020-02-18 12:21:09 -07:00
return <Highlight className={"section"}
settingName={DeviceSetting.powerAndReset}>
2020-02-15 11:29:09 -07:00
<Header
expanded={power_and_reset}
2020-02-18 12:21:09 -07:00
title={DeviceSetting.powerAndReset}
panel={"power_and_reset"}
2020-02-15 11:29:09 -07:00
dispatch={dispatch} />
<Collapse isOpen={!!power_and_reset}>
2018-09-24 13:34:38 -06:00
<FbosButtonRow
botOnline={botOnline}
2020-02-18 12:21:09 -07:00
label={DeviceSetting.restartFarmbot}
2018-09-24 13:34:38 -06:00
description={Content.RESTART_FARMBOT}
buttonText={t("RESTART")}
color={"yellow"}
action={reboot} />
<FbosButtonRow
botOnline={botOnline}
2020-02-18 12:21:09 -07:00
label={DeviceSetting.shutdownFarmbot}
2018-09-24 13:34:38 -06:00
description={Content.SHUTDOWN_FARMBOT}
buttonText={t("SHUTDOWN")}
color={"red"}
action={powerOff} />
2020-02-28 09:50:14 -07:00
{!DevSettings.futureFeaturesEnabled() &&
<FbosButtonRow
botOnline={botOnline}
label={DeviceSetting.restartFirmware}
description={Content.RESTART_FIRMWARE}
buttonText={t("RESTART")}
color={"yellow"}
action={restartFirmware} />}
2020-02-28 09:34:28 -07:00
<FactoryResetRows
2018-01-27 02:29:13 -07:00
dispatch={dispatch}
sourceFbosConfig={sourceFbosConfig}
botOnline={botOnline} />
2019-11-01 15:25:39 -06:00
{botOnline &&
2020-02-18 12:21:09 -07:00
<Highlight settingName={DeviceSetting.changeOwnership}>
<Popover position={Position.BOTTOM_LEFT}>
<p className={"release-notes-button"}>
{t(DeviceSetting.changeOwnership)}&nbsp;
<i className="fa fa-caret-down" />
</p>
<ChangeOwnershipForm />
</Popover>
</Highlight>}
</Collapse>
2020-02-18 12:21:09 -07:00
</Highlight>;
}