diff --git a/src/components/ui/bsod/BSoD.jsx b/src/components/ui/bsod/BSoD.jsx
new file mode 100644
index 0000000..256625c
--- /dev/null
+++ b/src/components/ui/bsod/BSoD.jsx
@@ -0,0 +1,7 @@
+import React from 'react';
+
+export default function BSoD() {
+ return (
+
+ );
+}
diff --git a/src/components/ui/bsod/actions.js b/src/components/ui/bsod/actions.js
new file mode 100644
index 0000000..feb6a54
--- /dev/null
+++ b/src/components/ui/bsod/actions.js
@@ -0,0 +1,10 @@
+export const BSOD = 'BSOD';
+
+/**
+ * @return {object}
+ */
+export function bsod() {
+ return {
+ type: BSOD
+ };
+}
diff --git a/src/components/ui/bsod/reducer.js b/src/components/ui/bsod/reducer.js
new file mode 100644
index 0000000..0c91c00
--- /dev/null
+++ b/src/components/ui/bsod/reducer.js
@@ -0,0 +1,9 @@
+import { BSOD } from './actions';
+
+export default function(state = false, {type}) {
+ if (type === BSOD) {
+ return true;
+ }
+
+ return state;
+}
diff --git a/src/index.js b/src/index.js
index b1e83d3..a7b665f 100644
--- a/src/index.js
+++ b/src/index.js
@@ -48,7 +48,8 @@ function restoreScroll() {
const viewPort = document.getElementById('view-port');
if (!viewPort) {
- throw new Error('Can not find viewPort element');
+ console.log('Can not find viewPort element');
+ return;
}
let y = 0;
diff --git a/src/pages/root/RootPage.jsx b/src/pages/root/RootPage.jsx
index 164f30d..bf56467 100644
--- a/src/pages/root/RootPage.jsx
+++ b/src/pages/root/RootPage.jsx
@@ -6,6 +6,7 @@ import classNames from 'classnames';
import Userbar from 'components/userbar/Userbar';
import PopupStack from 'components/ui/popup/PopupStack';
+import BSoD from 'components/ui/bsod/BSoD';
import styles from './root.scss';
@@ -22,6 +23,10 @@ if (process.env.NODE_ENV === 'production') {
function RootPage(props) {
const isRegisterPage = props.location.pathname === '/register';
+ if (props.bsod) {
+ return