import Link from "next/link"; import { useRouter } from "next/router"; import { useContext } from "react"; import useTranslation from "next-translate/useTranslation"; import MakeNewAppeal from "./myportal/makenewappeal"; import MyCases from "./myportal/mycases"; import SearchCases from "./myportal/searchcases"; import AwaitingSubmission from "./myportal/awaitingsubmission"; import MyRepresentations from "./myportal/myrepresentations"; import WatchedCases from "./myportal/watchedcases"; import YourAccount from "./myportal/youraccount"; import { parseCookies, setCookie, destroyCookie } from "nookies"; import IdleTimer from "react-idle-timer"; import TimeoutModal from "../components/timeoutmodal"; import { useState } from "react"; const MyPortal = (props) => { let { t } = useTranslation(); const router = useRouter(); const { locale } = router; const [showModal, setShowModal] = useState(false); let idleTimer = null; let logoutTimer = null; let shareState = () => { showShareState == true ? setShowShareState(false) : setShowShareState(true); }; const onIdle = () => { togglePopup(); logoutTimer = setTimeout(() => { handleLogout(); }, 1000 * 5 * 1); // 5 seconds }; const togglePopup = () => { showModal == true ? setShowModal(false) : setShowModal(true); }; const handleStayLoggedIn = () => { if (logoutTimer) { clearTimeout(this.logoutTimer); logoutTimer = null; } idleTimer.reset(); togglePopup(); }; const handleLogout = () => { destroyCookie({}, "pinsUser"), window.localStorage.clear(), router.replace(props.ggLogout); }; return ( <> {" "} {props.accountDetails.accountDetails.firstname}{" "} {props.accountDetails.accountDetails.lastname} { handleLogout(); }} className="govuk-header__link govuk-!-margin-right-3" > {t("common:signout-label")} {/* { idleTimer = ref; }} element={document} stopOnIdle={true} onIdle={onIdle} timeout={1000 * 600 * 1} // 10 seconds /> */} > ); }; export default MyPortal;