From c5f78c6133fe8713e91e0c3ca84b9cb2623e5748 Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Sun, 22 Dec 2024 20:32:19 +0200 Subject: [PATCH] web/roomlist: remove separate inner component in room lists --- web/src/ui/roomlist/Entry.tsx | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/web/src/ui/roomlist/Entry.tsx b/web/src/ui/roomlist/Entry.tsx index c9f211e..efe235a 100644 --- a/web/src/ui/roomlist/Entry.tsx +++ b/web/src/ui/roomlist/Entry.tsx @@ -28,11 +28,12 @@ export interface RoomListEntryProps { hidden: boolean } -function usePreviewText(evt?: MemDBEvent, senderMemberEvt?: MemDBEvent | null): [string, string] { +function getPreviewText(evt?: MemDBEvent, senderMemberEvt?: MemDBEvent | null): [string, string] { if (!evt) { return ["", ""] } if ((evt.type === "m.room.message" || evt.type === "m.sticker") && typeof evt.content.body === "string") { + // eslint-disable-next-line react-hooks/rules-of-hooks const client = use(ClientContext)! const displayname = evt.sender === client.userID ? "You" @@ -49,12 +50,8 @@ function usePreviewText(evt?: MemDBEvent, senderMemberEvt?: MemDBEvent | null): return ["", ""] } -interface InnerProps { - room: RoomListEntry -} - -const EntryInner = ({ room }: InnerProps) => { - const [previewText, croppedPreviewText] = usePreviewText(room.preview_event, room.preview_sender) +function renderEntry(room: RoomListEntry) { + const [previewText, croppedPreviewText] = getPreviewText(room.preview_event, room.preview_sender) const unreadCount = room.unread_messages || room.unread_notifications || room.unread_highlights const countIsBig = Boolean(room.unread_notifications || room.unread_highlights) let unreadCountDisplay = unreadCount.toString() @@ -97,7 +94,7 @@ const Entry = ({ room, isActive, hidden }: RoomListEntryProps) => { onClick={use(MainScreenContext).clickRoom} data-room-id={room.room_id} > - {isVisible ? : null} + {isVisible ? renderEntry(room) : null} }