From 65af9a564d6baa5a5bc859ed9cd336ffa8a901a7 Mon Sep 17 00:00:00 2001 From: simoleo89 Date: Wed, 20 May 2026 21:07:07 +0200 Subject: [PATCH] fix(mod-tools): Room Chatlog button now renders a loading state MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ModToolsChatlogView returned null whenever roomChatlog was undefined — including the entire window between click and server response (up to a 15-second NitroQuery timeout). Result: clicking the Chatlog button in the launcher or in Room Info appeared to do nothing at all on any session where the server reply was slow or the accept-filter correlation didn't match. The other two chatlog wrappers (ModToolsUserChatlogView, CfhChatlogView) already render a spinner while data is loading after yesterday's redesign — this view was the one I missed. Apply the same fix: always render the NitroCardView, and show the FaSpinner loading state inside until useNitroQuery resolves. --- .../mod-tools/views/room/ModToolsChatlogView.tsx | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/components/mod-tools/views/room/ModToolsChatlogView.tsx b/src/components/mod-tools/views/room/ModToolsChatlogView.tsx index bbe21f7..2f2d684 100644 --- a/src/components/mod-tools/views/room/ModToolsChatlogView.tsx +++ b/src/components/mod-tools/views/room/ModToolsChatlogView.tsx @@ -1,5 +1,6 @@ import { ChatRecordData, GetRoomChatlogMessageComposer, RoomChatlogEvent } from '@nitrots/nitro-renderer'; import { FC } from 'react'; +import { FaSpinner } from 'react-icons/fa'; import { LocalizeText } from '../../../../api'; import { useNitroQuery } from '../../../../api/nitro-query'; import { DraggableWindowPosition, NitroCardContentView, NitroCardHeaderView, NitroCardView } from '../../../../common'; @@ -24,13 +25,16 @@ export const ModToolsChatlogView: FC = props => enabled: roomId !== null }); - if(!roomChatlog) return null; - return ( - + { roomChatlog + ? + :
+ + { LocalizeText('modtools.user.chatlog.loading') } +
}
);