Files
twenty/packages/twenty-front/src/modules/command-menu/components/CommandMenuTopBarInputFocusEffect.tsx

27 lines
749 B
TypeScript

import { useRecoilValue } from 'recoil';
import { commandMenuPageState } from '@/command-menu/states/commandMenuPageState';
import { CommandMenuPages } from '@/command-menu/types/CommandMenuPages';
import { useEffect } from 'react';
type CommandMenuTopBarInputFocusEffectProps = {
inputRef: React.RefObject<HTMLInputElement>;
};
export const CommandMenuTopBarInputFocusEffect = ({
inputRef,
}: CommandMenuTopBarInputFocusEffectProps) => {
const commandMenuPage = useRecoilValue(commandMenuPageState);
useEffect(() => {
if (
commandMenuPage === CommandMenuPages.Root ||
commandMenuPage === CommandMenuPages.SearchRecords
) {
inputRef.current?.focus();
}
}, [commandMenuPage, inputRef]);
return null;
};