From 462bf81be16fdf1c02e8c82016ef36e98746469b Mon Sep 17 00:00:00 2001 From: MichaelDvP Date: Mon, 4 Apr 2022 11:12:18 +0200 Subject: [PATCH] ntp status and time button --- interface/src/framework/ntp/NTPStatusForm.tsx | 9 +++++++-- interface/src/types/ntp.ts | 5 +++-- lib/framework/NTPSettingsService.cpp | 2 +- lib/framework/NTPStatus.cpp | 2 +- 4 files changed, 12 insertions(+), 6 deletions(-) diff --git a/interface/src/framework/ntp/NTPStatusForm.tsx b/interface/src/framework/ntp/NTPStatusForm.tsx index 22ce282d4..2e0f03957 100644 --- a/interface/src/framework/ntp/NTPStatusForm.tsx +++ b/interface/src/framework/ntp/NTPStatusForm.tsx @@ -32,11 +32,14 @@ import { extractErrorMessage, formatDateTime, formatLocalDateTime, useRest } fro import { AuthenticatedContext } from '../../contexts/authentication'; export const isNtpActive = ({ status }: NTPStatus) => status === NTPSyncStatus.NTP_ACTIVE; +export const isNtpEnabled = ({ status }: NTPStatus) => status !== NTPSyncStatus.NTP_DISABLED; export const ntpStatusHighlight = ({ status }: NTPStatus, theme: Theme) => { switch (status) { - case NTPSyncStatus.NTP_INACTIVE: + case NTPSyncStatus.NTP_DISABLED: return theme.palette.info.main; + case NTPSyncStatus.NTP_INACTIVE: + return theme.palette.error.main; case NTPSyncStatus.NTP_ACTIVE: return theme.palette.success.main; default: @@ -46,6 +49,8 @@ export const ntpStatusHighlight = ({ status }: NTPStatus, theme: Theme) => { export const ntpStatus = ({ status }: NTPStatus) => { switch (status) { + case NTPSyncStatus.NTP_DISABLED: + return 'Disabled'; case NTPSyncStatus.NTP_INACTIVE: return 'Inactive'; case NTPSyncStatus.NTP_ACTIVE: @@ -143,7 +148,7 @@ const NTPStatusForm: FC = () => { - {isNtpActive(data) && ( + {isNtpEnabled(data) && ( <> diff --git a/interface/src/types/ntp.ts b/interface/src/types/ntp.ts index 06c87ef06..e22a9fa59 100644 --- a/interface/src/types/ntp.ts +++ b/interface/src/types/ntp.ts @@ -1,6 +1,7 @@ export enum NTPSyncStatus { - NTP_INACTIVE = 0, - NTP_ACTIVE = 1 + NTP_DISABLED = 0, + NTP_INACTIVE = 1, + NTP_ACTIVE = 2 } export interface NTPStatus { diff --git a/lib/framework/NTPSettingsService.cpp b/lib/framework/NTPSettingsService.cpp index 672f0b496..e4b73bf9f 100644 --- a/lib/framework/NTPSettingsService.cpp +++ b/lib/framework/NTPSettingsService.cpp @@ -59,7 +59,7 @@ void NTPSettingsService::configureNTP() { } void NTPSettingsService::configureTime(AsyncWebServerRequest * request, JsonVariant & json) { - if (!sntp_enabled() && json.is()) { + if (json.is()) { struct tm tm = {0}; String timeLocal = json["local_time"]; char * s = strptime(timeLocal.c_str(), "%Y-%m-%dT%H:%M:%S", &tm); diff --git a/lib/framework/NTPStatus.cpp b/lib/framework/NTPStatus.cpp index 4f026c77f..9433d6253 100644 --- a/lib/framework/NTPStatus.cpp +++ b/lib/framework/NTPStatus.cpp @@ -36,7 +36,7 @@ void NTPStatus::ntpStatus(AsyncWebServerRequest * request) { time_t now = time(nullptr); // only provide enabled/disabled status for now - root["status"] = sntp_enabled() && emsesp::EMSESP::system_.ntp_connected() ? 1 : 0; + root["status"] = sntp_enabled() ? emsesp::EMSESP::system_.ntp_connected() ? 2 : 1 : 0; // the current time in UTC root["utc_time"] = toUTCTimeString(gmtime(&now));