Improve UX of members tab
authorAjay Bura <ajbura@gmail.com>
Mon, 31 Jan 2022 09:50:12 +0000 (15:20 +0530)
committerAjay Bura <ajbura@gmail.com>
Mon, 31 Jan 2022 09:50:12 +0000 (15:20 +0530)
Signed-off-by: Ajay Bura <ajbura@gmail.com>
src/app/molecules/room-members/RoomMembers.jsx
src/app/molecules/room-members/RoomMembers.scss

index f7dfbf20a43d1456a82d4c1d8180c7b50376bfc3..1f409f4f6f8a74f63ea7a7c1b46260097a94e68a 100644 (file)
@@ -137,22 +137,25 @@ function RoomMembers({ roomId }) {
   const mList = searchMembers ? searchMembers.data : members.slice(0, itemCount);
   return (
     <div className="room-members">
-      <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]);
-        }}
-      />
-      <Input onChange={handleSearch} label="Search member" placeholder="name" />
-      <div className="room-members__list">
+      <MenuHeader>Search member</MenuHeader>
+      <Input onChange={handleSearch} placeholder="Search for name" />
+      <div className="room-members__header">
         <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) => (
           <PeopleSelector
             key={member.userId}
index d74c08a53f8c3c4d718c0afdfc022ed04f5e9b05..4715508e804355ff822445220b3a5a62d3211228 100644 (file)
@@ -1,17 +1,29 @@
+@use '../../partials/flex';
+@use '../../partials/dir';
+
 .room-members {
   & .input-container {
     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 {
+    
     & .people-selector__container:last-child {
       margin-bottom: var(--sp-extra-tight);
     }