Skip to content

Commit

Permalink
Focus room search and member search
Browse files Browse the repository at this point in the history
  • Loading branch information
ginnyTheCat committed Feb 5, 2022
1 parent 9246240 commit 3433393
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 3 deletions.
16 changes: 14 additions & 2 deletions src/app/molecules/room-members/RoomMembers.jsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
import React, { useState, useEffect, useCallback } from 'react';
import React, {
useState, useEffect, useCallback, useRef,
} from 'react';
import PropTypes from 'prop-types';
import './RoomMembers.scss';

Expand All @@ -14,6 +16,7 @@ import Input from '../../atoms/input/Input';
import { MenuHeader } from '../../atoms/context-menu/ContextMenu';
import SegmentedControls from '../../atoms/segmented-controls/SegmentedControls';
import PeopleSelector from '../people-selector/PeopleSelector';
import settings from '../../../client/state/settings';

const PER_PAGE_MEMBER = 50;

Expand Down Expand Up @@ -125,6 +128,11 @@ function RoomMembers({ roomId }) {
const [membership, setMembership] = useState('join');
const [members] = useMemberOfMembership(roomId, membership);
const [searchMembers, handleSearch] = useSearchMembers(members);
const searchRef = useRef(null);

useEffect(() => {
if (!settings.isTouchScreenDevice) searchRef.current.focus();
}, []);

useEffect(() => {
setItemCount(PER_PAGE_MEMBER);
Expand All @@ -138,7 +146,11 @@ function RoomMembers({ roomId }) {
return (
<div className="room-members">
<MenuHeader>Search member</MenuHeader>
<Input onChange={handleSearch} placeholder="Search for name" />
<Input
onChange={handleSearch}
placeholder="Search for name"
forwardRef={searchRef}
/>
<div className="room-members__header">
<MenuHeader>{`${searchMembers ? `Found — ${mList.length}` : members.length} members`}</MenuHeader>
<SegmentedControls
Expand Down
8 changes: 7 additions & 1 deletion src/app/molecules/room-search/RoomSearch.jsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import React, { useState, useEffect } from 'react';
import React, { useState, useEffect, useRef } from 'react';
import PropTypes from 'prop-types';
import './RoomSearch.scss';

Expand Down Expand Up @@ -107,6 +107,11 @@ function RoomSearch({ roomId }) {
const mx = initMatrix.matrixClient;
const isRoomEncrypted = mx.isRoomEncrypted(roomId);
const searchTerm = searchData?._query.search_categories.room_events.search_term ?? '';
const searchRef = useRef(null);

useEffect(() => {
searchRef.current.focus();
}, []);

const handleSearch = (e) => {
e.preventDefault();
Expand Down Expand Up @@ -145,6 +150,7 @@ function RoomSearch({ roomId }) {
placeholder="Search for keywords"
name="room-search-input"
disabled={isRoomEncrypted}
forwardRef={searchRef}
/>
<Button iconSrc={SearchIC} variant="primary" type="submit">Search</Button>
</div>
Expand Down

0 comments on commit 3433393

Please sign in to comment.