snapshot of https://github.com/jitsi/jitsi-meet.git @ fd1749dd28f4138aa80234fc7f311b19aaffa0e7 (2026-09-15)
This commit is contained in:
26
react/features/base/modal/hooks.native.ts
Normal file
26
react/features/base/modal/hooks.native.ts
Normal file
@@ -0,0 +1,26 @@
|
||||
import { useEffect, useState } from 'react';
|
||||
import { Keyboard, Platform } from 'react-native';
|
||||
|
||||
const showEvent = Platform.OS === 'ios' ? 'keyboardWillShow' : 'keyboardDidShow';
|
||||
const hideEvent = Platform.OS === 'ios' ? 'keyboardWillHide' : 'keyboardDidHide';
|
||||
|
||||
/**
|
||||
* A hook that tracks whether the native keyboard is visible.
|
||||
*
|
||||
* @returns {boolean} - Whether the keyboard is visible.
|
||||
*/
|
||||
export const useKeyboardVisible = (): boolean => {
|
||||
const [ keyboardVisible, setKeyboardVisible ] = useState(false);
|
||||
|
||||
useEffect(() => {
|
||||
const showSub = Keyboard.addListener(showEvent, () => setKeyboardVisible(true));
|
||||
const hideSub = Keyboard.addListener(hideEvent, () => setKeyboardVisible(false));
|
||||
|
||||
return () => {
|
||||
showSub.remove();
|
||||
hideSub.remove();
|
||||
};
|
||||
}, []);
|
||||
|
||||
return keyboardVisible;
|
||||
};
|
||||
Reference in New Issue
Block a user