New Chat: Fix clearing input after confirming user selection (#5941)

This commit is contained in:
Alexander Zinchuk 2025-06-04 20:40:51 +02:00
parent b2aeebaa7e
commit fa791bbe24

View File

@ -6,6 +6,8 @@ import { LeftColumnContent } from '../../../types';
import { LAYERS_ANIMATION_NAME } from '../../../util/browser/windowEnvironment'; import { LAYERS_ANIMATION_NAME } from '../../../util/browser/windowEnvironment';
import useLastCallback from '../../../hooks/useLastCallback.ts';
import Transition from '../../ui/Transition'; import Transition from '../../ui/Transition';
import NewChatStep1 from './NewChatStep1'; import NewChatStep1 from './NewChatStep1';
import NewChatStep2 from './NewChatStep2'; import NewChatStep2 from './NewChatStep2';
@ -27,7 +29,7 @@ const NewChat: FC<OwnProps> = ({
content, content,
onReset, onReset,
}) => { }) => {
const { openLeftColumnContent } = getActions(); const { openLeftColumnContent, setGlobalSearchQuery } = getActions();
const [newChatMemberIds, setNewChatMemberIds] = useState<string[]>([]); const [newChatMemberIds, setNewChatMemberIds] = useState<string[]>([]);
const handleNextStep = useCallback(() => { const handleNextStep = useCallback(() => {
@ -36,6 +38,15 @@ const NewChat: FC<OwnProps> = ({
}); });
}, [isChannel]); }, [isChannel]);
const changeSelectedMemberIdsHandler = useLastCallback((ids: string[]) => {
const isSelection = ids.length > newChatMemberIds.length;
setNewChatMemberIds(ids);
if (isSelection) {
setGlobalSearchQuery({ query: '' });
}
});
return ( return (
<Transition <Transition
id="NewChat" id="NewChat"
@ -52,7 +63,7 @@ const NewChat: FC<OwnProps> = ({
isChannel={isChannel} isChannel={isChannel}
isActive={isActive} isActive={isActive}
selectedMemberIds={newChatMemberIds} selectedMemberIds={newChatMemberIds}
onSelectedMemberIdsChange={setNewChatMemberIds} onSelectedMemberIdsChange={changeSelectedMemberIdsHandler}
onNextStep={handleNextStep} onNextStep={handleNextStep}
onReset={onReset} onReset={onReset}
/> />