saving connection log in DB, added Dispo stats

This commit is contained in:
PxlLoewe
2025-05-03 11:00:15 -07:00
parent 98bbb04095
commit 1d5aa24ebd
14 changed files with 313 additions and 207 deletions

View File

@@ -2,7 +2,8 @@ import { create } from "zustand";
import { socket } from "../dispatch/socket";
interface ConnectionStore {
isConnected: boolean;
status: "connected" | "disconnected" | "connecting" | "error";
message: string;
selectedZone: string;
connect: (
uid: string,
@@ -13,10 +14,12 @@ interface ConnectionStore {
}
export const useDispatchConnectionStore = create<ConnectionStore>((set) => ({
isConnected: false,
status: "disconnected",
message: "",
selectedZone: "LST_01",
connect: async (uid, selectedZone, logoffTime) =>
new Promise((resolve) => {
set({ status: "connecting", message: "" });
socket.auth = { uid };
set({ selectedZone });
socket.connect();
@@ -34,8 +37,24 @@ export const useDispatchConnectionStore = create<ConnectionStore>((set) => ({
}));
socket.on("connect", () => {
useDispatchConnectionStore.setState({ isConnected: true });
useDispatchConnectionStore.setState({ status: "connected", message: "" });
});
socket.on("connect_error", (err) => {
useDispatchConnectionStore.setState({
status: "error",
message: err.message,
});
});
socket.on("disconnect", () => {
useDispatchConnectionStore.setState({ isConnected: false });
useDispatchConnectionStore.setState({ status: "disconnected", message: "" });
});
socket.on("force-disconnect", (reason: string) => {
console.log("force-disconnect", reason);
useDispatchConnectionStore.setState({
status: "disconnected",
message: reason,
});
});