
* Added search on most pages * Changed material icons to symbols and added wikipage search * Updated deps * Changed color of the play button on previewcard overlay * Updated search params * Updated deps * Audit fix * Removed unused graphql files
32 lines
1.1 KiB
TypeScript
32 lines
1.1 KiB
TypeScript
import { useRouter } from "next/router";
|
|
import { useEffect } from "react";
|
|
import { useScrollIntoView } from "hooks/useScrollIntoView";
|
|
import { useAtomSetter } from "helpers/atoms";
|
|
import { atoms } from "contexts/atoms";
|
|
|
|
export const useAppLayout = (): void => {
|
|
const router = useRouter();
|
|
|
|
const setSearchOpened = useAtomSetter(atoms.layout.searchOpened);
|
|
const setSettingsOpened = useAtomSetter(atoms.layout.settingsOpened);
|
|
const setMainPanelOpened = useAtomSetter(atoms.layout.mainPanelOpened);
|
|
const setSubPanelOpened = useAtomSetter(atoms.layout.subPanelOpened);
|
|
|
|
useEffect(() => {
|
|
router.events.on("routeChangeStart", () => {
|
|
console.log("[Router Events] on routeChangeStart");
|
|
setSearchOpened(false);
|
|
setSettingsOpened(false);
|
|
setMainPanelOpened(false);
|
|
setSubPanelOpened(false);
|
|
});
|
|
|
|
router.events.on("hashChangeStart", () => {
|
|
console.log("[Router Events] on hashChangeStart");
|
|
setSubPanelOpened(false);
|
|
});
|
|
}, [router, setSettingsOpened, setMainPanelOpened, setSubPanelOpened, setSearchOpened]);
|
|
|
|
useScrollIntoView();
|
|
};
|