mirror of
https://github.com/Sendouc/sendou.ink.git
synced 2026-08-06 04:55:15 -05:00
Fix load chat history on page load
This commit is contained in:
parent
31f81e41c8
commit
8d0881343c
|
|
@ -486,6 +486,8 @@ function ChatProviderInner({
|
|||
unsubscribe,
|
||||
setRooms,
|
||||
setMessagesByRoom,
|
||||
requestHistory,
|
||||
messagesByRoom,
|
||||
});
|
||||
|
||||
const contextValue = React.useMemo(
|
||||
|
|
@ -542,6 +544,8 @@ function useChatRouteSync({
|
|||
unsubscribe,
|
||||
setRooms,
|
||||
setMessagesByRoom,
|
||||
requestHistory,
|
||||
messagesByRoom,
|
||||
}: {
|
||||
rooms: RoomInfo[];
|
||||
userId: number;
|
||||
|
|
@ -555,6 +559,8 @@ function useChatRouteSync({
|
|||
setMessagesByRoom: React.Dispatch<
|
||||
React.SetStateAction<Record<string, ChatMessage[]>>
|
||||
>;
|
||||
requestHistory: (chatCode: string) => void;
|
||||
messagesByRoom: Record<string, ChatMessage[]>;
|
||||
}) {
|
||||
const rawChatCode = useCurrentRouteChatCode();
|
||||
const chatCodesKey = rawChatCode
|
||||
|
|
@ -615,6 +621,9 @@ function useChatRouteSync({
|
|||
|
||||
if (routeChatCodeChanged) {
|
||||
setActiveRoom(chatCodes[0]);
|
||||
if (!messagesByRoom[chatCodes[0]]) {
|
||||
requestHistory(chatCodes[0]);
|
||||
}
|
||||
if (layoutSize === "desktop") {
|
||||
setChatOpen(true);
|
||||
}
|
||||
|
|
@ -632,6 +641,9 @@ function useChatRouteSync({
|
|||
|
||||
if (matchedRoom) {
|
||||
setActiveRoom(matchedRoom.chatCode);
|
||||
if (!messagesByRoom[matchedRoom.chatCode]) {
|
||||
requestHistory(matchedRoom.chatCode);
|
||||
}
|
||||
if (layoutSize === "desktop") {
|
||||
setChatOpen(true);
|
||||
}
|
||||
|
|
@ -652,6 +664,8 @@ function useChatRouteSync({
|
|||
unsubscribe,
|
||||
setRooms,
|
||||
setMessagesByRoom,
|
||||
requestHistory,
|
||||
messagesByRoom,
|
||||
]);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user