add ga
This commit is contained in:
parent
f7b8d24abe
commit
4ddd02a66b
|
@ -18,6 +18,7 @@
|
||||||
"react": "^17.0.1",
|
"react": "^17.0.1",
|
||||||
"react-bootstrap": "^1.5.2",
|
"react-bootstrap": "^1.5.2",
|
||||||
"react-dom": "^17.0.1",
|
"react-dom": "^17.0.1",
|
||||||
|
"react-ga": "^3.3.0",
|
||||||
"react-router-dom": "^5.2.0",
|
"react-router-dom": "^5.2.0",
|
||||||
"react-router-hash-link": "^2.3.1",
|
"react-router-hash-link": "^2.3.1",
|
||||||
"react-scripts": "3.4.3",
|
"react-scripts": "3.4.3",
|
||||||
|
|
|
@ -17,12 +17,20 @@ import Sidebar from "./components/Sidebar";
|
||||||
import Header from "./components/Header";
|
import Header from "./components/Header";
|
||||||
import TableOfContentsPage from "./pages/TableOfContentsPage";
|
import TableOfContentsPage from "./pages/TableOfContentsPage";
|
||||||
import { useEffect } from "react";
|
import { useEffect } from "react";
|
||||||
|
import ReactGA from "react-ga";
|
||||||
const chapters = content.reduce((chapters, item) => (
|
const chapters = content.reduce((chapters, item) => (
|
||||||
item.content
|
item.content
|
||||||
? [...chapters, item]
|
? [...chapters, item]
|
||||||
: [...chapters, ...item.chapters]
|
: [...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) {
|
function App(props) {
|
||||||
const [navOpen, setNavOpen] = useState(false);
|
const [navOpen, setNavOpen] = useState(false);
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
|
|
|
@ -22,7 +22,7 @@ These **different verb forms are like tools 🔨🔧✂ that you can use in diff
|
||||||
1. What they are (how to make the verb forms)
|
1. What they are (how to make the verb forms)
|
||||||
2. When to use them (what they mean and what situations they're used in)
|
2. When to use them (what they mean and what situations they're used in)
|
||||||
|
|
||||||
If we don't think carefully about this, 🤔 we will often just assume that we can use the new tools (verb forms) just like we did in our native language. As adults, there is a massive temptation to shove the new verb forms into the categories that we have in our own language, and to try to use the tools like we did before. We can think we know the tool, but because it's actually different we end up using it wrongly by accident and sometimes even cause damage!
|
If we don't think carefully about this, 🤔 we will often just assume that we can use the new tools (verb forms) just like we did in our native language. As adults, there is a massive temptation to shove the new verb forms into the categories that we have in our own language, and to try to use the tools like we did before. We can think we know the tool, but because it's actually different we end up using it wrongly and sometimes even cause damage!
|
||||||
|
|
||||||
For example, you may have met a German who's learned excellent English, but when the doorbell rings they jump up and say, _"I get the door!"_ 🔔🚪🏃♂️. In English you have to use a different verb form and say, "I'll get the door." But they're so used to using their trusty German tool (the Präsens) for everything that saying "I get the door" still "feels right" to them, even though it's completely wrong. Taking careful stock of a new set of tools (verb forms) in a language can keep us from mistakes like this. 🧰🤓👍
|
For example, you may have met a German who's learned excellent English, but when the doorbell rings they jump up and say, _"I get the door!"_ 🔔🚪🏃♂️. In English you have to use a different verb form and say, "I'll get the door." But they're so used to using their trusty German tool (the Präsens) for everything that saying "I get the door" still "feels right" to them, even though it's completely wrong. Taking careful stock of a new set of tools (verb forms) in a language can keep us from mistakes like this. 🧰🤓👍
|
||||||
|
|
||||||
|
|
|
@ -9695,6 +9695,11 @@ react-error-overlay@^6.0.7:
|
||||||
resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-6.0.7.tgz#1dcfb459ab671d53f660a991513cb2f0a0553108"
|
resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-6.0.7.tgz#1dcfb459ab671d53f660a991513cb2f0a0553108"
|
||||||
integrity sha512-TAv1KJFh3RhqxNvhzxj6LeT5NWklP6rDr2a0jaTfsZ5wSZWHOGeqQyejUp3xxLfPt2UpyJEcVQB/zyPcmonNFA==
|
integrity sha512-TAv1KJFh3RhqxNvhzxj6LeT5NWklP6rDr2a0jaTfsZ5wSZWHOGeqQyejUp3xxLfPt2UpyJEcVQB/zyPcmonNFA==
|
||||||
|
|
||||||
|
react-ga@^3.3.0:
|
||||||
|
version "3.3.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/react-ga/-/react-ga-3.3.0.tgz#c91f407198adcb3b49e2bc5c12b3fe460039b3ca"
|
||||||
|
integrity sha512-o8RScHj6Lb8cwy3GMrVH6NJvL+y0zpJvKtc0+wmH7Bt23rszJmnqEQxRbyrqUzk9DTJIHoP42bfO5rswC9SWBQ==
|
||||||
|
|
||||||
react-is@^16.12.0, react-is@^16.3.2, react-is@^16.6.0, react-is@^16.7.0, react-is@^16.8.1, react-is@^16.8.4:
|
react-is@^16.12.0, react-is@^16.3.2, react-is@^16.6.0, react-is@^16.7.0, react-is@^16.8.1, react-is@^16.8.4:
|
||||||
version "16.13.1"
|
version "16.13.1"
|
||||||
resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4"
|
resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4"
|
||||||
|
|
Loading…
Reference in New Issue