fix floating support chat
Some checks failed
Deploy / CreateImage (push) Failing after 50s
Deploy / DeployService (push) Has been skipped

This commit is contained in:
Nastya 2025-07-23 12:05:33 +03:00
parent ac692fafd3
commit d371d666aa
3 changed files with 23 additions and 19 deletions

@ -30,7 +30,18 @@ interface Props {
sendFile: (a: File | undefined) => Promise<void>;
}
const greetingMessage = "Здравствуйте, задайте ваш вопрос и наш оператор вам ответит в течение 10 минут";
const greetingMessage: TicketMessage = {
id: "greeting",
ticket_id: "",
user_id: "system",
session_id: "",
message: "Здравствуйте, задайте ваш вопрос и наш оператор вам ответит в течение 10 минут",
files: [],
shown: {},
request_screenshot: "",
created_at: new Date().toISOString(),
system: false
};
export default function Chat({
open = false,
@ -197,10 +208,7 @@ export default function Chat({
>
{ticket.sessionData?.ticketId &&
messages.map((message) => {
const isSelf = useMemo(() =>
(ticket.sessionData?.sessionId || user) === message.user_id,
[ticket.sessionData?.sessionId, user, message.user_id]
);
const isSelf = (ticket.sessionData?.sessionId || user) === message.user_id;
return (
<ChatMessageRenderer
@ -213,10 +221,7 @@ export default function Chat({
{!ticket.sessionData?.ticketId && (
<ChatMessageRenderer
message={greetingMessage}
isSelf={useMemo(() =>
(ticket.sessionData?.sessionId || user) === greetingMessage.user_id,
[ticket.sessionData?.sessionId, user, greetingMessage.user_id]
)}
isSelf={false}
/>
)}
</Box>

@ -130,9 +130,15 @@ export default () => {
({ shown }) => shown?.me !== 1,
);
newMessages.forEach(({ id, user_id }) => {
if ((ticket.sessionData?.sessionId || user) === user_id) shownMessage(id);
});
// Находим последнее сообщение, которое не от пользователя
const lastNonUserMessage = newMessages
.filter(({ user_id }) => (ticket.sessionData?.sessionId || user) !== user_id)
.pop();
// Отправляем shown только на последнее сообщение, которое не от пользователя
if (lastNonUserMessage) {
shownMessage(lastNonUserMessage.id);
}
}
}, [isChatOpened, ticket.messages]);

@ -28,13 +28,6 @@ export const useAfterPay = () => {
let URLadditionalinformation = searchParams.get("additionalinformation");//его токен
useEffect(() => {
console.log("useAutoPay: Processing return from payment", {
URLaction,
URLuserId,
URLadditionalinformation,
userId,
wayback: searchParams.get("wayback")
});
setSearchParams({}, { replace: true });