- updated version to 1.0.23, enhance audio file handling, and improve UTC synchronization checks
This commit is contained in:
@@ -84,15 +84,23 @@ const SoundUpload = () => {
|
||||
if (currentUrlRef.current) {
|
||||
URL.revokeObjectURL(currentUrlRef.current);
|
||||
}
|
||||
if (e.target?.files && e.target?.files[0]?.type === "audio/mpeg") {
|
||||
currentUrlRef.current = URL.createObjectURL(e.target.files[0]);
|
||||
const files = e.target?.files;
|
||||
if (
|
||||
files &&
|
||||
(files[0]?.type === "audio/mp3" ||
|
||||
files[0]?.type === "audio/mpeg" ||
|
||||
files[0]?.name.endsWith(".wav"))
|
||||
) {
|
||||
const file = e.target?.files;
|
||||
if(file === null) return;
|
||||
currentUrlRef.current = URL.createObjectURL(file[0]);
|
||||
const url = currentUrlRef.current;
|
||||
setFieldValue("soundUrl", url);
|
||||
setFieldValue("name", e.target.files[0].name);
|
||||
setFieldValue("soundFileName", e.target.files[0].name);
|
||||
setFieldValue("soundFile", e.target.files[0]);
|
||||
setFieldValue("name", file[0].name);
|
||||
setFieldValue("soundFileName", file[0].name);
|
||||
setFieldValue("soundFile", file[0]);
|
||||
setFieldValue("uploadedAt", Date.now());
|
||||
if (e?.target?.files[0]?.size >= 1 * 1024 * 1024) {
|
||||
if (file[0]?.size >= 1 * 1024 * 1024) {
|
||||
setFieldError("soundFile", "larger than 1mb");
|
||||
toast.error("File larger than 1MB");
|
||||
return;
|
||||
|
||||
@@ -5,16 +5,29 @@ import { timezones } from "./timezones";
|
||||
import SystemFileUpload from "./SystemFileUpload";
|
||||
import type { SystemValues, SystemValuesErrors } from "../../../types/types";
|
||||
import { useDNSSettings, useSystemConfig } from "../../../hooks/useSystemConfig";
|
||||
import { ValidateIPaddress } from "../../../utils/utils";
|
||||
import { ValidateIPaddress, isUtcOutOfSync } from "../../../utils/utils";
|
||||
import { toast } from "sonner";
|
||||
// import { useSystemStatus } from "../../../hooks/useSystemStatus";
|
||||
import { useSystemStatus } from "../../../hooks/useSystemStatus";
|
||||
|
||||
const SystemConfigFields = () => {
|
||||
const { saveSystemSettings, systemSettingsData, saveSystemSettingsLoading } = useSystemConfig();
|
||||
// const { systemStatusQuery } = useSystemStatus();
|
||||
const { systemStatusQuery } = useSystemStatus();
|
||||
const { hardRebootMutation } = useReboots();
|
||||
const { dnsQuery, dnsMutation } = useDNSSettings();
|
||||
|
||||
if (systemStatusQuery?.isLoading || !systemStatusQuery?.data) {
|
||||
return <div>Loading...</div>;
|
||||
}
|
||||
const utcTime = systemStatusQuery?.data?.SystemStatus?.utctime;
|
||||
const localDate = systemStatusQuery?.data?.SystemStatus?.localdate;
|
||||
const localTime = systemStatusQuery?.data?.SystemStatus?.localtime;
|
||||
|
||||
const utcOutOfSync = isUtcOutOfSync({
|
||||
utctime: utcTime,
|
||||
localdate: localDate,
|
||||
localtime: localTime,
|
||||
});
|
||||
|
||||
const sntpInterval = systemSettingsData?.sntpInterval;
|
||||
const dnsPrimary = dnsQuery?.data?.propNameServerPrimary?.value;
|
||||
const dnsSecondary = dnsQuery?.data?.propNameServerSecondary?.value;
|
||||
@@ -71,6 +84,13 @@ const SystemConfigFields = () => {
|
||||
>
|
||||
{({ values, errors, touched, isSubmitting }) => (
|
||||
<Form className="flex flex-col space-y-5 px-2">
|
||||
<div>
|
||||
{utcOutOfSync?.outOfSync ? (
|
||||
<span className="text-red-800 bg-red-300 border border-red-800 rounded-lg p-2">UTC is out of sync</span>
|
||||
) : (
|
||||
<span className="text-green-300 bg-green-800 border border-green-600 rounded-lg p-2">UTC is in sync</span>
|
||||
)}
|
||||
</div>
|
||||
<FormGroup>
|
||||
<label htmlFor="deviceName" className="font-medium whitespace-nowrap md:w-1/2 text-left">
|
||||
Device Name
|
||||
|
||||
Reference in New Issue
Block a user