From d13d9a991b7ecb51f8b988d3b6eef79b96668efa Mon Sep 17 00:00:00 2001 From: Ajay Bura <32841439+ajbura@users.noreply.github.com> Date: Mon, 11 Aug 2025 20:31:10 +0530 Subject: [PATCH] extract member drawer header component --- src/app/features/room/MembersDrawer.tsx | 74 ++++++++++++++----------- 1 file changed, 42 insertions(+), 32 deletions(-) diff --git a/src/app/features/room/MembersDrawer.tsx b/src/app/features/room/MembersDrawer.tsx index f8c826d9..4105353f 100644 --- a/src/app/features/room/MembersDrawer.tsx +++ b/src/app/features/room/MembersDrawer.tsx @@ -59,6 +59,47 @@ import { useOpenUserRoomProfile, useUserRoomProfileState } from '../../state/hoo import { useSpaceOptionally } from '../../hooks/useSpace'; import { ContainerColor } from '../../styles/ContainerColor.css'; +type MemberDrawerHeaderProps = { + room: Room; +}; +function MemberDrawerHeader({ room }: MemberDrawerHeaderProps) { + const setPeopleDrawer = useSetSetting(settingsAtom, 'isPeopleDrawer'); + + return ( +
+ + + + {`${millify(room.getJoinedMemberCount())} Members`} + + + + + Close + + } + > + {(triggerRef) => ( + setPeopleDrawer(false)} + > + + + )} + + + +
+ ); +} + type MemberItemProps = { mx: MatrixClient; useAuthentication: boolean; @@ -143,7 +184,6 @@ export function MembersDrawer({ room, members }: MembersDrawerProps) { const powerLevels = usePowerLevelsContext(); const [, getPowerLevelTag] = usePowerLevelTags(room, powerLevels); const fetchingMembers = members.length < room.getJoinedMemberCount(); - const setPeopleDrawer = useSetSetting(settingsAtom, 'isPeopleDrawer'); const openUserRoomProfile = useOpenUserRoomProfile(); const space = useSpaceOptionally(); const openProfileUserId = useUserRoomProfileState()?.userId; @@ -214,37 +254,7 @@ export function MembersDrawer({ room, members }: MembersDrawerProps) { shrink="No" direction="Column" > -
- - - - {`${millify(room.getJoinedMemberCount())} Members`} - - - - - Close - - } - > - {(triggerRef) => ( - setPeopleDrawer(false)} - > - - - )} - - - -
+