More timezone fixes

This commit is contained in:
Nicolas Mowen 2024-11-04 06:40:22 -07:00
parent 972ced974d
commit a6fd56ca74
2 changed files with 18 additions and 14 deletions

View File

@ -1,5 +1,6 @@
import { useTheme } from "@/context/theme-provider"; import { useTheme } from "@/context/theme-provider";
import { FrigateConfig } from "@/types/frigateConfig"; import { FrigateConfig } from "@/types/frigateConfig";
import { formatUnixTimestampToDateTime } from "@/utils/dateUtil";
import { useCallback, useEffect, useMemo } from "react"; import { useCallback, useEffect, useMemo } from "react";
import Chart from "react-apexcharts"; import Chart from "react-apexcharts";
import { isMobileOnly } from "react-device-detect"; import { isMobileOnly } from "react-device-detect";
@ -42,12 +43,14 @@ export function CameraLineGraph({
const formatTime = useCallback( const formatTime = useCallback(
(val: unknown) => { (val: unknown) => {
const date = new Date(updateTimes[Math.round(val as number)] * 1000); return formatUnixTimestampToDateTime(
return date.toLocaleTimeString([], { updateTimes[Math.round(val as number)],
hour12: config?.ui.time_format != "24hour", {
hour: "2-digit", timezone: config?.ui.timezone,
minute: "2-digit", strftime_fmt:
}); config?.ui.time_format == "24hour" ? "%H:%M" : "%I:%M %p",
},
);
}, },
[config, updateTimes], [config, updateTimes],
); );

View File

@ -1,6 +1,7 @@
import { useTheme } from "@/context/theme-provider"; import { useTheme } from "@/context/theme-provider";
import { FrigateConfig } from "@/types/frigateConfig"; import { FrigateConfig } from "@/types/frigateConfig";
import { Threshold } from "@/types/graph"; import { Threshold } from "@/types/graph";
import { formatUnixTimestampToDateTime } from "@/utils/dateUtil";
import { useCallback, useEffect, useMemo } from "react"; import { useCallback, useEffect, useMemo } from "react";
import Chart from "react-apexcharts"; import Chart from "react-apexcharts";
import { isMobileOnly } from "react-device-detect"; import { isMobileOnly } from "react-device-detect";
@ -50,17 +51,17 @@ export function ThresholdBarGraph({
let timeOffset = 0; let timeOffset = 0;
if (dateIndex < 0) { if (dateIndex < 0) {
timeOffset = 5000 * Math.abs(dateIndex); timeOffset = 5 * Math.abs(dateIndex);
} }
const date = new Date( return formatUnixTimestampToDateTime(
updateTimes[Math.max(1, dateIndex) - 1] * 1000 - timeOffset, updateTimes[Math.max(1, dateIndex) - 1] - timeOffset,
{
timezone: config?.ui.timezone,
strftime_fmt:
config?.ui.time_format == "24hour" ? "%H:%M" : "%I:%M %p",
},
); );
return date.toLocaleTimeString([], {
hour12: config?.ui.time_format != "24hour",
hour: "2-digit",
minute: "2-digit",
});
}, },
[config, updateTimes], [config, updateTimes],
); );