import * as React from "react"; import { Popover, Position } from "@blueprintjs/core"; import { FIRMWARE_CHOICES_DDI } from "../firmware_hardware_support"; import { flashFirmware } from "../../actions"; import { t } from "../../../i18next_wrapper"; import { BotState } from "../../interfaces"; import { FirmwareAlerts } from "../../../messages/alerts"; import { TimeSettings } from "../../../interfaces"; import { trim } from "../../../util"; import { Alert } from "farmbot"; import { isFwHardwareValue, boardType } from "../firmware_hardware_support"; export interface FirmwareHardwareStatusIconProps { firmwareHardware: string | undefined; status: boolean; } export const FirmwareHardwareStatusIcon = (props: FirmwareHardwareStatusIconProps) => { const okNoStatus = props.status ? "ok" : "no"; const status = props.firmwareHardware ? okNoStatus : "unknown"; const okNoStatusText = props.status ? t("ok") : t("error"); const statusText = props.firmwareHardware ? okNoStatusText : t("unknown"); const okNoIcon = props.status ? "fa-check-circle" : "fa-times-circle"; const icon = props.firmwareHardware ? okNoIcon : "fa-question-circle"; return ; }; export const lookup = (value: string | undefined) => value && Object.keys(FIRMWARE_CHOICES_DDI).includes(value) ? FIRMWARE_CHOICES_DDI[value].label : undefined; export interface FirmwareHardwareStatusDetailsProps { botOnline: boolean; alerts: Alert[]; apiFirmwareValue: string | undefined; botFirmwareValue: string | undefined; mcuFirmwareValue: string | undefined; timeSettings: TimeSettings; dispatch: Function; } export interface FlashFirmwareBtnProps { apiFirmwareValue: string | undefined; botOnline: boolean; } export const FlashFirmwareBtn = (props: FlashFirmwareBtnProps) => { const { apiFirmwareValue } = props; return ; }; export interface FirmwareActionsProps { apiFirmwareValue: string | undefined; botOnline: boolean; } export const FirmwareActions = (props: FirmwareActionsProps) => { const { apiFirmwareValue } = props; return
{trim(`${t("Flash the")} ${lookup(apiFirmwareValue) || ""} ${t("firmware to your device")}:`)}
{lookup(props.apiFirmwareValue) || t("unknown")}
{lookup(props.botFirmwareValue) || t("unknown")}
{lookup(props.mcuFirmwareValue) || t("unknown")}