import React, { FunctionComponent, useMemo } from "react"; import { Redirect, Route, Switch, useHistory } from "react-router-dom"; import { useDidMount } from "rooks"; import { useIsRadarrEnabled, useIsSonarrEnabled } from "../@redux/hooks/site"; import BlacklistRouter from "../Blacklist/Router"; import DisplayItemRouter from "../DisplayItem/Router"; import HistoryRouter from "../History/Router"; import SettingRouter from "../Settings/Router"; import EmptyPage, { RouterEmptyPath } from "../special-pages/404"; import SystemRouter from "../System/Router"; import { ScrollToTop } from "../utilities"; import WantedRouter from "../Wanted/Router"; const Router: FunctionComponent<{ className?: string }> = ({ className }) => { const sonarr = useIsSonarrEnabled(); const radarr = useIsRadarrEnabled(); const redirectPath = useMemo(() => { if (sonarr) { return "/series"; } else if (radarr) { return "/movies"; } else { return "/settings"; } }, [sonarr, radarr]); const history = useHistory(); useDidMount(() => { history.listen(() => { // This is a hack to make sure ScrollToTop will be triggered in the next frame (When everything are loaded) setTimeout(ScrollToTop); }); }); return (
); }; export default Router;