import React, { useRef, useEffect } from 'react';
import { Link } from 'react-router-dom';
import Transition from '../utils/Transition';
function ModalSearch({
id,
searchId,
modalOpen,
setModalOpen
}) {
const modalContent = useRef(null);
const searchInput = useRef(null);
// close on click outside
useEffect(() => {
const clickHandler = ({ target }) => {
if (!modalOpen || modalContent.current.contains(target)) return
setModalOpen(false);
};
document.addEventListener('click', clickHandler);
return () => document.removeEventListener('click', clickHandler);
});
// close if the esc key is pressed
useEffect(() => {
const keyHandler = ({ keyCode }) => {
if (!modalOpen || keyCode !== 27) return;
setModalOpen(false);
};
document.addEventListener('keydown', keyHandler);
return () => document.removeEventListener('keydown', keyHandler);
});
useEffect(() => {
modalOpen && searchInput.current.focus();
}, [modalOpen]);
return (
<>
{/* Modal backdrop */}
{/* Modal dialog */}
{/* Search form */}
{/* Recent searches */}
Recent searches
-
setModalOpen(!modalOpen)}
>
Form Builder - 23 hours on-demand video
-
setModalOpen(!modalOpen)}
>
Access Mosaic on mobile and TV
-
setModalOpen(!modalOpen)}
>
Product Update - Q4 2021
-
setModalOpen(!modalOpen)}
>
Master Digital Marketing Strategy course
-
setModalOpen(!modalOpen)}
>
Dedicated forms for products
-
setModalOpen(!modalOpen)}
>
Product Update - Q4 2021
{/* Recent pages */}
Recent pages
-
setModalOpen(!modalOpen)}
>
Messages - Conversation / … / Mike Mills
-
setModalOpen(!modalOpen)}
>
Messages - Conversation / … / Eva Patrick
>
);
}
export default ModalSearch;