import { ArrowPathIcon } from '@heroicons/react/24/outline'; import { useRouter } from 'next/router'; import PR from 'pulltorefreshjs'; import { useEffect } from 'react'; import ReactDOMServer from 'react-dom/server'; const PullToRefresh = () => { const router = useRouter(); useEffect(() => { PR.init({ mainElement: '#pull-to-refresh', onRefresh() { router.reload(); }, iconArrow: ReactDOMServer.renderToString(
), iconRefreshing: ReactDOMServer.renderToString(
), instructionsPullToRefresh: ReactDOMServer.renderToString(
), instructionsReleaseToRefresh: ReactDOMServer.renderToString(
), instructionsRefreshing: ReactDOMServer.renderToString(
), distReload: 60, distIgnore: 15, shouldPullToRefresh: () => !window.scrollY && document.body.style.overflow !== 'hidden', }); return () => { PR.destroyAll(); }; }, [router]); return
; }; export default PullToRefresh;