Name des Chatpartners wird nun mit rolle angezeigt
This commit is contained in:
@@ -2,6 +2,8 @@ import { create } from "zustand";
|
||||
import { ChatMessage } from "@repo/db";
|
||||
import { dispatchSocket } from "(app)/dispatch/socket";
|
||||
import { pilotSocket } from "(app)/pilot/socket";
|
||||
import { useDispatchConnectionStore } from "_store/dispatch/connectionStore";
|
||||
import { usePilotConnectionStore } from "_store/pilot/connectionStore";
|
||||
|
||||
interface ChatStore {
|
||||
situationTabOpen: boolean;
|
||||
@@ -16,7 +18,12 @@ interface ChatStore {
|
||||
setOwnId: (id: string) => void;
|
||||
chats: Record<string, { name: string; notification: boolean; messages: ChatMessage[] }>;
|
||||
setChatNotification: (userId: string, notification: boolean) => void;
|
||||
sendMessage: (userId: string, message: string) => Promise<void>;
|
||||
sendMessage: (
|
||||
userId: string,
|
||||
message: string,
|
||||
senderName?: string,
|
||||
receiverName?: string,
|
||||
) => Promise<void>;
|
||||
addChat: (userId: string, name: string) => void;
|
||||
addMessage: (userId: string, message: ChatMessage) => void;
|
||||
removeChat: (userId: string) => void;
|
||||
@@ -49,12 +56,13 @@ export const useLeftMenuStore = create<ChatStore>((set, get) => ({
|
||||
},
|
||||
setOwnId: (id: string) => set({ ownId: id }),
|
||||
chats: {},
|
||||
sendMessage: (userId: string, message: string) => {
|
||||
sendMessage: (userId, message) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
if (dispatchSocket.connected) {
|
||||
const zone = useDispatchConnectionStore.getState().selectedZone;
|
||||
dispatchSocket.emit(
|
||||
"send-message",
|
||||
{ userId, message },
|
||||
{ userId, message, role: zone },
|
||||
({ error }: { error?: string }) => {
|
||||
if (error) {
|
||||
reject(error);
|
||||
@@ -64,13 +72,19 @@ export const useLeftMenuStore = create<ChatStore>((set, get) => ({
|
||||
},
|
||||
);
|
||||
} else if (pilotSocket.connected) {
|
||||
pilotSocket.emit("send-message", { userId, message }, ({ error }: { error?: string }) => {
|
||||
if (error) {
|
||||
reject(error);
|
||||
} else {
|
||||
resolve();
|
||||
}
|
||||
});
|
||||
const bosCallsign = usePilotConnectionStore.getState().selectedStation?.bosCallsignShort;
|
||||
|
||||
pilotSocket.emit(
|
||||
"send-message",
|
||||
{ userId, message, role: bosCallsign },
|
||||
({ error }: { error?: string }) => {
|
||||
if (error) {
|
||||
reject(error);
|
||||
} else {
|
||||
resolve();
|
||||
}
|
||||
},
|
||||
);
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user