Feature/use escape key to close documents modal (#2222)

* Add ability to use Esc keypress to close modal for documents

* move escape close to hook

---------

Co-authored-by: Mr Simon C <iamontheinternet@yahoo.com>
This commit is contained in:
Timothy Carambat 2024-09-04 16:42:40 -07:00 committed by GitHub
parent 7594841dac
commit aa4c9533aa
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -127,19 +127,32 @@ const ModalTabSwitcher = ({ selectedTab, setSelectedTab }) => {
</div>
);
};
export function useManageWorkspaceModal() {
const { user } = useUser();
const [showing, setShowing] = useState(false);
const showModal = () => {
function showModal() {
if (user?.role !== "default") {
setShowing(true);
}
};
}
const hideModal = () => {
function hideModal() {
setShowing(false);
}
useEffect(() => {
function onEscape(event) {
if (!showing || event.key !== "Escape") return;
setShowing(false);
}
document.addEventListener("keydown", onEscape);
return () => {
document.removeEventListener("keydown", onEscape);
};
}, [showing]);
return { showing, showModal, hideModal };
}