mirror of
https://github.com/Stef-00012/Zipline-Android-App.git
synced 2025-05-10 18:05:52 +02:00
29 lines
645 B
TypeScript
29 lines
645 B
TypeScript
import { useEffect, useState } from "react";
|
|
import { Keyboard } from "react-native";
|
|
|
|
export const useDetectKeyboardOpen = (defaultValue: boolean) => {
|
|
const [isKeyboardOpen, setIsKeyboardOpen] = useState<boolean>(defaultValue);
|
|
|
|
useEffect(() => {
|
|
const keyboardDidShowListener = Keyboard.addListener(
|
|
"keyboardDidShow",
|
|
() => {
|
|
setIsKeyboardOpen(true);
|
|
},
|
|
);
|
|
|
|
const keyboardDidHideListener = Keyboard.addListener(
|
|
"keyboardDidHide",
|
|
() => {
|
|
setIsKeyboardOpen(false);
|
|
},
|
|
);
|
|
|
|
return () => {
|
|
keyboardDidShowListener.remove();
|
|
keyboardDidHideListener.remove();
|
|
};
|
|
}, []);
|
|
|
|
return isKeyboardOpen;
|
|
};
|