mirror of
https://github.com/cinnyapp/cinny.git
synced 2025-09-14 14:52:26 +03:00
extract member drawer header component
This commit is contained in:
parent
e2709b28b1
commit
d13d9a991b
1 changed files with 42 additions and 32 deletions
|
@ -59,6 +59,47 @@ import { useOpenUserRoomProfile, useUserRoomProfileState } from '../../state/hoo
|
||||||
import { useSpaceOptionally } from '../../hooks/useSpace';
|
import { useSpaceOptionally } from '../../hooks/useSpace';
|
||||||
import { ContainerColor } from '../../styles/ContainerColor.css';
|
import { ContainerColor } from '../../styles/ContainerColor.css';
|
||||||
|
|
||||||
|
type MemberDrawerHeaderProps = {
|
||||||
|
room: Room;
|
||||||
|
};
|
||||||
|
function MemberDrawerHeader({ room }: MemberDrawerHeaderProps) {
|
||||||
|
const setPeopleDrawer = useSetSetting(settingsAtom, 'isPeopleDrawer');
|
||||||
|
|
||||||
|
return (
|
||||||
|
<Header className={css.MembersDrawerHeader} variant="Background" size="600">
|
||||||
|
<Box grow="Yes" alignItems="Center" gap="200">
|
||||||
|
<Box grow="Yes" alignItems="Center" gap="200">
|
||||||
|
<Text title={`${room.getJoinedMemberCount()} Members`} size="H5" truncate>
|
||||||
|
{`${millify(room.getJoinedMemberCount())} Members`}
|
||||||
|
</Text>
|
||||||
|
</Box>
|
||||||
|
<Box shrink="No" alignItems="Center">
|
||||||
|
<TooltipProvider
|
||||||
|
position="Bottom"
|
||||||
|
align="End"
|
||||||
|
offset={4}
|
||||||
|
tooltip={
|
||||||
|
<Tooltip>
|
||||||
|
<Text>Close</Text>
|
||||||
|
</Tooltip>
|
||||||
|
}
|
||||||
|
>
|
||||||
|
{(triggerRef) => (
|
||||||
|
<IconButton
|
||||||
|
ref={triggerRef}
|
||||||
|
variant="Background"
|
||||||
|
onClick={() => setPeopleDrawer(false)}
|
||||||
|
>
|
||||||
|
<Icon src={Icons.Cross} />
|
||||||
|
</IconButton>
|
||||||
|
)}
|
||||||
|
</TooltipProvider>
|
||||||
|
</Box>
|
||||||
|
</Box>
|
||||||
|
</Header>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
type MemberItemProps = {
|
type MemberItemProps = {
|
||||||
mx: MatrixClient;
|
mx: MatrixClient;
|
||||||
useAuthentication: boolean;
|
useAuthentication: boolean;
|
||||||
|
@ -143,7 +184,6 @@ export function MembersDrawer({ room, members }: MembersDrawerProps) {
|
||||||
const powerLevels = usePowerLevelsContext();
|
const powerLevels = usePowerLevelsContext();
|
||||||
const [, getPowerLevelTag] = usePowerLevelTags(room, powerLevels);
|
const [, getPowerLevelTag] = usePowerLevelTags(room, powerLevels);
|
||||||
const fetchingMembers = members.length < room.getJoinedMemberCount();
|
const fetchingMembers = members.length < room.getJoinedMemberCount();
|
||||||
const setPeopleDrawer = useSetSetting(settingsAtom, 'isPeopleDrawer');
|
|
||||||
const openUserRoomProfile = useOpenUserRoomProfile();
|
const openUserRoomProfile = useOpenUserRoomProfile();
|
||||||
const space = useSpaceOptionally();
|
const space = useSpaceOptionally();
|
||||||
const openProfileUserId = useUserRoomProfileState()?.userId;
|
const openProfileUserId = useUserRoomProfileState()?.userId;
|
||||||
|
@ -214,37 +254,7 @@ export function MembersDrawer({ room, members }: MembersDrawerProps) {
|
||||||
shrink="No"
|
shrink="No"
|
||||||
direction="Column"
|
direction="Column"
|
||||||
>
|
>
|
||||||
<Header className={css.MembersDrawerHeader} variant="Background" size="600">
|
<MemberDrawerHeader room={room} />
|
||||||
<Box grow="Yes" alignItems="Center" gap="200">
|
|
||||||
<Box grow="Yes" alignItems="Center" gap="200">
|
|
||||||
<Text title={`${room.getJoinedMemberCount()} Members`} size="H5" truncate>
|
|
||||||
{`${millify(room.getJoinedMemberCount())} Members`}
|
|
||||||
</Text>
|
|
||||||
</Box>
|
|
||||||
<Box shrink="No" alignItems="Center">
|
|
||||||
<TooltipProvider
|
|
||||||
position="Bottom"
|
|
||||||
align="End"
|
|
||||||
offset={4}
|
|
||||||
tooltip={
|
|
||||||
<Tooltip>
|
|
||||||
<Text>Close</Text>
|
|
||||||
</Tooltip>
|
|
||||||
}
|
|
||||||
>
|
|
||||||
{(triggerRef) => (
|
|
||||||
<IconButton
|
|
||||||
ref={triggerRef}
|
|
||||||
variant="Background"
|
|
||||||
onClick={() => setPeopleDrawer(false)}
|
|
||||||
>
|
|
||||||
<Icon src={Icons.Cross} />
|
|
||||||
</IconButton>
|
|
||||||
)}
|
|
||||||
</TooltipProvider>
|
|
||||||
</Box>
|
|
||||||
</Box>
|
|
||||||
</Header>
|
|
||||||
<Box className={css.MemberDrawerContentBase} grow="Yes">
|
<Box className={css.MemberDrawerContentBase} grow="Yes">
|
||||||
<Scroll ref={scrollRef} variant="Background" size="300" visibility="Hover" hideTrack>
|
<Scroll ref={scrollRef} variant="Background" size="300" visibility="Hover" hideTrack>
|
||||||
<Box className={css.MemberDrawerContent} direction="Column" gap="200">
|
<Box className={css.MemberDrawerContent} direction="Column" gap="200">
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue