adding default offset settings

This commit is contained in:
2024-10-01 13:59:16 -06:00
parent 3130b75392
commit 44d1823028
4 changed files with 82 additions and 0 deletions

View File

@@ -0,0 +1,44 @@
"use client";
import TextInput from "@/components/form/TextInput";
import {
useLocalCourseSettingsQuery,
useUpdateLocalCourseSettingsMutation,
} from "@/hooks/localCourse/localCoursesHooks";
import { useEffect, useState } from "react";
export default function DefaultLockOffset() {
const { data: settings } = useLocalCourseSettingsQuery();
const updateSettings = useUpdateLocalCourseSettingsMutation();
const [hoursOffset, setHoursOffset] = useState(
settings.defaultLockHoursOffset?.toString() ?? "0"
);
useEffect(() => {
const id = setTimeout(() => {
try {
const hoursNumber = parseInt(hoursOffset);
if (hoursNumber && hoursNumber !== settings.defaultLockHoursOffset) {
updateSettings.mutate({
...settings,
defaultLockHoursOffset: hoursNumber,
});
}
} catch {}
}, 500);
return () => clearTimeout(id);
}, [hoursOffset, settings, settings.defaultLockHoursOffset, updateSettings]);
return (
<div>
<div className="text-center">Default Assignment Due Time</div>
<hr className="m-1 p-0" />
<TextInput
value={hoursOffset}
setValue={(n) => setHoursOffset(n)}
label={"Hours Offset"}
/>
</div>
);
}