TelegramPWA/src/hooks/useFocusAfterAnimation.tsx
Alexander Zinchuk 3afcde3217 Initial commit
2021-04-09 14:11:51 +03:00

26 lines
589 B
TypeScript

import { RefObject } from 'react';
import { IS_TOUCH_ENV } from '../util/environment';
import { fastRaf } from '../util/schedulers';
import { useEffect } from '../lib/teact/teact';
const DEFAULT_DURATION = 400;
export default function useFocusAfterAnimation(
ref: RefObject<HTMLInputElement>, animationDuration = DEFAULT_DURATION,
) {
useEffect(() => {
if (IS_TOUCH_ENV) {
return;
}
setTimeout(() => {
fastRaf(() => {
if (ref.current) {
ref.current.focus();
}
});
}, animationDuration);
}, [ref, animationDuration]);
}