getNextHourTime zu shared library hinzugefügt

This commit is contained in:
PxlLoewe
2025-06-27 22:54:31 -07:00
parent dc92174798
commit ec22cdb987
14 changed files with 89 additions and 62 deletions

View File

@@ -6,6 +6,7 @@ import { toast } from "react-hot-toast";
import { useMutation } from "@tanstack/react-query";
import { Prisma } from "@repo/db";
import { changeDispatcherAPI } from "_querys/dispatcher";
import { getNextDateWithTime } from "@repo/shared-components";
export const ConnectionBtn = () => {
const modalRef = useRef<HTMLDialogElement>(null);
@@ -24,17 +25,19 @@ export const ConnectionBtn = () => {
if (!uid) return null;
// useEffect für die Logoff-Zeit
const [logoffHours, logoffMinutes] = form.logoffTime?.split(":").map(Number) || [];
useEffect(() => {
if (!logoffHours || !logoffMinutes) return;
if (logoffDebounce) clearTimeout(logoffDebounce);
const timeout = setTimeout(async () => {
if (!form.logoffTime || !connection.connectedDispatcher) return;
if (!logoffHours || !logoffMinutes || !connection.connectedDispatcher) return;
await changeDispatcherMutation.mutateAsync({
id: connection.connectedDispatcher?.id,
data: {
esimatedLogoutTime: new Date(
new Date().toDateString() + " " + form.logoffTime,
).toISOString(),
esimatedLogoutTime:
logoffHours && logoffMinutes ? getNextDateWithTime(logoffHours, logoffMinutes) : null,
},
});
toast.success("Änderung gespeichert!");

View File

@@ -8,6 +8,7 @@ import toast from "react-hot-toast";
import { editConnectedAircraftAPI } from "_querys/aircrafts";
import { Prisma } from "@repo/db";
import { debug } from "console";
import { getNextDateWithTime } from "@repo/shared-components";
export const ConnectionBtn = () => {
const modalRef = useRef<HTMLDialogElement>(null);
@@ -53,10 +54,10 @@ export const ConnectionBtn = () => {
};
}, [connection.disconnect]);
const logoffTime = form.logoffTime;
const [logoffHours, logoffMinutes] = form.logoffTime?.split(":").map(Number) || [];
useEffect(() => {
if (!logoffTime || !connection.connectedAircraft) return;
if (!logoffHours || !logoffMinutes || !connection.connectedAircraft) return;
if (logoffDebounce) clearTimeout(logoffDebounce);
@@ -65,9 +66,8 @@ export const ConnectionBtn = () => {
await aircraftMutation.mutateAsync({
sessionId: connection.connectedAircraft.id,
change: {
esimatedLogoutTime: logoffTime
? new Date(new Date().toDateString() + " " + logoffTime).toISOString()
: null,
esimatedLogoutTime:
logoffHours && logoffMinutes ? getNextDateWithTime(logoffHours, logoffMinutes) : null,
},
});
modalRef.current?.close();
@@ -80,7 +80,7 @@ export const ConnectionBtn = () => {
return () => {
if (logoffDebounce) clearTimeout(logoffDebounce);
};
}, [logoffTime, connection.connectedAircraft]);
}, [logoffHours, logoffMinutes, connection.connectedAircraft]);
const session = useSession();
const uid = session.data?.user?.id;