saving connection log in DB, added Dispo stats
This commit is contained in:
@@ -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,
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user