minor changes
This commit is contained in:
parent
7dc6d6ecd4
commit
f9567803b6
@ -63,15 +63,16 @@ export default function Chat({ sx }: Props) {
|
|||||||
onMessage(event) {
|
onMessage(event) {
|
||||||
try {
|
try {
|
||||||
const newMessage = JSON.parse(event.data) as TicketMessage;
|
const newMessage = JSON.parse(event.data) as TicketMessage;
|
||||||
// console.log("SSE: parsed newMessage:", newMessage);
|
console.log("SSE: parsed newMessage:", newMessage);
|
||||||
|
if (!newMessage.id) throw new Error("Bad SSE response");
|
||||||
addOrUpdateUnauthMessages([newMessage]);
|
addOrUpdateUnauthMessages([newMessage]);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
// console.log("SSE: couldn't parse:", event.data);
|
console.log("SSE: couldn't parse:", event.data);
|
||||||
// console.log("Error parsing message SSE", error);
|
console.log("Error parsing SSE message", error);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
onError(event) {
|
onError(event) {
|
||||||
// console.log("SSE Error:", event);
|
console.log("SSE Error:", event);
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -105,6 +106,13 @@ export default function Chat({ sx }: Props) {
|
|||||||
setMessageField("");
|
setMessageField("");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const handleTextfieldKeyPress: React.KeyboardEventHandler<HTMLInputElement | HTMLTextAreaElement> = (e) => {
|
||||||
|
if (e.key === "Enter" && !e.shiftKey) {
|
||||||
|
e.preventDefault();
|
||||||
|
handleSendMessage();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Box sx={{
|
<Box sx={{
|
||||||
display: "flex",
|
display: "flex",
|
||||||
@ -175,6 +183,7 @@ export default function Chat({ sx }: Props) {
|
|||||||
placeholder="Введите сообщение..."
|
placeholder="Введите сообщение..."
|
||||||
id="message"
|
id="message"
|
||||||
multiline
|
multiline
|
||||||
|
onKeyDown={handleTextfieldKeyPress}
|
||||||
sx={{
|
sx={{
|
||||||
width: "100%",
|
width: "100%",
|
||||||
p: 0,
|
p: 0,
|
||||||
|
@ -14,9 +14,11 @@ export default function FloatingSupportChat() {
|
|||||||
bottom: "10px",
|
bottom: "10px",
|
||||||
display: "flex",
|
display: "flex",
|
||||||
}}>
|
}}>
|
||||||
{isChatOpened && <Chat sx={{
|
{isChatOpened &&
|
||||||
mb: "54px",
|
<Chat sx={{
|
||||||
}} />}
|
mb: "54px",
|
||||||
|
}} />
|
||||||
|
}
|
||||||
<Fab
|
<Fab
|
||||||
variant={"extended"}
|
variant={"extended"}
|
||||||
onClick={() => setIsChatOpened(prev => !prev)}
|
onClick={() => setIsChatOpened(prev => !prev)}
|
||||||
|
@ -4,7 +4,7 @@ import { createJSONStorage, devtools, persist } from "zustand/middleware";
|
|||||||
|
|
||||||
|
|
||||||
interface UnauthTicketStore {
|
interface UnauthTicketStore {
|
||||||
ticket: Ticket | null;
|
ticket: Ticket | null; // TODO delete if unused
|
||||||
sessionId: string | null;
|
sessionId: string | null;
|
||||||
messages: TicketMessage[];
|
messages: TicketMessage[];
|
||||||
fetchState: "idle" | "fetching" | "all fetched";
|
fetchState: "idle" | "fetching" | "all fetched";
|
||||||
|
Loading…
Reference in New Issue
Block a user