remove ntp, dow starts on Sun to match tm_weekday in C's time library

This commit is contained in:
Proddy
2023-02-26 12:58:11 +01:00
parent 05eaa3ce54
commit a165dd51c4
2 changed files with 24 additions and 28 deletions

View File

@@ -74,7 +74,6 @@ const SettingsScheduler: FC = () => {
}; };
const [schedule, setSchedule] = useState<ScheduleItem[]>([emptySchedule]); const [schedule, setSchedule] = useState<ScheduleItem[]>([emptySchedule]);
const [scheduleItem, setScheduleItem] = useState<ScheduleItem>(); const [scheduleItem, setScheduleItem] = useState<ScheduleItem>();
const [ntpAvailable, setNTPavailable] = useState<boolean>(true);
const [dow, setDow] = useState<string[]>([]); const [dow, setDow] = useState<string[]>([]);
const [errorMessage, setErrorMessage] = useState<string>(); const [errorMessage, setErrorMessage] = useState<string>();
const [creating, setCreating] = useState<boolean>(false); const [creating, setCreating] = useState<boolean>(false);
@@ -86,7 +85,7 @@ const SettingsScheduler: FC = () => {
function getDayNames() { function getDayNames() {
const formatter = new Intl.DateTimeFormat(locale, { weekday: 'short', timeZone: 'UTC' }); const formatter = new Intl.DateTimeFormat(locale, { weekday: 'short', timeZone: 'UTC' });
const days = [2, 3, 4, 5, 6, 7, 1].map((day) => { const days = [1, 2, 3, 4, 5, 6, 7].map((day) => {
const dd = day < 10 ? `0${day}` : day; const dd = day < 10 ? `0${day}` : day;
return new Date(`2017-01-${dd}T00:00:00+00:00`); return new Date(`2017-01-${dd}T00:00:00+00:00`);
}); });
@@ -154,7 +153,6 @@ const SettingsScheduler: FC = () => {
const fetchSchedule = useCallback(async () => { const fetchSchedule = useCallback(async () => {
try { try {
const response = await EMSESP.readSchedule(); const response = await EMSESP.readSchedule();
setNTPavailable(response.data.ntp_available);
setOriginalSchedule(response.data.schedule); setOriginalSchedule(response.data.schedule);
} catch (error) { } catch (error) {
setErrorMessage(extractErrorMessage(error, LL.PROBLEM_LOADING())); setErrorMessage(extractErrorMessage(error, LL.PROBLEM_LOADING()));
@@ -241,7 +239,6 @@ const SettingsScheduler: FC = () => {
if (schedule) { if (schedule) {
try { try {
const response = await EMSESP.writeSchedule({ const response = await EMSESP.writeSchedule({
ntp_available: ntpAvailable,
schedule: schedule schedule: schedule
.filter((si) => !si.deleted) .filter((si) => !si.deleted)
.map((condensed_si) => { .map((condensed_si) => {
@@ -271,26 +268,26 @@ const SettingsScheduler: FC = () => {
function showFlag(si: ScheduleItem, flag: number) { function showFlag(si: ScheduleItem, flag: number) {
let text = ''; let text = '';
if ((flag & ScheduleFlag.SCHEDULE_MON) === ScheduleFlag.SCHEDULE_MON) { if ((flag & ScheduleFlag.SCHEDULE_MON) === ScheduleFlag.SCHEDULE_MON) {
text = dow[0];
}
if ((flag & ScheduleFlag.SCHEDULE_TUE) === ScheduleFlag.SCHEDULE_TUE) {
text = dow[1]; text = dow[1];
} }
if ((flag & ScheduleFlag.SCHEDULE_WED) === ScheduleFlag.SCHEDULE_WED) { if ((flag & ScheduleFlag.SCHEDULE_TUE) === ScheduleFlag.SCHEDULE_TUE) {
text = dow[2]; text = dow[2];
} }
if ((flag & ScheduleFlag.SCHEDULE_THU) === ScheduleFlag.SCHEDULE_THU) { if ((flag & ScheduleFlag.SCHEDULE_WED) === ScheduleFlag.SCHEDULE_WED) {
text = dow[3]; text = dow[3];
} }
if ((flag & ScheduleFlag.SCHEDULE_FRI) === ScheduleFlag.SCHEDULE_FRI) { if ((flag & ScheduleFlag.SCHEDULE_THU) === ScheduleFlag.SCHEDULE_THU) {
text = dow[4]; text = dow[4];
} }
if ((flag & ScheduleFlag.SCHEDULE_SAT) === ScheduleFlag.SCHEDULE_SAT) { if ((flag & ScheduleFlag.SCHEDULE_FRI) === ScheduleFlag.SCHEDULE_FRI) {
text = dow[5]; text = dow[5];
} }
if ((flag & ScheduleFlag.SCHEDULE_SUN) === ScheduleFlag.SCHEDULE_SUN) { if ((flag & ScheduleFlag.SCHEDULE_SAT) === ScheduleFlag.SCHEDULE_SAT) {
text = dow[6]; text = dow[6];
} }
if ((flag & ScheduleFlag.SCHEDULE_SUN) === ScheduleFlag.SCHEDULE_SUN) {
text = dow[0];
}
if ((flag & ScheduleFlag.SCHEDULE_TIMER) === ScheduleFlag.SCHEDULE_TIMER) { if ((flag & ScheduleFlag.SCHEDULE_TIMER) === ScheduleFlag.SCHEDULE_TIMER) {
text = LL.TIMER(); text = LL.TIMER();
} }
@@ -391,13 +388,13 @@ const SettingsScheduler: FC = () => {
setFlags(['']); // forces refresh setFlags(['']); // forces refresh
}} }}
> >
<ToggleButton value="1">{showFlag(si, ScheduleFlag.SCHEDULE_MON)}</ToggleButton> <ToggleButton value="2">{showFlag(si, ScheduleFlag.SCHEDULE_MON)}</ToggleButton>
<ToggleButton value="2">{showFlag(si, ScheduleFlag.SCHEDULE_TUE)}</ToggleButton> <ToggleButton value="4">{showFlag(si, ScheduleFlag.SCHEDULE_TUE)}</ToggleButton>
<ToggleButton value="4">{showFlag(si, ScheduleFlag.SCHEDULE_WED)}</ToggleButton> <ToggleButton value="8">{showFlag(si, ScheduleFlag.SCHEDULE_WED)}</ToggleButton>
<ToggleButton value="8">{showFlag(si, ScheduleFlag.SCHEDULE_THU)}</ToggleButton> <ToggleButton value="16">{showFlag(si, ScheduleFlag.SCHEDULE_THU)}</ToggleButton>
<ToggleButton value="16">{showFlag(si, ScheduleFlag.SCHEDULE_FRI)}</ToggleButton> <ToggleButton value="32">{showFlag(si, ScheduleFlag.SCHEDULE_FRI)}</ToggleButton>
<ToggleButton value="32">{showFlag(si, ScheduleFlag.SCHEDULE_SAT)}</ToggleButton> <ToggleButton value="64">{showFlag(si, ScheduleFlag.SCHEDULE_SAT)}</ToggleButton>
<ToggleButton value="64">{showFlag(si, ScheduleFlag.SCHEDULE_SUN)}</ToggleButton> <ToggleButton value="1">{showFlag(si, ScheduleFlag.SCHEDULE_SUN)}</ToggleButton>
<ToggleButton value="128">{showFlag(si, ScheduleFlag.SCHEDULE_TIMER)}</ToggleButton> <ToggleButton value="128">{showFlag(si, ScheduleFlag.SCHEDULE_TIMER)}</ToggleButton>
</ToggleButtonGroup> </ToggleButtonGroup>
</Cell> </Cell>
@@ -567,7 +564,7 @@ const SettingsScheduler: FC = () => {
<Box mb={2} color="warning.main"> <Box mb={2} color="warning.main">
<Typography variant="body2">{LL.SCHEDULER_HELP_1()}</Typography> <Typography variant="body2">{LL.SCHEDULER_HELP_1()}</Typography>
</Box> </Box>
{!ntpAvailable && <MessageBox level="warning" message={LL.SCHEDULER_HELP_2()} mt={1} />} <MessageBox level="info" message={LL.SCHEDULER_HELP_2()} mb={2} mt={1} />
{renderSchedule()} {renderSchedule()}
{renderEditSchedule()} {renderEditSchedule()}
<Box display="flex" flexWrap="wrap"> <Box display="flex" flexWrap="wrap">

View File

@@ -323,17 +323,16 @@ export interface ScheduleItem {
} }
export interface Schedule { export interface Schedule {
ntp_available: boolean;
schedule: ScheduleItem[]; schedule: ScheduleItem[];
} }
export enum ScheduleFlag { export enum ScheduleFlag {
SCHEDULE_MON = 1, SCHEDULE_MON = 2,
SCHEDULE_TUE = 2, SCHEDULE_TUE = 4,
SCHEDULE_WED = 4, SCHEDULE_WED = 8,
SCHEDULE_THU = 8, SCHEDULE_THU = 16,
SCHEDULE_FRI = 16, SCHEDULE_FRI = 32,
SCHEDULE_SAT = 32, SCHEDULE_SAT = 64,
SCHEDULE_SUN = 64, SCHEDULE_SUN = 1,
SCHEDULE_TIMER = 128 SCHEDULE_TIMER = 128
} }