Improve UX of members tab
Signed-off-by: Ajay Bura <ajbura@gmail.com>
This commit is contained in:
parent
b5d6f44f4c
commit
63fb4d57e2
2 changed files with 38 additions and 23 deletions
|
@ -137,22 +137,25 @@ function RoomMembers({ roomId }) {
|
||||||
const mList = searchMembers ? searchMembers.data : members.slice(0, itemCount);
|
const mList = searchMembers ? searchMembers.data : members.slice(0, itemCount);
|
||||||
return (
|
return (
|
||||||
<div className="room-members">
|
<div className="room-members">
|
||||||
<SegmentedControls
|
<MenuHeader>Search member</MenuHeader>
|
||||||
selected={
|
<Input onChange={handleSearch} placeholder="Search for name" />
|
||||||
(() => {
|
<div className="room-members__header">
|
||||||
const getSegmentIndex = { join: 0, invite: 1, ban: 2 };
|
|
||||||
return getSegmentIndex[membership];
|
|
||||||
})()
|
|
||||||
}
|
|
||||||
segments={[{ text: 'Joined' }, { text: 'Invited' }, { text: 'Banned' }]}
|
|
||||||
onSelect={(index) => {
|
|
||||||
const memberships = ['join', 'invite', 'ban'];
|
|
||||||
setMembership(memberships[index]);
|
|
||||||
}}
|
|
||||||
/>
|
|
||||||
<Input onChange={handleSearch} label="Search member" placeholder="name" />
|
|
||||||
<div className="room-members__list">
|
|
||||||
<MenuHeader>{`${searchMembers ? `Found — ${mList.length}` : members.length} members`}</MenuHeader>
|
<MenuHeader>{`${searchMembers ? `Found — ${mList.length}` : members.length} members`}</MenuHeader>
|
||||||
|
<SegmentedControls
|
||||||
|
selected={
|
||||||
|
(() => {
|
||||||
|
const getSegmentIndex = { join: 0, invite: 1, ban: 2 };
|
||||||
|
return getSegmentIndex[membership];
|
||||||
|
})()
|
||||||
|
}
|
||||||
|
segments={[{ text: 'Joined' }, { text: 'Invited' }, { text: 'Banned' }]}
|
||||||
|
onSelect={(index) => {
|
||||||
|
const memberships = ['join', 'invite', 'ban'];
|
||||||
|
setMembership(memberships[index]);
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<div className="room-members__list">
|
||||||
{mList.map((member) => (
|
{mList.map((member) => (
|
||||||
<PeopleSelector
|
<PeopleSelector
|
||||||
key={member.userId}
|
key={member.userId}
|
||||||
|
|
|
@ -1,17 +1,29 @@
|
||||||
|
@use '../../partials/flex';
|
||||||
|
@use '../../partials/dir';
|
||||||
|
|
||||||
.room-members {
|
.room-members {
|
||||||
& .input-container {
|
& .input-container {
|
||||||
margin: var(--sp-normal);
|
margin: var(--sp-normal);
|
||||||
}
|
|
||||||
|
|
||||||
& .segmented-controls {
|
|
||||||
margin: var(--sp-normal);
|
|
||||||
display: flex;
|
|
||||||
& > * {
|
|
||||||
flex: 1;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
&__header {
|
||||||
|
display: flex;
|
||||||
|
align-items: flex-start;
|
||||||
|
& .context-menu__header {
|
||||||
|
@extend .cp-fx__item-one;
|
||||||
|
margin-top: 14px;
|
||||||
|
border-top: 1px solid var(--bg-surface-border);
|
||||||
|
border-bottom: none;
|
||||||
|
}
|
||||||
|
& .segmented-controls {
|
||||||
|
@include dir.side(margin, 0, var(--sp-normal));
|
||||||
|
& > button {
|
||||||
|
padding: var(--sp-ultra-tight) 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
&__list {
|
&__list {
|
||||||
|
|
||||||
& .people-selector__container:last-child {
|
& .people-selector__container:last-child {
|
||||||
margin-bottom: var(--sp-extra-tight);
|
margin-bottom: var(--sp-extra-tight);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue