fix self messages

This commit is contained in:
nflnkr 2023-03-21 17:43:08 +03:00
parent 9323784114
commit b360bf9757

@ -8,15 +8,19 @@ import { useParams } from "react-router-dom";
import { GetMessagesRequest, TicketMessage } from "@root/model/ticket";
import { getTicketMessages, sendTicketMessage, subscribeToTicketMessages } from "@root/api/tickets";
import { enqueueSnackbar } from "notistack";
import { useTicketStore } from "@root/stores/tickets";
export default function Chat() {
const theme = useTheme();
const tickets = useTicketStore(state => state.tickets);
const messages = useMessageStore(state => state.messages);
const [messageField, setMessageField] = useState<string>("");
const ticketId = useParams().ticketId;
const chatBoxRef = useRef<HTMLDivElement>(null);
const ticket = tickets.find(ticket => ticket.id === ticketId);
useEffect(function scrollOnNewMessage() {
scrollToBottom();
}, [messages]);
@ -32,6 +36,7 @@ export default function Chat() {
};
const controller = new AbortController();
setMessages([]);
getTicketMessages({
body: getTicketsBody,
signal: controller.signal,
@ -58,7 +63,7 @@ export default function Chat() {
onMessage(event) {
console.log("SSE: message received:", event.data);
if (event.data === "no tickets 4 user") return;
try {
const newMessage = JSON.parse(event.data) as TicketMessage;
addMessages([newMessage]);
@ -67,7 +72,7 @@ export default function Chat() {
}
},
onError(event) {
console.log("SSE Error:", event);
console.log("SSE Error:", event);
},
});
@ -136,8 +141,8 @@ export default function Chat() {
colorScheme: "dark",
}}
>
{messages.map((message, index) =>
<Message key={message.id} message={message} isSelf={Boolean(index % 2)} />
{ticket && messages.map((message, index) =>
<Message key={message.id} message={message} isSelf={ticket.user !== message.user_id} />
)}
</Box>
<TextField