mirror of
https://github.com/koodiklinikka/koodiklinikka.fi.git
synced 2026-01-26 11:23:58 +00:00
* Run prettify * Upgrade dependencies and switch out some libraries: * timeago (freshly jquery dependent) -> ReactTimeAgo * next-ga -> react-ga and custom plumbing * Move static/ to public/static/ As per https://github.com/zeit/next.js/blob/master/errors/static-dir-deprecated.md * Fix cons->icons typo * Import only what's necessary from lodash (223 -> 180 kb) * Asyncify MembershipInfoForm
83 lines
2.4 KiB
JavaScript
83 lines
2.4 KiB
JavaScript
import React from "react";
|
|
import Document, { Html, Head, Main, NextScript } from "next/document";
|
|
import { Footer } from "../components/Footer";
|
|
import Fader from "../components/Fader";
|
|
import ReactGA from "react-ga";
|
|
|
|
function trackPageView() {
|
|
if (location.hostname === "localhost" || location.hostname === "127.0.0.1") {
|
|
return;
|
|
}
|
|
if (!window.GA_INITIALIZED) {
|
|
ReactGA.initialize("UA-58806132-1");
|
|
window.GA_INITIALIZED = true;
|
|
}
|
|
ReactGA.set({ page: window.location.pathname });
|
|
ReactGA.pageview(window.location.pathname);
|
|
}
|
|
|
|
class MyDocument extends Document {
|
|
static async getInitialProps(ctx) {
|
|
const initialProps = await Document.getInitialProps(ctx);
|
|
return { ...initialProps };
|
|
}
|
|
|
|
componentDidMount() {
|
|
trackPageView();
|
|
}
|
|
|
|
render() {
|
|
return (
|
|
<Html lang="fi">
|
|
<Head>
|
|
<meta
|
|
name="description"
|
|
content="Koodiklinikka on suomalainen yhteisö ohjelmistoalan harrastajille ja ammattilaisille."
|
|
/>
|
|
<meta
|
|
name="keywords"
|
|
content="ohjelmointi,frontend,open source,devaus,suomi,javascript,clojure,go,java,node.js,io.js,angular.js,web"
|
|
/>
|
|
<meta charSet="utf-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
<meta name="apple-mobile-web-app-capable" content="yes" />
|
|
<link
|
|
rel="apple-touch-icon"
|
|
sizes="180x180"
|
|
href="/static/icons/apple-touch-icon.png"
|
|
/>
|
|
<link
|
|
rel="icon"
|
|
type="image/png"
|
|
sizes="32x32"
|
|
href="/static/icons/favicon-32x32.png"
|
|
/>
|
|
<link
|
|
rel="icon"
|
|
type="image/png"
|
|
sizes="16x16"
|
|
href="/static/icons/favicon-16x16.png"
|
|
/>
|
|
<link rel="manifest" href="/static/icons/site.webmanifest" />
|
|
<meta property="og:image" content="images/logo.png" />
|
|
<script src="https://js.stripe.com/v3/" />
|
|
<script src="//use.typekit.net/scb5xny.js" />
|
|
<script>{"try{Typekit.load();}catch(e){};"}</script>
|
|
</Head>
|
|
<body>
|
|
<div className="site">
|
|
<div className="container">
|
|
<Main />
|
|
<NextScript />
|
|
</div>
|
|
<Footer />
|
|
</div>
|
|
<Fader />
|
|
</body>
|
|
</Html>
|
|
);
|
|
}
|
|
}
|
|
|
|
export default MyDocument;
|