forked from DataBiosphere/data-portal
-
Notifications
You must be signed in to change notification settings - Fork 0
/
gatsby-browser.js
54 lines (44 loc) · 1.42 KB
/
gatsby-browser.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
/*
* Human Cell Atlas
* https://www.humancellatlas.org/
*
* Gatsby Browser APIs.
*/
// Required for Edge, otherwise we get a "PerformanceObserver not defined" error
require("@fastly/performance-observer-polyfill/polyfill");
// Add styles for inline and block code - https://www.gatsbyjs.org/packages/gatsby-remark-prismjs/
require(`prismjs/themes/prism-solarizedlight.css`);
// Add environment-specific styles
require("./src/styles/lungmap/vars-lungmap.css");
// Determine site browser support
const Bowser = require("bowser");
// Determine environment is lungmap
const lungmap = process.env.GATSBY_ATLAS === "lungmap";
exports.onClientEntry = () => {
// Grab the pathname
const pathname = window.location.pathname;
// Exit if path is static page for browser not supported
if (
pathname === "/browser-not-supported.html" ||
pathname === "/lungmap-browser-not-supported.html"
) {
return;
}
const browser = Bowser.getParser(window.navigator.userAgent);
// List of unsupported browsers
const browserNotSupported = browser.satisfies({
ie: ">=6",
edge: "~15",
windows: {
safari: ">=1"
}
});
// Redirect to static "browser not supported" page, should browser be unsupported by the site.
if (browserNotSupported) {
if (lungmap) {
window.location.replace("/lungmap-browser-not-supported.html");
} else {
window.location.replace("/browser-not-supported.html");
}
}
};