/**
* Copyright (c) 2021 lingdocs.com
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*
*/
import React, { useState } from "react";
// eslint-disable-next-line
import { BrowserRouter as Router, Route, withRouter, Switch, RouteComponentProps } from "react-router-dom";
import "./App.css";
import Page404 from "./pages/404";
import Chapter from "./components/Chapter";
import { content } from "./content/index";
import Sidebar from "./components/Sidebar";
import Header from "./components/Header";
import TableOfContentsPage from "./pages/TableOfContentsPage";
import AccountPage from "./pages/AccountPage";
import { useEffect } from "react";
import ReactGA from "react-ga";
const chapters = content.reduce((chapters, item) => (
item.content
? [...chapters, item]
: [...chapters, ...item.chapters]
), []);
const prod = document.location.hostname === "grammar.lingdocs.com";
if (prod) {
ReactGA.initialize("UA-196576671-2");
ReactGA.set({ anonymizeIp: true });
}
function App(props: RouteComponentProps) {
const [navOpen, setNavOpen] = useState(false);
// TODO: seperate function for getUserInfo with useUser and fetch
// then set cronjob to call that - also do signin flox
useEffect(() => {
ReactGA.pageview(window.location.pathname);
}, []);
useEffect(() => {
window.scroll(0, 0);
if (prod) {
ReactGA.pageview(window.location.pathname);
}
}, [props.location.pathname]);
return (
<>