Merge pull request #363 from bugout-dev/entry-point-page

solve circular redirects
pull/376/head
Sergei Sumarokov 2021-11-08 18:10:37 +00:00 zatwierdzone przez GitHub
commit 01692091f5
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: 4AEE18F83AFDEB23
3 zmienionych plików z 48 dodań i 0 usunięć

Wyświetl plik

@ -26,6 +26,16 @@ export default function CachingApp({ Component, pageProps }) {
const router = useRouter();
useEffect(() => {
if (
router.pathname !== "/entry-point" &&
window &&
localStorage.getItem("entry_point")
) {
localStorage.removeItem("entry_point");
}
}, [router]);
useEffect(() => {
const handleStart = () => {
NProgress.start();

Wyświetl plik

@ -0,0 +1,29 @@
import { useRouter } from "next/router";
import { useContext, useLayoutEffect } from "react";
import UserContext from "../src/core/providers/UserProvider/context";
import { getLayout } from "../src/layouts/EntryPointLayout";
const EntryPoint = () => {
const router = useRouter();
const { isInit } = useContext(UserContext);
useLayoutEffect(() => {
if (router.isReady && isInit && router.asPath !== router.pathname + `/`) {
if (localStorage.getItem("entry_point")) {
router.replace("/404", router.asPath);
} else {
localStorage.setItem("entry_point", 1);
router.replace(router.asPath, undefined, {
shallow: true,
});
}
}
}, [router, isInit]);
return "";
};
EntryPoint.getLayout = getLayout;
export default EntryPoint;

Wyświetl plik

@ -0,0 +1,9 @@
import React from "react";
const EntryPointLayout = (props) => {
return props.children;
};
export const getLayout = (page) => <EntryPointLayout>{page}</EntryPointLayout>;
export default EntryPointLayout;